Como instalar Apache2 seguro en Ubuntu

1 12 2009

A continuación vamos a explicar como configurar un host virtual basados en nombre mediante SSL.

1. Descargamos los siguientes elementos.

  • sudo aptitude install apache2 apache2.2-common apache2-utils openssl openssl-blacklist openssl-blacklist-extra

2. Generamos un CSR (Petición de Firma de Certificado)

  • openssl genrsa -des3 -out server.key 4096

Nota: Nos pedirá una contraseña, pondremos la misma contraseña para todo, asi no tendremos problemas.

3. Ejecutamos el siguiente comando, que toma la llave privada encriptada creada con el comando anterior y crea el archivo server.key.insegura con la llave privada desencriptada.

  • openssl rsa -in server.key -out server.key.insegura

4. Al ejecutar el siguiente comando nos pedirá información de la compañía, de la ubicación, el nombre…etc. Nosotros introduciremos jreinarivero excepto la ubicación que será ES.

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

5. Ahora crearemos un certificado digital firmado por nosotros mísmos.

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

6. A continuación crearemos un directorio dentro de la carpeta apache2 que se encuentra en /etc/apache2/ y copiaremos los archivos server.crt y server.key que se han generado en la carpeta que hemos creado, ssl.

  • sudo mkdir /etc/apache2/ssl/
    sudo cp server.crt /etc/apache2/ssl/
    sudo cp server.key /etc/apache2/ssl/

7. Habilitamos el modulo ssl.

  • sudo a2enmod ssl

8. Ahora crearemos un sitio web basado en nombre, pero utilizaremos uno que creamos anteriormente. Se debería quedar con el siguiente contenido.

  • sudo gedit /etc/apache2/sites-available/jreinarivero1

9. Necesitamos editar el archivo ports.conf que se encuentra en /etc/apache2/

NameVirtualHost *:80
Listen 80
# SSL name based virtual hosts are not yet supported, therefore no
# NameVirtualHost *:443
Listen 443

10. Reiniciamos Apache.

  • sudo apache2ctl restart

11. Accedemos al sitio web, mediante el navegador.

Hacemos click sobre “O puede añadir una excepción”.

Hacemos click sobre “Obtener certificado”, “Guardar esta excepción de manera permanente” y por último “Confirmar excepción de seguridad”.

Y ya hemos accedido a http://www.jreinarivero1.com de forma segura.

Fuente: www.elreinodelterror.wordpress.com





Configurar Webalizer en Ubuntu

27 11 2009

Webalizer fue diseñado para escanear archivos de registro de un servidor web en varios formatos y producir estadísticas en formato HTML para visualizarse a través de un navegador web. Webalizer produce estadísticas anuales, mensuales, diarias y horarias. En los informes mensuales, varias estadísticas se pueden producir para mostrar un uso general, un uso por día y hora, un uso por sitios visitados, URLs, agentes de usuario (navegadores), referenciantes y país. Webalizer es altamente configurable mediante el uso de opciones en la línea de órdenes o a través de un archivo de configuración, permitiendo que el programa se ajuste a las necesidades individuales de forma fácil.

1. La instalación es bastante simple:

  • sudo aptitude install webalizer

2. Luego configuramos el archivo /etc/webalizer/webalizer.conf

  • sudo gedit /etc/webalizer/webalizer.conf

Añadimos lo siguiente:

LogFile                    /var/log/apache2/other_vhosts_access.log
OutputDir              /var/www/mipaginaweb/webalizer
Incremental          yes
ReportTitle            Estadísticas de tu web
HostName              http://www.mipaginaweb.com
IgnoreSite              localhost

3. Es importante modificar el archivo charset que se encuentra en la ruta /etc/apache2/conf.d/ para que en el navegador se vean bien las tildes. Solo hay que eliminar el # que hay en la linea AddDefaultCharset UTF-8.

  • sudo gedit /etc/apache2/conf.d/charset

4. Ahora ponemos en el navegador web, nuestra dirección seguido de /webalizer.

NOTA: Nos pide autenticación porque hemos utilizado el dominio que hicimos en el anterior tutorial (Configuración de Apache con hosts virtuales (basados en nombre) mediante autentificación).

5. Desde otro ordenador accedemos a http://www.mipaginaweb.com, pero antes en dicho ordenador hay que editar el archivo hosts, y añadir la dirección de nuestro dominio y la IP del ordenador donde está dicho dominio.

Accedemos a dicho dominio.

6.  Volvemos hacer lo mismo en el paso 3, y comprobamos que ha subido una visita.

7. Despues de varios dias, visitando varias veces la página cada día, volvemos a consultar las visitas.





Configuración de Apache con hosts virtuales (basados en nombre) mediante autentificación

15 11 2009

 

A continuación crearemos un host virtual (basados en nombre) mediante autentificación. Los pasos son los siguientes:

 

1. Creamos el directorio donde se va alojar el sitio web.

  • sudo mkdir /var/www/mipaginaweb

 

2. Creamos el fichero HTML que sera el contenido de dicho sitio web. Y crearemos una página HTML sencilla.

  • sudo gedit /var/www/mipaginaweb/index.html

 

3. Creamos el siguiente archivo que será el sitio virtual.

  • sudo gedit /etc/apache2/sites-availabre/mipaginaweb

<VirtualHost 172.16.2.36>
ServerName http://www.mipaginaweb.com
DocumentRoot /var/www/mipaginaweb
</VirtualHost>

 

4. Creamos el directorio donde se alojaran los usuarios y contraseñas.

  • sudo mkdir /var/claves

 

5. Crearemos tres usuarios.

  • sudo htpasswd -c /var/claves/.htpasswd usuario1
  • sudo htpasswd /var/claves/.htpasswd usuario2
  • sudo htpasswd /var/claves/.htpasswd usuario3

Como se muestra en la imagen anterior se muestran los usuarios creados, y seguido hay escrito números y letras, eso es la contraseña encriptada.

 

7. Creamos el siguiente archivo donde se almacenaran los grupos y dentro de dichos grupos, los usuarios.

  • sudo gedit /var/claves/.htgroups

grupo1: usuario1 usuario2
grupo2: usuario3

Como se muestra en la imagen anterior al grupo1 pertenecen el usuario1 usuario2 y al grupo2 pertenece el usuario3.

 

8. Crearemos el siguiente archivo con el siguiente contenido.

  • sudo gedit /var/www/mipaginaweb/.htaccess

AuthType Basic
AuthName “Página web con autorización”
AuthUserFile /var/claves/.htpasswd
AuthGroupFle /var/claves/.htgroups
require group grupo1

 

9. En el fichero “mipaginaweb” que se encuentra en la ruta /etc/apache2/sites-availabre/ añadimos lo siguiente, dentro de las etiquetas “VirtualHost“.

<Directory /var/www/mipaginaweb>
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>

Se debería quedar asi:

 

10. Editamos el fichero hosts y añadimos  la linea seleccionada que se muestra en la siguiente imagen.

  • sudo gedit /etc/hosts

 

11. Editamos el fichero default que se encuentra en la ruta /etc/apache2/sites-available/ y añadimos la linea que se muestra en la imagen de a continuación.

  • sudo gedit /etc/apache2/sites-available/default

 

12. Habilitamos el sitio web y reiniciamos apache.

  • sudo a2ensite mipaginaweb
  • sudo apache2ctl restart

 

13. Abrimos nuestro navegador web, e introducimos la dirección. Nos aparecerá una ventana pidiendo que introduzcamos el nombre de usuario y la contraseña.

Como se muestra en la imagen anterior nos sale el contenido de la pagina web. Y si no introducimos el nombre de usuario y contraseña nos dice que necesitamos autorización, como se muestra en la siguiente imagen.





Configuración de Apache con hosts virtuales (basados en IP)

10 11 2009

A continuación vamos a explicar paso a paso como configurar hosts virtuales basados en IP a través de Apache:

 

1. Para tener dos hosts virtuales basados en una IP, creamos los siguientes archivos.

prac2-0

sudo gedit /etc/apache2/sites-available/jreinarivero1

prac2-1

sudo gedit /etc/apache2/sites-available/jreinarivero2

  • VirtualHost IP: Es la IP del sitio virtual que se va a crear.
  • ServerName: Es el sitio virtual que se va a crear.
  • DocumentRoot: Es la carpeta donde se va alojar dicho sitio virtual.

2. Se habilitan los sitios virtuales.

prac2-6

  • a2ensite jreinarivero1

  • a2ensite jreinarivero2

Nota: En este caso nos dice que el sitio virtual jreinarivero1 y jreinarivero2 ya esta activo, porque nosotros estamos modificando los archivos que creamos en el tutorial anterior llamado Configuración de Apache con hosts virtuales (Basado en nombres).

3. Se crea una interfaz de red virtuales (en este caso dos):

prac2-2

Interfaces de red virtuales

  • sudo ifconfig eth2:1 172.16.200.1 netmask 255.255.0.0
  • sudo ifconfig eth2:2 172.16.200.2 netmask 255.255.0.0

4. Ahora comprobamos que las interfaces de red virtuales se han creado correctamente.

prac2-3

5. Por ultimo reinicia apache.

11

sudo apache2ctl grafecul

6. Comprobamos que funcionan los sitios virtuales basados en IP.

prac2-4

prac2-5





Configuración de Apache con hosts virtuales (basados en nombre)

27 10 2009

A continuación vamos a explicar paso a paso como configurar hosts virtuales basados en nombre a través de Apache:

 

1. Abrimos la terminal y creamos los siguientes archivos, que serán los sitios virtuales.

1

sudo gedit /etc/apache/sites-availabre/jreinarivero1

3

sudo gedit /etc/apache/sites-availabre/jreinarivero2

  • VirtualHost IP: Es la IP del sitio virtual que se va a crear.
  • ServerName: Es el sitio virtual que se va a crear.
  • DocumentRoot: Es la carpeta donde se va alojar dicho sitio virtual.

2. Creamos los siguientes directorios que hemos escrito en el archivo anterior.

  • sudo mkdir /var/www/jreinarivero1
  • sudo mkdir /var/www/jreinarivero2


3. Dentro de los directorios que hemos creado en el paso anterior, creamos un archivo HTML, que lo llamaremos index, será muy sencillo el contenido como se muestra a continuación.

html

sudo gedit /var/www/jreinarivero1/index.html

html2

sudo gedit /var/www/jreinarivero2/index.html

4. Se habilitan los nuevos sitios virtuales.

  • sudo a2ensite jreinarivero1
  • sudo a2ensite jreinarivero2

5. Se modifica el siguiente archivo, y añadimos la linea NameVirtualHosts (IP de nuestro equipo).

lala

sudo gedit /etc/apache/sites-availabre/default

6. En el archivo hosts que se encuentra en la carpeta /etc/, escribimos las siguientes líneas:

  • 172.16.2.36 jreinarivero1
  • 172.16.2.36 jreinarivero2
lala2

sudo gedit /etc/host

7. Reiniciamos apache.

11

sudo apache2ctl gruceful

8. Ahora comprobamos  que los sitios web funcionan correctamente, abrimos el navegador web e introducimos el nombre de los dos dominios que hemos creado.

jreinarivero1

jreinarivero2

Como se muestran en las dos anteriores imágenes está todo correctamente configurado.





Instalar Apache

27 10 2009

Para instalar Apache en Ubuntu tenemos dos opciones: desde un terminal o desde el Synaptic.

Desde un terminal:

  • sudo aptitude install apache2-mpm-prefork

Desde el Synaptic:

Buscamos “apache2” (sin las comillas), seleccionamos el paquete apache2-mpm-prefork pulsamos sobre Aplicar. En cualquiera de los dos casos se instalarán más paquetes como por ejemplo el apache2.2-common.

Una vez instalado el servidor disponemos de un script que nos permite controlar su estado, se trata de apache2ctl.

1. Para iniciar el servidor web tenemos que ejecutar el siguiente comando:

  • sudo apache2ctl start

2. Abrimos el navegador web, e introducimos localhost

Pantallazo-Mozilla Firefox