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
Deja una respuesta