Autenticación en Apache

Hola la autenticación es la manera de controlar las personas que quieran entrar a ver las páginas web que has subido.
El proceso de autenticación es simple.
- El cliente envía su nombre y contraseña.
- A continuación, Apache comprueba su archivo de nombres y contraseñas cifradas para saber si el cliente tiene derecho a acceder o no.

Existen dos formas diferentes de autenticación:
- Globalmente.
- Usando los ficheros especiales .htaccess.
Nosotros vamos a ver la segunda.

En este tutorial vamos a ver la manera de autenticar en Apache.
Por ejemplo, para crear un directorio clase con acceso restringido al usuario alumno podríamos implementarlo así (yo lo he creado con un host virtual, si no sabes crear hosts virtuales mira el tutorial anterior):
1. Se crea el directorio:

sudo mkdir /var/sitio1.com
(en mi caso estaría creado)

2. Se crea el directorio donde almacenar las contraseñas:

sudo mkdir /var/passwd


3. Se crea el archivo con el primer usuario (ojo, se crea el archivo en una carpeta en la que no se pueda acceder desde fuera):

sudo htpasswd -c /var/passwd/.htpasswd alumno


4. Se crea el fichero .htaccess en /var/www/sitio1.com:

sudo nano /var/www/sitio1.com/.htaccess


Y se escribe el siguiente contenido:

AuthType Basic
AuthName “Pagina restringida de alumno”
AuthUserFile /var/passwd/.htpasswd
AuthGroupFile /dev/null
require user alumno




5. Se modifica el archivo de configuración del sitio web:

"<"Directory “/var/www/sitio1.com”">"
AllowOverride AuthConfig
Order allow,deny
Allow from all
"<"/Directory">"




6. Ahora reiniciamos Apache:

sudo apache2ctl restart


7. Y por último comprobamos si a funcionado



Con esto lo que conseguimos es restringir a un usuario pero si queremos restringir a un grupo tendremos que crear algunos archivos:
1º Creamos un fichero dentro de /var/passwd con el nombre que nosotros deseemos yo le e dado el nombre de "grupo"donde pondremos una lista de los usuarios que le vamos a permitir el acceso.

sudo gedit /var/passwd/grupo




Y ahora modificaríamos la directiva AuthGroupFile en el fichero .htaccess dentro de /var/www/sitio1.com (yo lo he hecho con sitio1.com porque ya lo tenia creado de antes pero vosotros lo podéis crear como deseeis).

sudo gedit /var/www/sitio1.com/.htaccess



Por último solo tendríamos que reiniciar apache y comprobar si ha funcionado lo anterior.

sudo apache2ctl restart


Crear Hosts Virtuales basados en nombre

Hola en este tutorial vamos a crear Hosts Virtuales Basados en nombre.
Para crear Hosts Virtuales Basados en nombre utilizaremos la IP de nuestra tarjeta de red (no tendremos que crear interfaces).

Para definir hosts virtuales basados en nombre hay que usar la siguiente directiva: NameVirtualHost direcciónIP (/etc/apache2/sites-available/default).


En mi caso:


Ahora se crean los archivos web1 y web2 donde guardaremos las indicaciones de los 2 hosts virtuales dentro de la carpeta sites-available (yo le he puesto web1 y web2 pero vosotros podéis poner lo que queráis).

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


Y dentro de este.

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

"<"virtualhost 192.168.1.30">"
ServerName www.web1.net
DocumentRoot /var/www/web1.net
"<"/virtualhost">"




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

"<"virtualhost 192.168.1.30">"
ServerName www.web2.net
DocumentRoot /var/www/web2.net
"<"/virtualhost">"


También tenemos que crear las carpetas que hemos puesto en el DocumentRoot de nuestros hosts virtuales.

sudo mkdir /var/www/web1.net
sudo mkdir /var/www/web2.net


Ahora crearemos los respectivos index para cada host virtual.

sudo gedit /var/www/web1.net/index.html




sudo gedit /var/www/web2.net/index.html


Ya solo nos queda modificar el archivo hosts (/etc/hosts), habilitar los sitios web (web1,web2) y reiniciar apache.
Modificar el archivo hosts:
sudo gedit /etc/hosts
Habilitar los sitios web:

sudo a2ensite web1
sudo a2ensite web2


Reiniciar el servicio de apache:

sudo apache2ctl restart


Ya solo nos queda comprobar si a funcionado lo anterior.


Crear Hosts Virtuales basados en IP

Hola en este tutorial vamos a crear Hosts Virtuales Basados en IP.
Para crear Hosts Virtuales Basados en IP tendríamos que crear como mínimo una interfaz de red virtual para que funciones, en mi caso voy a crear dos.
Para crear las interfaces tenemos que poner el siguiente comando en el terminal de linux:

sudo ifconfig eth0:1 192.168.1.230 netmask 255.255.255.0
sudo ifconfig eth0:2 192.168.1.250 netmask 255.255.255.0
Ahora se crean los archivos prueba1 y prueba2 donde guardaremos las indicaciones de los 2 hosts virtuales dentro de la carpeta sites-available (yo le he puesto prueba1 y prueba2 pero vosotros podéis poner lo que queráis).
sudo gedit /etc/apache2/sites-available/prueba1

Y dentro de este.
"<"virtualhost 192.168.1.230">"
ServerName www.prueba1.com
DocumentRoot /var/www/prueba1.com
"<"/virtualhost">"




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

"<"virtualhost 192.168.1.250">"
ServerName www.prueba2.com
DocumentRoot /var/www/prueba2.com
"<"/virtualhost">"




También tenemos que crear las carpetas que hemos puesto en el DocumentRoot de nuestros hosts virtuales.

sudo mkdir /var/www/prueba1.com
sudo mkdir /var/www/prueba2.com


Ahora crearemos los respectivos index para cada host virtual.

sudo gedit /var/www/prueba1.com/index.html



sudo gedit /var/www/prueba2.com/index.html





Por último habilitamos los nuevos sitios virtuales.

sudo a2ensite prueba1
sudo a2ensite prueba2


Y reiniciamos el servicio de apache.

sudo apache2ctl restart


Ya solo nos queda comprobar si a funcionado lo anterior.


Instalación y configuración de APACHE

Hola a todos en este tutorial vamos a instalar apache y también lo vamos a configurar.

Para instalar apache desde el terminal tenemos que poner:


 sudo aptitude install apache2-mpm-prefork



Y desde el Synaptic:
- Buscamos apache2 en el Synaptic.
- Seleccionamos el paquete apache2-mpm-prefork.
- Pulsamos sobre Aplicar.


Una vez instalado el servidor disponemos de un script que nos permite controlar su estado, se trata de apache2ctl.
Por lo cual arrancamos con el siguiente código:


 sudo apache2ctl start



Para comprobar que funciona, podemos teclear la siguiente dirección en el navegador:


- http://localhost
- sudo apache2.ctl status



Cuando iniciamos apache2.ctl en la consola nos sale el siguiente mensaje:


apache2: Could not reliably determine the server's fully
qualified domain name, using 127.0.1.1 for ServerName



Para quitar ese mensaje habría que modificar el archivo apache2.conf pero antes se aconseja hacer una copia de seguridad del archivo.


sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.original



Lo siguiente es modificar el archivo apache2.conf.


sudo gedit /etc/apache2/apache2.conf



Donde se añade una linea:


ServerName localhost



Para que en apache nos salgan las tildes tendríamos que modificar el archivo charset /etc/apache2/conf.d descomentando la siguiente línea:


AddDefaultCharset UTF-8



Y por último tendríamos que añadir a la pagina web que vallamos a poner para que se muestre cuando accedamos a http://localhost que por defecto en apache es index en el directorio /var/www.


"<"meta http-equiv="content-type" content="text/html; charset=utf-8"">"



Para modificar el directorio donde se alojan las páginas web habría que modificar el archivo default y cambiar la siguiente directiva indicando cual será el directorio donde se guardar los directorios de configuración/auditoría de Apache.


ServerRoot /escritorio/apache2



Para modificar la página que se carga por defecto se introduciría en el terminal:


sudo gedit /var/www/index.html



Si queremos modificar la ruta del lugar donde se encuentra la página web tendríamos que cambiar el siguiente parámetro en el archivo default:


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



Y cambiar la ruta de DocumentRoot con la que nosotros queramos.

DocumentRoot /escritorio/web



Ahora tenemos que cambiar la lista de los archivos que va a buscar apache para que salga nuestra página cuando hagamos http://localhost:



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



Ahora introducimos la directiva DirectoryIndex para poner el nombre de nuestra página.

DirectoryIndex inicio.html index.html

A continuación crearemos una página web con el nombre de inicio.html.

sudo gedit /var/www/inicio.html


Una vez creada la página web la modificamos a nuestro antojo; por ejemplo esta una que hice de prueba para ver si funcionaba.


Por último vamos a modificar el ServerName para que nos responda en vez de a http://localhost a un nombre de un dominio. Para ello tenemos que modificar el archivo /etc/apache2/apache2.conf y tener configurado un DNS Maestro.

sudo gedit /etc/apache2/apache2.conf
ServerName www.contreraslopez.com


Por último vamos a comprobar si funciona en el navegador la dirección"www.contreraslopez.com".

Un saludo a todos los que hayáis leído el tutorial.

Servidor DNS Esclavo

En este tutorial vamos a crear un Servidor DNS Esclavo.
Lo primero que tendríamos que hacer es modificar el archivo named.conf.local.

sudo gedit /etc/bind/named.conf.local


Como ejemplo de lo que hay que poner os pongo un pantallazo.

Después de modificar el archivo named.conf.local tenemos que crear el archivo "nombrezona.com.hosts".

sudo gedit /var/cache/bind/juanjesus.com.hosts
A continuación tenemos que reiniciar el Servidor DNS Esclavo.

sudo /etc/init.d/bind9 restart

Por último hay que comprobar si funciona el DNS Esclavo.

dig juanj.juanjesus.com

Instalación de BIND y creación de un servidor maestro

Hola a todos en este tutorial os voy a enseñar a crear un servidor DNS maestro que comienza con la instalación de la aplicación bind donde podemos elegir dos opciones Instalación y mantenimiento de servicios de Internet desde un terminal o desde el Synaptic.
- Desde un terminal:

sudo aptitude install bind9 bind9-doc

- Desde el Synaptic:

- Buscamos bind.
- Seleccionamos los paquetes bind9 y bind9-doc.
- Pulsamos sobre Aplicar.

Los ficheros de configuración de bind se encuentran todos en /etc/bind.
Para hacer que las peticiones DNS vaya a través de nuestro servidor hay que editar el fichero resolv.conf la dirección de DNS.

sudo gedit /etc/resolv.conf


Y una vez dentro de este fichero editar la dirección de DNS poniendo nameserver 0.0.0.0.

### BEGIN INFO
#
# Modified_by: NetworkManager
# Process: /usr/bin/NetworkManager
# Process_id: 4748
#
### END INFO

nameserver 0.0.0.0


Para iniciar el servicio bind tecleamos el siguiente comando:

sudo /etc/init.d/bind9 start


Para comprobar que funciona:

dig barrapunto.com


Y se comprueba que el SERVER es 127.0.0.1 y que si se ejecuta de nuevo el comando el Query time desciende mucho (por defecto bind se instala como Servidor DNS Caché).

Una vez instalado el bind y comprobado que funciona empezamos con la creación del servidor maestro.
Para ello deberemos añadir en el archivo /etc/bind/named.conf.local la especificación del dominio maestro:

sudo gedit /etc/bind/named.conf.local


Y dentro de este archivo especificamos el dominio maestro.

zone "contreras.com" {
type master;
file "/etc/bind/contreras.com.hosts";
};


El fichero donde se guardan los equipos que queremos que se unan a nuestro servidor maestro es contreras.com.hosts, por lo tanto hay que crearlo.

sudo gedit /etc/bind/contreras.com.hosts


Una vez dentro de este archivo ponemos las direcciones de los equipos y las demás indicaciones.

$ttl 38400
contreras.com. IN SOA informatica-desktop. admin.contreras.com (
1223999798
10800
3600
604800
38400 )
contreras.com. IN NS informatica-desktop.
pc01.contreras.com. IN A 192.168.1.29
pc02.contreras.com. IN A 192.168.1.27


Y por último solo nos quedaría reiniciar y comprobar si funciona con un dig a uno de los equipos que hallamos metido en el archivo contreras.com.hosts.

sudo /etc/init.d/bind9 restart

dig pc01.contreras.com

Servidor maestro DNS con Webmin

Hola soy Francisco Javier Contreras López y este es mi turorial de como crear un Servidor DNS con la aplicación de webmin.

En el primer paso crearemos el servidor maestro de DNS donde pulsaremos la opción crar una nueva zona maestra.


Una vez dentro de la opción anterior nos saldrá la siguiente pantalla en la que crearemos el servidor maestro de DNS.
Y dentro de este menú introducimos los campos con el nombre del servidor cual queramos crear y una dirección de correo, como ejemplo el siguiente pantallazo, y pulsamos en crear.
Cuando hallamos creado el servidor maestro de DNS nos saldrá la siguiente pantalla que servirá para editar el servidor.



Después le pulsamos a la opción de dirección y nos saldrá la siguiente pantalla, como ejemplo pongo una dirección.

Cuando hallas introducida la dirección la pagina tiene que ser parecida a la siguiente.


Después volvemos a la pagina de servidor DNS bind y le pulsamos a la dirección de aplicar cambios.




Para comprobar que nuestro servidor de DNS funciona correctamente nos vamos a la pestaña otros y en esa pestaña la opción comandos de consola y allí introducimos el comando dig nombre de equipo.com, ejemplo: dig pc01.contreras.com y nos tendría que aparecer la siguiente pagina "suponiendo que el equipo al que le queremos hacer el dig este encendido".

 


CONTRERAS - Templates Novo Blogger 2008