Un servidor web es el programa que muestra las páginas webs en tu navegador y Apache es el servidor web más usado del mundo: gratuito, modular, multiplataforma y de código abierto.

Se puede combinar con múltiples bases de datos, scripts de configuración e interfaces web para facilitar tareas al usuario.

También existen suites de programas especialmente compilados que instalan todo de golpe (sobre todo para platadormas windows), pero si lo vamos a desplegar en un entorno de producción, es recomendable instalar sólo las librerías y módulos que vayamos a usar, para evitar exponer el menor número de brechas de seguridad a los hackers.

Vamos a ver cómo instalarlo en Ubuntu con PHP, MySQL y phpMyAdmin:

instalar Apache

Abrimos una consola y ponemos:

sudo apt-get install apache2

Comprobamos si funciona abriendo un navegador con la URL:

http://127.0.0.1

o bien:

http://localhost

Instalamos PHP 5 cómo módulo:

sudo apt-get install php5 libapache2-mod-php5

Reiniciamos el servidor web:

sudo /etc/init.d/apache2 restart

El directorio www por defecto es:

/var/www

Si no estuviese creado, lo podemos crear:

sudo mkdir /var/www

Si no tenemos permiso para manipular su contenido, se lo damos con lo siguiente. Cambiamos el propietario del directorio y el grupo que debe usarlo. Reemplazar USUARIO con el nombre de usuario que estamos utilizando en el sistema:

sudo usermod -a -G www-data USUARIO

Se le dan permisos de lectura y ejecución para todos y de escritura sólo al propietario:

sudo chmod -R 755 /var/www

Ahora creamos el info.php para comprobar el funcionamiento de PHP:

sudo gedit /var/www/info.php

Pegar lo siguiente dentro, luego guardar y cerrar:

<?php phpinfo(); ?>

Comprobar entrando a la dirección:

http://127.0.0.1/info.php

Tendría que aparecer toda la información de configuración del PHP y sus módulos instalados. Seguimos con la instalación del servidor y el cliente de MySQL.

instalar MySQL

Instalamos este magnifico SGBD:

sudo apt-get install mysql-server

Pedirá clave para el usuario root de MySQL y luego la confirmación.

instalar PHP

Ahora podemos instalar todos los módulos PHP restantes, siendo la mayoría opcionales:

sudo apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Reiniciamos de nuevo el servidor web:

sudo /etc/init.d/apache2 restart

instalar phpMyAdmin

Y ahora instalamos la interfaz web para administrar MySQL y sus bases de datos, phpMyAdmin:

sudo apt-get install phpmyadmin

Preguntará para que servidor web configurar, elegir apache2 marcándolo con la barra espaciadora y continuar. Luego pedirá configurar la base de datos con dbconfig-common elegir que No.

Comprobamos si funciona entrando a:

http://127.0.0.1/phpmyadmin

Si no funciona, ejecutar:

sudo nano /etc/apache2/httpd.conf

si no estuviese este fichero, apache2.conf
Pegar lo siguiente dentro, luego salvar y cerrar:

Include /etc/phpmyadmin/apache.conf

Reiniciar el servidor web nuevamente:

sudo /etc/init.d/apache2 restart

Y con eso ya debería estar todo funcionando, pero si no loo estuviese:

cd /var/www
sudo ln -s /usr/share/phpmyadmin phpmyadmin

Para cambiar la url de acceso a phpmyadmin, editar el fichero apache.conf:

sudo nano /etc/phpmyadmin/apache.conf

y cambiar Alias /phpmyadmin por la url que queramos.

archivos importantes

virtual hosts habilitados

/etc/apache2/sites-enabled

virtual host por default, (se pueden hacer copias)

/etc/apache2/sites-available/default

archivo de configuración de PHP

/etc/php5/apache2/php.ini

archivo de configuración global de MySQL

/etc/mysql/my.cnf