Servicio de Hospedaje con Apache® y VSFTPD

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://joel-barrios.blogspot.com/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2007 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales. c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Usted deberá simular ser un proveedor de servicio de hospedaje y configurar lo siguiente a través de apache y vsftpd:

  • Una sitio de red virtual denominado «su-máquina.dominio-a-definir» asociado a la dirección IP 192.168.10.n.

  • El dominio virtual debe poder ser administrado a través de una cuenta de usuario accediendo por medio de una conexión FTP.

  • El usuario deberá estar enjaulado a través de FTP y tener acceso a las bitácoras generadas por el sitio de red virtual, pero sin permitir al usuario pueda borrar accidentalmente el directorio que contiene a dichas bitácoras.

Procedimientos

  1. Edite /etc/hosts y proceda a resolver localmente la dirección IP y nombre que tendrá el servidor en la red 192.168.10.0:

    127.0.0.1 localhost.localdomain localhost
    192.168.0.n su-máquina.linuxparatodos.com.mx su-máquina
    192.168.10.n su-máquina.dominio-a-definir
  2. Proceda a crear el fichero de configuración del dispositivo virtual en /etc/sysconfig/network-scripts/ifcfg-eth0:1 con el siguiente contenido:

    DEVICE=eth0:1
    IPADDR=192.168.10.n
    NETMASK=255.255.255.0
  3. Reinicie el servicio de red del sistema y compruebe que haya levantado la interfaz virtual eth0:1 que acaba de configurar:

    service network restart
    ifconfig eth0:1
  4. Genere el árbol de directorios necesario:

    mkdir /var/www/net
    mkdir /var/www/net/html
    mkdir /var/www/net/log
    mkdir /var/www/net/etc
  5. Genera la cuenta de usuario que será utilizada para administrar el sitio de red virtual:

    useradd -s /sbin/nologin -d /var/www/net adminnet
    passwd adminnet
    saslpasswd adminnet
  6. Configure los permisos apropiados a /var/www/net y su contenido:

    chmod 1755 /var/www/net
    chmod 1755 /var/www/net/html
    chown root:apache /var/www/net
    chown adminnet:apache /var/www/net/html
    chown adminnet:apache /var/www/net/etc
    chown root:root /var/www/net/log
  7. Configure apache para poder acceder hacia este sitio de red virtual haciendo uso del fichero localizado en la ruta /etc/httpd/conf.d/virtuales.conf con el siguiente contenido:

    NameVirtualHost 192.168.10.n
     <VirtualHost 192.168.10.n>
    	DocumentRoot /var/www/net/html
    	ServerName su-maquina.dominio-a-definir
    	ServerAdmin webmaster@su-maquina.dominio-a-definir
    	ErrorLog /var/www/net/log/error_log
    	CustomLog /var/www/net/log/access_log combined
    	</VirtualHost>
  8. Este sitio virtual generará su propia bitácora. Por tal motivo es importante configurar el sistema para que realice la rotación de bitácoras correspondiente. Genere o bien verifique que exista el fichero de configuración correspondiente en la ruta /etc/logrotate.d/virtuales con el siguiente contenido, donde las comillas se establecerán utilizando acentos graves:

/var/www/*/log/*log {
	missingok
	notifempty
	sharedscripts
	postrotate
	/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
	endscript
}
  1. Reinicie apache y haga comprobaciones y diagnóstico si fuese necesario.

service httpd restart

Comprobaciones

Reinicialice Apache® y pruebe publicar un documento HTML utilizando cualquier herramienta para publicación de red, como puede ser Mozilla Composer, Frontpage o cualquier editor HTML y publicando a través de FTP, haciendo uso de la cuenta FTP de adminnet. Visualice desde el navegador que prefiera el sitio de red virtual que se configuró.

Si desea hacer todo desde modo terminal, utilice el siguiente procedimiento.

  1. Acceda al sistema como usuario local (fulano).

  2. Genere un documento HTML denominado index.html utilizando el editor de texto que prefiera con el siguiente contenido:

    <html>
    <head>
    <title>Bienvenido a su-máquina.dominio-a-definir</title>
    </head>
    <body>
    <h1>Bienvenido a su-máquina.dominio-a-definir</h1>
    <p>&iexcl;Hola mundo!</p>
    </body>
    </html>
  3. Publique como el usuario adminnet el documento anterior utilizando ftp:

    ftp su-máquina.dominio-a-definir
    Connected to amdk6 (192.168.1.1).
    220 Bienvenido al servidor FTP de Linux para Todos.
    Name (su-máquina.dominio-a-definir:fulano):adminnet
    331 Please specify the password.
    Password:
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>cd html
    ftp>put index.html
    ftp>bye
  4. Finalmente visualice la página su-máquina.dominio-a-definir principal de utilizando elinks.

    elinks http://su-máquina.dominio-a-definir/

Deja una opinión

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s