Servidor LAMP · 6 min read · Oct 25, 2025
Ten tu propio servidor LAMP (chrooted) de Debian mientras ejecutas el escritorio perfecto de Ubuntu
Ten tu propio servidor LAMP (chrooted) de Debian mientras ejecutas el escritorio perfecto de Ubuntu
Esta es una breve descripción sobre los pasos a seguir para configurar un servidor web basado en Debian (Debian Sarge alias Debian 3.1) que se ejecutará chrooted bajo Ubuntu 7.04.
He seguido la excelente guía de Falko sobre cómo configurar el escritorio perfecto de ubuntu 7.04:
https://www.howtoforge.com/the_perfect_desktop_ubuntu7.04
Sin embargo, para hacer que el escritorio sea perfecto para mí, necesito agregar una o dos cosas. Primero, agregaré AVG, ya que puedo estar llevando archivos y datos a otras PC y quiero asegurarme de no transmitir virus. Para hacer esto, seguiré otra de las excelentes guías de Falko:
https://www.howtoforge.com/avg_antivirus_ubuntu_feisty
Luego necesito instalar un servidor web que se asemeje al de mi ISP para poder probar antes de subirlos a su lugar final. No estoy ejecutando mi propio servidor web porque me conecto a la red a través de ADSL, puede ser de hasta 8M de descarga, pero solo tiene 256K de subida, que es lo que los visitantes de mis sitios obtendrán y dependerá del tráfico en mi central local.
Quiero que mis páginas web obtengan el máximo beneficio del ancho de banda disponible para la conexión T1 de mi ISP, así que mantengo mis páginas web alojadas de forma remota.
Esto no significa que no pueda probar todo a fondo antes de que vaya allí, así que necesito que mi servidor LAMP incluya:
- Apache 1.3.33 (Debian GNU/Linux)
- PHP/4.3.10-19
- mysql 4.0.24.
- phpmyadmin
Estas versiones más antiguas de Apache, PHP y mysql ya no están disponibles para instalación bajo Ubuntu y solo se pueden instalar en Debian Sarge, así que en lugar de ejecutarlo como mi plataforma base, lo instalaré como un sistema mínimo sobre mi escritorio de Ubuntu y ejecutaré los programas de Debian a través de chroot.
Si tú también estás haciendo esto y ya has instalado apache o mysql, entonces necesitarás asegurarte de que no estén ejecutándose mientras instalas o ejecutas tu apache/mysql de sarge. Esto se debe a que el apache y mysql de sarge no podrán enlazarse a sus respectivos puertos de escucha si las versiones de ubuntu ya están escuchando en ellos.
Primero tenemos que instalar debootstrap ya que lo usaremos para crear el sistema mínimo. Luego podemos descargar e instalar Debian Sarge.
Abre una ventana de Terminal:
sudo bash
apt-get install debootstrap
mkdir sarge-dirAhora deberías encontrar tu espejo de debian más cercano y usarlo para descargar e instalar el sistema debian. Ve a http://www.debian.org/mirror/list/ y encuentra la dirección del espejo apropiado, luego:
debootstrap sarge sarge-dir http://ftp.uk.debian.org/debianEstoy usando el espejo del Reino Unido, pero puedes cambiar la parte uk por lo que necesites. Después de unos minutos, la descarga y la instalación deberían haberse completado, necesitas:
mount -o bind /proc sarge-dir/procEsto hará que el sistema de archivos proc esté disponible en chroot. El sistema de archivos pseudo Proc es un sistema de archivos residente en memoria en tiempo real que rastrea los procesos que se ejecutan en tu máquina y el estado de tu sistema.
Y a partir de ahora, usar el nuevo sistema es tan simple como escribir:
chroot sarge-dirEste comando te coloca en chroot y puedes modificar archivos dentro del nuevo sistema sarge instalado.
En este punto, si lo deseas, podrías seguir otra de las excelentes guías de cómo hacer de Falko:
https://www.howtoforge.com/perfect_setup_debian_sarge
Simplemente comienza el tutorial después de la sección de redes. Aunque se necesitará un trabajo extra para instalar correctamente el servidor de correo, ya que en ese tutorial se instala durante el inicio, pero eso es para que alguien más proporcione los detalles.
No voy a hacer eso ya que necesito una versión diferente de apache y no necesito toda la otra configuración. Así que voy a editar el sources.list y actualizar el sistema de archivos.
echo deb http://ftp.uk.debian.org/debian/ sarge main > /etc/apt/sources.list
echo deb http://security.debian.org/ sarge/updates main >> /etc/apt/sources.list
apt-get update
apt-get upgradeAhora es el momento de instalar los programas que necesito:
apt-get install apache php4 mysql-server phpmyadmin¿Habilitar suExec? <– Sí
MySQL solo se instalará si tienes un nombre de host NO NUMÉRICO … <– Ok
¿Qué servidor web te gustaría reconfigurar automáticamente? <— apache
¿Quieres que reinicie apache ahora? <– Sí
Puedes encontrar algunos mensajes de error que aparecen sobre las configuraciones regionales no configuradas:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = “en_GB.UTF-8
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Esto podría ser porque el método de instalación de debootstrap puede no haber instalado las configuraciones regionales.
apt-get install locales localeconfSelecciona las configuraciones regionales que se generarán.
[] en_GB ISO-8859-1
[] en_GB.ISO-8859-15 ISO-8859-15
[*] en_GB.UTF-8 UTF-8
<– Ok
¿Qué configuración regional debería ser la predeterminada en el entorno del sistema? <– en_GB
¿Gestionar archivos de configuración de configuración regional con debconf? <– Sí
Si no deseas usar la configuración regional del sistema predeterminada… <– Ok
Configuraciones de entorno que deberían anular la configuración regional predeterminada: <– Vacío
¿Reemplazar archivos de configuración de configuración regional existentes? <– Sí
Si no estás seguro … siempre soportado. <– Ok
Configuración regional del sistema predeterminada: <– en_GB.UTF-8 UTF-8
Ahora crearé un usuario sarge que sea el mismo que mi actual de ubuntu. Esto significa que no debería tener problemas con los permisos cuando edite mis páginas web en Ubuntu.
adduser user_name_in_ubuntuEl archivo de configuración de Apache todavía se encuentra en: /etc/apache/httpd.conf, pero se hace referencia desde el sarge-dir y lo mismo se aplica a tu carpeta web /var/www. Al editar páginas web desde el escritorio de Ubuntu, ve primero al sarge-dir y luego encuentra /var/www/. Al editar páginas web en Ubuntu, ve primero al sarge-dir y luego encuentra /var/www/
Ahora verificaré las instalaciones.
Las instalaciones de apache y php se pueden hacer juntas creando un archivo phpinfo en tu carpeta /var/www con el comando phpinfo() en él. Aún chrooted por el momento.
nano /var/www/phpinfo.phpEn este archivo deberías escribir:
Apunta tu navegador a http://localhost/phpinfo.php y esto debería mostrar toda la configuración de apache y la configuración predeterminada.
El archivo de configuración de mysql se encuentra en: /etc/mysql/my.cnf, nuevamente referenciado desde el sarge-dir. En este punto, también vale la pena establecer la contraseña de Root, así que, aún chrooted:
mysql -u rootPara llevarte al símbolo del sistema de mysql, luego:
mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD('your-password') WHERE user='root';
mysql> FLUSH PRIVILEGES;El archivo de configuración de phpmyadmin se encuentra en: /etc/phpmyadmin/config.inc.php.
Es posible que desees agregar tu contraseña de mysql en él para evitar tener que iniciar sesión en la consola de phpmyadmin cada vez que necesites usarla.
Si alguna vez necesitas reiniciar Apache o si apache no se inicia al inicio, entonces necesitarás chrootear en sarge primero y luego reiniciar apache.
sudo bash
chroot sarge-dir
/etc/init.d/httpd restartRecibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.