Proceso de instalación y configuración del servidor web Apache en el entorno que hemos creado.
Se procederá a instalar el servidor web con Apache 2.2, PHP 5, MySQL, sirviendo carpetas a los usuarios el sistema (ej.: /~usuario
) y con ajustes de encoding y error personalizados. El contenido del servidor web estará disponible en /var/www/html
.
El proceso mínimo de instalación se lleva a cabo por medio del paquete apache2
Para Apache 2.x, o similar (otros ejemplos incluyen lighttpd
, que usa Youtube).
#con privilegios de superusuario: apt-get install apache2
En un servidor web de producción, se requieren al menos ciertas funcionalidades, como pueden ser:
php5
y php5-cli
, libapache2-mod-php5
)php5-gd
) y MCrypt (php5-mcrypt
)libapache2-auth-*
)libapache2-mod-auth-mysql
)Cuando se quiere un sevridor web completo se recomienda por lo general una instalación diseñada para LAMPP como puede ser Ubuntu Server o CentOS.
Las siguientes son las rutas por defecto para el servidor Apache:
Directiva | Valor por defecto | Dónde cambiarla |
---|---|---|
Directorio de Configuración | /etc/apache2 | |
Módulos precargados | ./mods-enabled | en apache2.conf |
Sitios (vhost) precargados | ./sites-enabled | en apache2.conf |
Directorio de contenidos web | /var/www | en apache2.conf |
PIDFILE | /var/run/apache2/apache.pid | en conf.d/core.conf |
Script de gestión | /etc/init.d/apache2 | |
Privilegios de Usuario | www-data:www-data |
Para iniciar el servidor web, invocamos al script con los privilegios necesarios:
#con privilegios de superusuario: /etc/init.d/apache2 start
Para detener el servidor web, invocamos al script con los privilegios necesarios:
#con privilegios de superusuario: /etc/init.d/apache2 stop
Si hemos modificado una directiva menor del servidor y queremos recargar la configuración la manera más eficiente es con:
#con privilegios de superusuario: apache2ctl graceful
Para subir contenidos al servidor web, basta con crear o modificar un archivo index.html
en el directorio de contenidos del servidor (por defecto /var/www
). Para que cualquier contenido que coloquemos sea usable por el servidor los archivos que depositemos en esta carpeta deben estar configurados para que el servidor Apache pueda leerlos, y, en caso de ser necesario, escribirlos. Esto significa que los permisos mínimos por defecto debieran ser www-data:ww-data 640
.
Algunas plataformas requieren, por cuestiones de compatibilidad con servicios de hosting o sistemas similares, estar asignadas con permisos *:* 777
.
Para habilitar las páginas de usuario en Apache, basta con activar el módulo userdir
. Para esto hacemos:
[privilegiado@host] a2enmod userdir && /etc/init.d/apache force-reload
A continuación, cada usuario del sistema debe crear su propia página, subiendo los contenidos que desee al directorio $HOME/public_html
. Dado que el servidor web debe ser capaz de leer, y en ciertos casos, escribir, en este directorio, es bueno asignar permisos globales de lectura por medio de chmod +r
, o permisos particulares de escritura con uno (o todos) de los siguientes comandos:
[user@host] chgrp www-data $HOME/public_html [user@host] chmod g+s,g+rwx $HOME/public_html
lighttpd
, IIS2), ngix, etc…