En esta ocasión mostraré la manera en que se configura el Apache 2 para servir una aplicación Django.
Para ello y tras actualizar el sistema, será necesario instalar los paquetes de Django y Apache, por si no lo estuvieran.
El módulo que permitirá "conectar" el servidor Apache2 con la aplicación será mod_wsgi.
Para instalarlo será necesario descargarlo de la web oficial y ejecutar el comando ./configure.
Seguramente será necesario instalar apxs mediante los paquetes:
sudo apt-get install apache2-threaded-dev
http://code.google.com/p/modwsgi/wiki/QuickInstallationGuide
Incluir la línea LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so en httpd.conf
Partimos de la base que el nombre del proyecto es ejemplo y se encuentra en la carpeta /home/
Se crearán dos ficheros.
El primero de ellos nos situamos en la carpeta del proyecto y creamos un directorio con el nombre apache y un archivo con el siguiente texto:
django.wsgi
import os, sys
os.environ['DJANGO_SETTINGS_MODULE']= 'ejemplo.settings'
import django.core.handlers.wsgi
application= django.core.handlers.wsgi.WSGIHandler()
El segundo consistirá en agregar un archivo con el nombre del proyecto en la carpeta:
/etc/apache2/sites_available/ejemplo
#WSGIDaemonProcess ejemplo user=root group=root threads=25
WSGIDaemonProcess ejemplo threads=25
WSGIProcessGroup ejemplo
Alias /media/ /home/ejemplo/media/
<Directory /home/ejemplo/media >
AllowOverride All
Order deny,allow
Allow from all
</Directory >
WSGIScriptAlias / /home/ejemplo/apache/django.wsgi
<Directory /home/ejemplo/apache>
AllowOverride All
Order deny,allow
Allow from all
</Directory >
... y ejecutar el comando:
Para ello y tras actualizar el sistema, será necesario instalar los paquetes de Django y Apache, por si no lo estuvieran.
apt-get install python-django
apt-get install libapache2
El módulo que permitirá "conectar" el servidor Apache2 con la aplicación será mod_wsgi.
Para instalarlo será necesario descargarlo de la web oficial y ejecutar el comando ./configure.
Seguramente será necesario instalar apxs mediante los paquetes:
sudo apt-get install apache2-threaded-dev
http://code.google.com/p/modwsgi/wiki/QuickInstallationGuide
Incluir la línea LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so en httpd.conf
Se crearán dos ficheros.
El primero de ellos nos situamos en la carpeta del proyecto y creamos un directorio con el nombre apache y un archivo con el siguiente texto:
cd home
mkdir apache
mkdir apache
nano django.wsgi
django.wsgi
sys.path.append('/home')
sys.path.append('/home/ejemplo')os.environ['DJANGO_SETTINGS_MODULE']= 'ejemplo.settings'
import django.core.handlers.wsgi
application= django.core.handlers.wsgi.WSGIHandler()
El segundo consistirá en agregar un archivo con el nombre del proyecto en la carpeta:
/etc/apache2/sites_available/ejemplo
#WSGIDaemonProcess ejemplo user=root group=root threads=25
WSGIDaemonProcess ejemplo threads=25
WSGIProcessGroup ejemplo
Alias /media/ /home/ejemplo/media/
<Directory /home/ejemplo/media >
AllowOverride All
Order deny,allow
Allow from all
</Directory >
WSGIScriptAlias / /home/ejemplo/apache/django.wsgi
<Directory /home/ejemplo/apache>
AllowOverride All
Order deny,allow
Allow from all
</Directory >
... y ejecutar el comando:
a2ensite ejemplo
para crear el acceso directo al que accederá Apache2.
Trás reiniciar el apache, el localhost tendrá el tan deseado pantallazo de "todo OK"
Trás reiniciar el apache, el localhost tendrá el tan deseado pantallazo de "todo OK"
sudo /etc/init.d/apache2 restart
Comentarios