Busindre » 2006 » April

Virtual host, en Apache 2.0

April 3rd, 2006 by Busindre

Los host virtuales (VirtualHost), son dominios con una sintaxis: http://virtualhost.host.com. Si vuestro servidor es www.host.com, podréis crear el host virtual antes mencionado simplemente indicándole a Apache que, en el caso de que sea convocado el virtualhost y no el host directamente, vaya a leer los archivos en otro directorio que no sea DocumentRoot (/var/www/), y consecuentemente los mande al navegador de quien lo haya pedido. De esta manera se puede con un solo apache tener “varios servers virtuales”. Esto en Apache2 es muy fácil de realizar, como en sus anteriores versiones, pero no hay mucha documentación al respecto para novaitos.

Veremos un ejemplo para tener dominios dyndns por cada usuario (virtual host), lo voy a hacer de manera que cada usuario tenga su directorio en su home, pero se puede hacer con cualquier directorio como es lógico:

Creamos el directorio en el home del usuario (invitado)

$ mkdir /home/invitado/public_html/

Realizamos el enlace para que este operativo el host virtual

$ ln -s /etc/apache2/sites-available/invitado /etc/apache2/sites-enabled/invitado

Creamos logs personalizados para esa cuenta:

# mkdir /var/log/apache2/invitado/error.log

Editamos: /etc/apache2/sites-available/invitado

NameVirtualHost *
<virtualhost *>
ServerAdmin invitado@gmail.com
ServerName busindre.is-a-geek.com
DocumentRoot /home/invitado/public_html/
Options Indexes FollowSymLinks MultiViews
ErrorLog /var/log/apache2/invitado/error.log

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

</virtualhost>

NOTA: busindre.is-a-geek.com es el dynds asociado a la cuenta invitado
Si tenemos más dominios pues añadimos mas ficheros como invitado con su correspondiente enlace (/etc/apache2/sites-available/invitado).Recordar reiniciar el server /etc/init.d/apache2 restart

Si vas a estar en una red local, tengamos dominio comprado o simplemente en /etc/hosts nos hemos creado uno para nuestras pruebas o actividades de la red LAN, debemos ponerlo virtualhost.host.com. Siendo host.com nuestro dominio, como el anterior pero con ServerName como www.virtual.host.com:

www.host.com —> La web default, no virtual
www.virtual_1.host.com –> La web del virtual host 1
www.virtual_2.host.com –> La web del virtual host 1

Para verlo desde local debemos editar /etc/hosts.
127.0.0.1 localhost
127.0.0.1 www.busindre.com
127.0.0.1 www.invitado.busindre.com

Estos nombres deben estar en la configuración del virtual host como ServerName. Luego creamos los enlaces de la misma manera que antes y reiniciamos el server.

Posted in Internet | 18 Comentarios »

DynDNS Facil (Tu Dominio Gratis!)

April 1st, 2006 by Busindre

Actualmente, obtener una IP fija ya no es lo que era, excepto por un abono mensual que tanto duele, sobre todo si mantenía una página web en tu propio PC, o un servidor FTP por ejemplo. ¿Que se puede hacer frente a esto? ¿Cómo pasamos una IP dinámica en nombre de dominio? El servicio brindado por Dyndns es una buena opción pero, ya que la IP es dinámica, necesitarás un cliente DynDNS que se dedique al refresco de tu IP, para actualizar lo servidores de DNS de Dyndns, es algo muy facil.

Ve a https://www.dyndns.com/ y te creas una cuenta, selecionando (Services) si es ip dinámica (Dynamic DNS), estatica (Static DNS), etc,.. En el caso de que tengas modem en Update Clients bajas ddclient o bien apt-get install ddclient. Luego creas la cuenta en Add Dynamic DNS.


Si usas modem:

¿Y que es ddclient?

Es un demonio que se encarga de actualizar las entradas DNS de tu cuenta Dyndns con la última IP dinámica que te haya sido asignado, ya que ésta cambia cada vez que se reinicia el router. Así, podrás realizar automáticamente la asignación de IP dinámica a tu nombre de dominio en Dyndns.

Depende de como lo hayamos instalado:

Si fue mediante algún gestor de paquetes, como Urpmi, Apt, Yum,.. El archivo de configuración lo encontraremos en /etc/ddclient.conf

Si hemos bajado el paquete de la web, lo descomprimimos y hacemos un

cp ddclient /usr/sbin/
mkdir /etc/ddclient/
vim /etc/ddclient/ddclient.conf y añadimos esto (Use el editor que prefiera):

daemon=300 # Tiempo en segundos de refresco (No debe ser muy bajo porque se considera abuso)
syslog=yes # log update msgs to syslog
mail=root # mail all msgs to root
mail-failure=root # mail failed update msgs to root
pid=/var/run/ddclient.pid # record PID in file.

use=if, if=ppp0 # Si usa eth con modem ponga eth0 o la que corresponda
server=members.dyndns.org # default server
login=usuario # El nombre de usuario de su cuenta
password=passwd # El password de su cuenta

server=members.dyndns.org, \
protocol=dyndns2 \
usuario.dominio.com

Luego creamos /etc/init.d/ddclient.sh y lo editamos con lo siguiente:

ddclient -daemon=0 -debug -verbose -noquiet

y lo arrancamos con /etc/init.d/ddclient.sh start (Si esta bien configurado ya estaria)

Yo no uso un modem, con router (NAT) como lo hago?

Se puede usar el anterior programa cambiando esta linea use=if, if=web, web=checkip.dyndns.org/, fw-skip=’IP Address’ y luego
reconfigurando ddclient de la siguiente manera (en debian) —> dpkg-reconfigure ddclient
DEPENDENCIA: Ipcheck

Pero la mejor manera seria esta:

Nos instalamos ipcheck (phyton)

ipcheck.py –makedat -l -r checkip.dyndns.org:8245 milogin mipass nombre.dominio.com

Otra menra de hacerlo seria:

ddclient -ip nuevaip -host midominio.dyndns.org -refresh -cache /var/cache/ddclient/ddclient.cache

NOTA: Como el otro metodo (ipcheck.py) se puede ejecutar en un script a tu gusto emoticon.

Posted in Internet | 12 Comentarios »

Siguiente artículo »