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.0
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
6 comentarios:
Interesante manual de mandriva
Gracias, espero te sea util
Muy buen manual
disculpe no tengo los ficheros siguientes en mandriva 2008.1 .i586 como puedo solucionar, desde ya muy agradeido
#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
Wily tienes instalado el Dovecot??
Gracias por la respuesta
tengo instalado dovecot-1.0.13-1mdv2008.1.i586
cuando le doy
service dovecot start
me da este error
Iniciando IMAP daemon (dovecot): Fatal: listen(143) failed: Address already in use
[FALLÓ ]
Publicar un comentario