Instalación del software utilizado en el curso
Los ordenadores del laboratorio utilizado durante las sesiones del curso tienen instalado el sistema operativo GNU/Linux, distribución Ubuntu 14.04.
Al software que se instala por defecto en la distribución Ubuntu se le ha añadido los siguientes paquetes:
- MySQL Server 5.5 (mysql-server)
- MySQL Client 5.5 (mysql-client)
- PHP 5.5 (libapache2-mod-php5, php5-mysql, php5-common, php-doc, ...)
- MySQL Administrator (mysql-admin)
- MySQL Navigator (mysql-navigator)
- phpMyAdmin 4.0 (phpmyadmin)
- Firefox 30.0 (firefox)
- Apache 2.4 (apache2, ...)
- Entornos de escritorio: gnome-shell, gnome-panel, ...
- Editores: Quanta, gphpedit, geany, bluefish editor
Para realizar la instalación de estos paquetes se puede utilizar la herramienta Synaptic que se encuentra en el menu Sistema → Administración → Gestor de paquetes Synaptic. El nombre específico de cada paquete se encuentra entre paréntesis. Algunos de los paquetes, al seleccionarlos para su instalación, sugeriran una lista de paquetes adicionales necesarios o recomendados cuya instalación deberá confirmarse.
Configuración del interprete de PHP
El interprete de PHP utilizado en el curso está configurado como un módulo del servidor web Apache. La configuración principal de dicho interprete esta situada en el fichero /etc/php5/apache2/php.ini. Adicionalmente, el interprete de PHP cargará la configuración de los diversos módulos o extensiones del directorio /etc/php5/apache2/conf.d que no es más que un enlace al directorio /etc/php5/conf.d.
Para la realización de las sesiones prácticas del curso, el fichero de configuración php.ini se ha modificado ligeramente. Los cambios realizados son dos:
-
Configuración del manejo de errores. Se ha modificado la variable
error_reporting para que informe de todos los posibles avisos.
error_reporting = E_ALL
-
Configuración del tamaño de los ficheros que se suben al servidor. Se ha
modificado para permitir subir ficheros de hasta 2 MB.
; Maximum allowed size for uploaded files. upload_max_filesize = 2M
Configuración del servidor web Apache
La única modificación realizada en la configuración del servidor web ha sido la habilitación de los módulos userdir y rewrite, que permite alojar páginas de usuario en el directorio $HOME/public_html y las reescrituras de URLs, respectivamente.
Para habilitar el módulo userdir se debe ejecutar la siguiente orden:
$ sudo a2enmod userdir [sudo] password for usuario: *******
Y lo mismo para el módulo rewrite.
$ sudo a2enmod rewrite
La ejecución de la orden para habilitar un modúlo a2enmod se debe llevar a cabo con privilegios de administrador, de ahí que se utilice la orden sudo. Ésta nos solicitará nuestra clave de usuario antes de proceder a ejecutar la orden a2enmod. En la segunda ocasión, se acuerda de la clave y ya no realiza ninguna pregunta.
Sin embargo, en Ubuntu 14.04 hay que hacer alguna modificación adicional, ya que la ejecución de PHP en los directorios de usuario está deshabilitada. Para habilitarla deberemos editar la configuración del módulo PHP de Apache.
$ sudo gedit /etc/apache2/mods-available/php5.conf
Donde se puede sustituir gedit por el nombre de cualquier otro editor, como por ejemplo nano o emacs.
En el fichero php5.conf, como indica en los comentarios del propio fichero, hay que comentar las siguientes líneas:
...
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_value engine Off
</Directory>
</IfModule>
...
quedando el código como sigue:
... # <IfModule mod_userdir.c> # <Directory /home/*/public_html> # php_admin_value engine Off # </Directory> # </IfModule> ...
Una vez hecho los cambios hay que rearrancar el servidor apache con la orden:
$ sudo service apache2 restart
o
$ sudo apache2ctl restart
Instalación de un host virtual
También se ha instalado un host virtual de apache en la dirección cursophp.local. Para ello se ha dado de alta la dirección cursophp.local en el fichero /etc/hosts como se muestra a continuación:
127.0.0.1 localhost 127.0.0.1 cursophp.local
Adicionalmente se deberá añadir un host virtual en el directorio /etc/apache2/sites-available con el nombre 001-cursophp.conf. El fichero 001-cursophp.conf tiene el siguiente contenido:
<VirtualHost cursophp.local:80>
ServerName cursophp.local
DirectoryIndex index.php index.html
ServerAdmin ssaez@disca.upv.es
DocumentRoot /home/alumno/Sites/cursophp
<Directory /home/alumno/Sites/cursophp>
AllowOverride All
Require all granted
</Directory>
ErrorLog /home/alumno/Sites/logs/error-cursophp.log
</VirtualHost>
Para añadir dicho fichero se puede editar en nuestro directorio $HOME o descargarlo de aquí (001-cursophp.conf) y luego copiarlo al directorio de destino con la orden:
$ sudo cp ~/001-cursophp.conf /etc/apache2/sites-available
Una vez hecho esto sólo tenemos que habilitar el nuevo virtual host y rearrancar el servidor apache:
$ sudo a2ensite 001-cursophp.conf $ sudo apache2ctl restart