Servidor · 3 min read · Oct 09, 2025

El Servidor Perfecto - Ubuntu Jaunty Jackalope (Ubuntu 9.04) [ISPConfig 2] - Página 4

11 Instalar Algunos Paquetes

Ahora instalamos algunos paquetes que se necesitan más adelante. Ejecuta

aptitude install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.6-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential

(¡Este comando debe ir en una línea!)

12 Cuota

(Si has elegido un esquema de particionamiento diferente al mío, debes ajustar este capítulo para que la cuota se aplique a las particiones donde la necesites.)

Para instalar cuota, ejecuta

aptitude install quota

Edita /etc/fstab. El mío se ve así (agregué,usrquota,grpquota a la partición con el punto de montaje /):

vi /etc/fstab

| # /etc/fstab: información estática del sistema de archivos. # # Usa 'vol_id --uuid' para imprimir el identificador único universal para un dispositivo; esto puede usarse con UUID= como una forma más robusta de nombrar dispositivos que funciona incluso si se agregan y eliminan discos. Ver fstab(5). # # proc /proc proc defaults 0 0 # / estaba en /dev/mapper/server1-root durante la instalación UUID=b8d265bc-5959-404d-a68e-8dc1c76f18d6 / ext3 relatime,errors=remount-ro,usrquota,grpquota 0 1 # /boot estaba en /dev/sda5 durante la instalación UUID=01e9c3c7-2ad0-4f52-a356-18290517b362 /boot ext2 relatime 0 2 # swap estaba en /dev/mapper/server1-swap_1 durante la instalación UUID=c1e0bcbb-5c73-4bd2-a7b2-8beeb7526200 none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 |

Para habilitar la cuota, ejecuta estos comandos:

touch /quota.user /quota.group  
chmod 600 /quota.*  
mount -o remount /
quotacheck -avugm  
quotaon -avug

13 Servidor DNS

Ejecuta

aptitude install bind9

Por razones de seguridad, queremos ejecutar BIND en chroot, así que tenemos que hacer los siguientes pasos:

/etc/init.d/bind9 stop

Edita el archivo /etc/default/bind9 para que el demonio se ejecute como el usuario no privilegiado bind, chrooted a /var/lib/named. Modifica la línea: OPTIONS=”-u bind” para que lea OPTIONS=”-u bind -t /var/lib/named”:

vi /etc/default/bind9

| # ¿Ejecutar resolvconf? RESOLVCONF=yes # opciones de inicio para el servidor OPTIONS="-u bind -t /var/lib/named" |

Crea los directorios necesarios bajo /var/lib:

mkdir -p /var/lib/named/etc  
mkdir /var/lib/named/dev  
mkdir -p /var/lib/named/var/cache/bind  
mkdir -p /var/lib/named/var/run/bind/run

Luego mueve el directorio de configuración de /etc a /var/lib/named/etc:

mv /etc/bind /var/lib/named/etc

Crea un enlace simbólico al nuevo directorio de configuración desde la antigua ubicación (para evitar problemas cuando bind se actualice en el futuro):

ln -s /var/lib/named/etc/bind /etc/bind

Crea dispositivos nulos y aleatorios, y corrige los permisos de los directorios:

mknod /var/lib/named/dev/null c 1 3  
mknod /var/lib/named/dev/random c 1 8  
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random  
chown -R bind:bind /var/lib/named/var/*  
chown -R bind:bind /var/lib/named/etc/bind

Necesitamos modificar /etc/default/syslogd para que aún podamos obtener mensajes importantes registrados en los registros del sistema. Modifica la línea: SYSLOGD=”” para que lea: SYSLOGD=”-a /var/lib/named/dev/log”:

vi /etc/default/syslogd

| # # Archivo de configuración principal para syslogd # # # La documentación completa de los posibles argumentos se encuentra en la página del manual # syslogd(8). # # # Para el registro remoto por UDP usa SYSLOGD="-r" # SYSLOGD="-a /var/lib/named/dev/log" |

Reinicia el demonio de registro:

/etc/init.d/sysklogd restart

Inicia BIND y verifica /var/log/syslog en busca de errores:

/etc/init.d/bind9 start

14 MySQL

Para instalar MySQL, ejecutamos

aptitude install mysql-server mysql-client libmysqlclient15-dev

Se te pedirá que proporciones una contraseña para el usuario root de MySQL - esta contraseña es válida para el usuario root@localhost así como para [email protected], por lo que no tenemos que especificar una contraseña de root de MySQL manualmente más tarde:

Nueva contraseña para el usuario “root” de MySQL: <– tucontraseñademysqlroot
Repite la contraseña para el usuario “root” de MySQL: <– tucontraseñademysqlroot

Queremos que MySQL escuche en todas las interfaces, no solo en localhost, por lo tanto editamos /etc/mysql/my.cnf y comentamos la línea bind-address = 127.0.0.1:

vi /etc/mysql/my.cnf

| [...] # En lugar de skip-networking, el valor predeterminado ahora es escuchar solo en # localhost, lo cual es más compatible y no es menos seguro. #bind-address = 127.0.0.1 [...] |

Luego reiniciamos MySQL:

/etc/init.d/mysql restart

Ahora verifica que la red esté habilitada. Ejecuta

netstat -tap | grep mysql

La salida debería verse así:

root@server1:~# netstat -tap | grep mysql  
tcp        0      0 *:mysql                     *:*                     LISTEN      4318/mysqld  
root@server1:~#
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.