Instalación de Apache + PHP5

Instalación

La instalación no presenta ninguna dificultad. Los paquetes de instalación –tanto de Apache como de PHP5– se encuentra en los repositorios oficiales de Canonical.

En la columna de la derecha puedes ver las instrucciones para efectuar la instalación desde el terminal mediante el comando apt-get.

Configuración

El proceso automático de instalación hace del directorio /var/www el directorio raíz de servidor (seria el equivalente a htdocs en la instalación de Windows). Ese directorio solo tiene permisos de lectura y escritura para el usuario root. Para facilitar la labor del usuario en un entorno de desarrollo como el que nos ocupa cambiaremos los permisos de ese directorio y de sus eventuales subdirectorios mediante el comando

sudo chmod -R 777 /var/www

Parar el servidor Apache

Al efectuar la instalación Apache se instala como un servicio que se inicia automáticamente al arrancar nuestro ordenador. Si pretendemos parar el servidor desde la consola tendremos que escribir en el terminal lo siguiente:

sudo /etc/init.d/apache2 stop

Arrancar y reiniciar Apache

Una vez hayamos creado el fichero fqdn ya estaremos en condiciones de efectuar pruebas de arranque y parada de Apache. Para arrancarlo el comando sería este:

sudo /etc/init.d/apache2 start

o si se tratara de reiniciarlo (pararlo, si estuviera en marcha y arrancarlo nuevamente) podríamos utilizar este:

sudo /etc/init.d/apache2 restart

Libreria gráfica GD

Una vez configurado Apache y comprobado el correcto funcionamiento de php mediante la ejecución del script info.php es conveniente que completemos la instalación de PHP.

El paquete de instalación de PHP no incluye la librería GD para el manejo de imágenes dinámicas. Como quiera que vamos a necesitarlas a lo largo del curso podemos completar la instalación agregando este nuevo componente.

El comando para efectuar esta instalación es el siguiente:

sudo apt-get install php5-gd

  ¡Cuidado!  

Después de instalar la librería gráfica GD no olvides reiniciar el servidor Apache antes de probar su funcionamiento.

Desactivar arranque automático y arranque en modo gráfico

Durante el proceso de instalación de Apache2 este se configura como un servicio que se pone en marcha de forma autómatica al iniciar el equipo. Teniendo en cuenta que nuestra instalación solo tiene fines de aprendizaje es posible que no tenga ningún interés mantener activo el servidor Apache más en los momentos en que sea neceario. En este supuesto podremos desactivar el servicio de la forma que puedes ver en el video que incluimos en la parte derecha.

En el mismo archivo gráfico se describe el procedimiento para configurar el entorno gráfico de Ubuntu de modo que podamos arrancar / detener el servidor Apache con solo pulsar sobre un icono del menú de Aplicaciones.

El módulo mod_rewrite

El mod_rewrite es un módulo de Apache que permite, entre otras cosas, modificar lo que aparece en la barra de direcciones. Sin su uso y configuración estaríamos obligados a escribir las direcciones respetando escrupulosamente los caracteres en mayúsculas o minúsculas. Quiere esto decir que si escribiéramos una dirección tal como:
http://localhost/cursoPHP/php0.PHP nos daría el típico mensaje de error página no encontrada por la razón de que la extensión .PHP no concuerda con la real de la página (.php) y tampoco coincide el nombre del directorio cursoPHP con cursophp. Esta restricción de distinguir entre mayúsculas y minúsculas en las direcciones de las páginas puede acabar resultando bastante incómoda por lo que merece la pena evitarla.

El primer paso será activar el módulo rewrite (en la instalación por defecto no se activa) ejecutando desde la consola el siguiente comando:

sudo a2enmod rewrite

Una vez activado el módulo deberemos modificar el fichero de configuración para incluir las directivas que permitirán que las letras mayúsculas que se incluyan en una dirección del navegador se transformen automáticamente en minúsculas.

Para ello, tendremos que modificar el fichero 000-default que está en /etc/apache2/sites-enabled siguiendo los pasos que se describen a la derecha.

Junto con las directivas del módulo rewrite incluimos otro cambio en ese fichero. Es la inclusión de un guión delante de la palabra Indexes. Trataremos de explicar su finalidad. Si escribiéramos una dirección como: http://localhost/cursophp/images/ el navegador intentaría encontrar una página llamada index.php, index.html ó index.htm y dado que en ese directorio no existe tal página nos mostraría una lista de todo el contenido de ese directorio.

Para subsanar ese problema tanto estético como de seguridad basta con incluir el guión que comentamos. Una vez hecha esa modificación en vez del listado de contenidos nos aparece un mensaje de advertencia indicándonos que no tenemos permiso de acceso a ese directorio.

 
 

Instalación de Apache 2 y PHP5

     Si se escribe el comando siguiente en la consola de Ubuntu:

sudo apt-get install apache2 php5 libapache2-mod-php5

comenzará en el terminal un proceso de instalación (que solo nos requerirá una conformación) mediante el cual se instalará en nuestro equipo el software del servidor Apache, PHP5 y la librería de Apache que permite utilizar PHP5 como módulo.

    Concluida la instalación abrimos el navegador y escribimos como dirección http://localhost y nos aparecerá una página como esta:



    Será el momento de efectuar algunas modificaciones de configuración tal como se detallan en la columna de la izquierda

Al intentar parar el servidor siguiendo el proceso descrito al margen nos aparecerá un mensaje de advertencia tan como el que vemos en la imagen.


Para evitar ese mensaje bastará con crear un fichero con nombre fqdn (Fully Qualified Domain Name) con el siguiente comando:

sudo gedit /etc/apache2/conf.d/fqdn

en el que incluiremos la línea de texto que ves en la imagen

Un script de prueba

    Para comprobar que todo funciona correctamente deberemos escribir nuestro primer script PHP. Abriremos nuestro editor –Bluefish– y escribiremos exactamente esto:


<? phpinfo(); ?>
    Ahora lo guardaremos en /var/www –recuerda que este es el directorio raíz del servidor– con el nombre info.php

 
Una vez instalada la librería gráfica GD de la forma que se detalla en la columna de la izquierda, la página info.php debe mostrarlos algo como esto:




Modificaciones en el fichero 000-default

Empezaremos editándolo desde la consola (con permisos de superusuario) escribiendo:

sudo gedit /etc/apache2/sites-enabled/000-default


Deberemos incluir las cuatro líneas que se indican en rojo y, también el guión (-) marcado en rojo en la línea donde dice: Options  -Indexes FollowSymLinks MultiViews

<VirtualHost *:80>
RewriteEngine On
RewriteCond %{REQUEST_URI} [A-Z]
RewriteMap lc int:tolower
RewriteRule (.*) ${lc:$1} [R=301,L]
   	ServerAdmin webmaster@localhost

	DocumentRoot /var/www
	<Directory />
		Options FollowSymLinks
		AllowOverride All
	</Directory>

	<Directory /var/www/>
		Options -Indexes FollowSymLinks MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>
una vez hechas las modificaciones debemos guardar los cambios y ya podremos salir de la consola. La configuración de Apache habrá terminado.