Servidor Perfecto · 5 min read · Jan 16, 2026

El Servidor Perfecto - Fedora 10 [ISPConfig 3] - Página 5

14 Establecer Contraseñas de MySQL y Configurar phpMyAdmin

Iniciar MySQL:

chkconfig –levels 235 mysqld on
/etc/init.d/mysqld start

Luego establecer contraseñas para la cuenta root de MySQL:

mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

Si el último comando te da un error…

[root@server1 i386]# mysqladmin -h server1.example.com -u root password howtoforge
mysqladmin: connect to server at ‘server1.example.com’ failed
error: ‘Access denied for user ‘root’@’localhost’ (using password: NO)’
[root@server1 i386]#

… podemos establecer la contraseña de la siguiente manera: conectarse a MySQL:

mysql -u root -p

Escribe la contraseña para el usuario root de MySQL. Luego, en el shell de MySQL, haz esto:

mysql> USE mysql;
mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = 'server1.example.com' AND User = 'root';
mysql> UPDATE user SET Password = password('yourrootsqlpassword') WHERE Host = '127.0.0.1' AND User = 'root';

Ejecuta

mysql> SELECT * FROM user;

para asegurarte de que todas las filas donde el usuario es root tienen una contraseña.

Si todo se ve bien, ejecuta

mysql> FLUSH PRIVILEGES;

… y salir del shell de MySQL:

mysql> quit;

Ahora configuramos phpMyAdmin. Cambiamos la configuración de Apache para que phpMyAdmin permita conexiones no solo desde localhost (comentando la sección ):

vi /etc/httpd/conf.d/phpMyAdmin.conf

| # phpMyAdmin - Navegador MySQL basado en web escrito en php # # Permite solo localhost por defecto # # Pero permitir phpMyAdmin a cualquier persona que no sea localhost debe considerarse # peligroso a menos que esté debidamente asegurado por SSL Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin # # order deny,allow # deny from all # allow from 127.0.0.1 # # Este directorio no requiere acceso a través de HTTP - tomado del original # tarball de phpMyAdmin # Order Deny,Allow Deny from All Allow from None # Esta configuración previene que mod_security en los directorios de phpMyAdmin # filtre SQL etc. Esto puede romper tu implementación de mod_security. # # # # SecRuleInheritance Off # # |

Luego creamos los enlaces de inicio del sistema para Apache y lo iniciamos:

chkconfig –levels 235 httpd on
/etc/init.d/httpd start

Ahora puedes dirigir tu navegador a http://server1.example.com/phpmyadmin/ o http://192.168.0.100/phpmyadmin/ e iniciar sesión con el nombre de usuario root y tu nueva contraseña root de MySQL.

15 Instalar Amavisd-new, SpamAssassin y ClamAV

Para instalar amavisd-new, spamassassin y clamav, ejecuta el siguiente comando:

yum install amavisd-new spamassassin clamav clamav-data clamav-server clamav-update unzip bzip2 perl-DBD-mysql

Cuando instalamos ClamAV, se instaló un trabajo cron que intenta actualizar la base de datos de virus de ClamAV cada tres horas. Pero esto solo funciona si lo habilitamos en /etc/sysconfig/freshclam y /etc/freshclam.conf:

vi /etc/sysconfig/freshclam

Comenta la línea FRESHCLAM_DELAY al final:

| ## Al cambiar la periodicidad de las ejecuciones de freshclam en el crontab, ## este valor también debe ajustarse. Su valor es el intervalo entre ## dos ejecuciones subsecuentes de freshclam en minutos. Por ejemplo, para el valor predeterminado ## ## | 0 */3 * * * ... ## ## línea del crontab, el valor es 180 (minutos). # FRESHCLAM_MOD= ## Un valor predefinido para el retraso en segundos. Por defecto, el valor es ## calculado por el programa 'hostid'. Este valor predefinido garantiza ## intervalos constantes de 3 horas entre dos ejecuciones subsecuentes de freshclam. ## ## Esta opción acepta dos valores especiales: ## 'disabled-warn' ... desactiva la actualización automática de freshclam y ## emite una advertencia ## 'disabled' ... desactiva la actualización automática de freshclam silenciosamente # FRESHCLAM_DELAY= ### !!!!! ¡ELIMÍNAME! !!!!! ### ELIMÍNAME: Por defecto, la actualización de freshclam está desactivada para evitar ### ELIMÍNAME: acceso a la red sin activación previa #FRESHCLAM_DELAY=disabled-warn # ELIMÍNAME |

vi /etc/freshclam.conf

Comenta la línea Example:

| [...] # Comenta o elimina la línea de abajo. #Example [...] |

Luego iniciamos freshclam, amavisd y clamd…

chkconfig –levels 235 amavisd on
chkconfig –levels 235 clamd.amavisd on
/usr/bin/freshclam
/etc/init.d/amavisd start
/etc/init.d/clamd.amavisd start

… y cambiamos la propiedad de algunos directorios:

chown amavis /var/run/amavisd /var/spool/amavisd /var/spool/amavisd/tmp /var/spool/amavisd/db

16 Instalando Apache2 Con mod_php, mod_fcgi/PHP5, Y suPHP

ISPConfig 3 te permite usar mod_php, mod_fcgi/PHP5, cgi/PHP5 y suPHP en base a cada sitio web.

Podemos instalar Apache2 con mod_php5, mod_fcgid y PHP5 de la siguiente manera:

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-mbstring php-mcrypt php-mhash php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel 

A continuación, abrimos /etc/php.ini…

vi /etc/php.ini

… y cambiamos el informe de errores (para que las notificaciones ya no se muestren) y agregamos cgi.fix_pathinfo = 1 al final del archivo:

| [...] ;error_reporting = E_ALL error_reporting = E_ALL & ~E_NOTICE [...] cgi.fix_pathinfo = 1 |

A continuación, instalamos suPHP:

cd /tmp
wget http://www.suphp.org/download/suphp-0.7.0.tar.gz
tar xvfz suphp-0.7.0.tar.gz
cd suphp-0.7.0/
./configure –prefix=/usr –sysconfdir=/etc –with-apr=/usr/bin/apr-1-config –with-apxs=/usr/sbin/apxs –with-apache-user=apache –with-setid-mode=owner –with-php=/usr/bin/php-cgi –with-logfile=/var/log/httpd/suphp_log –enable-SUPHP_USE_USERGROUP=yes
make
make install

Luego agregamos el módulo suPHP a nuestra configuración de Apache…

vi /etc/httpd/conf.d/suphp.conf

| LoadModule suphp_module modules/mod_suphp.so |

… y creamos el archivo /etc/suphp.conf de la siguiente manera:

vi /etc/suphp.conf

| [global] ;Ruta al archivo de registro logfile=/var/log/httpd/suphp.log ;Nivel de registro loglevel=info ;Usuario bajo el cual se ejecuta Apache webserver_user=apache ;Ruta donde deben estar todos los scripts docroot=/ ;Ruta a chroot() antes de ejecutar el script ;chroot=/mychroot ; Opciones de seguridad allow_file_group_writeable=true allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;Verificar si el script está dentro de DOCUMENT_ROOT check_vhost_docroot=true ;Enviar mensajes de error menores al navegador errors_to_browser=false ;Variable de entorno PATH env_path=/bin:/usr/bin ;Umask a establecer, especificar en notación octal umask=0077 ; UID mínimo min_uid=100 ; GID mínimo min_gid=100 [handlers] ;Controlador para scripts php x-httpd-suphp="php:/usr/bin/php-cgi" ;Controlador para scripts CGI x-suphp-cgi="execute:!self" |

Finalmente reiniciamos Apache:

/etc/init.d/httpd restart

17 Instalar PureFTPd

PureFTPd se puede instalar con el siguiente comando:

yum install pure-ftpd

Luego crea los enlaces de inicio del sistema y comienza PureFTPd:

chkconfig –levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start

18 Instalar MyDNS

Podemos instalar MyDNS de la siguiente manera:

wget http://mydns.bboy.net/download/mydns-mysql-1.1.0-1.i386.rpm
rpm -ivh mydns-mysql-1.1.0-1.i386.rpm

Cuando el sistema arranca, MyDNS debe iniciarse después de MySQL. El enlace de inicio de MySQL tiene la prioridad 64 en Fedora 10, por lo que el enlace de inicio de MyDNS debe tener una prioridad entre 65 y 99. Por lo tanto, abrimos el script de inicio de MyDNS…

vi /etc/init.d/mydns

… y cambiamos

| [...] # chkconfig: 345 52 50 [...] |

por

| [...] # chkconfig: 345 65 50 [...] |

Luego creamos los enlaces de inicio:

chkconfig --levels 235 mydns on

No iniciamos MyDNS ahora porque debe configurarse primero - esto se hará automáticamente más tarde por el instalador de ISPConfig 3.

19 Instalar Vlogger y Webalizer

Vlogger y webalizer se pueden instalar de la siguiente manera:

yum install webalizer perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

cd /tmp
wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
tar xvfz vlogger-1.3.tar.gz
mv vlogger-1.3/vlogger /usr/sbin/
rm -rf vlogger*

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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