10/03/2009
MoatSoft
Miguel Tuyaré
Este documento tiene licencia:
Creative Commons Atribución-No Comercial-Sin Obras Derivadas 2.5 Argentina
Sitio de la Licencia: http://creativecommons.org/licenses/by-nc-nd/2.5/ar/
y está registrado SafeCreative.org.
Agradecimientos:
A todos los programadores que dan su tiempo y hacen excelente software de uso libre.
2
Introducción
Seguramente muchos de nosotros tenemos por ahí, tal vez al borde del tacho de
basura, alguna computadora obsoleta, digamos un Pentium II de 266Mhz, con 64Mb de
memoria, con un HD de 4Gb y con cualquier placa de video. Si tal es el caso le digo que no la
tiren, todavía sirve. Si aunque parezca mentira se pueden llegar a asombrar lo que se puede
hacer con una máquina de esas características. Si, ya sé que XP ni hablar de instalar, inclusive
hasta el Windows 98 se arrastra, pero para el pingüino, GNU/Linux, no hay nada imposible.
Les voy a contar como armé un servidor web personal (que inclusive pronto estará on
line ya que estoy tramitando el dominio) con una máquina similar, en realidad un poquito
mejor, pero para el caso serviría igual a la que nombré al principio.
Tenía en un rincón, abandonada ya, una PC Pentium III de 550Mhz, con 128Mb de
RAM, HD de 10 Gb., todo sobre una motherboard PC-CHIP M748LMRT (con video, sonido y
placa de red on board y soporte USB), una placa madre bastante mala por cierto pero fue lo
que pude comprar años atrás. Sobre esta máquina me dispuse a armar un servidor web porque
quería tener un lugar físico independiente de mi computadora más nueva donde probar y jugar
con Joomla, Drupal, y otros CMS, y también testear un software en PHP de Administración que
estoy armando. Aquí les explico cómo lo logré y los invito a que prueben. Se van a quedar más
qué felices de tener su propio servidor. Hasta les voy a decir cómo ponerlo on line sin pagar
una IP fija utilizando servicios gratuitos de internet.
3
Capítulo I
Seleccionando la distribución
Probé varias (manía vieja mía), primero probé SME Server, después Debian (mi amor
imposible), más tarde Puppy, Centos, DragonLX, DSL Linux y finalmente antiX.
SME Server es servidor armado para PyMES (Pequeñas y Medianas Empresas) Es muy
seguro y tiene prácticamente todo lo que una empresa puede llegar ocupar. Es
"extremadamente seguro" y fue por eso que lo descarté. Demasiados scripts que retocar para
usar Joomla y eso me puso muy nervioso.
Tanto Debian y Centos fueron demasiado grandes y pesadas como para soportar la PC,
aunque andaban, siempre sin instalar entornos gráficos.
Finalmente antiX, una distro basada en Mepis y Debian, me dejó más que conforme ya
que mi “viejita” –como había bautizado a mi computadora- quedó convertida en un Fórmula 1,
anda de lujo. Por eso, les recomiendo esa distribución que los asombrará, no solo para
máquinas con pocos recursos sino para máquinas más nuevas también. Además usa
repositorios Debian Lenny lo cual la pone a la vanguardia de la movida linuxera.
4
Capítulo II
Instalando el servidor
Llegado a este punto fue también toda una debacle. Probé Apache2, Cherokee y
Lighttpd. De Apache2 qué podemos decir si es el más usado en el mundo, hasta la
todopoderosa Microsoft lo usa ya que con sus productos no lo puede vencer. Apache es “el
server” pero el paquete es grande son 25Mb más todos los anexos y para máquinas como la
mía es mucho. Igualmente lo instalé y probé Joomla y si, andaba lento, más lento que trabajar
sobre la web. Probé Cherokee, mucho más liviano y fácil de configurar y todo anduvo muy
bien, más rápido que Apache, pero finalmente decanté por Lighttpd que está basado en
Apache pero sin tantos artilugios, es extremadamente liviano y además fue el de mejor
performance de todos: Joomla vuela!, que era lo que quería.
1- Instalando Lighttpd
Suponiendo que ya hayas instalado GNU/Linux te explico cómo instalar Lighttpd.
Accedemos a una consola en modo root y ponemos lo siguiente:
5
4- Seteando Lighttpd y PHP
PHP no está habilitado por defecto en Lighttpd, por eso necesitamos configurarlo. Así
que realizaremos el siguiente paso: Tipeamos en la consola lo siguiente:
# nano /etc/php5/cgi/php.ini
cgi.fix_pathinfo = 1
# nano /etc/lighttpd/lighttpd.conf
server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_compress",
"mod_fastcgi",
"mod_rewrite",
#"mod_redirect",
#"mod_evhost",
#"mod_usertrack",
#"mod_rrdtool",
#"mod_webdav",
#"mod_expire",
#"mod_flv_streaming",
#"mod_evasive"
)
"bin-path"=>"/usr/bin/php5-cgi",
"socket"=>"/tmp/php.socket",
"max-procs"=>1,
"bin-environment"=>(
6
"PHP_FCGI_CHILDREN"=>"4",
"PHP_FCGI_MAX_REQUESTS"=>"1000"
),
)))
Estas líneas agregadas en el lighttpd.conf cumplen dos cometidos. Las primeras líneas
le dicen a Lighttpd como tiene que manejar las llamadas de PHP, y los 3 últimas indican
cuantos procesos FastCGI pueden estar corriendo y el número de respuestas de PHP, estas dos
últimas variables pueden ajustarlas dependiendo del uso que le van a dar al servidor (intensivo
o no) para evitar cuelgues o largos delays (demoras).
# /etc/init.d/lighttpd restart
# nano /var/www/info.php
<?php
phpinfo();
?>
http://192.168.1.101/info.php
Ahí podrán ver toda la info de PHP5 y las API activas, incluyendo FastCGI así como
también si MySQL está soportado.
6- Habilitando phpmyadmin
Por defecto phpmyadmin no estará enlazado con nuestro localhost por ello es necesario
realizar un último paso. Escribimos en la consola:
ln -s /user/share/phpmyadmin /var/www
http://192.168.1.101/phpmyadmin
7
Capítulo III
Trabajando en forma remota
Hasta aquí tenemos nuestro servidor funcionando con todos los “chiches” sobre nuestro
flamante GNU/Linux Web Server, pero supongamos que queremos trabajar desde otra PC y
desde Windows. Para eso deberemos instalar Samba Server que es un servidor que nos permite
compartir archivos entre GNU/Linux y Windows.
Luego debemos configurar los usuarios Samba. Aquí hay que tener en cuenta algo MUY
IMPORTANTE, el usuario que crearemos debe ser igual a nuestro usuario de Windows y con la
misma contraseña, de lo contrario no funcionará. Puede suceder que no usemos contraseña en
Windows en ese caso tampoco le asignaremos contraseña al usuario Samba
Y aquí les explico algo. La primera línea crea un usuario linux pero sin directorio
/home, es decir, no se podrá loguear a linux.
En la segunda línea va la misma contraseña que Windows pero sin en Windows no
usamos contraseña, luego de tipear la línea presionaremos ENTER (2 veces).
Esto le dará acceso al shell de Linux y podrá realizar otras tareas. Para nuestro caso
no es necesario.
8
Instalando Webmin
Ahora vamos a ver una forma fácil de compartir carpetas pero no solo de eso sino que
además podremos administrar en forma remota todo nuestro servidor. Para eso vamos a
instalar Webmin. Qué es Webmin? Es un administrador remoto para servidores vía web. Es uno
de los mejores que conozco y con él prácticamente podremos realizar cualquier tarea sobre
nuestro server desde otra computadora.
https:// 192.168.1.101:10000
Observen dos cosas: primero que no es http solo sino que es http+s, es decir, en modo
seguro, y segundo que al poner :10000 le estamos indicando el puerto por donde nos
comunicaremos. Estas dos características son propias de Webmin lo que lo hace sumamente
seguro.
Para loguearse a Webmin deben poner “root” y la contraseña de root del linux
instalado.
Para ponerlo en castellano vayan al acceso Webmin y hagan click en Change Language
and Theme (o algo así).
Para compartir archivos con Webmin vayan a la sección “Otros” y hagan click en
“Explorador de Archivos” y allí podrán ver todo el árbol de directorios del servidor.
9
Final
Hasta aquí el tutorial sobre armar el servidor web, quedan muchas cosas en el tintero
porque es un tema apasionante. Espero que les haya servido para que tengan su propio
servidorcito en su casa y se diviertan aprendiendo.
info@moatsoft.com.ar
o visitar mi web:
http://www.moatsoft.com.ar
10