Configuración Servidor · 5 min read · Jan 04, 2026
La Configuración Perfecta - SUSE 9.3 - Página 6
Proftpd
Quiero usar Proftpd en lugar de vsftpd, que es el servidor FTP predeterminado de SUSE, porque el software del panel de control que voy a instalar en este servidor (ISPConfig) requiere Proftpd en SUSE 9.3 (en otras distribuciones esto es diferente). Dado que no hay paquetes de SUSE para Proftpd, tengo que compilarlo manualmente:
cd /tmp/
wget –passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.10.tar.gz
tar xvfz proftpd-1.2.10.tar.gz
cd proftpd-1.2.10/
./configure –sysconfdir=/etc
make
make install
cd ../
rm -fr proftpd-1.2.10*
Ahora crea el archivo /etc/init.d/proftpd:
| #! /bin/sh # Copyright (c) 2000-2001 SuSE GmbH Nuernberg, Alemania. # Todos los derechos reservados. # # Autor original: Marius Tomaschewski <[email protected]> # # Ligeramente modificado en 2003 para su uso con SuSE Linux 8.1, # por http://www.learnlinux.co.uk/ # # Ligeramente modificado en 2005 para su uso con SuSE Linux 9.2, # por Falko Timme # # /etc/init.d/proftpd # ### BEGIN INIT INFO # Provides: proftpd # Required-Start: $network $remote_fs $syslog $named # Required-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Inicia el servidor ProFTPD ### END INIT INFO # Determina la base y sigue un nombre de enlace de nivel de ejecución. base=${0##*/} link=${base#*[SK][0-9][0-9]} # Fuerza la ejecución si no se llama desde un directorio de nivel de ejecución. test $link = $base && START_PROFTPD=yes # Modificado por learnlinux.co.uk test "$START_PROFTPD" = yes || exit 0 # Modificado por learnlinux.co.uk # Valores de retorno según LSB para todos los comandos pero # estado (ver abajo): # # 0 - éxito # 1 - error genérico o no especificado # 2 - argumento(s) inválido(s) o excesivo(s) # 3 - característica no implementada (por ejemplo, "recargar") # 4 - privilegio insuficiente # 5 - programa no está instalado # 6 - programa no está configurado # 7 - programa no está en ejecución proftpd_cfg="/etc/proftpd.conf" proftpd_bin="/usr/local/sbin/proftpd" proftpd_pid="/usr/local/var/proftpd.pid" [ -r $proftpd_cfg ] || exit 6 [ -x $proftpd_bin ] || exit 5 # Funciones de estado de origen . /etc/rc.status # Primero restablecer el estado de este servicio rc_reset case "$1" in start) echo -n "Iniciando el Servidor ProFTPD: " test -f /etc/shutmsg && rm -f /etc/shutmsg /sbin/startproc $proftpd_bin rc_status -v ;; stop) echo -n "Apagando el Servidor ProFTPD: " test -x /usr/local/sbin/ftpshut && /usr/local/sbin/ftpshut now && sleep 1 /sbin/killproc -TERM $proftpd_bin test -f /etc/shutmsg && rm -f /etc/shutmsg rc_status -v ;; restart) ## Si el primero devuelve OK llama al segundo, si el primero o ## segundo comando falla, establece el valor de retorno de eco. $0 stop $0 start rc_status ;; try-restart) ## Detener el servicio y si esto tiene éxito (es decir, el ## servicio estaba en ejecución antes), iniciarlo de nuevo. ## Nota: no (aún) parte de LSB (a partir de 0.7.5) $0 status >/dev/null && $0 restart rc_status ;; reload|force-reload) ## Posibilidad exclusiva: Algunos servicios deben ser detenidos ## y comenzados para forzar una nueva carga de la configuración. echo -n "Recargando Servidor ProFTPD: " /sbin/killproc -HUP $proftpd_bin rc_status -v ;; status) # El estado tiene un ligero cambio para el comando de estado: # 0 - servicio en ejecución # 1 - servicio muerto, pero el archivo pid de /var/run/ existe # 2 - servicio muerto, pero el archivo de bloqueo de /var/lock/ existe # 3 - servicio no en ejecución echo -n "Verificando el Servidor ProFTPD: " checkproc $proftpd_bin rc_status -v ;; probe) ## Opcional: Sondear la necesidad de una recarga, ## dar el argumento que se requiere para una recarga. [ $proftpd_cfg -nt $proftpd_pid ] && echo reload ;; *) echo "Uso: $0 {start|stop|status|restart|reload|try-restart|probe}" exit 1 ;; esac # Establecer un estado de salida. rc_exit |
chmod 755 /etc/init.d/proftpd
chkconfig –add proftpd
/etc/init.d/proftpd start
Por razones de seguridad, puedes agregar las siguientes líneas a /etc/proftpd.conf:
DefaultRoot ~
IdentLookups off
ServerIdent on "Servidor FTP listo."Asegúrate de comentar las siguientes líneas para permitir que los usuarios ftp hagan CHMOD:
| # Prohibir el uso de SITE CHMOD por defecto # |
y reiniciar Proftpd:
/etc/init.d/proftpd restart
Webalizer
Para instalar webalizer, solo ejecuta
apt-get install webalizer
Sincronizar el Reloj del Sistema
Si deseas tener el reloj del sistema sincronizado con un servidor NTP, haz lo siguiente:
apt-get install netdate
netdate tcp time.nist.gov
Crea /var/spool/cron/tabs/root:
| # actualizar hora con servidor ntp 0 3,9,15,21 * * * /usr/sbin/netdate time.nist.gov |
Luego ejecuta
chmod 600 /var/spool/cron/tabs/root
/etc/init.d/cron restart
Instalar algunos Módulos de Perl necesarios para SpamAssassin (viene con ISPConfig)
Instalación usando el Shell de Perl
Inicia sesión en tu línea de comandos como root y ejecuta el siguiente comando para iniciar el shell de Perl:
perl -MCPAN -e shell
Si ejecutas el shell de Perl por primera vez, se te harán algunas preguntas. En la mayoría de los casos, las respuestas predeterminadas están bien.
Ten en cuenta: Si ejecutas un firewall en tu sistema, es posible que debas apagarlo mientras trabajas en el shell de Perl para que el shell de Perl pueda obtener los módulos necesarios sin un gran retraso. Puedes encenderlo después.
La gran ventaja del shell de Perl en comparación con los otros dos métodos descritos aquí es que se preocupa por las dependencias al instalar nuevos módulos. Es decir, si resulta que falta un módulo Perl previo al instalar otro módulo, el shell de Perl te preguntará si debe instalar el módulo previo por ti. Debes responder a esa pregunta con “Sí”.
Ejecuta los siguientes comandos para instalar los módulos necesarios para SpamAssassin:
install HTML::Parser
install Net::DNS (cuando se te pida habilitar pruebas, elige no)
install Digest::SHA1
install DB_File
q (para salir del shell de Perl)
Si un módulo ya está instalado en tu sistema, recibirás un mensaje similar a este:
HTML::Parser está actualizado.
La instalación exitosa de un módulo se ve así:
/usr/bin/make install – OK
El Fin
La configuración del servidor ahora está terminada, y si lo deseas, ahora puedes instalar ISPConfig en él.
Una Nota Sobre SuExec
Si deseas ejecutar scripts CGI bajo suExec, debes especificar /srv/www como el directorio principal para los sitios web creados por ISPConfig, ya que el suExec de SUSE 9.3 está compilado con /srv/www como Doc_Root. Ejecuta /usr/sbin/suexec2 -V, y la salida debería verse así:
Para seleccionar /srv/www como el directorio principal para los sitios web durante la instalación de ISPConfig, haz lo siguiente: Cuando se te pregunte por el modo de instalación, selecciona el modo experto.
Más adelante durante la instalación se te preguntará si el directorio predeterminado /home/www debería ser el directorio donde ISPConfig creará sitios web. Responde n e ingresa /srv/www como el directorio principal para los sitios web.
Enlaces
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.