Montar servidor web con Router 2Wire
INDICE
Introducción
Instalación de Servidor Web Apache
Instalación del módulo PHP
Instalación del modulo mysql
Notas adicionales
Instalación cliente NOIP2
Instalación SSH2 server & client
Configuración de los puertos del router
Aplicaciones extra
INTRODUCCIÓN
Nuestro propósito es montar nuestro propio servidor web Linux, partiendo de que tenemos una instalación hecha por DEBIAN. Utilizando un acceso Internet provisto por un router 2wire. Los servicios que instalaremos son: PHP, MYSQL, NOIP2.
Antes de iniciar con la instalación necesitamos checar nuestras fuentes para no encontrar ningún problema con la instalación de dichos paquetes.
Recomiendo que se pongan las siguientes fuentes para la instalación:
deb cdrom:[Debian GNU/Linux testing _Etch_ - Official Snapshot i386 Binary-1 (20060810)]/ etch contrib main
deb http://ftp.debian.org/debian/ etch main
deb-src http://ftp.debian.org/debian/ etch main
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
Para los que instalaron Debian Sarge todas son muy parecidas. El detalle se basa en que la primera fuente es el cd rom, es decir el DVD que compramos de debian. Los paquetes se encuentran en esos discos, por lo que no habrá problema si no tienen banda ancha. Aunque eso no sería normal por que el propósito es un servidor web y necesita banda ancha.
Bueno para los que no saben donde checar que fuentes están instaladas solo tienen que visitar este directorio:
/etc/apt/sources.list
Para poder visualizarlo solo tenemos que abrir la consola o si solo tenemos el sistema base ya estaremos en el prompt, entonces nos logeamos como root, de esta manera:
prompt> su ENTRAR
nos pedirá el password se lo damos y estaremos ahora como root. Ahora utilizaremos a nano para poder ver las fuentes de esta manera:
nano /etc/apt/sources.list
Nos aparecerá lo que ya había puesto anteriormente:
deb cdrom:[Debian GNU/Linux testing _Etch_ - Official Snapshot i386 Binary-1 (20060810)]/ etch contrib main
deb http://ftp.debian.org/debian/ etch main
deb-src http://ftp.debian.org/debian/ etch main
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
Es importante que si modifican algo de las fuentes utilicen root> apt-get update para actualizar las fuentes, porque sino no habrá cambios.
Para los que instalaran Debian Sarge cheque al final del documento ahí vienen otras fuentes que pueden servir.
INSTALACION DE APACHE
Existen varios métodos para instalar Apache la más sencilla que es con apt.
La instalación se hace así:
apt-get install apache <ENTER>
Nos aparecerá lo siguiente:
etch:~# apt-get install apache
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Se instalarán los siguientes paquetes extras:
apache-common apache2-utils libapr0
Paquetes sugeridos:
apache-doc apache-ssl apache-perl
Se instalarán los siguientes paquetes NUEVOS:
apache apache-common apache2-utils libapr0
0 actualizados, 4 se instalarán, 0 para eliminar y 5 no actualizados.
Necesito descargar 1470kB de archivos.
Se utilizarán 4510kB de espacio de disco adicional después de desempaquetar.
¿Desea continuar [S/n]? s
Des:1 http://ftp.debian.org etch/main libapr0 2.0.55-4.1 [137kB]
Des:2 http://ftp.debian.org etch/main apache2-utils 2.0.55-4.1 [93.2kB]
Des:3 http://ftp.debian.org etch/main apache-common 1.3.34-4 [848kB]
Des:4 http://ftp.debian.org etch/main apache 1.3.34-4 [391kB]
Descargados 526kB en 5s (93.5kB/s)
Preconfigurando paquetes ...
Seleccionando el paquete libapr0 previamente no seleccionado.
(Leyendo la base de datos ...
69828 ficheros y directorios instalados actualmente.)
Desempaquetando libapr0 (de .../libapr0_2.0.55-4.1_i386.deb) ...
Seleccionando el paquete apache2-utils previamente no seleccionado.
Desempaquetando apache2-utils (de .../apache2-utils_2.0.55-4.1_i386.deb) ...
Seleccionando el paquete apache-common previamente no seleccionado.
Desempaquetando apache-common (de .../apache-common_1.3.34-4_i386.deb) ...
Seleccionando el paquete apache previamente no seleccionado.
Desempaquetando apache (de .../apache_1.3.34-4_i386.deb) ...
Configurando libapr0 (2.0.55-4.1) ...
Configurando apache2-utils (2.0.55-4.1) ...
Configurando apache-common (1.3.34-4) ...
Configurando apache (1.3.34-4) ...
Creating config file /etc/apache/httpd.conf with new version
Creating config file /etc/apache/srm.conf with new version
Creating config file /etc/apache/access.conf with new version
Creating config file /etc/apache/modules.conf with new version
Starting apache 1.3 web server...
Y si todo salió bien nos aparecerá de nuevo el prompt de root.
Si quieren conocer más de cerca Apache pueden visitar su web
Hasta aquí terminamos con la instalación de Apache y repito si todo es correcto encontraran en /var/www/index.html : La página de bienvenida de apache.
Antes de visualizar la página en nuestro navegador favorito tenemos que iniciar el demonio que controla apache. Lo único que tenemos que hacer es escribir el siguiente comando en consola, claro como root.
root> apache start
Y ahora sí, ya podremos ver la página poniendo en el navegador http://localhost o http://127.0.0.1.
Instalación del módulo PHP
Ahora instalaremos php, es realmente muy sencillo y totalmente igual a la instalación anterior. Entonces en consola y logueados como root, hacemos:
apt-get install php4
Y nos aparecerá lo siguiente:
etch:/var/www# apt-get install php4
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias... Hecho
Se instalarán los siguientes paquetes extras:
apache2-common apache2-mpm-prefork libapache2-mod-php5 php5-common ssl-cert
Paquetes sugeridos:
apache2-doc lynx www-browser php-pear
Se instalarán los siguientes paquetes NUEVOS:
apache2-common apache2-mpm-prefork libapache2-mod-php5 php5 php5-common ssl-cert
0 actualizados, 6 se instalarán, 0 para eliminar y 5 no actualizados.
Necesito descargar 3496kB de archivos.
Se utilizarán 9347kB de espacio de disco adicional después de desempaquetar.
¿Desea continuar [S/n]? s
Des:1 http://ftp.debian.org etch/main ssl-cert 1.0.13 [9522B]
Des:2 http://ftp.debian.org etch/main apache2-common 2.0.55-4.1 [807kB]
Des:3 http://ftp.debian.org etch/main apache2-mpm-prefork 2.0.55-4.1 [208kB]
Des:4 http://ftp.debian.org etch/main php5-common 5.1.4-0.1 [137kB]
Des:5 http://ftp.debian.org etch/main libapache2-mod-php5 5.1.4-0.1 [2333kB]
Des:6 http://ftp.debian.org etch/main php5 5.1.4-0.1 [1038B]
Descargados 3496kB en 33s (106kB/s)
Preconfigurando paquetes ...
Seleccionando el paquete ssl-cert previamente no seleccionado.
(Leyendo la base de datos ...
70338 ficheros y directorios instalados actualmente.)
Desempaquetando ssl-cert (de .../ssl-cert_1.0.13_all.deb) ...
Seleccionando el paquete apache2-common previamente no seleccionado.
Desempaquetando apache2-common (de .../apache2-common_2.0.55-4.1_i386.deb) ...
Seleccionando el paquete apache2-mpm-prefork previamente no seleccionado.
Desempaquetando apache2-mpm-prefork (de .../apache2-mpm-prefork_2.0.55-4.1_i386.deb) ...
Seleccionando el paquete php5-common previamente no seleccionado.
Desempaquetando php5-common (de .../php5-common_5.1.4-0.1_i386.deb) ...
Seleccionando el paquete libapache2-mod-php5 previamente no seleccionado.
Desempaquetando libapache2-mod-php5 (de .../libapache2-mod-php5_5.1.4-0.1_i386.deb) ...
Seleccionando el paquete php5 previamente no seleccionado.
Desempaquetando php5 (de .../php5_5.1.4-0.1_all.deb) ...
Configurando ssl-cert (1.0.13) ...
Configurando apache2-common (2.0.55-4.1) ...
Setting Apache2 not to start, as something else appears to be using Port 80.
To allow apache2 to start, set NO_START to 0 in /etc/default/apache2.
Apache2 has been set to listen on port 80 by default, so please
edit /etc/apache2/ports.conf as desired. Note that the Port directive no longer works.
Configurando apache2-mpm-prefork (2.0.55-4.1) ...
* Not starting apache2 - edit /etc/default/apache2 and change NO_START to be 0.
Configurando php5-common (5.1.4-0.1) ...
Configurando libapache2-mod-php5 (5.1.4-0.1) ...
* Not starting apache2 - edit /etc/default/apache2 and change NO_START to be 0.
Configurando php5 (5.1.4-0.1) ...
Para probar si tenemos php funcionando en nuestro servidor sería bueno probarlo con un script pequeño y lo guardaremos en /usr/www/index.php y lo probaremos en nuestro navegador: Pero necesitaremos hacer unos ajustes antes de eso.
NOTAS:
La instalación de php4 requiere un par de actuaciones adicionales:
Durante la instalación, dependiendo de la versión, se pregunta si se
le deja al programa actualizar automáticamente la configuración de apache, y, la respuesta es indiferente puesto que, en la mayoría de los casos no lo hace bien.
De manera que cuando termine la instalación hay que editar el
archivo /etc/apache/httpd.conf y descomentar —quitar la
almohadilla '#' del comienzo de la línea—, o comprobar que ya
están descomentadas, las líneas:
LoadModule php4_module /usr/lib/apache/1.3/libphp4.so
AddType application/x-httpd-php .php
En algunas versiones, la primera directiva está localizada en el
archivo /etc/apache/modules.conf
Editar el archivo /etc/php4/apache/php.ini, cambiar a 'On'
la directiva register_globals. Esto permite pasar variables a los
guiones por medio de la URL.
register_globals = On
Y listo ya tenemos todos los módulos instalados.
<html>
<head>
<title>Ejemplo de PHP</title>
</head>
<body>
Parte de HTML normal.
<BR><BR>
<?php
echo "Parte de PHP<br>";
for($i=0;$i<10;$i++)
{
echo "Linea ".$i."<br>";
}
?>
</body>
</html>
Ahora instalamos php4-mysql
apt-get install php4-mysql
INSTALACION MODULO MYSQL
Ahora necesitamos instalar el servidor de las bases de datos sobre mysql y su respectivo cliente por si se necesita logeo a las bases de datos desde consola o por SSH.
Esto lo podemos hacer en una sola sentencia.
apt-get install mysql-client-4.1 mysql-server-4.1 mysql-common-4.1
Y listo instalara los paquetes y casi tendremos todo listo para empezar a trabajar.
INSTALACION DE CLIENTE NOIP2
Primero acudimos a la web y nos registramos. Esperamos el mail de confirmación.
Después bajamos el siguiente archivo de esta dirección, el cd lo incluye!.
Nos vamos a donde lo hayamos descargado. En mi caso fue:
#erik>/home/erik
Pasamos a descomprimirlo
tar -zxvf noip-duc-Linux-tar.gz
después entramos al directorio
cd noip-2.1.1
estando en el subdirectorio hacemos lo siguiente:
make
make install
Estos fueron mis pasos para que se den una idea:
debian:/home/erik/noip-2.1.3# make
gcc -Wall -g -O2 -Dlinux -DPREFIX="/usr/local" noip2.c -o noip2
debian:/home/erik/noip-2.1.3# make install
if [ ! -d /usr/local/bin ]; then mkdir -p /usr/local/bin;fi
if [ ! -d /usr/local/etc ]; then mkdir -p /usr/local/etc;fi
cp noip2 /usr/local/bin/noip2
/usr/local/bin/noip2 -C -c /tmp/no-ip2.conf
Auto configuration for Linux client of no-ip.com.
Please enter the login/email string for no-ip.com arroba1250@gmail.com
Please enter the password for user 'arroba1250@gmail.com' ********
Only one host [arroba1250.no-ip.org] is registered to this account.
It will be used.
Please enter an update interval:[30]
Do you wish to run something at successful update?[N] (y/N) y
Please enter the script/program name
New configuration file '/tmp/no-ip2.conf' created.
mv /tmp/no-ip2.conf /usr/local/etc/no-ip2.conf
debian:/home/erik/noip-2.1.3#
Veremos que, cuando desde cualquier equipo ingresemos ping subdominio.no-ip.com, nos responderá sin ningún problema.
Hasta aca estamos bien, pero que pasa si se reinicia el equipo, NO-ip no sabrá del cambio y quedara sin actualizar la IP de nuestro servidor. Para solucionarlo este problema podemos seguir el script que nos da el readme de No-ip, más simple aun, copiamos la orden al inicio en rc/local.rc rc.boot, boot.local (según la distribución instalada).
En el caso de Debian existe una manera más sencilla que yo encontré y es la siguiente: basta copiar el script debian.noip.sh a /etc/rc0.d, después le damos el comando
update-rc.d debian.no-ip.sh defaults
donde defaults nos da la ejecución start, reiniciamos y listo funciona =)
Ah y bueno lo que hace esto es agregar la entrada del script a los niveles de ejecución correspondiente, el cual se encarga rc.d
INSTALACION SSH2
Muchas veces Debian nos instala este paquete por default pero si no fue el caso podemos hacerlo de la siguiente manera:
apt-get install lsh-server lsh-client
CONFIGURACION DE LOS PUERTOS DEL ROUTER 2WIRE
¿Para qué esto de desbloquear los puertos?, es algo necesario y muy fácil de hacer, todo esto porque si no se abren los puertos necesarios no podremos ofrecer el servicio de web, ftp y ssh2, la manera de hacerlo es la siguiente: Vamos al navegador y escribimos home
Nos aparecer la bienvenida de nuestro router 2wire, entramos en: View Network Summary
Después le damos en la configuración del firewall en la maquina que vaya ser el servidor.
Nos pedirá la contraseña, ahí vienen una lista muy extensa de servicios que se pueden tener pero solo agregaremos los siguientes servicios:
ftp server
Web server
SSH server
Ya que hayamos agregado eso, necesitaremos crear un nuevo servicio
en la opción Add a new user-defined application
Ponemos el nombre que queramos yo puse mysql server. El rango de puerto pueden ser muchos pero el default siempre es 3306-3307. Todo lo demás lo ponemos con valores por default y listo le damos agregar y actualizar los puertos y ya quedara listo el servicio.
INSTALACION MODULO FTP SERVER
Para este existen muchos programas que cumple como servidor de ftp, para saber cuales tienen puede poner apt-cache search ftp.
En mi caso aparecen todos estos:
wzdftpd 0.5.2-1.1sarge2
wu-ftpd 2.6.2-20
vsftpd 2.0.3-1
twoftpd-run 1.20-1
pure-ftpd-postgresql 1.0.19-4
pure-ftpd-mysql 1.0.19-4
pure-ftpd-ldap 1.0.19-4
pure-ftpd 1.0.19-4
proftpd-pgsql 1.2.10-15sarge1.0.1
proftpd-mysql 1.2.10-15sarge1.0.1
proftpd-ldap 1.2.10-15sarge1.0.1
proftpd 1.2.10-15sarge1.0.1
oftpd 20040304-1
muddleftpd 1.3.13.1-4
krb5-ftpd 1.3.6-2sarge3
kerberos4kth-servers 1.2.2-11.2
inetutils-ftpd 2:1.4.2+20040207-4
heimdal-servers 0.6.3-10sarge2
ftpd-ssl 0.17.18+0.3-3sarge1
ftpd 0.17-20
Yo escogí el primero, así que ya saben para instalar pueden poner apt-get install wzdftpd
Otras Notas:
Yo instalé todo sobre Debian Sarge 3.1 y también con Debian Etch 4 beta 3, las fuentes que aparecen en este documento pertenecen al segundo, pero si quieren las fuentes para el primero son las siguientes:
#deb file:///cdrom/ sarge main
#deb cdrom:[Debian GNU/Linux 3.1 r0 _Sarge_ - Official i386 Binary-1 (20050605)]/ unstable contrib main
#deb http://security.debian.org/ testing/updates main contrib
#deb cdrom:[Debian GNU/Linux 3.1 r0 _Sarge_ - Official i386 Binary-1 (20050605)]/ unstable contrib main
#deb http://security.debian.org/ testing/updates main contrib
#deb cdrom:[Debian GNU/Linux 3.1 r0 _Sarge_ - Official i386 Binary-1 (20050605)]/ unstable contrib main
#deb http://ftp.debian.org/debian/ stable main
deb http://nisamox.fciencias.unam.mx/debian/ stable main
deb-src http://nisamox.fciencias.unam.mx/debian/ stable main
deb http://security.debian.org/ stable/updates main
Pueden agregarlas a su directorio /etc/apt/sources.list y luego escribir apt-get update y listo.
Solo háganlo en el caso que no tengan todos los paquetes disponibles para su descarga.
AUTOR: arroba1250
Fuente: http://debian.unlockmexico.com
