lunes, 29 de abril de 2013

Apache2 - public_html

Vamos a configurar el servidor web Apache2 para que cada usuario del sistema tenga asignada su propia carpeta public_html donde alojar sus páginas web.




En este manual vamos a realizar todo el proceso desde la interfaz webmin, es decir todo en entorno gráfico.
Empezamos conectándonos a nuestro servidor a través de webmin en la direccion IP: https://localhost:10000 nos dirigimos al menú Servidores



a la sección Servidor Web Apache



Nos dirigimos a la pestaña Global configuration 


Hacemos clic en Configure Apache Modules.



Vemos la  lista de los módulos disponibles en Apache, tenemos que activar el módulo userdir. Para ello tenemos que seleccionarlo y pulsar en el botón Enable Selected Modules.





Una vez activado el modulo userdir, este ha realizado la configuración en apache2 para que funcione perfectamente la carpeta public_html.


Pero nosotros en este manual vamos a repasar la configuración mínima de userdir para activar la carpeta public_html.

=========================================================================


Repasamos la configuración del modulo userdir

Para ello pulsamos en la pestaña Existing virtual hosts



 Hacemos clic en Servidor por Defecto



Nos dirigimos al apartado Opciones de documentos



Revisamos la configuración, debe ser la misma que aparece en esta pantalla, nos centraremos en las opciones Directorio WWW de Usuario y Archivo de opciones de Por-directorio, La configuración minima es:

- Estar seleccionado public_html
- Todos los usuarios excepto root
- .htaccess



 
=========================================================================


Crear la carpeta public_html

Ahora en cada usuario del sistema crearemos una carpeta llamada public_html, donde se colocaran las páginas web de cada usuario.

http://localhost/~usuario

- Donde localhost, es para acceder desde el mismo servidor, pero si se accede al servidor desde otra máquina habrá que cambiar localhost por la dirección IP o el nombre de dominio del servidor. 
- La virgulilla ~ es superimportante colocarla (al final de este manual explico como configurar apache para omitir dicho símbolo
- Donde usuario se debe especificar el nombre que tiene el usuario en el sistema

En las siguientes dos capturas de pantalla, observamos como hemos creado la carpeta public_html y dentro hemos creado una pagina web, llamada index.php






Probar la configuración

Si ahora introducimos la dirección localhost/~diego (observemos la virgulilla, es necesaria añadirla para que funcione perfecta), vemos que el servidor funciona y responde perfectamente.




========================================================================


Enlace a Alias























.

Apache no carga paginas php

Existe un problema en la ejecución de archivos php, ya que al intentar ejecutarlos  desde el navegador web aparecerá la ventana de diálogo que pregunta si deseamos abrir o guardar el archivo, o nos nuestra el contenido del archivo, en vez de ejecutar la página .php.


apache08



Para solucionarlo tenemos tres opciones.
1- Solución 1: Añadir index.php al indexado de directorio
2- Solución 2: Habilitar el modulo php5 
3- Solución 3: Eliminar la directiva engine Off


Solución 1: Añadir index.php al indexado de directorio

Lo primero que vamos hacer es revisar es el indexado de paginas de inicio, en el cual tenemos que tener activo el index.php, en caso contrario tenemos que añadir al índice.

1-Nos dirigimos al Menú: Servidores > Servidor Web Apache


2- Pestaña Existing virtual hosts > Servidor por Defecto


3- Nos dirigimos al índice de archivos, pulsando en el icono Indizado de Directorio.


4- Buscamos el apartado Archivos de índice de directorio, en el cual tenemos que buscar el referente a los php (index.php)


Como podemos observar dicha referencia existe, por lo cual el problema es otro. Tenemos que pasar a la solución 2.





Solución 2: Habilitar el módulo php5

Primero tenemos que asegurarnos de tener instalado y habilitado el modulo de php.
En el momento de escribir este manual es la verisón php5 y observamos como lo tenemos instalado pero no lo tenemos activado, con lo cual vamos a activarlo.

1- nos dirigimos a: Servidores > Servidor Web Apache


2- Pulsamos en Global configuration > Configure Apache Modules


3- Nos aparece la lista de módulos instalado, y en ella los módulos que están activados y los que no lo están. En esta lista observamos como el modulo php5 no se encuentra activado.


 con lo cual lo seleccionamos para posteriormente activarlo pulsando en Enable Selected Modules.


 4- Por ultimo tenemos que aplicar los cambios en el servidor apache para que la configuración surta efecto, pulsando en Aplicar Cambios





Solución 3: Eliminar la directiva engine Off 

1- Nos dirigimos a Servidores > Servidor Web Apache



 2- Nos vamos a la pestaña Existing virtual hosts > Servidor por Defecto


 3- En Opciones  de Por-Directorio, nos aparecen dos carpetas llamadas exactamente igual. Directory /home/*/public_html



4- En una de las dos hay que suprimir una de las directivas que se ha configurado por defecto, no sabemos en cual de las dos carpetas es. Empezamos por el icono de la izquierda, en ella tenemos que buscar la directiva "php_admin_value engine Off". Que se encuentra dentro de la directivas de PHP.


4.1- Tenemos dos opciones para ver y poder modificarlo, una es editando la configuración en modo texto y la segunda opción es editando la configuración en modo gráfico. Podemos realizar la configuración usando el método que mas nos guste, aquí explicaremos ambos métodos.


4.2- Pulsamos en Editar Directivas, y observamos que hemos encontrado la directiva que estamos buscando.


4.3- Ahora simplemente basta con borrar la directiva  y salvar los cambios. Aunque nosotros hemos elegido la opción de comentar la línea usando el símbolo almohadilla #, con lo cual es como si se borrara. y pulsamos en Salvar para guardar los cambios.


5- Al pulsar en Salvar nos lleva a las Opciones de Por-Directorio, ya solo nos queda pulsar en Aplicar Cambios.


6- El método dos es pulsando en el icono PHP


6.1 - Nos muestra la configuración PHP, la cual hemos de borrar. (engine Off)


Tal como muestra la siguiente imagen, pulsamos en Salvar para guardar los cambios.


Al pulsar en Salvar nos lleva a las Opciones de Por-Directorio, ya solo nos queda pulsar en Aplicar Cambios.























 .