Misma máquina + Ip dinámica + 2 dominios + apache + drupal + ssl

nota aclaratoria: 

Ip dinámica, uso de inadyn

freedns para el redireccionamiento

Registro en el buscador Google

envío de correos automático

apache 2 ,php5, drupal 6.15, mysql server 5

uso de licencia creative commons

login ssl

integración de flash

 


Actualizamos las fuentes para tener la ultmia versión de apache  y de los demás programas necesarios:

 

apt-get update

Instalamos apache y php

 

apt-get install apache2 php5 libapache2-mod-php5

para ver si todo ha funcionado bien nos creamos un ejemplo en php para probar que el server escucha bien por el puerto 80 y que

los módulos de php estan instalados correctamente, pero primero eliminamos el típico It's work del apache:

 rm /var/www/index.html

 

echo “<?php phpinfo(); ?>” > /var/www/test.php

Accedemos desde nuestro navegador http://127.0.0.1 y comprobamos que nos responde con la información solicitada.

Configuraremos ahora Apache para crear un host virtual con el nombre de los dominios que se quieren usar.

Para ello se crea dos directorios en /var/www/ de nombre de los dominios:

mkdir /var/www/dominio1.com
mkdir /var/www/dominio2.com

Y se edita el archivo /etc/apache2/sites-available/default

 

nano /etc/apache2/sites-available/default

Poniendo lo siguiente (borramos lo que tenga de antes):

 


 

 

NameVirtualHost *

## VirtualHost 1

<virtualhost *>

ServerAdmin [tu correo]
ServerName dominio1.com
ServerAlias dominio1.com *.dominio1.com
DocumentRoot /var/www/dominio1.com
Options Indexes FollowSymLinks MultiViews
#ErrorLog /var/log/apache2/invitado/error.log

<Directory /var/www/>
Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
AllowOverride all
Allow from all
Order allow,deny
</Directory>


</virtualhost>

## VirtualHost 2

<virtualhost *>

ServerAdmin [tu correo]
ServerName dominio2.com
ServerAlias dominio2.com *.dominio2.com

DocumentRoot /var/www/dominio2.com
Options Indexes FollowSymLinks MultiViews
#ErrorLog /var/log/apache2/pumawifi.log

<Directory /var/www/>
Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
AllowOverride all
Allow from all
Order allow,deny
</Directory>

</virtualhost>



ServerAlias es para que coja todas las derivaciones, http, www.....

Ahora creamos otro host virtual para que uliize SSL cifrado por el puerto 443:

Para ello 1º creamos un directorio donde estarán los certificados

mkdir /etc/certificados/
cd /etc/certificados/

Ahora creamos los certificados (video explicativo: http://pumawifi.org/?q=node/4):

aptitude install openssl apache2-ssl-certificate 
a2enmod ssl
openssl genrsa -des3 -out server.key 1024

nos pide una contraseña

openssl rsa -in server.key -out server.pem

utlizamos la misma contraseña en el siguiente paso, generamos la petición de firma del certificado

openssl req -new -key server.key -out server.csr

Lo autofirmamos, los días hemos puesto que dure durante 360 pero podemos cambiarlo

y el common name al final cuando lo pida ponemos el nombre de nuesto dominio

openssl x509 -req -days 360 -in server.csr -signkey server.key -out server.crt

nos pide password y le ponemos el mismo de antes

Incluimos estos certificados en el archivo nuevo que creamos en apache , para crear un host virtual que sea cifrado:

nano /etc/apache2/sites-available/defaultssl

 


 

 

NameVirtualHost *:443

## VirtualHost 1

<virtualhost *:443>

ServerAdmin [tu correo]
ServerName dominio1.com
ServerAlias dominio1.com *.dominio1.com
DocumentRoot /var/www/dominio1.com
Options Indexes FollowSymLinks MultiViews
#ErrorLog /var/log/apache2/invitado/error.log

SSLEngine on
SSLCertificateFile
/etc/certificados/server.crt
SSLCertificateKeyFile
/etc/certificados/
server.pem
<Directory /var/www/>
Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
AllowOverride all
Allow from all
Order allow,deny
</Directory>

</virtualhost>

## VirtualHost 2

<virtualhost *:443>

ServerAdmin [tu correo]
ServerName dominio2.com
ServerAlias dominio2.com *.dominio2.com


DocumentRoot /var/www/dominio2.com
Options Indexes FollowSymLinks MultiViews

#ErrorLog /var/log/apache2/pumawifi.log
SSLEngine on
SSLCertificateFile
/etc/certificados/server.crt
SSLCertificateKeyFile /etc/certificados/server.pem

<Directory /var/www/>
Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
AllowOverride all
Allow from all
Order allow,deny

</Directory>

</virtualhost>

 


 

 

Para finalizar se crea un enlace simbólico en sites-enabled para que se cargue la nueva configuración:

ln -s /etc/apache2/sites-available/default* /etc/apache2/sites-enabled/

Editamos el archivo de configuración de apache para ganar en seguridad ya que no queremos que se vea la versión

de nuestro apache cuando metan una dirección inexistente inclumos al final del archivo:

 

nano /etc/apache2/apache2.conf

 

ServerTokens Prod

Reiniciamos apache:

/etc/init.d/apache2 restart