Pequeño laboratorio para instalar Apache y SSL en un servidor Ubuntu y crear varios sites, unos securizados con SSL y otros no.
Ponemos password al usuario Root
sudo passwd
Entramos como Root y actualizamos los repositorios
apt-get update
Instalar ssh
apt-get install openssh-server
Instalar apache2
#Comprobamos que tenemos las fuentes
cat /etc/apt/sources.list
#Instalamos Apache2
apt-get install apache2
service apache2 stop
service apache2 start
Crearemos una carpeta en /home/webs en esta carpeta iremos añadiendo los diferentes virtual host:
mkdir /home/webs
Creamos un virtual host llamado www.miweb.com , crearemos una web solo con un fichero index para hacer las pruebas:
#Crearemos un directorio dentro de webs que se llamara miweb.
mkdir /home/webs/miweb
#Añadiremos un fichero index.html.
vi /home/webs/miweb/index.html
<html><body>miweb</body></html>
#Creamos el host virtual, que será accesible como www.miweb.com y miweb.com.
cd /etc/apache2/sites-available
touch miweb
vi miweb
#Permitimos seguir enlaces simbólicos. Permite MultiViews, Directorio formateado.
#Página de inicio index.html.
a2ensite miweb
service apache2 reload
vi /etc/hosts
service apache2 reload
Creamos otro virtual host llamado www.accesobasico.com
Igual que el anterior pero creamos dentro de este host una carpeta privado que será donde solo podrán acceder algunos usuarios, creamos los usuarios para hacer las pruebas.
mkdir /home/webs/accesobasico
vi /home/webs/accesobasico/index.html
<html><body>accesobasico</body></html>
cd /etc/apache2/sites-available
touch accesobasico
vi accesobasico
a2ensite accesobasico
service apache2 reload
vi /etc/hosts
service apache2 reload
mkdir /etc/apache2/claves
htpasswd –c /etc/apache2/claves/passwd.txt angel
htpasswd /etc/apache2/claves/passwd.txt luis
mkdir /home/webs/accesobasico/privado
cd /home/webs/accesobasico/privado
touch index.html
vi index.html
<html><body>Solo usuarios autorizados</body></html>
Creamos un nuevo host virtual donde implementaremos un certificado SSL:
El host se llamará www.missl.com
mkdir /home/webs/missl
vi /home/webs/missl/index.html
<html><body>Bienvenido a missl site!!!</body></html>
cd /etc/apache2/sites-available
touch missl
vi missl
a2ensite accesobasico
service apache2 reload
vi /etc/hosts
service apache2 reload
Generación e instalación de un certificado SSL:
dpkg –l | grep openssl
ldd `which apache2`
mkdir /etc/apache2/ssl
cd /etc/apache2/ssl
apt-get install ssl-cert
openssl genrsa –des3 –out server.key 1024
openssl req –new –key server.key –out server.csr
cp server.key server.key.bck
openssl rsa –in server.key.bck –out server.key
openssl x509 –req –days 365 –in server.csr –signkey server.key –out server.crt
cd /etc/apache2/sites-available
vi missl
service apache2 stop
service apache2 start
#Si recibes un error como este:
#Lo solucionas con:
sudo a2enmod ssl
Crearemos una carpeta privado que la configuraremos como en el host anterior. Usaremos el mismo fichero de claves del site anterior (/etc/apache2/claves/passwd.txt), los usuarios angel y luis tienen acceso
mkdir /home/webs/missl/privado
cd /home/webs/missl/privado
touch index.html
vi index.html
<html><body>Solo usuarios autorizados</body></html>
vi /etc/apache2/sites-available/missl
service apache2 stop
service apache2 start
Accede a cada uno de los sites con los diferentes usuarios y podrás comprobar como funcionan.