It appears one has to convert the <virtualhost>...</virtualhost> thus:
<VirtualHost *:80 <http://117.218.165.51:80>> ServerName www.lokavidya.in ServerAdmin [email protected] DocumentRoot /usr/share/moin ...errorlog etc.... #WSGIScriptAlias /wiki /usr/share/moin/moin.wsgi #WSGIDaemonProcess moin user=www-data group=www-data processes=5 threads=10 maximum-requests=10$ #WSGIProcessGroup moin </virtualhost> AND <VirtualHost *:80 <http://117.218.165.51:80>> ServerName wikividya.dyndns.org ServerAlias wikividya ServerAdmin [email protected] DocumentRoot /opt/invenio/var/www ... </virtualhost> Both sites come up, but the following errors appeared: $ sudo -u www-data /opt/invenio/bin/inveniocfg --load-webstat-conf >>> Going to load WebStat config... Traceback (most recent call last): File "/opt/invenio/bin/webstatadmin", line 32, in <module> main() File "/usr/local/lib/python2.7/dist-packages/invenio/webstatadmin.py", line 58, in main task_run_fnc=task_run_core) File "/usr/local/lib/python2.7/dist-packages/invenio/bibtask.py", line 416, in task_init task_submit_check_options_fnc) File "/usr/local/lib/python2.7/dist-packages/invenio/bibtask.py", line 580, in _task_build_params if not task_submit_check_options_fnc(): File "/usr/local/lib/python2.7/dist-packages/invenio/webstatadmin.py", line 212, in task_submit_check_options webstat.modify_customevent(name, cols=cols) File "/usr/local/lib/python2.7/dist-packages/invenio/webstat.py", line 608, in modify_customevent if not run_sql("SHOW TABLES LIKE %s", res[0][0]): File "/usr/local/lib/python2.7/dist-packages/invenio/dbquery.py", line 202, in run_sql rc = cur.execute(sql, param) File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 159, in execute query = query % db.literal(args) TypeError: not all arguments converted during string formatting ERROR: failed execution of /opt/invenio/bin/webstatadmin --load-config Also $ sudo /usr/sbin/a2dissite default ERROR: Site default does not exist! $ sudo /usr/sbin/a2ensite invenio ERROR: Site invenio does not exist! $ sudo /usr/sbin/a2ensite invenio-ssl ERROR: Site invenio-ssl does not exist! I see the sites alright! I do not understand. Thanks$Regards On Mon, Dec 9, 2013 at 6:17 PM, Surendran Karippadath < [email protected]> wrote: > Hello Ferran Jorba, > > I felt very nice to receive an immediate response. T'll try out the things > one by one, though regarding the following I have already created virtual > hosts; > > >Maybe using a name for your host will help both your users, so they can > >type a name instead of a number, and maybe it is easier when configuring > >Apache virtual hosts. > ... > > >yes, you can run more than one wsgi on the same IP address. My > >experience, though, is using different names for each wsgi process > >(virtual hosts). > > Thus I have this virtual host in /etc/apache2/sites-enabled/wiki > <VirtualHost 117.218.165.51:80> > ServerName www.lokavidya.in > ServerAdmin [email protected] > DocumentRoot /usr/share/moin > ...errorlog etc.... > #WSGIScriptAlias /wiki /usr/share/moin/moin.wsgi > #WSGIDaemonProcess moin user=www-data group=www-data processes=5 > threads=10 maximum-requests=10$ > #WSGIProcessGroup moin > </virtualhost> > > The commented out WSGI declaratives were forced to be outside in the main > apache2.conf for the > www.lokavidya.in/wiki to run.( if you are lucky the link will be live - > sorry if it is offline!) > > And the /etc/apache2/sites-enabled/invenio ( and also the invenio-ssl), > which is essentially file written by the Invenio installation, except for > the WSGIScriptAlias / changed to /invenio to make the wiki run. > > #WSGISocketPrefix /opt/invenio/var/run > WSGIRestrictStdout Off > <VirtualHost 117.218.165.51:80> > ServerName wikividya.dyndns.org > ServerAlias wikividya > ServerAdmin [email protected] > DocumentRoot /opt/invenio/var/www > ...Aliases... > WSGIDaemonProcess invenio processes=5 threads=1 > display-name=%{GROUP} inactivity-timeout=3600 maximum-requests=10000 > WSGIImportScript /opt/invenio/var/www-wsgi/invenio.wsgi > process-group=invenio application-group=%{GLOBAL} > WSGIScriptAlias /invenio /opt/invenio/var/www-wsgi/invenio.wsgi > WSGIPassAuthorization On > .... > <Directory /opt/invenio/var/www-wsgi> > WSGIProcessGroup invenio > WSGIApplicationGroup %{GLOBAL} > Options FollowSymLinks MultiViews > AllowOverride None > Require all granted > </Directory> > </virtualhost> > > I was reading the document > > http://modwsgi.readthedocs.org/en/latest/configuration-directives/WSGIDaemonProcess.html > > and read the following lines... > > Note that having denoted that daemon processes should be created by using > the WSGIDaemonProcess directive, the WSGIProcessGroup directive still needs > to be used to delegate specific WSGI applications to execute within those > daemon processes. > > Also note that the name of the daemon process group must be unique for the > whole server. That is, it is not possible to use the same daemon process > group name in different virtual hosts. > > So I tried with the WSGI commands for the wiki inside its > <virtualhost>...WSGIProcessGroup moin...</virtualhost> but then the wiki is > not found! > > I'll try the other suggestions, but making sure the wiki runs. Till then > > Thanks&Regards > > Surendran > > > > On Mon, Dec 9, 2013 at 3:08 PM, Ferran Jorba <[email protected]> wrote: > >> Hello Surendran, >> >> > I was installing Invenio-1.1.2 on a machine with the fixed IP address >> > 117.218.165.51 where I run a wiki http://117.218.165.51/wiki. The idea >> > is to run an educational wiki alongside a multilingual digital >> > repository. >> >> Maybe using a name for your host will help both your users, so they can >> type a name instead of a number, and maybe it is easier when configuring >> Apache virtual hosts. >> >> > The moinmoin wiki runs using the following directives in the >> /etc/apache2/ >> > apache2.conf >> > # >> > # MoinMoin WSGI configuration >> > WSGIScriptAlias /wiki /usr/share/moin/moin.wsgi >> > WSGIDaemonProcess moin user=www-data group=www-data processes=5 >> threads=10 >> > maximum-requests=1000 umask=0007 >> > WSGIProcessGroup moin >> > >> > After installing Invenio if I keep the directive >> > >> > WSGIScriptAlias / /opt/invenio/var/www-wsgi/invenio.wsgi >> > >> > in the /etc/apache2/sites-enables/invenio >> > >> > the wiki is broken. I could revive it by only changing it to >> > >> > WSGIScriptAlias /invenio /opt/invenio/var/www-wsgi/invenio.wsgi >> > >> > and the Invenio page does not come up. I get only >> > >> > The requested URL /invenio was not found on this server. >> >> Probably this error has to be corrected in the install step of Invenio, >> but I have no experience configuring Invenio under a /invenio path, >> sorry. >> >> > From what I understood one can not run two different process groups >> > (in this case 'moin' and 'invenio' ) in the same IP address (?) >> >> yes, you can run more than one wsgi on the same IP address. My >> experience, though, is using different names for each wsgi process >> (virtual hosts). I'll explain what I have done for the wsgi process >> themselves, but probably you'll have to adapt my experience to your >> situation, specially the WSGIScriptAlias directive. >> >> That said, I learned by trial and error, reading the modwsgi >> documentation (http://code.google.com/p/modwsgi/), excellent but maybe >> with too many options for my needs. >> >> I understand that you are running both applications under the same (say >> www-data) user and using the Apache and modwsgi combo, the only >> infrastructre I have some experience with. For each wsgi application >> modwsgi needs to create a socket. You can decide the directory and file >> prefix under the WSGISocketPrefix Apache directive in the Apache conf >> file. >> >> It turns out that this directive cannot exist under the <VirtualHost >> *:80> section, so it has to be in the common (top) section of the Apache >> conf file, and it shoud refer to a directory writable for all those >> processes. I choose this one: >> >> WSGISocketPrefix /var/run/wsgi/socket >> >> Make sure that the /var/run/wsgi is writable for your wsgi process >> (probably www-data). Again, this directive has to be written for each >> of the Apache configuration files, including the -ssl variants. >> >> During my (long) debugging sessions, I found very useful the >> display-name parameter of the WSGIDaemonProcess (ex: >> display-name=invenio or display-name=moin) so issuing periodic >> `ps -ef | grep apache' commands you can see if your wsgi processes >> are running. >> >> I'm unsure that the other parameters I use are useful to you, as I run >> each wsgi application under a different Linux process, using apache-itk. >> >> Hope it helps a little bit. But please ask again if something is not >> clear enough. >> >> Ferran >> > > > > -- > Phone :+91-20-27298293 > > -- Phone :+91-20-27298293

