Instalar Servidor LAMP (Linux Apache2 Mysql5 Php5) con Virtualhosts
El acrónimo LAMP se refiere a un conjunto de subsistemas de software necesarios para alcanzar una solución global, en este caso configurar sitios web o Servidores dinámicos con un esfuerzo reducido.
En las tecnologías LAMP esto se consigue mediante la unión de las siguientes tecnologías:
- Linux, el sistema operativo;
- Apache, el servidor web;
- MySQL, el gestor de bases de datos;
- Perl, PHP, o Python, lenguajes de programación.
La combinación de estas tecnologías es usado primariamente para definir la infraestructura de un servidor web, utilizando un paradigma de programación para desarrollo.
A pesar de que el origen de estos programas de código abierto no han sido específicamente diseñado para trabajar entre sí, la combinación se popularizó debido a su bajo coste de adquisición y ubicuidad de sus componentes (ya que vienen pre-instalados en la mayoría de las distribuciones linux). Cuando son combinados, representan un conjunto de soluciones que soportan servidores de aplicaciones.
Extraído de Wikipedia (http://es.wikipedia.org/wiki/LAMP)
Observaciones:
El tutorial supone que el usuario tiene conocimientos básicos de consola y tiene una versión de Ubunu 8.04 (seguramente es aplicable a otras versiones) funcionando correctamente.
Procedimiento:
El primer paso a realizar es actualizar la lista de paquetes que están disponibles en el repositorio.
< sudo apt-get update
Finalizada la instalación se debe ejecutar el siguiente comando para instalar los paquetes.
< sudo apt-get install apache2 php5 mysql-server php-pear php5-mysql
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> The following extra packages will be installed:
> apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl
> libdbi-perl libmysqlclient15off libnet-daemon-perl libpcre3 libplrpc-perl libpq5 libxml2 mysql-client-5.0
> mysql-common mysql-server-5.0 php5-cli php5-common
> Suggested packages:
> apache2-doc dbishell libcompress-zlib-perl mysql-doc-5.0 tinyca php5-dev php4-dev
> Recommended packages:
> xml-core libhtml-template-perl mailx
> The following NEW packages will be installed:
> apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1
> libdbd-mysql-perl libdbi-perl libmysqlclient15off libnet-daemon-perl libpcre3 libplrpc-perl libpq5 libxml2
> mysql-client-5.0 mysql-common mysql-server mysql-server-5.0 php-pear php5 php5-cli php5-common
> 0 upgraded, 23 newly installed, 0 to remove and 0 not upgraded.
> Need to get 46.5MB of archives.
> After this operation, 134MB of additional disk space will be used.
> Do you want to continue [Y/n]? < Y
Finalizada la descarga (puede llevar varios minutos dependiendo de la velocidad de la conexión) de los componentes, el sistema solicitará definir la constraseña del usuario root del mysql. Es conveniente definirla aunque no es obligatorio (el sistema al usuario root cuando se conecte en forma local no le solicitará contraseña).
Configurando el apache para varios dominios (se desactiva el dominio por defecto).
La primera actividad a realizar es editar el archivo '/etc/apache2/apache2.conf'
< sudo nano /etc/apache2/apache2.conf
e insertar (sobre el final del archivo) entre las líneas originales (en negrita), las dos líneas que habilitan la utilización de host virtuales para el puerto 80 y 443 (que esta comentada ya que en esta instancia no se va a utilizar).
# Include the virtual host configurations:
NameVirtualHost *:80
#NameVirtualHost *:443
Include /etc/apache2/sites-enabled/
A continación se deshabilitará el sitio que se configura por defecto.
< sudo a2dissite default
Y se crearán 2 sitios nuevos (a.dominio.com y b.dominio.com).
Para crear el sitio a.dominio.com
< sudo nano /etc/apache2/sites-available/a.dominio.com
Con el siguiente contenido.
<VirtualHost *:80>
ServerName a.dominio.com
ServerAdmin webmaster@a.dominio.com
DocumentRoot /var/www/htdocs/a.dominio.com
CustomLog /var/log/apache2/a.dominio.com.access.log combined
ErrorLog /var/log/apache2/a.dominio.com.error.log
LogLevel warn
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory /var/www/htdocs/a.dominio.com/>
Options Indexes FollowSymLinks MultiViews
Order deny,allow
Allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
</Directory>
</VirtualHost>
Y el mismo procedimiento pero par ael sitio b.dominio.com
< sudo nano /etc/apache2/sites-available/b.dominio.com
Con el siguiente contenido.
<VirtualHost *:80>
ServerName b.dominio.com
ServerAdmin webmaster@b.dominio.com
DocumentRoot /var/www/htdocs/b.dominio.com
CustomLog /var/log/apache2/b.dominio.com.access.log combined
ErrorLog /var/log/apache2/b.dominio.com.error.log
LogLevel warn
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory /var/www/htdocs/b.dominio.com/>
Options Indexes FollowSymLinks MultiViews
Order deny,allow
Allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
</Directory>
</VirtualHost>
Finalizada la edición de los archivos se deben habilitar los sitios en la configuración de apache.
< sudo a2ensite a.dominio.com
< sudo a2ensite b.dominio.com
Finalizada la instalación se deben crear los sitios y contenidos para que el apache los pueda mostrar.
< sudo mkdir -p /var/www/htdocs/a.dominio.com
< sudo mkdir -p /var/www/htdocs/b.dominio.com
< echo '<html><body>a.dominio.com - FUNCIONA</body></html>' |sudo tee -a /var/www/htdocs/a.dominio.com/index.html
< echo '<html><body>b.dominio.com - FUNCIONA</body></html>' |sudo tee -a /var/www/htdocs/b.dominio.com/index.html
Una ver creado el contenido para las pruebas se debe reiniciar el apache.
< sudo /etc/init.d/apache2 restart
> * Restarting web server apache2 [ OK ]
Para hacer las pruebas se procede a instalar la aplicación links (un navegador de consola). Si ustedes esta trabajando en un equio local y quiere utilizar otro navegador puede saltear este paso.
< sudo apt-get install links
Dado que hay una dependencia entre los virtualhost y los dns (ya que el apache sabe a que sitio apuntar según el nombre del dominio), hay que agregar al archivo hosts las entradas a los dominios que se crearon.
< echo -e '127.0.0.1\ta.dominio.com' |sudo tee -a /etc/hosts
< echo -e '127.0.0.1\tb.dominio.com' |sudo tee -a /etc/hosts
Para realizar la prueba, se debe poder entrar con el links a los dominios a.dominio.com y b.dominio.com y cada uno imprimir en pantalla su nombre ( 'a.dominio.com - FUNCIONA' y 'b.dominio.com - FUNCIONA').
< links http://a.dominio.com
< links http://b.dominio.com
Navegación del libro
Más Vistas
| Views today | |
|---|---|
| Tutoriales para 10.04 | 4 |
| Curriculum Vitae | 4 |
| Tutoriales para 8.04 | 4 |
| Ubuntu How To's | 4 |
| Servidor LAMP | 2 |
