viernes, 30 de octubre de 2009

Sitio Web Seguro con Apache2, SSL y soporte PHP

Comenzamos con la instalación de Apache2

#apt-get install apache2

NOTA: instalar todos los componentes que requiera

vamos a configura un poco nuestro server

si en nuestro caso es necesario la configuracion de /etc/apache2/apache2.conf
lo hacemos pero en este caso no tocaremos nada de la configuracion de apache2.conf
En el fichero /etc/apache2/ports.conf configuramos el o los puertos por donde queremos que escuche las peticiones nuestro apache.
Ejemplo:

NameVirtualHost *:80
Listen 80


# SSL name based virtual hosts are not yet supported, therefore no
# NameVirtualHost statement here
Listen 443


luego de esto nos dirigimos al directorio /etc/apache2/sites-available para
configurar nuestro fichero default en este caso vamos a suponer que
contamos con un domio www.bbb.com.sv, el cual vamos a alvergar en
el directorio /var/www

#virtual host

ServerName www.bbb.com.sv
ServerAlias bbb.com.sv
DocumentRoot "/var/www"

AllowOverride All
Options MultiViews Indexes SymLinksIfOwnerMatch
Allow from All



Hasta el momento tenemos nuestro apache2 configurado pero aun no sea
configurado SSL ni el soporte para paginas PHP.
Con esta configuracion basta para echar a andar nuestro servidor web
reiniciamos el servicio:
#/etc/init.d/apache2 force-reload

hora desde cualquier navegador web podemos accesar a el ya sea digitando
127.0.0.1, localhost, o la ip de nuestro servidor.

Configuracion de soporte para paginas PHP....XD

#apt-get install php5 libapache-mod-php5 php5-mysql

#apt-get install php5-gd

#apt-get install phpmyadmin

despues de instalar estos paquetes solo nos resta la configuracion y aplicacion de SSL

Comensaremos por crear un certificado SSL para apache2

# apache2-ssl-certificate —force -days 365 -set_serial 2

esto nos deberia crear lo siguiente..

/etc/apache2/ssl/apache.pem

/etc/apache2/ssl.crt

vamos configurar los puertos por donde apache va a escuchar el puerto 80

esta configurado por default y vamos a agregar el puerto 443

/etc/apache2/ports.conf

Listen 80
Listen 443
Crea un fichero nuevo en /etc/apache2/sites-available que representa un nuevo sitio web. Por ejemplo lo puedes llamar “sitio-ssl” y debe contener algo como esto:


ServerName www.mota.com.sv
ServerAlias example

SSLEngine on
SSLCertificateFile /etc/apache2/ssl.crt/server.crt
SSLCertificateKeyFile /etc/apache2/ssl.crt/server.key

habilitar el SSL

# a2ensite sitio-ssl

Activamos el modulo SSL

# a2enmod ssl

Reiniciamos apache y lo forzamos a que lea la nueva configuracion.

# /etc/init.d/apache2 force-reload


y es asi como ya tenemos nuestro servidor seguro con soporte para php


gnburgos (Gustavo Burgos)

No hay comentarios: