jueves, 8 de marzo de 2012

Instalación de un servidor Web en Debian Lenny (Apache2 + php5)


Antes que nada, deben tener una instalación básica de un Servidor en Debian 5 (Lenny), para ello pueden consultar mi artículo haciendo clic aqui.

Primero debemos ingresar a la consola del Debian logueandonos en el equipo ó remotamente utilizando putty.

En la consola ejecutamos el siguiente comando:

apt-get install apache2 libapache2-mod-php5 php5

Ya con este comando el apt-get se encargará de instalar las dependencias necesarias para ejecutar el servidor web.

ahora, configuramos el archivo php.ini, utilizamos el siguiente comando:

nano /etc/php5/apache2/php.ini

Los campos a cambiar son los siguientes (valores en rojo):

short_open_tag = Off
max_execution_time = 0
memory_limit = 256M                  <=== debe ser minimo 128MB y debe estar entre el 25% y 50% 
                                                                 de la RAM del servidor
 register_globals = Off                   <=== En algunos casos puede estar en On
upload_max_filesize = 4M            <=== En mi caso requiero archivos un poco mas grandes, eso 
                                                                 es de acuerdo al criterio del administrador del servidor
date.timezone = America/Caracas <== Zona horaria, necesario para cronologia de fechas y horas
                                                               (deben descomentar la linea quitandole el punto y coma)

Una vez cambiado los valores guardamos y cerramos el archivo. Despues para que los cambios tengan efecto debemos reiniciar el servicio de Apache, ejecutamos el siguiente comando:


service apache2 restart

Ahora, para probar que el php esta funcionando correctamente con el apache ejecutamos cualquier editor de texto (notepad por ejemplo) y escribimos las siguientes lineas:

<?php

phpinfo();


?>


guardamos el archivo con el nombre phpinfo.php y lo colocamos en la carpeta /var/www/

Ahora, en un navegador cualquiera buscamos la siguiente dirección:

http://ip_del_servidor/phpinfo.php

En mi caso, seria la siguiente dirección:

http://172.20.21.53/phpinfo.php

Si se muestra la siguiente ventana significa que el servidor esta listo para ejecutar php




Instalación de Servidor con Linux Debian (Lenny) - Instalación mínima

Introducción: 

Este artículo resalta una correcta instalación (de acuerdo a mi criterio) de una instalación de un servidor en Gnu/Linux distribución Debian, enfocado a Aplicaciones Web. Esta instalación mínima servirá para cualquiera que desee instalar un servidor con un sistema operativo Opensource. De todas las distribuciones existentes en lo particular prefiero Debian para Servidores por su excelente estabilidad y seguridad comprobada.

Hardware:

El hardware de ejemplo es un equipo Pentium 4 con 2 GB de RAM y disco duro de 86 Gb. Iniciamos la instalación con el CD 1 de la distribución actual estable de Debian (6.0.4).

Iniciando la Instalación:

Configuramos el BIOS para que Inicie en la unidad de CD y pueda bootear el instalador. Nos saldrá una pantalla como esta:


Iniciamos la instalación en Modo Texto (opción por defecto). Seleccionamos el Idioma (Spanish), posteriormente el país (Venezuela) y luego la distribución del Teclado si es español o latinoamericano.

TIPS: El teclado español es cuando tiene el @ (arroba) en el número 2 y latinoamericano cuando tiene el @ en la letra Q.


Luego de varias pantallas el sistema pedirá un nombre de Equipo, lo llamaremos "debianpruebas".



Posteriormente pedirá la contraseña del usuario Root (Super usuario) y la confirmación de la contraseña.

Luego solicitará un usuario el cual tendrá atributos limitados, para este ejemplo lo llame Usuario, introducimos luego el nombre completo y despues la contraseña con su confirmación.

Particionando el Disco:

Ahora viene una parte crítica, en esta parte se debe tener Muy claro la distribución del Espacio ya que las particiones se deben establecer de acuerdo al uso del Equipo. En internet existen muchas sugerencias de como particionar un disco en Debian y que formato deben tener cada uno. El criterio que indico aqui es de acuerdo a mi experiencia. El tamaño a distribuir es 86 GB, siendo las particiones de la siguiente manera:

/boot         tipo: ext4, 256MB de espacio, primaria, marcada activa, flags: nodev
/home        tipo: ext4, de 40 GB de espacio, extendida
/                tipo: ext4, 20Gb de espacio, extendida, flags: noatime
swap         tipo: swap, 2 GB (no mas de 4GB)
/var           tipo: ext4, resto del espacio, extendida

Estas particiones pueden variar de acuerdo al tamaño del disco, a modo de sujerencia al amigo lector es que mantenga las proporciones de tamaño con discos mas grandes.

NOTA: El orden tambien tiene una afectación ya que al estar mas cerca del inicio del disco tiene menor latencia en la lectura/escritura del disco.

Explicación de Formatos Utilizados:
Ext2: se utiliza este formato ya que la partición BOOT no requiere comprobaciones a cada momento, su uso es solamente para levantar el entorno del Linux.
Ext4 y XFS: Excelente rendimiento, la diferencia entre ambas es la capacidad de almacenamiento y la manera en la que maneja el journal, siendo el primero fisico y el segundo logico. De acuerdo a un benchmarks (Pruebas de rendimiento) realizado por phoronix las particiones en linux con Ext4 son mas rapidas que las XFS aunque las XFS son mas seguras ante una posible perdida de datos.

NOTA: La partición /VAR es donde se almacenan las bases de datos (Como MySQL, POSTGRES, entre otros) y el directorio raiz del motor Web (/var/www), que acá es donde colocaremos las aplicaciones a utilizar en nuestro servidor, por ende el tamaño asignado (un 50% del disco aprox) y su ubicación en el orden.

Aceptamos los cambios en el disco para que inicie el formato y despues la copia de los archivos al disco.

Luego omitimos la comprobación de otros discos. Omitimos utilizar replicas en internet (la agregaremos mas adelante). Cuando muestre la pantalla de selección de programas seleccionaremos solamente las siguientes opciones:

* Servidor ssh
* Utilidades estandar del sistema.


Le indicamos que continue para culminar la instalación. Cuando solicite instalar el GRUB en la raiz del disco le indicamos que si. Despues indicará que el sistema operativo se encuentra instalado. Solicitará que retire el CD y reiniciar el equipo.




Listo!!! Ya la versión básica de Debian está instalada.

Agregando Repositorios:

Lo primero que debemos verificar es la conexión con la red, para ello utilizamos el comando ifconfig el cual nos dará el detalle de las interfases de red que se encuentran conectadas.

Escribimos el comando ifconfig eth1 (donde eth1 es la tarjeta de red) mostrando el siguiente resultado:

Nota: Por defecto el eth0 es la primera tarjeta de red, en mi caso tengo 2 en el equipo siendo la segunda la que tiene conexion a internet.

Aqui podemos observar el numero IP que es 172.20.21.53 y para comprobar le hago ping desde el equipo en el que me encuentro:


Ya con esta prueba se puede ver que si existe conexión con el equipo. Ahora nos conectamos via SSH, yo utilizo Putty.

Establecemos conexión con el equipo remoto:


 Al conectarnos nos pide un usuario, utilizamos root.

Lo primero que debemos hacer es configurar los repositorios, editamos el archivo sources.list utilizando el siguiente comando:

nano /etc/apt/sources.list

Comentamos el repositorio que busca el CD y agregamos la siguiente linea:

#repositorio debian 
deb http://debian.unesr.edu.ve/debian/ squeeze main contrib non-free

Guardamos y cerramos el archivo.

Ahora ejecutamos los siguientes comandos:

aptitude update   --> actualiza los repositorios

aptitude install debian-keyring --> actualizamos las llaves de los repositorios

aptitude full-upgrade --> actualiza los paquetes que se encuentren desactualizados de acuerdo al repositorio

Y listo!!!

Ya tenemos el debian actualizado!!!