Servidor Perfecto · 4 min read · Dec 03, 2025

El Servidor Perfecto - Mandriva 2008 Free (Mandriva 2008.0) - Página 5

10 MySQL (5.0)

Para instalar MySQL 5.0, simplemente ejecutamos:

urpmi MySQL MySQL-client libmysql15-devel

Por defecto, la red no está habilitada en el paquete MySQL de Mandriva 2008, pero la red es requerida por ISPConfig. Podemos cambiar esto comentando la línea skip-networking en /etc/my.cnf:

vi /etc/my.cnf

| [...] # No escuchar en un puerto TCP/IP en absoluto. Esto puede ser una mejora de seguridad, # si todos los procesos que necesitan conectarse a mysqld se ejecutan en el mismo host. # Toda interacción con mysqld debe hacerse a través de sockets Unix o tuberías con nombre. # Tenga en cuenta que usar esta opción sin habilitar tuberías con nombre en Windows # (a través de la opción "enable-named-pipe") hará que mysqld sea inútil! # #skip-networking [...] |

Después, iniciamos MySQL:

/etc/init.d/mysqld start

Ahora verifica que la red esté habilitada. Ejecuta

netstat -tap | grep mysql

La salida debería verse así:

[root@server1 var]# netstat -tap | grep mysql  
tcp        0      0 *:mysql-im                     *:*                         LISTEN      5697/mysqlmanager  
tcp        0      0 *:mysql                         *:*                         LISTEN      5705/mysqld

A continuación, ejecuta

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

para establecer una contraseña para el usuario root (¡de lo contrario, cualquiera puede acceder a tu base de datos MySQL!).

11 Postfix Con SMTP-AUTH Y TLS

Instala los paquetes requeridos (Postfix, cyrus-sasl, imap, etc.) así:

urpmi cyrus-sasl libsasl2 libsasl2-devel libsasl2-plug-plain libsasl2-plug-anonymous libsasl2-plug-crammd5 libsasl2-plug-digestmd5 libsasl2-plug-gssapi libsasl2-plug-login postfix imap

Luego ejecuta (asegúrate de usar los valores correctos para mydomain, myhostname y mydestination):

postconf -e 'mydomain = example.com'  
postconf -e 'myhostname = server1.$mydomain'  
postconf -e 'mydestination = /etc/postfix/local-host-names, localhost.example.com'  
postconf -e 'smtpd_sasl_local_domain ='  
postconf -e 'smtpd_sasl_auth_enable = yes'  
postconf -e 'smtpd_sasl_security_options = noanonymous'  
postconf -e 'broken_sasl_auth_clients = yes'  
postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'  
postconf -e 'inet_interfaces = all'  
postconf -e 'mynetworks = 127.0.0.0/8'  
touch /etc/postfix/local-host-names  
touch /var/lib/mailman/data/aliases

Edita /etc/sasl2/smtpd.conf. Debería verse así:

vi /etc/sasl2/smtpd.conf

| # Archivo de configuración de la biblioteca SASL para postfix # todos los parámetros están documentados en: # /usr/share/doc/cyrus-sasl/options.html # Los parámetros mech_list enumeran los mecanismos sasl a usar, # siendo el predeterminado todos los mecanismos encontrados. mech_list: plain login # Para autenticar usando el daemon saslauthd separado, (por ejemplo, para # usuarios del sistema o ldap). También ver /etc/sysconfig/saslauthd. pwcheck_method: saslauthd saslauthd_path: /var/lib/sasl2/mux # Para autenticar contra usuarios almacenados en sasldb. #pwcheck_method: auxprop #auxprop_plugin: sasldb #sasldb_path: /var/lib/sasl2/sasl.db |

Crea el certificado SSL necesario para TLS:

mkdir /etc/postfix/ssl  
cd /etc/postfix/ssl/  
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key  
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key  
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

y configura Postfix para TLS:

postconf -e 'smtpd_tls_auth_only = no'  
postconf -e 'smtp_use_tls = yes'  
postconf -e 'smtpd_use_tls = yes'  
postconf -e 'smtp_tls_note_starttls_offer = yes'  
postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key'  
postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt'  
postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem'  
postconf -e 'smtpd_tls_loglevel = 1'  
postconf -e 'smtpd_tls_received_header = yes'  
postconf -e 'smtpd_tls_session_cache_timeout = 3600s'  
postconf -e 'tls_random_source = dev:/dev/urandom'

Ahora inicia Postfix, saslauthd, imap y pop3:

chkconfig imap on  
chkconfig imaps on  
chkconfig ipop3 on  
chkconfig pop3s on  
/etc/init.d/postfix restart  
/etc/init.d/saslauthd restart  
/etc/init.d/xinetd restart

Para ver si SMTP-AUTH y TLS funcionan correctamente, ahora ejecuta el siguiente comando:

telnet localhost 25

Después de haber establecido la conexión con tu servidor de correo Postfix, escribe

ehlo localhost

Si ves las líneas

250-STARTTLS

y

250-AUTH PLAIN LOGIN

todo está bien:

[root@server1 ssl]# telnet localhost 25  
Trying 127.0.0.1...  
Connected to localhost.localdomain (127.0.0.1).  
Escape character is '^]'.  
220 server1.example.com ESMTP Postfix (2.4.5) (Mandriva Linux)  
ehlo localhost  
250-server1.example.com  
250-PIPELINING  
250-SIZE 10240000  
250-VRFY  
250-ETRN  
250-STARTTLS  
250-AUTH PLAIN LOGIN  
250-AUTH=PLAIN LOGIN  
250-ENHANCEDSTATUSCODES  
250-8BITMIME  
250 DSN  
quit  
221 2.0.0 Bye  
Connection closed by foreign host.  
[root@server1 ssl]#

Escribe

quit

para volver a la consola del sistema.

12 Apache2 Con PHP5

Para instalar Apache2 y PHP5, ejecuta el siguiente comando (en una línea):

urpmi apache-mod_suexec apache-mod_ssl apache-mod_php libphp5_common5 php-bz2 php-calendar php-ctype php-curl php-devel php-dio php-dom php-eaccelerator php-enchant php-esmtp php-event php-exif php-fam php-ffmpeg php-fileinfo php-filepro php-ftp php-gd php-gettext php-gmp php-iconv php-id3 php-idn php-imap php-imlib2 php-mailparse php-mbstring php-mcache php-mcrypt php-mhash php-ming php-mysql php-mysqli php-ncurses php-newt php-odbc php-oggvorbis php-pam_auth php-pcntl php-pcre php-pear-Net_IDNA php-posix php-pspell php-readline php-recode php-session php-shmop php-simplexml php-snmp php-soap php-sockets php-sqlite php-ssh2 php-suhosin php-sysvmsg php-sysvsem php-sysvshm php-tclink php-tcpwrap php-tidy php-xml php-xmlrpc php-zip php-ini curl libcurl4-devel perl-libwww-perl ImageMagick

Inicia Apache:

/etc/init.d/httpd restart

12.1 Deshabilitar PHP Globalmente

(Si no planeas instalar ISPConfig en este servidor, ¡por favor salta esta sección!)

En ISPConfig configurarás PHP por sitio web, es decir, puedes especificar qué sitio web puede ejecutar scripts PHP y cuál no. Esto solo puede funcionar si PHP está deshabilitado globalmente porque de lo contrario todos los sitios web podrían ejecutar scripts PHP, sin importar lo que especifiques en ISPConfig.

Edita /etc/httpd/modules.d/70_mod_php.conf y comenta las líneas AddType:

vi /etc/httpd/modules.d/70_mod_php.conf

| LoadModule php5_module extramodules/mod_php5.so # AddType application/x-httpd-php .php # AddType application/x-httpd-php .phtml # AddType application/x-httpd-php-source .phps DirectoryIndex index.php index.phtml |

Edita /etc/httpd/conf/httpd.conf y agrega la siguiente línea a la sección LoadModule:

vi /etc/httpd/conf/httpd.conf

| [...] LoadModule php5_module extramodules/mod_php5.so [...] |

(Aunque esta línea ya está en /etc/httpd/modules.d/70_mod_php.conf, esto es muy importante porque de lo contrario el comando

httpd -t

reportará errores en lugar de Syntax OK cuando los hosts virtuales creados por ISPConfig contengan líneas como php_admin_flag safe_mode On o algo similar!)

Reinicia Apache:

/etc/init.d/httpd restart
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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