Ver índice
 Instalación de Apache + PHP5

        Ocultar índice  

   Índice de contenidos
   Instalación en Windows
   Instalación en Ubuntu
   Servidores seguros
   Páginas dinámicas
   Sintaxis básica
   Operaciones
   Arrays
   Formatos de presentación
   Operadores
   Bucles
   Extraer y ord. información
   Funciones
   Ficheros externos
   Imágenes dinámicas
   Gestión de directorios
   Cookies y sesiones
   Clases y objetos
   Ficheros en formato PDF
   Bases de datos MySQL
   PHP y XML
   PDO - Bases SQLite / MySQL
   MySQL a traves de misqli
   Algo de JavaScript y AJAX


Instalación de Apache y PHP

La instalación de Apache y PHP no presenta ninguna dificultad. Los paquetes de instalación –tanto de Apache 2 como de PHP5– se encuentran en los repositorios oficiales de Canonical. Si se escribe, en la consola de Ubuntu, el comando:

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

comenzará en el terminal un proceso (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.

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 en un entorno de desarrollo como el que nos ocupa cambiaremos los permisos de ese directorio y de sus eventuales subdirectorios de modo que nos resulte fácil agregar, editar, borrar o modificar los ficheros que contenga. Para otorgar tales permisos haremos uso del comando

   sudo chmod -R 777 /var/www   

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

será el momento de efectuar algunas modificaciones de configuración pero antes veamos como arrancar y parar el servidor Apache.

Arrancar y parar el servidor Apache

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

sudo /etc/init.d/apache2 stop

Para arrancarlo el comando sería este:


sudo /etc/init.d/apache2 start

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


sudo /etc/init.d/apache2 restart

Modificaciones en la configuración

Al intentar parar el servidor siguiendo el proceso descrito más arriba, puede aparecernos un mensaje de advertencia (dependiendo de la versión de Ubuntu), tal 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

e incluir en él 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 el editor –Bluefish o nuestro editor preferido– y escribiremos exactamente esto:

<?php phpinfo(); ?>

Ahora lo guardaremos en /var/www –recuerda que este es el directorio raíz del servidor– con el nombre info.php, reiniciaremos el servidor, abriremos el navegador, escribiremos la dirección: http://localhost/info.php y deberá aparecernos algo como esto:

 

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 no incluye la librería GD que se requiere el manejo de imágenes dinámicas. Como quiera que puede serte muy útil podemos completar la instalación agregando este nuevo módulo.

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.

Ahora la página info.php debe mostrarlos algo como esto:


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/prueba.PHP podría darnos el típico mensaje de error página no encontrada por la razón de que la extensión .PHP no concuerde con la real de la página (suponemos que es .php). 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 continuación.

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 (son las directivas del módulo rewrite). Aprovecharemos para agregar también el guión (-) marcado en rojo en la línea donde dice: Options  -Indexes FollowSymLinks MultiViews.

Si escribiéramos una dirección como: http://localhost/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.

<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.

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

Durante el proceso de instalación Apache2 se configura como un servicio que se pone en marcha de forma automática 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 que en los momentos en que sea neceario. En este supuesto podremos desactivar el servicio de la forma que puedes ver en la secuencia de imágenes que tienes aquí debajo.

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.

Pulsando sobre la flechas de la imagen podrás visualizar los diferentes pasos del proceso

  ¡Cuidado!  

Si tu versión no dispone de la opción Administrar Servicios utiliza la aplicación BootUp Manager.
Para la versión 11.04 hemos de configurar la pantalla de inicio en modo Ubuntu clásico para poder utilizar este modo de menú.
Si utilizas Ubuntu 11.10 el uso de esta pantalla clásica requiere instalar el siguiente paquete:


sudo apt-get install gnome-session-fallback


Una vez reiniciemos el equipo después de la instalación anterior ya podremos elegir el modo GNOME clásico en la pantalla de inicio.

Nuevo lanzador de aplicaciones Unity

Las distribuciones de Canonical parecen ir abandonando la interface de usuario GNOME Shell e irse decantando por Unity. Ello significa que los antiguos lanzadores de aplicaciones tal como el que estamos viendo en la imagen anterior están en vias de desaparición a menos que el usuario de las nuevas versiones de Ubuntu (en este momento la recién lanzada Ubuntu 11.10) instale gnome-session-fallback.

Este inconveniente puede solventarse utilizando un nuevo interface tal como que el puedes ver aquí debajo. La visualización de este menú requiere únicamente pulsar el botón derecho del ratón sobre el icono Carpeta personal tal como aparece en la imagen. La configuración de estas opciones requiere ejecutar el siguiente proceso:


gksudo gedit /usr/share/applications/nautilus-home.desktop


que permite editar el fichero nautilus-home.desktop cuyo contenido sería similar al siguiente:

[Desktop Entry]
Name=Home Folder
Comment=Open your personal folder
Exec=nautilus
Icon=user-home
Terminal=false
StartupNotify=true
Type=Application
OnlyShowIn=GNOME;Unity;
Categories=GNOME;GTK;Core;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=nautilus
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=3.0.0
X-Ubuntu-Gettext-Domain=nautilus

sería cuestión de agregar una línea con el contenido siguiente:
X-Ayatana-Desktop-Shortcuts=Arrancar Apache+PHP;Parar Apache+PHP;Arrancar MySQL; Parar MySQL; Arrancar Correo Axigen; Parar Correo Axigen; Arrancar ProFTPd; Parar ProFTPd;

dónde, como puedes ver. se incluyen –después de X-Ayatana-Desktop-Shortcuts= y separados por punto y coma (;)– los textos de los diferentes items que pretendemos incluir.

Por cada uno de los items incluidos en la línea anterior debe agregarse un bloque cuyo contenido ha de ser del tipo:

dónde los contenidos marcados en rojo son obligatorios y comunes a todos los items. Los contenidos marcados en verde detrás de Exec= son los comandos de ejecución de los programas (arrancar Apache en este caso) y tanto el texto que sigue a Name= con el que precede a Shortcut Group son los nombres descriptivos del comando incluido como exec.

  ¡Cuidado!  

Si pretendemos que esas opciones del menú sean accesibles sólo para el usuario actual (la configuración descrita permitiría el acceso al menú a cualquier usuario) deberíamos efectuar el proceso siguiente:


mkdir ~/.local/share/applications
cp /usr/share/applications/nautilus-home.desktop ~/.local/share/applications
gedit ~/.local/share/applications/nautilus-home.desktop


que crearía un directorio accesible únicamente al usuario actual, copiaría en él el fichero nautilus-home.desktop y, posteriormente ya podríamos editar este último fichero y efectuar en él las modificaciones anteriormente descritas.

Aunque sea anticiparse un poco a los contenidos incluidos en páginas siguientes en este fichero de texto tienes la configuración de nautilus-home.desktop para obtener un resultado como el que ves en la imagen y para poder ejecutar desde ese menú todas las aplicaciones cuya instalación iremos describiendo en las páginas siguientes.