Web Services Administration
Web servers have been fully migrated to Quattorized Virtual Machines. All web services have a dedicated instance of Apache running on port 80 and 443, and have their configuration files lying on the netapp.
Each is configured with the following:
- Quattor templates on <scdb>/profiles/, and on <scdb>/pro/system/web/vhosts/
- Configuration files on vmwebstore01:/web/conf
- Source files, somewhere in vmwebstore01:/web/sites
The filesystems are mounted as ro in each vmweb, for security reasons. For
rw access, you should login in
nfsweb.lbdaq.cern.ch. In order to have rw access to the source files of some website (located under /web/sites), you should be part of the corresponding
web-group-* group. Contact an admin if you are the developer, need access to the files and don't have it yet.
Log files are available in the log server (logsrv), under /clusterlogs/services/web-logs.
Good luck
Note since the web services are quattorized, the VM where they reside can change.
Important: Since we are puppetizing the nodes, this list is not trustworthy right now.
|
|
web service |
server |
aliases (check landb) |
description |
ports |
Responsible person |
inventory |
vmweb03 |
lbweb03, LBINVENTORY, JV54YUD, LBSURVEY |
|
|
help |
vmweb04 |
lbweb04, LBHELP |
|
|
|
admin |
vmweb05 |
lbweb05, LBADMIN, LBEXPERT, LBACCESS |
|
|
|
redmine |
vmweb12 |
lbweb12, lbredmine |
|
|
|
comet |
vmweb14 |
lbweb14, lbcomet |
|
|
|
logbook |
vmweb15 |
lbweb15, lblogbook |
standalone program running on :8080 (elogd) |
80, 443 (redirections to 8080) |
|
histogramdb |
vmweb16 |
lbweb16, lbhistogramdb |
|
|
Giacomo Graziani |
event |
vmweb17 |
lbweb17, lbevent |
|
|
|
munin |
vmweb18 |
lbweb18, lbmunin |
|
|
|
runstatus |
vmweb19 |
lbweb19, lbrunstatus |
|
|
|
status |
vmweb26 |
lbweb26, lbstatus |
|
|
|
crashes |
vmweb27 |
lbweb27, lbcrashes |
|
443 (redirection from 80) |
|
mepstats |
vmweb28 |
lbweb28, lbmepstats |
python, django, mod_wsgi, south |
443 (redirection from 80) |
|
rundb |
vmweb29 |
lbweb29, lbrundb |
python, django, mod_wsgi |
443 (redirection from 80) |
|
problemdb |
vmweb30 |
lbweb30, lbproblems |
python, django, mod_wsgi |
443 (redirection from 80) |
|
twiki |
vmweb31 |
lbweb31, lbtwiki |
perl |
443 (redirection from 80) |
|
shiftdb |
vmweb32 |
lbweb32, lbshiftdb |
php, oracle |
443 (redirection from 80) |
|
triggerreport |
vmweb33 |
lbweb33, lbtriggerreport |
|
80 |
|
dcim |
vmweb07 |
lbdcim |
php, oracle |
443 (redirection from 80) |
|
upgrade |
vmweb35 |
lbweb35, lbonupgrade |
php, mediawiki |
80, 443 |
|
|
|
|
Here's the template used for the configuration of mod_wsgi with Django under Apache:
WSGIDaemonProcess WSGIDAEMON processes=5 threads=1 \
inactivity-timeout=3600 maximum-requests=10000
WSGIScriptAlias / <web_installation_directory>/apache/wsgi.py
Here's a template for wsgi.py:
#!/usr/bin/python
import os
import sys
os.environ['PYTHON_EGG_CACHE'] = '/tmp'
sys.path += ['<web_installation_directory>']
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
<sticky>
%CODE{ lang="cpp" num="10" numstep="2" }%
void main(){
std::cout << "Ole que ole que ole que harsa" << std::endl;
}
%ENDCODE%
</sticky>
We keep access and error logs both in the webserver and in the log servers.
The names for the logs
must have web- prepended in their names, and
the structure destination must be local5.info.
An example configuration is as follows:
ErrorLog "| /usr/bin/logger -t web-problemdb-error_log -p local5.info "
CustomLog "| /usr/bin/logger -t web-problemdb-access_log -p local5.info " common
Logs are stored in logsrv, under /clusterlogs/services/web-logs.
-- Main.dcampora - 14 May 2013