- July 2010 (11)
- June 2010 (11)
- April 2010 (2)
- March 2010 (4)
- February 2010 (5)
- December 2009 (2)
- November 2009 (5)
- October 2009 (6)
- August 2009 (3)
- July 2009 (3)
- June 2009 (1)
- April 2009 (1)
- March 2009 (4)
- February 2009 (2)
- December 2008 (2)
- November 2008 (6)
- October 2008 (4)
Misma máquina + Ip dinámica + 2 dominios + apache + drupal + ssl
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


