* Imagenes de instalación de las versiones estables para Mageia y OpenMandriva.

OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.

Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.

Como instalar un Servidor Apache, Mysql, Bind9, Dovecot, Postfix, FTP en Mandriva (Actualizado)

Bueno he visto que hay mucha documentacion en ingles sobre el tema de configurar sevidores en Linux, pero hasta ahora no he visto ninguno que los junte todos para una sola distribucion y en nuestra lengua. Quiero decir antes de empezar que no hay una sola forma de hacer las cosas en Linux, podemos llegar a Roma por muchas vias y la que yo voy a exponer aqui es la que yo uso, cada cual (Ed hunter) que use la que le sea mas facil, no os compliqueis. Gracias

Super Servidor Madriva 2009 free
Version: 0.5
Traducido a su manera: Aceror
Revisiones: drakedalfa - de blogdrake.net [Gracias]
Titulo Orinal: The Perfect Server - Mandriva 2009.0 Free (i386)
Version 1.2
Author: Falko Timme <ft [at] falkotimme [dot] com>

PRESENTACION DE PAQUETES

Cuando nos ponemos delante de un Ordenador con Linux nos entra esa vena "HACKER" y creemos que somos unos maquinas a los mandos de nuestro teclado. Cuando mas agusto estas en casa viendo "Entre Fantasmas" aparece el tipico colega que se cree el "HACKER" y te pide que le ayudes por que no quiere quedar mal en la empresa, asi que para evitar futuros cortes de mi serie favorita, he decidido cortar por lo sano, crear este Manual en castellano y que sea lo que dios diga ;)

Un servidor quiere decir que es un ordenador (Dedicado, o no) a dar servicios a la Intranet o Extranet de la empresa, como puede ser servidor de paginas webs con accesos a una base de datos (Apache + Mysql...LAMP), servidor de recursos compartidos (SERVIDOR Samba), servidor de nombre (SERVIDOR DNS), servidor de acceso a carpetas a ordenadores fuera de nuestra red local (SERVIDOR FTP), servidor de salida de correo (SERVIDOR SMTP) o servidor de entrada de correo (SERVIDOR POP3,IMAP) entre otros, por todavia queda una larga lista de servidores en Linux (Ej: Sevidor sshd, NETLAN(RPV)...)

PONIENDONOS EN SITUACION

Doy por sentado que ya tenemos el Mandriva instalado y la tarjeta de red configurada tambien doy por sentado que habeis actualizado los repositorios de Mandriva

Para este Servidor usare esta configuracion de red (La tuya puede variar segun tu red)

IP PC: 192.168.0.100
IP PASARELA: 192.168.0.1
Nombre del HOST(PC): aceror1.ejemplo.com

MANOS A LA OBRA

Primero configuramos nuestro fichero /etc/hosts

#vi /etc/hosts

Y lo dejamos asi

127.0.0.1               localhost.localdomain localhost
192.168.0.100           aceror1.ejemplo.com aceror1

Ahora configuramos el nombre de nuestro PC

#echo aceror1.ejemplo.com > /etc/hostname
#/bin/hostname -F /etc/hostname

Instalamos los paquetes que vamos a necesitar en nuestra primera fase de instalacion

#urpmi fetchmail wget bzip2 unzip zip nmap openssl lynx fileutils ncftp flex libxorg-x11-devel gcc gcc-c++

Añadimos un paquete "Quota" que nos permitirá asignales a nuestros usuarios un limite de disco duro, para que no nos saturen el rigido (HDD)

#urpmi quota

Editamos /etc/fstab y agregamos usrquota,grpquota al punto de montaje de la particion /

#vi /etc/fstab

Añadimos lo que esta en negrita

# Entry for /dev/sda6 :
UUID=b258edec-9613-11dd-99c4-457f04a19dca / ext3 <strong>relatime,usrquota,grpquota</strong> 1 1

Ahora ejecutamos

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

SERVIDOR DE NOMBRE DE DOMINIO (DNS SERVER)

Para instalar el servidor de dominios usaremos:

#urpmi bind

El servidor BIND de Mandriva 2009 Free crear unas carpetas con permisos para que solo root pueda acceder a ellas, asi que tenemos una forma de solucionarlo (Opcional):

#cd /var/lib/named/var
#mkdir -p lib/named/var
#cd lib/named/var
#ln -s ../../../named/ named
#ln -s ../../../run/ run
#cp /var/lib/named/var/named/reverse/named.local /var/lib/named/var/named/

y despues ejecutamos el siguiente comando para que autoarranque

#chkconfig named on

Ya estamos listos para arrancar nuestro servidor de nombres:

#/etc/init.d/named start

INSTALANDO MYSQL

Para los que no lo sepan, MySql es el servidor de base de datos preferido de Linux. Instalar el servidor de Mysql es tan facil como:

# urpmi MySQL MySQL-client libmysql15-devel

Solo queda crear un arranque automatico en el arranque

#chkconfig mysqld on

Ahora arrancamos el servidor

#/etc/init.d/mysqld start

Como no deseamos que nadie entre en la base de datos con permisos de administrador hacemos

#mysqladmin -u root password contraseñadelroot
#mysqladmin -h aceror1.ejemplo.com -u root password contraseñadelroot

Postfix con SMTP-AUTH y TLS; Dovecot

Instalando los paquetes necesarios para el proceso de instalacion del servidor de correo

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

Y ejecutamos

#postconf -e 'mydestination = /etc/postfix/local-host-names, localhost.$mydomain'
#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_sasl_authenticated_header = 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

A la hora de ejecutar el siguiente comando, no olvides cambiar los valores "ejemplo.com" y "aceror1" por los tuyos

#postconf -e 'mydomain = ejemplo.com'
#postconf -e 'myhostname = aceror1.$mydomain'

Tenemos que editar "vi /etc/sasl2/smtpd.conf"

#vi /etc/sasl2/smtpd.conf

Fijate en los siguiente parametros y tienen que quedarse así:

# SASL library configuration file for postfix
# all parameters are documented into:
# /usr/share/doc/cyrus-sasl/options.html
# The mech_list parameters list the sasl mechanisms to use,
# default being all mechs found.
mech_list:         plain login
# To authenticate using the separate saslauthd daemon, (e.g. for
# system or ldap users). Also see /etc/sysconfig/saslauthd.
pwcheck_method:    saslauthd
saslauthd_path:    /var/lib/sasl2/mux
# To authenticate against users stored in sasldb.
#pwcheck_method:    auxprop
#auxprop_plugin:    sasldb
#sasldb_path:       /var/lib/sasl2/sasl.db

Debido a un bug de vi saslauthd tenemos que editar vi /etc/sysconfig/saslauthd para solucionarlo

... Y cambia SASL_AUTHMECH de pam a shadow:

# $Id: saslauthd.sysconfig,v 1.1 2001/05/02 10:55:48 wiget Exp $
# Authentications mechanism (for list see saslauthd -v)
SASL_AUTHMECH=shadow
# Hostname for remote IMAP server (if rimap auth mech is used)
# Ldap configuration file (if ldap auth mech is used)
SASL_MECH_OPTIONS=
# Extra options (for list see saslauthd -h)
SASLAUTHD_OPTS=

Creamos el certificado SSL el cual es 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 configuramos Postfix con 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'

Lo siguiente será configurar Dovecot para que sirva con a los protocolos imap, pop3 y pop3s.

#vi /etc/dovecot.conf

[...]
# Protocols we want to be serving: imap imaps pop3 pop3s
# If you only want to use dovecot-auth, you can set this to "none".
protocols = imap imaps pop3 pop3s
[...]
disable_plaintext_auth = no
[...]
  pop3_uidl_format = %08Xu%08Xv
[...]

Debido a un bug que podemos leer aqui tenemos que cambiar algunas cosas en Dovecot

#cd /etc/rc3.d
#mv S99ntpd S98ntpd
#mv S54dovecot S99dovecot
#cd /etc/rc4.d
#mv S99ntpd S98ntpd
#mv S54dovecot S99dovecot
#cd /etc/rc5.d
#mv S99ntpd S98ntpd
#mv S54dovecot S99dovecot

#chkconfig postfix on

Y como no estamos seguros de que todo el tinglado funciones a la primera, reiniciemos el servicio y veamos que pasa

#/etc/init.d/postfix restart
#/etc/init.d/saslauthd restart
#/etc/init.d/dovecot restart

Para probar que sirve ejecuta lo siguiente

#telnet localhost 25

Si has entrado en localhost y quieres responder al servidor con el siguiente comando, sabras si todo ha ido bien

ehlo localhost

Configurando MAILDIR

Dovecot usa por defecto el directorio maildir y no mbox que es el que usan muchos prograamasde correo

#postconf -e 'home_mailbox = Maildir/'
#postconf -e 'mailbox_command ='
#/etc/init.d/postfix restart

Bien, hasta ahora no sido nada dicifil, ya que con estas instrucciones todo tiene que ir sobre ruedas

Ahora toca la parte mas facil, instalar el servidor de paginas web.

#urpmi apache-mod_suexec apache-mod_ssl apache-mod_php apache-mod_ruby 

#urpmi apache-mod_python libphp5_common5 php-bz2 php-calendar php-ctype
 
#urpmi php-curl php-devel php-dio php-dom php-eaccelerator php-enchant 

#urpmi php-esmtp php-event php-exif php-fam php-ffmpeg php-fileinfo 

#urpmi php-filepro php-ftp php-gd php-gettext php-gmp php-iconv php-id3 

#urpmi php-idn php-imap php-imlib2 php-mailparse php-mbstring php-mcache 

#urpmi php-mcrypt php-mhash php-ming php-mysql php-mysqli php-ncurses 

#urpmi php-newt php-odbc php-oggvorbis php-pcntl php-pcre php-pear-Net_IDNA 

#urpmi php-posix php-pspell php-readline php-recode php-session php-shmop 

#urpmi php-simplexml php-snmp php-soap php-sockets php-sqlite php-ssh2 

#urpmi php-suhosin php-sysvmsg php-sysvsem php-sysvshm php-tclink php-tcpwrap 

#urpmi php-tidy php-xml php-xmlrpc php-zip php-ini curl libcurl4-devel 

#urpmi perl-libwww-perl ImageMagick

Cuando el comando haya acabado tenemos que indicarle a nuestro Mandriva que deseamos que arranque el servidor en el startup-system, o sea en español, arranque del sistema ;)

#chkconfig httpd on
#/etc/init.d/httpd restart

Con esto ya tenemos el servidor apache funcionando

Como necesitamos un servidor de ficheros remotos usaremos el famoso Proftpd, instalarlo no tiene ninguna dificultad

#urpmi proftpd

Por razones de seguridad (Un bug) editaremos el fichero de configuracion de proftpd y añadiremos unas lineas

#vi /etc/proftpd.conf

Agregaremos esto

-----------------
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."
----------------------------------

Y comentaremos estas lineas para que los usuarios ftp puedan entrar solo en la carpeta que les pertezca

# Bar use of SITE CHMOD by default
#
#    DenyAll
#

Cerraremos el fichero guardando la configuracion actual

Reinicia el servicio proftpd

#/etc/init.d/proftpd restart

Y listo ya tenemos un servidor mas en red.

Saludos