Install Apache WSGI - jordy33/turbogears_tutorial GitHub Wiki
How to Install Apache WSGI with Turbo Gears
-
Install Apache2
https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-16-04 -
In the server install mod WSGI
Install APX
sudo apt install apache2-devTo find new releases: https://github.com/GrahamDumpleton/mod_wsgi/releases
sudo apt-get install libtool cd /tmp wget https://github.com/GrahamDumpleton/mod_wsgi/archive/4.5.15.tar.gz tar xvzf 4.5.15.tar.gz cd mod_wsgi-4.5.15/ ./configure make sudo cp /tmp/mod_wsgi-4.5.15/src/server/.libs/mod_wsgi.so /usr/lib/apache2/modules/. -
Create a virtualenvironment with the specific TurboGears version your application depends on installed
virtualenv /var/tg2env /var/tg2env/bin/pip install tg.devtools -
Activate the virtualenvironment
source /var/tg2env/bin/activate (tg2env)$ #virtualenv now activated -
Install your TurboGears application.
cd /var/www/gpscontrol python setup.py develop -
Within the application director, create a script named app.wsgi. Give it these contents:
import os os.environ['PYTHON_EGG_CACHE'] = '/home/jorge/.python-eggs' APP_CONFIG = "/var/www/gpscontrol/production.ini" import logging.config logging.config.fileConfig(APP_CONFIG) from paste.deploy import loadapp application = loadapp('config:%s' % APP_CONFIG) -
Change permisions
sudo usermod -g www-data jorge sudo mkdir /home/jorge/.python-eggs/ sudo chmod g-wx,o-wx ~/.python-eggs sudo chown www-data:www-data /home/jorge/.python-eggs/ sudo chown -R www-data:www-data /var/www sudo chmod go-rwx /var/www sudo chmod go+x /var/www sudo chgrp -R www-data /var/www sudo chmod -R go-rwx /var/www sudo chmod -R g+rx /var/www sudo chmod -R g+rwx /var/www -
Edit your Apache configuration and add some stuff.
vim /etc/hostsAdd The following line 138.68.26.230 venus.gpscontrol.com.mx
cd /etc/apache2 vim apache2.confAdd the Following line: ServerName venus.gpscontrol.com.mx
cd /etc/apache2/sites-enabled rm * sudo vim venus.gpscontrol.com.mx.confInsert the following lines:
<VirtualHost *:80> ServerName venus.gpscontrol.com.mx WSGIProcessGroup venus.gpscontrol.com.mx WSGIDaemonProcess venus.gpscontrol.com.mx user=www-data group=www-data threads=4 python-path=/var/tg2env/lib/python2.7/site-packages WSGIScriptAlias / /var/www/gpscontrol/app.wsgi #Serve static files directly without TurboGears Alias /images /var/www/gpscontrol/gpscontrol/public/images Alias /css /var/www/gpscontrol/gpscontrol/public/css Alias /js /var/www/gpscontrol/gpscontrol/public/js ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> -
Start the Service
sudo a2enmod wsgi sudo service apache2 restart -
Give access to users to /var/log/apache2
adduser maria sudo usermod -aG sudo maria sudo usermod -aG adm maria