Servicios de Hosting Con IP Dinamica

mayo 14, 2008 at 3:43 am (1, linux, Redes, Servidores, Unix) ()

Holas después de un largo tiempo sin publicar nada , aquí os dejo un pequeño manual para montar hosting casero usando ip dinamica y los servicios de 1and1.

Primero de Todo debemos crear un dominio dinamico en algun servicio como no-ip.com

para el caso de no-ip nos registramos en la web y añadimos un nuevo host

Una vez añadido el host debemos configurarlo en nuestro servidor o router para ello instalaremos el cliente

de no-ip que se encuentra en los repositorios de debian.

para ello ejecutaremos

# aptitude install no-ip

Una vez instalado ejecutamos

# no-ip -C

Please enter the login/email string for no-ip.com: tu_cuenta@domain.com
Please enter the password for user tu_password
Please enter an update interval:[30] //Dejalo en Default dale 30//
Do you wish to run something at successful update?[N] (y/N) //Presiona N//
Ejectando el  servio  si se reinicia la maquina.

# update-rc.d -f no-ip defaults
Adding system startup for /etc/init.d/no-ip ...
   /etc/rc0.d/K20no-ip -> ../init.d/no-ip
   /etc/rc1.d/K20no-ip -> ../init.d/no-ip
   /etc/rc6.d/K20no-ip -> ../init.d/no-ip
   /etc/rc2.d/S20no-ip -> ../init.d/no-ip
   /etc/rc3.d/S20no-ip -> ../init.d/no-ip
   /etc/rc4.d/S20no-ip -> ../init.d/no-ip
   /etc/rc5.d/S20no-ip -> ../init.d/no-ip

Preparando toda la paqueteria.

Software necesario para nuestro Servidor:
  • php
  • mysql ( en los repos como mysql-client )
  • mysql-server
  • httpd (o apache2 en debian)
  • perl
  • bash ( La shell de linux este ya lo tenemos )

Modulos de Perl:

  • POSIX
  • Socket
  • DBI
  • DBD::mysql
  • File::Basename
  • MIME::Base64
  • Sys::Syslog

Estos modulos puede que ya los tengas instalados en tu servidor si no puedes instalarlo desde cpan así:

# cpan

cpan> install Sys::Syslog

…..

cpan > bye

Paqueteria para Servicios web

  • mod_ssl # Modulo SSL para apache, lo usaremos para crear paginas seguras
  • openssl # Generar Certificados SSL
  • php-imap # para que el webmail funcione
  • php-mysql # para que phpMyAdmin funcione
  • net-snmp # para obtener información con mrtg

Paqueteria para Servicios de Correo:

  • postfix # servidor de correo
  • postgrey # listas grises
  • dovecot # Servidor POP3/IMAP
  • vsftpd #Servidor FTP
  • bind #Servidor DNS
  • amavisd-new # Controlar anti-spam/virus
  • spamassassin # Anti-spam para el correo
  • clamd # Anti-virus para el correo
  • mrtg # Gráficos de red

Instalando Todo

Para Debian:
# apt-get install apache2 php5 mysql-server apache-ssl openssl postfix postgrey dovecot-common vsftpd spamassassin clamav amavisd-new bind mrtg

Para CentOS: # yum install httpd php mysql-server mod_ssl openssl postfix postgrey dovecot vsftpd spamassassin clamd amavisd-new bind mrtg
Instalando Panel Control Usuarios

Una vez instaladas todas las dependencias es el momento de instalar un Panel para administrar todo.

Para ello descargamos la versión estable de Ravencore.

# wget http://garr.dl.sourceforge.net/sourceforge/ravencore/ravencore-0.3.3.tar.gz

# tar zxvf ravencore-0.3.3.tar.gz
# cd ravencore-0.3.3
# make build
# make install

Con esto ya tenemos el Panel Instalado y listo para funcionar.

# /etc/init.d/ravencore start

Iniciado el servicio , asignamos una password al usuario admin

# /usr/local/ravencore/sbin/run_cmd passwd

Ahora ya podemos logearnos al panel conectándonos a la ip de la maquina al puerto 8000 

http://x.x.x.x:8000
Click en la imagen para ver capturas

Una vez logeado podremos crear servicios web desde el panel.

Configuración DNS Proveedor.

En el caso de 1and1 iremos ha

http://admin.1and1.es/

Dominios

Seleccionamos nuestro Dominio . Pestaña DNS / Modificar Configuración DNS

Configuración general

DNS Nombre canónico
Marcamos Nombre canonico
Configuración CNAME

Alias * tu_dominio.no-ip.org
[X]Conozco y acepto que toda configuración DNS, direcciones de e-mail y configuraciones para el reenvío actuales se desactivarán.

Remplazar tu_dominio.no-ip.org por dominio Virtual creado en no-ip.com

Creación  de  VirtualHosts dinamicos

De esta forma con un solo virtualhost cubriremos todos los dominios.

# vi /etc/httpd/conf.d/dinamicos.conf

# Configuracion para virtualhost dinamicos:
#

UseCanonicalName Off
<VirtualHost *:80>
ServerName %1

VirtualDocumentRoot /users/%0/httpdocs

#VirtualScriptAlias /users/%0/cgi-bin
#ScriptAlias /cgi-bin/ /var/www/default/cgi-bin
<Directory /var/www/%0/httpsdocs>
AllowOverride All
Options FollowSymLinks
Order allow,deny
Allow from all
php_admin_value safe_mode 0
php_admin_value open_basedir /users/%0/httpdocs
php_admin_value sendmail_from webmaster-%0@%2+
#Include ./conf.d/php.conf
DirectoryIndex index.php index.php4 index.php3 index.cgi index.pl index.html index.htm index.shtml index.phtml
</Directory>
#
# rewrite
#
Rewritelog /var/log/httpd/rewrite_log
RewritelogLevel 0
RewriteEngine on
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{REQUEST_URI} !^/\_(MYADMIN|MYSQL|ERROR)
#RewriteCond %{REQUEST_URI} !^/\_(CORREO|MAIL|MYADMIN|MYSQL|ADMINCORREO|ERROR|SERVERGFX|STATS|GESTION)
#RewriteCond %{REQUEST_URI} !^/awstats
RewriteCond %{HTTP_HOST} ^www
RewriteCond %{HTTP_HOST} ^www\.(.+)$
RewriteRule ^(.+) /users/%1/httpdocs/$1
#
# Logs:
#
LogFormat “%V %{X-Forwarded-For}i %{%d-%m-%Y@%I:%M:%S(%Z)}t \”%r\” %s %b” vcommon
CustomLog /var/log/httpd/vcommon-access.log vcommon
</VirtualHost>

Nota:Remplazar /users/ por la ruta marcada en la instalación del panel.

Descargar Configuración


Cada vez que añadimos un virtual host tendremos de añadirlo en 1and1 y modificar el CNAME.

Espero que les haya gustado si teneis alguna duda comentario.


Anuncios

Permalink 10 comentarios