HOWTO: Montar un server completo con GNU/Linux, paso a paso
-
Hola, este es un manual de como montar o instalar un server (a nivel de software) domestico con GNU/Linux, aunque puede usarse para una pequeña empresa, no nos vamos a engañar…:p
Esta idea me surgio al usar Linux por mi cuenta. Yo tenia un server con Win2000 con todo lo que queria implementar en Linux, asi que lo estudie i vi que simplemente com expericencia ya me servia de mucho, ademas de tener mas fiabilidad, robustez, etc.
Los primeros pasos estan comentados aqui.
Hardware usado para el server:
- Via Epia C3 800MHz
- 512MB RAM PC133 (dos modulos)
- 2x Seagate Barracuda 40GB 5400rpm
- 2x Wester Digital Caviar 120GB 7200rpm 8mb cache
- Sonido integrado en placa.
- Ethernet 100mbps 3com (la de la placa se me jodio en una subida de tension :()
- Imrepsora Epson Stylus Color 640 (esto ya no :()
Sistema operativo utilizado:
- GNU/Linux - Debian Woody 3.0r0 (con solo el CD1 [NON-US] ya nos sirve para la instalacion).
Servicios que tendra el server: (o sea, los explicados aqui xD, puede tener muchos mas…:rolleyes:)
- Servidor Web: apache + PHP (para un PHP-Nuke) + foro phpBB (con MySQL)
- Servidor Ftp: proftp
- Servidor de impresión: CUPS + samba (el samba para k los pc's con Windows puedan configurarlo como - impresora compartida)
- Administración remota: telnet + SSH + webmin (es un programa que se ejecuta via web desde el pc que quieras i puedes configurar todo lo relacionado con los servicios i muchas cosas mas)
- Servidor de correo: postfix
- Comparticion de archivos: samba
- mp3: mplayer
Antes de empezar
Empezando la instalacion, hay que tener claro en que disco duro quereis albergar el Sistema Operativo i que otros para los archivos, yo utilizare uno de los discos de 40GB para el sistema operativo i los servicios, i los demas para la info (mp3, DivX, software, videos, documentos, etc).
ACLARACION:
–-------------
En todo el proceso explicado mas abajo estare logineado como root (muy importante!!).He usado el HOW-TO de josefu para instalar Debian en mi sistema.
En cuanto a las particiones he hecho lo siguiente: (eso en el disco de 40GB para el Sistema Operativo)
Particion tamaño asignado que representa? sistema de archivos --------------------------------------------------------------------------------- hda5 25mb /boot ext3 hda6 3000mb / reiserfs hda7 1000mb /home reiserfs hda8 500mb [swap] hda9 35000mb /var reiserfs ```Las particiones las creas a tu gusto, en mi caso, y con los consejos de varia gente, decidi montar esta estructura. Una vez instalada Debian (segun el manual de josefu), empecemos a instalar lo que realmente necesitamos. En principio el server esta montado sin pantalla ni teclado (para eso tenemos el ssh, para configurarlo remotamente), asi que no instalare entorno grafico, no hace falta. Para instalar lo que no nos ha contado josefu en su maravilloso manual hacemos: (automaticamente despues de terminar el manual): **NOTA**: Instalaros el programa "vim" es muy util. Es el que usare durante toda la explicacion. > **Cursillo rapido: uso del editor de textos "vim"** > –-------------------------------------------- > > Para insertar texto deberemos pulsar la tecla "i" o "a". > Para salir del modo insercion de texto, pulsaremos "esc". > Para guardar el archivo i salir, pulsaremos ":wq" (sin las comillas i con los dos puntos! importante!). Creo que ya estamos listos, esto i con un poco de suerte lo tendremos en un plis plas xD **1.- Actualizar el archivo "sources.list"** El sistema de actualizacion/instalacion de paketes que usa Debian es el apt-get, es un programa, i como todo programa tiene un archivo de configuracion. El suyo es el "sources.list", que dentro alberga los diferentes servidores donde se albergan los paquetes. En consola, como root, tecleamos:
vim /etc/apt/sources.list
deb [url]http://ftp.nl.debian.org/debian/[/url] stable main contrib non-free
deb [url]http://ftp.nl.debian.org/debian-non-US/[/url] stable/non-US main contrib non-free
deb [url]http://www.fs.tum.de/~bunk/debian[/url] woody/bunk-1 main contrib non-free
deb-src [url]http://www.fs.tum.de/~bunk/debian[/url] woody/bunk-1 main contrib non-free
deb [url]http://marillat.free.fr[/url] stable mainEl primer servidor es muy rapido y completo, el segundo y tercer server lo necesitamos para unos paquetes que luego instalaremos. Si teniamos el archivo vacio no pasa nada, solamente con estos 3 servidores ya pasamos. Seguidamente haremos:
apt-get update
Listos, pasamos a la siguiente fase **2.- Instalar los paquetes necesarios para el servidor** Como unos borregos introduciremos todos estos comandos, cada uno instalara direfentes programas. Cuando lo pulseis alomejor os preguntara si estais de acuerdo…le deciis que si. NOTA: No pongais los parentesis...parece una tonteria pero bueno...me callo.
apt-get install apache (servidor apache, para el web)
apt-get install proftpd (servidor proftpd, para el ftp)
apt-get install samba (servidor de archivos, impresora, etc, para Windows)
apt-get install cupsys (soporte para la impresora)
apt-get install php4 (soporte de php v4.x)
apt-get install php4-sybase (php 4 sistema de datos)
apt-get install php4-dbase (php 4 bases de datos)
apt-get install php4-mysql (php 4 con MySQL)
apt-get install phpmyadmin (programa para crear bases de datos i varias opciones mas)
apt-get install telnetd (servidor de telnet)
apt-get install libapache-mod-auth-mysql (mod para apache, soporte MySQL)
apt-get install mysql-server (servidor de MySQL)
apt-get install postfix (server de correo)
apt-get install mplayer-386 (reproductor mplayer)
apt-get install mpg123 (soporte para mp3)
apt-get install webmin (programa para administracion via web del sistema)
apt-get install webmin-apache (plug-in de webmin para el servidor apache)
apt-get install webmin-inetd (plug-in de webmin para administrar lo que se iniciara cada vez que iniciamos el server)
apt-get install webmin-mysql (plug-in de webmin para el servidor MySQL)
apt-get install webmin-samba (plug-in de webmin para el servidor samba)
apt-get install webmin-sshd (plug-in de webmin para el servidor de SSH)
apt-get install webmin-status (plug-in de webmin para el estado del sistema)
apt-get install webmin-xinetd (plug-in de webmin para administrar lo que se iniciara cada vez que iniciamos el server)
apt-get install webmin-proftpd (plug-in de webmin para el servidor proftpd)
apt-get install webmin-lpadmin (plug-in de webmin para la impresora)
apt-get install webmin-postfix (plug-in de webmin para el servidor de correo)
> NOTA: Cuando instalemos "mysql-server" nos dira que tendremos k hacer unas cosas, lo resumo aki: > ``` > # vim /etc/hosts > > ```Añadir la siguiente linia: (pulsamos "i") > > 127.0.0.1 myhostname > > (pulsamos "esc", ":wq") > NOTA: En otras instalaciones nos haran unas preguntas, si no sabeis que quieren decir, o no lo entendeis dejar la opcion por defecto. Si os preguntan "¿Como quiere iniciar la aplicacion?", le deciis que con el "init", es decir, como demonio. > NOTA (by josefu): Más cosas, con ssh, deberíamos quitar algunas opciones para ganar seguridad: > Denegar el acceso como root a través de este protocolo, para ello ves al archivo de configuración del ssh en "/etc/ssh/sshd_config" y cambia las siguientes opciones: > > PermitRootLogin yes ponle no para no poder acceder como root > X11Forwarding no supongo q debe estar así, pero por si acaso miralo
-
3.- Discos duros, configuracion del archivo "fstab"
El siguiente paso es montar las particiones de los discos duros k tenemos, eso se hace modificando el archivo "fstab". Linux no te detecta los discos i te los pone como D:\ E:, etc, lo tienes que hacer tu manualmente. Gracias al fstab nos ahorramos tener que poner los mismos comandos cada vez que se iniciase el pc.
NOTA:
–-----
Yo como aun tengo problemas de espacio (aun no tengo el disco de 120GB) pues monté los discos tal cual lo tenia, luego ya hare lo pertinente formateandolo todo a reiserfs o ext3.Si teneis espacio suficiente i puedes formatear los discos, usa el programa "cfdisk", es el mismo que el de la instalacion de Debian.
TRUCO: Para ver las particiones de un disco –> uso de "cfdisk"
La llamada al programa es esta:
# cfdisk /dev/hd[color]x[/color] ```La x corresponde una letra de la "a" a la "z". Jerarquia: –---------- hda = Disco duro MASTER en el IDE1 hdb = Disco duro SLAVE en el IDE1 hdc = Disco duro MASTER en el IDE2 hdd = Disco duro SLAVE en el IDE2 i asi sucesivamente... El uso del programa es muy sencillo, es todo visual...suerte xD
Bueno, a lo que ibamos. El archivo fstab, esta ubicado en la carpeta "/etc". El mio tiene un aspecto como este:
# <sist fitxer=""> <punt muntatge=""> <tipus> <opcions> <dump> <pass>/dev/hda6 / reiserfs defaults 0 0 /dev/hda8 none swap sw 0 0 proc /proc proc defaults 0 0 /dev/fd0 /floppy auto user,noauto 0 0 /dev/cdrom /cdrom iso9660 ro,user,noauto 0 0 /dev/hda7 /home reiserfs defaults 0 0 /dev/hda9 /var reiserfs defaults 0 0 /dev/hda5 /boot ext3 defaults 0 2 /dev/hdb2 /mnt/divx vfat defaults 0 0 /dev/hdc1 /mnt/server vfat defaults 0 0 /dev/hdd1 /mnt/mp3 vfat defaults 0 0</pass> </dump></opcions></tipus></punt></sist> ```La **primera columna** corresponde a la particion fisica del disco duro. La **segunda** la carpeta donde estara montado el disco (es decir, por donde accederemos a dicha particion del disco duro). La **tercera** es el tipo de sistema de archivos del sistema. La **cuarta columna** lo poneis en "defaults" si es un disco duro, si no lo es, pues lo mirais arriba. La **quinta i sexta** poneis "0" i "0" respectivamente. > NOTA: Si no lo tienes claro, usa el programa "cfdisk" i miras las particiones que tiene cada disco. > ``` > # cfdisk /dev/hd[color]x[/color] > ``` Bueno otra cosa menos. Para ir provando podeis reiniciar i ver que todo ha ido bien. Alomejor os peta porque no habeis creado las carpetas i esas cosas que pasan… Lo mejor es hacer i comprovar que funciona. Si no, no continueis. **4.- Configuracion de Samba** Este servidor nos va a permitir a poder ver en "Entorno de red" de nuestro Windows, a nuestro servidor. La configuracion se hace en el archivo "/etc/samba/smb.conf", pues bueno, el procedimiento es ir revisando este archivo, cambiar lo que haga falta i reiniciar el servicio. > Aqui teneis mi archivo [smb.conf](http://213.96.43.233/arxius/smb.conf) para tomarlo como referencia. Primero hay unas variables que hay que declarar, i luego hay la configuracion de las carpetas compartidas. > **NOTA:** Si quereis que en una carpeta se tenga acceso total, tendreis que darle los permisos maximos para que funcione bien. > > En mi caso solamente tengo la carpeta "Up-load", para que fuese bien, tube que hacer esto: > ``` > # chmod 777 /var/ftp/Up-load > > ```Con el "777" le damos permiso a todo el mundo. Para mas info sobre esto [aqui](http://www.hardlimit.com/forum/showthread.php?s=&threadid=17070). Con los ejemplos supongo que queda claro lo que pretendemos hacer, si todavia no lo pillais, espero que con [esta foto](http://213.96.43.233/fotos/informatica/entorno_de_red.jpg) lo tengais mas claro. > **RECOMENDACION:** > –------------------- > Os recomiendo que creeis una carpeta de escritura para poder luego poner archivos desde otro pc. Almenos hiremos pasando con esto, hasta que no tengamos el servidor FTP...:rolleyes: **4.1.- Configuracion de una impresora compartida** Hay varias "linias" en el archivo anterior que no las he comentado i es porque so para compartir la impresora. 4.2 Soporte para impresoras con cups ESTOS MODULOS ESTAN EN PROCESO xD
-
5.- Configurar Apache
A primera vista si poneis en un navegador la IP del server os saldra una pagina de bienvenida de Apache diciendo que ya esta todo perfectamente configurado, i es asi!, lo que pasa es que tenemos que añadir un par de cosas en el archivo de configuracion.
Este paso es de logica, es ir mirando el archivo "/etc/apache/httpd.conf".
Aqui teneis mi httpd.conf para tomarlo como referencia.
Lo que si que deberiais cambiar es donde pone:
DocumentRoot /var/www/html ```Vosotros tendreis igual, pero sin el "html" al final, pues lo poneis, nos ira bien para luego poner el php-nuke i el foro. No es imprescindible. Luego hay que descomentar donde pone
LoadModule php4_module /usr/lib/apache/1.3/libphp4.so
Tambien cambiar esta frase
DirectoryIndex index.php index.html index.htm index.shtml index.cgi (dejarla tal como esta aqui)
> **TRUCO:** Para que los cambios surgan efecto, tendremos que reiniciar el servidor apache: > ``` > # /etc/init.d/apache restart > > ```Bwualà! xD Otra cosa, para evitar los Spam-Bots en las cuentas de correo internas se recomienda mirar [esta guia](http://www.kleenux.org/modules.php?op=modload&name=News&file=article&sid=45&mode=threadℴ=0&thold=0). **5.1.- Instalar el portal php-nuke i el foro phpBB** He escogido la version 6.5 de php-nuke donde lleva integrado el foro phpBB, en un simple paso matamos dos pajaros de un tiro. Nos bajamos el paquete de [aqui](http://www.phpnuke-hispano.com/modules.php?name=News&file=article&sid=382). Lo descomprimimos i lo pasamos a la carpeta que hemos creado anteriormente con permisos de escritura. > **Aclaracion:** Lo hago asi porque aun no tengo un servidor ftp para pasarme el archivo, ademas, tampoco se exactamente la ubicacion del archivo…si lo haceis asi funcionara igual :rolleyes: xD Una vez hemos pasado los archivos al servidor haremos:
cd /donde_este_la_carpeta_de_escritura/phpnuke6.5-hispano
cp -pR * /var/www
cd ..
rm -Rfv phpnuke6.5-hispano
> **NOTA:** Fijaros que nosotros hemos definido como "DocumentRoot" la carpeta "/var/www/html", esto significa que desde el web solamente podremos tener acceso a los archivos contenidos a partir de la carpeta "/var/www/html", no antes. > > Es decir si ponemos en el explorador:``` > http://ip_del_server_local > ```Nos saldra probablemente el phpnuke, si no hubieramos puesto esa carpeta, nos saldria la web de bienvenida de Apache, ya que en dicha carpeta ("/var/www/") no esta el contenido del php-nuke. El siguiente paso seria leeros el archivos INSTALL:
cat /var/www/INSTALL | more (vamos pulsando ENTER para ir avanzando).
vim /var/www/http/config.php
$dbhost = "localhost";
$dbuname = "root";
$dbpass = "[color]CONTRASEÑA BASE DE DATOS[/color]";
$dbname = "nuke";
$prefix = "nuke";
$user_prefix = "nuke";
$dbtype = "MySQL";
$sitekey = "lo dejais por defecto, la que ya os viene puesto, no toqueis nada"> **NOTA:** Para configurar la contraseña en la base de datos os recomiendo que os paseis por [ESTE](http://www.hardlimit.com/forum/showthread.php?s=&threadid=20372) enlace. Seguimos:``` # cd /var/www/sql # mysqladmin create nuke # mysql nuke < nuke.sql # cd /var/www/http # chmod 666 ultramode.txt ```Y listos. > **NOTA DE SEGURIDAD:** Como recomiendan los de PHP-Nuke tendremos que "esconder" el archivo config.php de tal forma que no se pueda ver desde el directorio raiz del web, ya que se podria ver la contraseña de la base de datos com pocos conocimientos. Para solucionar este pequeño problema copiaremos el archivo "config.php" en la carpeta anterior donde está ahora (es decir /var/www/ ) entonces el archivo "/var/www/html/config.php" tendria que quedar de la siguiente forma:Y yasta solucionado. El siguiente paso es configurar la clave de admin del site. En un navegador web ponemos:
http://ip_del_server
Y yasta, otro tema zanjado :cool:
-
6.- Configurar el servidor ftp con proftpd
Una vez hayamos realizado la instalacion de proftpd solo tendremos que modificar un par de parametros del archivo "/etc/proftpd.conf". Hay que decir que para crear usuarios se crean con el mismo sistema operativo, es decir, una vez creado un usuario (adduser usuario) el ya puede entrar via FTP poniendo su usuario i password, asi que no hace falta crear nada mas.
- Para hacer que el directorio por defecto sea "/" (no quiere decir el directorio raiz del sistema, si no que emule el directorio raiz para que no pueda tirar para atras en la jerarquia de directorios), i no "/home/usuario" tendremos que añadir en dicho archivo de configuracion la siguiente linia dentro de <global>, es decir:```
vim /etc/proftpd.conf
[...]
<global>DefaultRoot ~</global>
[...]/etc/init.d/proftpd restart
**7.- Configurar el servidor de correo con postfix** Este tema es muy simple…simplemente no hay que hacer nada xD xD ya que simplemente al instalarlo se configura perfectamente. Yo no tengo ningun dominio ni nada, el servidor de correo lo voy a usar para que la gente cuando se registre en el foro se le envie un mail de confirmacion. Tambien para cuando haya nuevos posts, etc. Aqui teneis una [guia](http://www.kleenux.org/articulos/guia-postfix/guia_postfix.html) muy buena sobre postfix, recomiendo su lectura si quereis tener un server completo con administracion de cuentas i tal, aunque sin un dominio no lo veo factible. Otro tema resuelto xD **8.- Reproduccion de mp3 con mplayer** Para poder escuchar mp3's en el server (a mi me es de gran utilidad en algunas ocasiones), primero tendremos que añadir las siguientes linias en el archvo "/etc/modules" justo debajo del texto. **Imortante que esten en este orden!**
soundcore
sound
uart401
ac97_codec
via82cxxx_audio> **TRUCO:** Para cargar los modulos en memoria sin tener que reiniciar: > ``` > # insmod [color]modulo_a_cargar[/color] > ``` Ahora si hacemos:``` # mplayer cancion.mp3 ```Entonces sonara la cancion :p Para reproducir una lista predefinida se puede usar el comando "-playlist lista".``` # mplayer -playlist lista ```Para poder reproducir musica con otro usuario que no sea el "root", se tendria que añadir dicho usuario al grupo "audio".``` # adduser usuario # adduser usuario audio ```Y asi ya podriamos reproducir musica con el usuario "usuario". Otro tema resuelto ;) 9.- Links 10.- Ponme a prueba ;) [www.marcalj.net](www.marcalj.net) [www.dapforum.tk](www.dapforum.tk) Terminando: Queria agradecer toda la ayuda prestada por los Linuxeros de este foro i los diferentes manuales i HOWTO's que me he encontrado. No he copiado nada de ninguna revista, aunke lo parezca xD xD jeje. Me ha llevado sus horas redactar todo esto…con los codigos i demas...bufff :p Salu2! m a r c a l j ----------------------/////-------------------------- POST no terminado, mi idea era ponerlo todo una vez completados todos los "requerimientos", pero me han comentado de que lo ponga aqui i lo vaya mos comentando...para hacer luego el HOWTO bueno... Queda retocar el tema del servidor ftp y compartir la impresora con samba. A ver si lo termino ya :muerto:</global>
-
Post temporal para luego poner lo que no quepa…
-
Post temporal para luego poner lo que no quepa…...
-
Yasta yasta es el ultimo xD xD :rolleyes:
Piro a sobar :dormido:
PD: mañana….más! jeje
Salu2!
-
te vas a sobar a las 7 de la mañan jode rque humor, yo o puedo aguantar tanto, lo del how to esta muy bien, yo probaria a hacer algo asi pero solo tengo un ordenador no tengo con que probar practicamente
te admiro, no se como aguantas tantas horas ahi delante, a mi para las 12 ya me da el sueño jejeje
a ver si tienes suerte y lo pones todo como quieres -
Gracias tio, eske lo empece i,.,….tenia k terminarlo k si no... xD
Despues de estas vacaciones de semana santa no se si podre seguir con tanta insistencia... intentare terminarlo cuando tenga tiempo...
A ver si me ayudais un pokillo xD
Salu2!
-
Muy wapo el how to, en cuanto sea capar de meter el debian me pongo con los servidores q ahora lo tengo en xp y no me mola nada
-
Gracias
Publicado originalmente por K-Bre
ahora lo tengo en xp y no me mola nadaxD xD Es por eso que me pase a Linux yo
Salu2!
-
ACTUALIZACION DEL HOWTO!:
Nuevo capitulo completado, la configuracion del correo.
Proximamente…mas xD
Salu2!
-
hombre como pones que no sabes cual instalar pues deberias explciar las ventajas e inconvenientes de los dos no se como sera el xmms en modo consola pero el mplayer permite (usando el framebuffer) ver videos en la consola ademas de reproducir casi cualquier formato el xmms esta "limitado" a formatos libres (nada de avi wmv .mov ram .) vamos no es muy compatible con win pero si quieres la maquina para escuchar musica solo pos vale si no mplayer (tb con mencoder se puede recomprimir las pelis en mpg ->svcd y verlas en tu dvd de sobremesa )
-
marcalj, mirate tb este articulo sobre como evitar q los spam-bot's cojan los mails de tu web. Muy recomendable si quieres acabar con las cuentas de correos petadas de publicidad
-
Gracias josefu, ya lo hare mañana que ahora toy petado i me voy a :dormido:
meninas92, no tengo entorno grafico en el server, ademas tampoco pantalla, o sea que me es igual k se pueda reproducir videos o demas, solamente que pueda escuchas musica en casos especificos…la salida de audio esta conectada a una mesa de mezclas i lo reproduzco por alli.
Gracias y Salu2!
-
/dev/hdd1 /mnt/mp3 vfat defaults 0 0
con eso luego solo me deja entrar en esa particion como root….para ke pueda entrar cualkier usuario como seria?
un saludo y gracias
-
Que extraño, a mi me deja con cualkier usuario…la carpeta mnt no esta restringida...
tendrias que cambiar los permisos con un chmod...
# chmod 777 carpeta ```Por cierto josefu, si hago un telnet al puerto 80 no me sale nada…i por lo de mails no pasa nada pq no tengo cuentas alli creadas..solamente lo uso para enviar correo nada mas. GRacias igualmente! Salu2!
-
ACTUALIZACION DEL HOWTO!:
Reproduccion de mp3 con mplayer.
A ver si termino ya, me queda el cups (para la impresora), i la configuracion para el servidor ftp, aunque ya funciona pero tengo que adaptarlo tal i como yo lo kiero…:rolleyes:
Salu2!
-
Por cierto josefu, si hago un telnet al puerto 80 no me sale nada…i por lo de mails no pasa nada pq no tengo cuentas alli creadas..solamente lo uso para enviar correo nada mas. GRacias igualmente!
Con lo de los spam-bot's me refiero a los diversos spiders q utilizan los spammers; los cuales, con estos programas, buscan por todo el código fuente de las páginas web (van escaneando todo internet) y añaden a su base de datos todas las direcciones email que se muestren en las webs para después mandar spam.
Así, por ejemplo, el email q muestras en el inicio de tu web, podría ser "capturado" por uno de estos bots para después llenartelo de spam; y así el de todos los usuarios que tengan el email visible (x ejemplo yo!! xD) -
Pues entonces ya lo haré…este finde si puedo, k ahora con las practicas atrasadas de la uni lo veo un poco chungo :muerto:, gracias.
Por cierto, te dije k el sonido sonaba mal...hay alguna forma de solucionarlo? a veces es molesto i todo...i no es por la targeta de sonido....
Salu2!