create new tag
, view all tags

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.

Configuration of vmwebs

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 smile

List of web services - servers - aliases

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  

Django and mod_wsgi configuration

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:

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()

%CODE{ lang="cpp" num="10" numstep="2" }% 
void main(){
  std::cout << "Ole que ole que ole que harsa" << std::endl;

Error and Custom Log

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
Topic revision: r15 - 2014-10-14 - DanielHugoCamporaPerez

This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback