Capitulo V: Apache y PHP y RoR
Este es un artículo que forma parte de un grupo de artículos para aprender a configurar un servidor web que te pueden interesar.
Ahora, instalemos Apache:
sudo aptitude install apache2 apache2.2-common apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
En la instalación, dará una pequeña advertencia:
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
No te preocupes, vamos a solucionarlo. Abre el archivo de configuración de Apache:
sudo nano /etc/apache2/apache2.conf
Y al final del archivo escribe lo siguiente:
ServerName txurdi
Guarda el fichero y reinicia apache (reiniciando de esta manera no mata posibles conexiones abiertas)
sudo apache2ctl graceful
Ya está, si pones tu IP (http://123.45.67.890) en Internet Explorer tu navegador favorito (firefox o safari), podrás ver la página por defecto de Apache.
Breve inciso para instalar postfix:
sudo aptitude install postfix -y
Vamos a instalar también PHP (si no necesitas saltate este paso)
sudo aptitude install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd \ php5-imagick php5-mcrypt php5-memcache php5-mhash php5-mysql php5-pspell php5-snmp \ php5-sqlite php5-xmlrpc php5-xsl
Hemos instalado unos cuantos módulos que igual no necesitas, quitalos a tu antojo.
Recargamos Apache:
sudo /etc/init.d/apache2 reload
OK, vamos a probar con una nueva aplicación de RoR:
cd ~/public_html rails railsapp
Vamos a aprobechar ahora para activar algunos módulos de Apache que suelen ser útiles:
sudo a2enmod proxy sudo a2enmod proxy_balancer sudo a2enmod proxy_http sudo a2enmod rewrite
y reiniciamos Apache:
sudo /etc/init.d/apache2 force-reload
Vamos a crear un cluster (como hemos aprendido antes)
cd ~/public_html/railsapp mongrel_rails cluster::configure -e production -p 5000 -N 3 -c /home/txurdi/public_html/railsapp -a 127.0.0.1
Si miramos el archivo “config/mongrel_cluster.yml”:
cwd: /home/txurdi/public_html/railsapp log_file: log/mongrel.log port: "5000" environment: production address: 127.0.0.1 pid_file: tmp/pids/mongrel.pid servers: 3
Creamos el enlace simbólico para que se lance al reiniciar y lo lanzamos nosotros manualmente ahora:
sudo ln -s /home/txurdi/public_html/railsapp/config/mongrel_cluster.yml /etc/mongrel_cluster/railsapp.yml mongrel_cluster_ctl start
Y vamos a crear un Virtual Host en Apache:
sudo nano /etc/apache2/sites-available/txurdi.net
Escribimos lo siguiente (+o-):
ServerName txurdi.ner
ServerAlias www.txurdi.net
DocumentRoot /home/txurdi/public_html/railsapp/public
RewriteEngine On
BalancerMember http://127.0.0.1:5000
BalancerMember http://127.0.0.1:5001
BalancerMember http://127.0.0.1:5002
# Redirect all non-static requests to thin
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://mongrel1%{REQUEST_URI} [P,QSA,L]
ProxyPass / balancer://mongrel1/
ProxyPassReverse / balancer://mongrel1/
ProxyPreserveHost on
Order deny,allow
Allow from all
# Custom log file locations
ErrorLog /home/txurdi/public_html/railsapp/log/error.log
CustomLog /home/txurdi/public_html/railsapp/log/access.log combined
Activamos el Virtual Host que acabamos de crear y recargamos Apache para que lo conozca:
sudo a2ensite txurdi.net sudo /etc/init.d/apache2 reload
Si ahora accedes via navegador a tu dominio (en nuestro caso era txurdi.net), verás la página por defecto de Rails
Ok, ya tenemos el server funcionando, pero ¿como hacemos modificaciones en la página? Puf, vaya liada, conectarnos por SSH y cambiar directamente con Vim o Nano. O también podríamos montarnos la carpeta principal en nuestro PC… No, no, no… eso no sería muy prudente. Vamos a ver otras posibilidades: Subversion y Capistrano.
Capítulo anterior: Capitulo IV: Mongrel
Siguiente capítulo: Capitulo VI: Gestión de versiones con Subversion
Suscribete
RSS posts