domingo, septiembre 16, 2007

Servidor web en debian etch


Me encanta cacharrear con versiones de CMS, foros, etc... Un amigo me ha pedido a ver si le puedo montar un portal y por lo que me ha contado la mejor opción la veo con un Joomla + PhpBB + Coppermine ( y qué mejor para probar las RCs de los dos primeros). Por supuesto no me voy a poner a cargar mi equipo con paquetes eventuales, así que me he montado una máquina virtual mínima que esta tirando con 32Mg de RAM con un cherokee (hay que promover los proyectos nacionales), un mysql-5.0, php5, pureftp y ssh en un Debian Etch. Bueno voy a explicar los pasos por si a alguien le viene bien (o a mí mismo porque con la cabeza que tengo últimamente... jeje):

1.-He optado por usar la version netinst de Debian, no voy a meterme con temas de instalación, simplemente es una instalación mínima.

2.-Una vez el sistema esté instalado y actualizado llegamos a lo más bonito de Debian:
#apt-get install cherokee php5-cgi php5-mysql php5-gd mysql-server-5.0 pure-ftpd ssh
(Qué gozada en una simple línea todo instalado...)

3.- Modificamos un par de líneas en /etc/php5/cgi/php.ini (las descomentamos, es decir, quitar el punto y coma que tienen delante)
;extension=mysql.so
;extension=gd.so

4.-Por seguridad vamos a cambiar el directorio donde cherokee busca las páginas web, para ello en /etc/cherokee/sites-avaliable/default buscamos la siguiente línea
DocumentRoot /var/www
Y la cambiamos por:
/home/inmolatus/public_html (ojo que la carpeta exista!)
Tras esto a reiniciar al indio:
#/etc/init.d/cherokee restart
Llegados a este punto podríamos crear una archivo en la ruta mencionada llamada index.php con el texto y debería de interpretarlo correctamente.

5.-Pure-ftpd es, a mi entender, uno de los mejores servidores de ftp, básicamente por su seguridad (ya hablaremos otro día de eso) y su configuración es bastante sencilla. Desde luego no nos interesa que usuarios de ftp puedan tener acceso al sistema, por lo cual vamos a crear un usuario que solo pueda acceder al ftp, para ello primero creamos un usuario del sistema que no pueda hacer nada:
#useradd ftp -g ftp -d/dev/null -s/bin/false
Con esto ya tenemos un usuario llamado ftp que no puede hacer nada en el sistema y va a ser en el que van a estar basados el resto de los usuarios del ftp.
#pure-pw useradd inmoftp -u ftp -g ftp -d /home/inmolatus/public_html
password:******
confirm:******
Con esto ya tenemos un usuario de ftp chrooteado a la ruta que hayamos elegido. Pure-ftpd tiene otras muchas opciones como no chrootear, limitar espacio, horarios de conexión, velocidad de subida y de bajada... Pero bueno para el caso que tenemos con esto nos sobra, en caso de duda a tirar del man.
Tras modificar cambios en los usuarios siempre hay que reestructurar la base de datos con un
#pure-pw mkdb
Si ahora lo probais... ¡aiba la hostia! ¡Login incorrect! ¿Cómo es esto? Pues resulta que está leyendo /etc/passwd... y no lee de donde le hemos creado los usuario locales, pero no hay nada que no se pueda arreglar vamos a /etc/pure-ftpd/auth y creamos un enlace que apunte al sitio correcto:
ln -s ../conf/PureDB 50pure (cacharreando un poco a donde apuntan los enlaces se sacan cosas interesantes sobre como funciona el programilla...)

Bueno y con esto y un bicocho nos emitamos el tiempo necesario de trabajar en un servidor externo (por no hablar de subir los 4000 y pico ficheros del Joomla 1.5, al menos hasta que movamos todo ya bien ordenado al hosting)

A cuidarse!

2 comentarios:

Sandro dijo...

Es genial encontrar el mejor alojamiento para Joomla para que puedas integrarlo en el sitio web y para que puedas manejar mejor el CMS.

Ariel Maslorens dijo...

Gracias por tu información, la utlizaré para mi web de venta online de centollo