Professional Documents
Culture Documents
TEMA:
Prctica IV Configuracin de un Servidor Web Apache.
Realizado por: Milton Israel Padilla Silva Marbelliett Johanna Reyes Rivas Byron Isidro Brenes Velsquez Oswaldo Alberto Rivas Escobar Kelvin Felipe Gutirrez Guido. German Cajina
Contenido.
Introduccin....3 Desarrollo. Instalacin servidor apache4 Configurar Apache, ficheros de configuracin en Deban.6 Eliminar la visualizacin del mensaje de error que indica la versin de apache7 Aumentando el tamao mximo de los archivos subidos al servidor..7 Evitar la visualizacin del contenido de los directorios..8 Creacin de servidores virtual..8 Instalar PHP en Deban13 Instalacin de MySQL Server 5.1.16 Instalacin de phpmyadmin.17 Creacin de servidor virtual phpmyadmin22 Instalacin de Joomla Aadir usuario a MySQL para uso de Joomla Personalizacin y administracin de Joomla
Grupo1
Introduccin.
El servidor web es un programa que permite servir diferentes elementos utilizando como protocolo HTTP. Dentro del mercado existen diversas implementaciones de servidores web entre las cuales destacan IIS de Microsoft y Apache de Linux. Apache es uno de los servidores web ms ampliamente distribuido. Su principal para caracterstica es que posee una gran cantidad de mdulos que permiten dotar el servidor de muchas cualidades
En esta prctica, emplearemos algunas de estas caractersticas principalmente, la utilizacin de servidores virtuales.
Grupo1
Es posible que haya que responder "s" a alguna pregunta en el proceso de instalacin de Apache. Una vez instalado Apache, abriremos un navegador en una de las maquinas clientes y teclearemos http://192.168.1.2 Nos mostrar la siguiente pgina indicando que Apache est activo y funcionando correctamente.
Grupo1
Adems, como en la prctica anterior hemos configurado las zonas DNS, disponemos de IP esttica y hemos mapeado o direccionado el puerto 80 a la IP de nuestro servidor Debian con Apache. Introduciendo la URL en cualquier navegador de los clientes se no deber de presentar la misma pantalla mostrada anteriormente.
En nuestro caso http://www.grupo1.com Si queremos ver el estado del demonio (daemon) o "servicio" de Apache podemos ejecutar el comando:
Grupo1
Para detener el servicio de Apache (el servidor web dejar de funcionar) ejecutaremos el comando:
Grupo1
Nos devolver: Starting web server: apache2. Para ver y consultar la versin de Apache instalada ejecutaremos el siguiente comando:
Grupo1
ServerSignature (la firma del servidor) aparece al final de pginas generadas por Apache como errores 404, listado de directorios, etc. ServerTokens es la que determina lo que Apache incluir en la cabecera de respuesta HTTP del servidor. El configurarla como Prod implica que enviar:
Server: Apache
Grupo1
Abrimos nuestro navegador favorito e introducimos la URL de nuestro servidor se nos deber de mostrar una pgina como la siguiente.
Dentro de php.ini, localizamos el texto upload_max_filesize y le asignamos un valor superior al que ya tiene, por ejemplo:
upload_max_filesize = 10M
Tambin es recomendado aumentar los valores de post_max_size(tamao mximo de carga por envo, el cual debe ser igual o mayor al especificado en upload_max_filesize), e incluso el de max_execution_time (tiempo mximo en segundos que el servidor esperar al script para que termine su ejecucin, en este caso, la carga de archivos). Por ejemplo:
upload_max_filesize = 12M post_max_size = 24M max_execution_time = 120
Grupo1
Grupo1
10
Ahora el siguiente paso es crear un enlace simblico desde el directorio Raz de nuestro servidor web hacia el directorio que acabamos de crear dentro de nuestro directorio personal dentro de la /home del siguiente modo.
ln -s /home/debian/marbel /var/www/marbel
Con lo anterior conseguimos que todo lo que est dentro del directorio /home/debian/marbel se vea reflejado en un directorio llamado /marbel dentro de nuestro directorio raz real o sea /var/www como si fuera un directorio quedando en la URL
http://marbel.grupo1.com Ahora nos movemos al directorio de configuraciones del servidor web Apache
cd /etc/apache2/sites-available
Grupo1
11
Para crear los VirtualHost en Apache existe un directorio llamado sites-available y all es donde crearemos los VirtualHost. Accedemos al directorio cd sites-available Copiamos el archivo por defecto default para crear el primer VirtualHost en este caso para la direccin de nuestro server
cp default marbel.grupo1.com
Este archivo default es el que usa Apache para decir cul es la raz de nuestro servidor Web. En este caso y cmo podemos ver tenemos el archivo por defecto
Adems de modificar algunas lneas agregamos otras que no estn en el archivo de configuracin por defecto. En nuestro caso disponemos de dos subdominios que queremos alojar. El de marbel.grupo1.com para el directorio /marbel as que agregamos este directorio a la nueva configuracin quedndome as
Grupo1
12
Finalizado esto hicimos que tomara nuestras modificaciones, para esto utilizamos el comando a2ensite del siguiente modo
a2ensite marbel.grupo1.com
Reiniciamos el servidor.
/etc/init.d/apache2 restart
Llegados a este punto si abrimos un navegador e introducimos nuestra direccin web, en nuestro caso marbel.grupo1.com visualizamos lo que en realidad hay dentro de /var/www/marbel y no lo que hay /var/www/web
Grupo1
13
Grupo1
14
Una vez instalado PHP, reiniciaremos el servicio de Apache2 para que los cambios tengan efecto con el comando: /etc/init.d/apache2 restart Si queremos verificar la correcta instalacin de PHP realizaremos los siguientes pasos: cd /var/www rm index.html nano index.php
Grupo1
15
Ahora, desde cualquier navegador, introduciendo el dominio registrado o la IP del servidor y (en nuestro caso http://www.grupo1.com nos debera aparecer una ventana como la siguiente, mostrando los datos bsicos de configuracin del servidor web y PHP:
Grupo1
16
(Es posible que haya que responder "s" a la pregunta Desea continuar [S/n]?)
Tras instalar MySQL Server 5.1, el script de instalacin, nos mostrar una ventana indicndonos que introduzcamos la contrasea para el usuario "root" de MySQL (no del sistema operativo). Introduciremos la contrasea y pulsaremos "Aceptar":
Grupo1
17
Volveremos a introducir la contrasea para el usuario "root" de MySQL: El proceso de instalacin de MySQL Server 5.1 habr concluido.
Grupo1
18
Marcaremos "apache2" y pulsaremos "Aceptar" (para marcar "apache2" nos moveremos con las teclas de cursor y pulsaremos la barra espaciadora):
A continuacin el asistente de instalacin de phpMyAdmin nos preguntar si queremos que configure la conexin con la base de datos o bien que lo hagamos manualmente a travs de dbconfig-common. Pulsaremos "S":
Grupo1
19
El asistente de instalacin de phpMyAdmin crear un esquema (base de datos) llamado "phpmyadmin", tambin crear un usuario llamado "phpmyadmin". El asistente nos pedir que introduzcamos la contrasea del usuario "root" de MySQL para realizar el proceso de creacin del catlogo esquema y del usuario, introduciremos la contrasea del usuario root:
A continuacin nos pedir que introduzcamos la contrasea para el nuevo usuario "phpmyadmin":
Tras la instalacin de phpMyAdmin, podremos acceder a la administracin de nuestro servidor MySQL Server desde cualquier equipo, abriendo el navegador web e introduciendo la URL: Pero antes hacemos un enlace blando hacia /var/www/ ya que phpmyadmin esta en /etc/phpadmin
ln s /etc/phpmyadmin /var/www/
http://www.grupo1.com/phpmyadmin
Grupo1
20
Nos pedir usuario y contrasea, introduciremos un usuario de MySQL con permisos suficientes para administrar la base de datos, por ejemplo "root" y su contrasea: phpMyAdmin nos mostrar la ventana de administracin del servidor MySQL Server, podremos ver las bases de datos, ejecutar consultas SQL, crear tablas, seleccionar registros, crear bases de datos, etc. Como ejemplo, crearemos una base de datos (esquema) llamado "grupo1", introduciremos el nombre en "Crear nueva base de datos" y pulsaremos "Crear":
Nos mostrar el mensaje "La base de datos grupo1 se cre. Tambin nos mostrar la consulta SQL utlizada para crear la base de datos:
CREATE DATABASE grupo1 ;
Grupo1
21
Desde esta ventana podremos aadir una nueva tabla a la base de datos, introduciremos el nombre, por ejemplo "integrantes" en "Crear nueva tabla en la base de datos grupo1" y pulsaremos "Continuar":
Con lo anterior conseguimos que todo lo que est dentro del directorio /etc/phpmyadmin se vea reflejado en un directorio llamado /phpmyadmin dentro de nuestro directorio raz real o sea /var/www como si fuera un directorio quedando en la URL
http://phpmyadmin.grupo1.com Ahora nos movemos al directorio de configuraciones del servidor web Apache
cd /etc/apache2/sites-available
Para crear los VirtualHost en Apache existe un directorio llamado sites-available y all es donde crearemos los VirtualHost. Accedemos al directorio cd sites-available
Grupo1
22
Copiamos el archivo por defecto default para crear el primer VirtualHost en este caso para la direccin de nuestro server
cp default phpmyadmin.grupo1.com
Finalizado esto hicimos que tomara nuestras modificaciones, para esto utilizamos el comando a2ensite del siguiente modo
a2ensite phpmyadmin.grupo1.com
Reiniciamos el servidor.
/etc/init.d/apache2 restart
Llegados a este punto si abrimos un navegador e introducimos nuestra direccin web, en nuestro caso phpmyadmin.grupo1.com visualizamos lo que en realidad hay dentro de /var/www/marbel y no lo que hay /var/www/web
Grupo1
23
Instalacin de Joomla
Desde la consola de nuestro equipo con Deban, nos situaremos en una carpeta nueva (que podremos crear con mkdir, por ejemplo "mkdir joomla") y ejecutaremos el siguiente comando para descargar Joomla! 1.6.3 en espaol: wget http://joomlacode.org/gf/download/frsrelease/14748/64305/Joomla_1.6.3-SpanishPack_Completo.tar.gz
Tras descomprimir el fichero descargado, podremos guardarlo en otra ubicacin para un posterior uso o podramos tambin eliminarlo, ya que no ser necesario ms, nosotros optamos por borrarlo.
rm Joomla_1.6.3-Spanish-Pack_Completo.tar
Ahora deberemos saber cul es la carpeta de inicio del sitio web, la carpeta de Apache, que viene establecida en el parmetro "DocumentRoot" del fichero de configuracin de apache:
/etc/apache2/sites-enabled/default
Grupo1
24
En nuestro caso.
/var/www/web
Moveremos los ficheros de Joomla descargados y descomprimidos anteriormente a esta carpeta.
mv * /var/www/web
Si ya tenemos Apache iniciado, MySQL Server iniciado y los ficheros de Joomla copiados a la carpeta raz de nuestro servidor web, podremos ahora continuar con el proceso de instalacin de Joomla desde cualquier equipo de la red mediante el navegador web. Desde otro equipo abriremos un navegador web e introduciremos la URL: http://www.grupo1.com Si todo es correcto y est iniciado el servicio Apache, se iniciar el asistente de instalacin de Joomla 1.6.3, seleccionaremos el idioma del programa de instalacin de Joomla y pulsaremos "Siguiente":
Grupo1
25
En este paso de la instalacin de Joomla! el asistente comprobar todos los requisitos necesarios para el correcto funcionamiento de Joomla!, si detecta que el equipo no cumple con algn requisito nos lo mostrar en color rojo, si todo est OK podremos continuar con la instalacin de Joomla! pulsando en "Siguiente:
Leeremos los trminos de licencia, si estamos de acuerdo pulsaremos "Siguiente" para continuar con la instalacin:
Grupo1
26
En este paso de la instalacin de Joomla! 1.6.3 nos solicitar los datos de acceso a la base de datos MySQL Server de nuestro servidor web, necesitaremos la IP o el hostname (nombre de red) del equipo, un usuario de MySQL Server con privilegios suficientes para crear tablas y la base de datos (esquema) en el que se crearn todas las tablas necesarias para el funcionamiento de Joomla!. Es muy recomendable (por seguridad) crear un usuario en MySQL Server que slo tenga permisos para la base de datos que usaremos para Joomla, no es nada aconsejable usar el usuario root de MySQL Server para este servicio, pues en caso de ataque (de inyeccin de SQL u otro tipo), el atacante tendra todos los privilegios sobre MySQL Server. De momento, puesto que ms adelante cambiaremos el usuario con el que Joomla se conectar a MySQL Server, usaremos el usuario root, por ello introduciremos los siguientes datos en la siguiente ventana:
Tipo Base de datos: seleccionaremos "MySQL". Nombre del Host: introduciremos "localhost", salvo que el servidor de MySQL Server est en otro equipo diferente al de Apache, en cuyo caso deberemos indicar aqu la IP o hostname de dicho equipo, no es nuestro caso ya que tenemos tanto apache como MySQL en el mismo host. Usuario: en nuestro caso, de momento, usaremos "root", ms adelante lo cambiaremos por un usuario ms restrictivo (con menos permisos). Contrasea: contrasea para el usuario anterior. Nombre de la base de datos: nombre del esquema (base de datos catlogo) que se crear para alojar todas las tablas de Joomla. Prefijo de la tabla: se suele usar esta opcin cuando queremos tener un nico esquema (base de datos) para varios servicios, en este caso, para diferenciar las tablas de Joomla de otras, se aade un prefijo al nombre de cada tabla, por ejemplo "sub1_". Procesar base de datos antigua: si tenemos una instalacin de Joomla antigua y queremos mantenerla en el mismo esquema, podemos marcar la opcin "Respaldar", si no queremos mantenerla seleccionaremos "Eliminar". En nuestro caso, puesto que es una instalacin limpia desde cero, da igual lo que marquemos pues no existen tablas en dicho esquema.
Grupo1
27
Si queremos habilitar una capa FTP podremos especificar aqu los datos del usuario y la contrasea, este paso no es necesario de momento:
Introduciremos a continuacin los datos del sitio web: Introduciremos tambin en este paso de la instalacin de Joomla 1.6 los siguientes datos:
E-mail: introduciremos la direccin de correo electrnico del usuario administrador, para notificaciones. Usuario del Administrador: introduciremos el nombre de usuario (nick) con el que iniciaremos sesin como administradores de Joomla. Contrasea del Administrador y Confirmar contrasea del Administrador: introduciremos la contrasea que nos solicitar Joomla para iniciar sesin con el usuario anterior. Es recomendable usar una contrasea segura pues este usuario tendr todos los permisos de administracin de Joomla. si queremos que el asistente para instalar Joomla cree datos de ejemplo (artculos, secciones) ya precargados para
28
Grupo1
nuestro sitio web pulsaremos en "Instalar datos de ejemplo". En nuestro caso instalemos Joomla "limpio", sin datos de ejemplo, por lo que no pulsaremos en este botn.
Por ltimo, el asistente para instalar Joomla! 1.6 nos indicar que el pack de Joomla! ya se ha instalado y que debemos eliminar la carpeta de instalacin (installation) antes de continuar:
Grupo1
Para resolver este problema: en Joomla 1.6.3 como el fichero /var/www/web/configuration.php no existe, crearemos uno vacio y tambin le cambiaremos los permiso ya que por defecto no tenemos permiso, para crear ficheros en la carpeta /var/www/web
nano /var/www/web configuration.php
Ahora estar creado el fichero "configuration.php" con permisos 644, le cambiaremos los permisos a 777 con el comando:
chmod 777 /var/www/configuration.php
Ahora recargaremos la pgina para verificar que todo est correcto. Si todo marcha bien o sea ya no da dicho error procederemos a eliminar la carpeta de instalacin de Joomla. Para eliminar la carpeta de instalacin de Joomla! accederemos a la consola de nuestro equipo Linux Debian e introduciremos el siguiente comando.
rm /var/www/installation r
A partir de ahora, la web oficial de nuestro grupo estar disponible desde la red local a nuestro servidor DNS.
Grupo1
30
Obviamente, en un primer momento nuestra web aparecer sin contenidos. Tendremos que agregar todas las secciones y el contenido de cada una de ellas en Joomla!.
(Donde "root" y root sern el nombre de usuario y la contrasea de MySQL Server para administracin)
Grupo1
31
Ejecutaremos el siguiente comando dentro de la consola de MySQL Monitor para crear el usuario Byron en MySQL Server:
create user 'joomla'@'localhost' identified by '*joomla&';
(El comando anterior crear el usuario "joomla" con la contrasea "contrasea" con permisos de acceso slo desde el servidor local de MySQL, no externamente) Para comprobar que el usuario "joomla" se ha creado correctamente ejecutaremos la siguiente consulta SQL:
select user from mysql.user;
Tras crear el usuario "joomla", le asignaremos los siguientes permisos: INSERT, DELETE, UPDATE, SELECT para todas las tablas de la base de datos de Joomla "grupo1prin". Para ello usaremos el siguiente comando:
grant select, insert, update, delete, lock tables, drop, create, alter on grupo1prin.* to 'joomla'@'localhost';
Para comprobar que los permisos anteriores se han aplicado al usuario "byron" correctamente podemos ejecutar el siguiente comando:
show grants for 'joomla'@'localhost';
Grupo1
32
Con los pasos anteriores ya tendremos creado un usuario en MySQL Server que slo tiene determinados privilegios para la base de datos de Joomla y ningn privilegio para el resto de bases de datos. Usando este usuario nuestro sitio web ser ms seguro. tras crear el usuario, ahora configuraremos Joomla! para que use este usuario. Para ello, desde la consola shell de debian, ejecutaremos el siguiente comando linux (para editar el fichero de configuracin de Joomla! "configuration.php"):
nano /var/www/web/configuration.php
Modificaremos las siguientes lneas del fichero "configuration.php" para establecer el nuevo usuario y contrasea que usar Joomla! para el acceso a MySQL Server: public $user = 'joomla'; public $password = 'contrasea';
Guardaremos los cambios en el fichero pulsando Control + O y cerraremos la edicin pulsando Control + X. A partir de ahora, cuando Joomla! establezca la conexin con la base de datos MySQL Server la realizar usando el usuario "joomla" y los privilegios que le hayamos establecido.
http://www.grupo1.com/administrator
Introduciremos el usuario y la contrasea establecidos en la instalacin de Joomla! para acceso como administradores y pulsaremos "Acceso":
Grupo1
33
En primer lugar configuraremos las opciones globales de nuestro sitio web, para ello accederemos al men "Sitio" - "Configuracin global":
Desde la pestaa "Sitio" podremos configurar opciones generales de nuestro sitio web Joomla como el nombre del sitio, descactivar o activar el sitio, editor de noticias por defecto, metadatos, ...:
Grupo1
34
Desde "Sistema" podremos configurar la depuracin de errores, ubicacin ficheros de log, cach, sesin:
Desde la pestaa "Servidor" de la configuracin global de Joomla podremos indicar la carpeta temporal de Joomla, tipo de compresin de las pginas, localizacin, configuracin FTP, Grupo1
35
configuracin de la base de datos (usuario, base de datos, contrasea, tipo de base de datos), configuracin del correo electrnico, ...:
Desde "Permisos" podremos establecer los permisos asociados a las distintas acciones (acceso al sitio, acceso administracin, super admin, acceso al componente, crear, eliminar, editar, ...):
Grupo1
36
Una vez configuradas las opciones globales, es recomendable crear los usuarios que tendrn acceso a la administracin del sitio web Joomla y modificar los datos del usuario super admin. Para ello pulsaremos en el men "Usuarios" - "Gestor de Usuarios":
Desde la gestin de usuarios podremos aadir, modificar y eliminar los usuarios que se registren en nuestra web y los usuarios que sern administradores del sitio web. En primer lugar es recomendable modificar los datos del usuario "Super User" que tiene todos los privilegios sobre Joomla!, para ello pulsaremos en "Super User":
Grupo1
37
Introduciremos los datos para el usuario "Super User" y pulsaremos en "Guardar & Cerrar":
Crearemos en esta ventana todos los usuarios que podrn administrar el sitio web con Joomla!, estableciendo el nivel de acceso (permisos) de cada usuario.
Grupo1
38