Configurar Un Multihost Con Apache2 y en Debian - Ubuntu
Configurar Un Multihost Con Apache2 y en Debian - Ubuntu
Configurar Un Multihost Con Apache2 y en Debian - Ubuntu
$ sudo apt-get install apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libaprutil1-dbd-sqlite3 libaprutil1-ldap libhtml-template-perl mysql-server mysql-server-5.5 mysql-server-core-5.5 apache2-mpm-pref
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
Y por ltimo, si hemos instalado PHP, editar el fichero /etc/php5/apache2/php.ini y habilitar el uso de mysql, en la lnea:
;extension=mysql.so
Cambiadla por:
1extension=mysql.so
Un poco de DNS
Apache2 se configura de modo que se le indica al servidor en que interfaces de red y puertos debe funcionar. Tomemos la imagen siguiente:
Disponemos de varios nombres de dominio (reales o ficticios) y deseamos que apunten a la misma mquina, pero claro, no queremos que apache nos facilite las mismas Webs para cada uno, sino que sean proyectos diferentes (multihost), para ello debemos indicar el sistema DNS que
esos nombres apuntan a la IP del servidor de trabajo.
Si estuviramos en un entorno real y profesional, tendramos un servidor DNS y un servidor LAMP dedicado con una IP W.X.Y.Z, e indicaramos al servidor DNS que cada dominio apunte al servidor con IP W.X.Y.Z. Como estamos probando en un servidor monopuesto no
necesitamos configurar ningn servidor DNS, slo debemos editar el fichero /etc/hosts. Este fichero es una reminiscencia del origen de Internet y contiene parejas del tipo (nombre, ip).
De modo que si queremos aadir el dominio de prueba midominio, slo debemos aadir al final del fichero /etc/hosts la sighuiente lnea:
127.0.0.1
midominio
Una vez hecho esto, nuestro equipo sabe que la IP del dominio midominio es 127.0.0.1. Pero, slo nuestro equipo, este fichero es local al equipo dnde lo hemos editado de ah que este sistema slo nos sirva para el equipo de trabajo no para trabajar en equipo.
Sistema multihost en apache2
Y por fin, vamos a ver los pasos para configurar un sistema multihost en nuestro apache2. Supongamos que los DocumentRoot de los diferentes dominios estan en la carpeta /home/usuario/www, debemos seguir estos pasos:
1. Aadir el usuario al grupo WWW-DATA de apache2: Para que apache pueda leer/escribir sin problemas en sus carpetas (Cambiad USUARIO por vuestro usuario)
$ sudo usermod -G www-data USUARIO
2. Poner los permisos 775 para directorios y 664 para ficheros: Por lo mismo que en el apartado anterior ($PWD se evala como el directorio actual, se puede indicar el directorio correspondiente).
$ find $PWD -type d -print -exec chmod 775 {} \;
$ find $PWD -type f -print -exec chmod 664 {} \;
Debemos tener cuidado con lo siguiente, en Debian/Ubuntu la configuracin inicial de apache2 desactiva el uso del fichero .htaccess. Para habilitarlo debemos ser cuidadods de poner la directiva AllowOverride All como en el ejemplo anterior.
Novedad: En versiones recientes de apache est configuracin puede no ser suficiente y debemos aadir alguna directiva adicional, para no encontrartos un error HTTP 403 Forbbiden. De modo que en la configuracin del directorio con el DOCUMENT ROOT debemos a
Require all granted, quedando algo as
:
6. Accede a http://midominio
Suerte con vuestros servidores LAMP!
Referencias
1. DNS en Wikipedia: http://en.wikipedia.org/wiki/Domain_Name_System
2. Virtual Host: http://httpd.apache.org/docs/2.2/vhosts/
3. Ejemplos: http://httpd.apache.org/docs/2.2/vhosts/examples.html
This entry was posted in Linux, Programacin, Web and tagged Debian, Ingeniera, Linux, programacin, Web by Jos Prez Martnez. Bookmark the permalink [http://blogs.ua.es/jpm33/2014/01/02/configurar-un-multihost-con-apache2-y-en-debianubuntu/] .
2 THOUGHTS ON CONFIGURAR UN MULTIHOST CON APACHE2 Y EN DEBIAN/UBUNTU [ACTUALIZADO]
Fran
on 10 agosto, 2014 at 21:57 said:
Hola! Gracias por el tutorial. Tengo un par de dudas, a ver si me puedes ayudar:
1. En el punto 3, donde dices Cambiar los permisos del directorio del vhost, da igual dnde est ese directorio? Es un directorio que debo crear o debo usar alguno en concreto?
/etc/apache2/sites-available? Y el archivo del virtual host, debe acabar en .conf?
2. Y, una vez creado el archivo del virtual host, debemos habilitarlo con a2ensite mivhost.conf?
He estado echando un ojo al manual de Apache, pero me cuesta encontrarlo. De todas maneras seguir investigando, pero si me guias un poco estara muy agradecido.