Debian Server Install

  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Debian Server Install as PDF for free.

More details

  • Words: 4,102
  • Pages: 35
Instalación de un servidor Debian Por: Gary Ariel Sandi Vigabriel Versión 0.2

Instalación de un servidor Debian 1. Introducción Si bien tenemos una gran cantidad de manuales y howto's dentro la web, en este mini tutorial trataremos de concentrar la mayor parte de configuraciones que hacen a un servidor Debian. Este mini tutorial le mostrara como realizar la instalación de un servidor Debian Lenny (Debian 5.0) con las siguientes características: a) Servidor DNS. b) Registrar correctamente el nombre DNS. c) SMTP-AUTH y TLS. d) Servidor ProFTPD. e) Servidor MySQL. f) Courier POP3/IMAP. g) Servidor SVN. Usaremos el siguiente software para tal propósito: •

Servidor Web: Apache 2.2.9 con PHP 5.2.6, Python y Ruby



Servidor de Base de Datos: MySQL 5.0.51a



Servidor de Correos: Postfix



Servidor DNS: BIND9



Servidor FTP: proftpd



POP3/IMAP: Courier-POP3/Courier-IMAP.



Estadísticas del servidor: Webalizer



Subversion.

2. Requisitos. Es de conocimiento general que un equipo que funciona como servidor con tareas como el servicio de ftp, web, proxy, base de datos u otros es una maquina con características de hardware sumamente potentes en la mayoría de los casos y por lo general existen personas que como yo usan un hardware sencillo para ir haciendo practicas de la configuración, seria como hacer una construcción a pequeña escala para luego hacerlo a gran escala, en este mini tutorial usaremos el siguiente hardware: Procesador PIII de 750Mhz Memoria Ram de 768Mb Disco duro de 40Gb

1 Tarjetas de Red 10/100 1 Tarjeta Módem 56 kbps 1 Lector de DVD Esta es la configuración del equipo que usare para este mini tutorial obviamente puede aplicarse a cualquier equipo con características incluso mejores. Debian no es exigente en los requisitos de hardware y por ello no encontraremos problema alguno en cualquier configuración de hardware, ya sea este actual o hardware antiguo e incluso en algunos casos (como el mio) anticuado. 3. Imágenes de CD o DVD Las imágenes ISO de CD o DVD con Debian la puede descargar en el sitio oficial http://www.debian.org/ o en http://cdimage.debian.org/ descargue la imagen que vea conveniente, en el presente mini tutorial usaremos la imagen de instalación en DVD i386. También puede realizar la instalación desde la imagen mínima de instalación descargando la imagen ISO del CD desde: http://cdimage.debian.org/debian-cd/5.0.0/i386/iso-dvd/debian-500-i386-netinst.iso Una vez descargada la imagen de CD o DVD que selecciono proceda a grabarla en un CD o DVD dependiendo de su elección. 4. Nota Preliminar. En el presente mini tutorial tome en cuenta que debe reemplazar el ip 192.168.1.100 por el ip que tenga asignado por su ISP en caso de no tenerlo simplemente asigne uno que se acomode a sus necesidades, así también es requerimiento cambiar la puerta de enlace 192.168.1.1 y también es imprescindible cambiar el hostname titan.sandi.org de acuerdo al dominio que registro en internet (esto se hace previo pago a un ente regulador de nombres de dominio como lo hacen (por ejemplo) en http://www.nic.bo). 5. Instalación de Debian. Generalmente para un servidor, ya sea este de datos, web, base de datos, ftp, dns, proxy u otro generalmente no es imprescindible el uso del entorno gráfico, el pilar de todo servidor es principalmente la velocidad de procesamiento con la que cuenta el equipo o la velocidad de respuesta a una petición del usuario o cliente, tomando en cuenta ello podemos percatarnos que el uso de un entorno gráfico no es imprescindible. Salvo algunos casos donde si es un requerimiento principal, por lo cual en este mini tutorial no instalaremos ningún entorno gráfico.

5.1. Instalación del sistema Base. Procedemos a la instalación del sistema base, para ello deberemos configurar nuestro BIOS de manera que podamos arrancar el PC desde el CD o DVD. Estas son las pantallas de instalación para Debian Lenny, le servirán de guiá en la instalación del sistema base. La primera pantalla indica el modo en el cual instalaremos Debian, podemos escoger hacerlo de manera gráfica o en modo texto (este es el modo que usaremos), seleccionamos la primera opción y continuamos.

En la segunda pantalla seleccionamos el idioma del entorno, seleccionamos spanish, español y continuamos.

En la tercera pantalla el instalador de Debian nos solicita que seleccionemos nuestro pais o territorio, seleccionamos Bolivia (si corresponde).

En la cuarta pantalla Debian solicita que seleccionemos el tipo de teclado que usamos, en este caso es un teclado genérico de 104 teclas en español.

En la quinta pantalla Debian hace un chequeo general del CD o DVD.

En la 6ta Pantalla Debian descarga e instala componentes necesarios para la instalación.

En la 7ma pantalla Debian detecta el hardware de red que tenemos en nuestro equipo.

En la 8va Pantalla Debian intenta configurar la tarjeta de red mediante DHCP.

En la 9na pantalla Debian, Solicitara el nombre del equipo, en mi caso puse titan, pero puedes reemplazar ese nombre por uno que veas conveniente.

En la 10ma Pantalla Debian solicitara el nombre del dominio en este caso, Sandi.org puedes cambiar el nombre del dominio por uno que hayas adquirido o simplemente poner cualquier otro dominio para probar.

En la 11va pantalla Debian solicita el modo de particionado del disco duro, es importante tener claro de que manera realizaremos las particiones.

En la 12va Pantalla (como estoy instalando en un disco completamente nuevo) Debian pregunta si se hara una nueva tabla de particiones en el dispositivo.

En la 13va Pantalla una vez terminado el particionado que obviamente puede diferir de la que yo hize, procedemos a formatear y continuar.

14va pantalla es una verificación del particionamiento que aceptamos si estamos seguros de lo que hicimos en el disco.

En la 15va Debian comienza con el formateo de particiones.

En la pantalla 16 Debian comienza a instalar el sistema Base minimo.

En la pantalla 17 Debian solicitara la contraseña que asignaremos al superusuario (root), debemos poner una contraseña sumamente fuerte, al mensionar “fuerte” nos referimos a una contraseña que contenga caracteres minusculas, mayusculas, numero y simbolos por ejemplo una contraseña fuerte seria: #T2!d3b&4n13nn&

En la pantalla 18 repetimos la contraseña para confirmar.

En la pantalla 19 escribimos el nombre del administrador del equipo

En la pantalla 20 escribimos el nombre corto del administrador.

En la pantalla 21 escribimos una contraseña que de ser posible debe tener la misma fuerza que la contraseña de root.

En la pantalla 22 Repetimos la contraseña del administrador del equipo.

En la pantalla 22 Debian automáticamente configura apt.

En la pantalla 23 Debian pregunta si tenemos otros medios de instalación adicionales tal el caso de los otros 4 DVD's de Debian si los tenemos los añadimos en mi caso solo tengo el 1er DVD así que no es necesario para mi.

En la pantalla 24 Debian pregunta si queremos contribuir con las estadísticas de paquetes que son instalados frecuentemente.

En la pantalla 25 Debian solicitara que se seleccione los programas a ser instalados, pero como mencionamos anteriormente solo requerimos de una instalación base sin entorno gráfico por lo cual solo seleccionamos Sistemas estándar y continuamos.

En la pantalla 26 Debian Instala el Sistema Base.

En la pantalla 27 Debian realiza algunas configuraciones adicionales, y el equipo se reinicia expulsando antes el CD o DVD y pidiendo la confirmación de instalación de GRUB en el sector principal de arranque (a lo cual respondemos con SI).

Pantalla de GRUB Debian.

Primera pantalla luego del inicio (boot) que por cierto llego solo a 21 segundos en el tiempo de arranque, nada mal para una Pentium III.

6. Instalar un servidor SSH. Debian Lenny no instala un servidor OpenSSH en la instalación por defecto, por lo cual deberá instalarlo manualmente con el siguiente comando: apt-get install ssh openssh-server Se le solicitara que vuelva a introducir el CD o DVD del cual instalo Debian. 7. Configurar la interfaz de Red (Tarjeta de Red) Si su sistema no obtiene el IP desde un servidor DHCP deberá configurar su interfaz de red manualmente de la siguiente manera. nano /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 Ahora reinicie la interfaz de red (tarjeta de red) con el siguiente comando: /etc/init.d/networking restart

8. Configurar el archivo hosts y registrando el nombre definitivo del PC. Posteriormente debes configurar el archivo hosts, para este ejemplo usaremos el nombre sandi.org puedes reemplazarlo por el dominio que tengas registrado. nano /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.1.100 titan.sandi.org titan # The following lines are desirable for IPv6 capable hosts #::1 ip6-localhost ip6-loopback #fe00::0 ip6-localnet #ff00::0 ip6-mcastprefix #ff02::1 ip6-allnodes #ff02::2 ip6-allrouters #ff02::3 ip6-allhosts Nota: tenga en cuenta que procedió a poner en comentarios las lineas correspondientes al ipv6 ya que aún no son necesarias, de ser necesarias para usted esta en la libertad de des comentarlas. Para configurar el nombre del equipo de manera correcta debe ejecutar el siguiente comando en la consola: echo titan.sandi.org > /etc/hostname /etc/init.d/hostname.sh start

Verifique que el nombre esta establecido correctamente con el siguiente comando: hostname hostname -f En ambos casos debería ver el nombre que añadió en la linea anterior: titan.sandi.org Ahora es posible acceder a su equipo remotamente con la ayuda de PuTTY u otro software de conexión remota. 9. Actualizar la Instalación de Debian. Este paso es imprescindible para instalar y/o actualizar el sistema base desde los repositorios oficiales de Debian Lenny, primero debe editar su archivo sources.list de la siguiente manera. nano /etc/apt/sources.list # # deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 DVD Binary-1 20090214-16:54]/ lenny contrib main

#deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 DVD Binary-2 20090214-16:54]/ lenny contrib main deb http://security.debian.org/ lenny/updates main contrib deb-src http://security.debian.org/ lenny/updates main contrib deb http://ftp.fr.debian.org/debian/ lenny main deb-src http://ftp.fr.debian.org/debian/ lenny main

Luego de añadir las lineas a su sources.list ejecute las siguientes órdenes. apt-get update apt-get upgrade Esto para instalar y/o actualizar la instalación actual de Debian Lenny. Nota: Recuerde que si no tiene una conexión a Internet no debe realizar este paso. 10. Instalación de Software adicional. Ahora debemos instalar los siguientes paquetes: apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.6-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential Nota: este comando debe ir en una sola linea en la consola. 11. Servidor DNS. Debe instalar bin9 para poder configurar un servidor DNS: apt-get install bind9 Es recomendable que siga la siguiente configuración para enjaular (hacer chroot) de Bind9, por razones de seguridad: /etc/init.d/bind9 stop Edite el archivo /etc/default/bind9 de manera que este quede de la siguiente manera. nano /etc/default/bind9 # run resolvconf? RESOLVCONF=yes # startup options for the server OPTIONS="-u bind -t /var/lib/named" Es necesario crear los directorios en /var/lib/named mkdir -p /var/lib/named/etc mkdir /var/lib/named/dev mkdir -p /var/lib/named/var/cache/bind mkdir -p /var/lib/named/var/run/bind/run

Ahora debe mover el directorio desde /etc a /var/lib/named/etc : mv /etc/bind /var/lib/named/etc Debe crear un enlace simbólico en /etc para no tener problemas con algunas variables de entornos: ln -s /var/lib/named/etc/bind /etc/bind Establezca y corrija los permisos para los directorios: mknod /var/lib/named/dev/null c 1 3 mknod /var/lib/named/dev/random c 1 8 chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random chown -R bind:bind /var/lib/named/var/* chown -R bind:bind /var/lib/named/etc/bind Ahora debe crear el archivo bind-chroot.conf en /etc/rsyslog.d/ para que el archivo bindchroot.conf almacene todos los logs de error o peligro. nano /etc/rsyslog.d/bind-chroot.conf $AddUnixListenSocket /var/lib/named/dev/log Reinicie el servicio de logs: /etc/init.d/rsyslog restart Inicie BIND y verifique si tiene algún error en /var/log/syslog: /etc/init.d/bind9 start 12. Estableciendo el nombre de dominio con Bind9 Para crear y registrar un nombre de dominio correctamente recuerde lo siguiente: a) No omita ningún punto al final de aluna linea. b) Verifique el numero de serial recuerde también incrementarlo correctamente. c) Verifique el nombre y la ubicación correcta de los archivos que se crearan. d) Compruebe la configuración con el comando tail -f /var/log/syslog Primero modifique el archivo /etc/resolv.conf de la siguiente manera. nano /etc/resolv.conf nameserver 127.0.0.1 nameserver 192.168.1.100 Ubíquese en la ruta /etc/bind/. cd /etc/bind/ Ahora debe crear el directorio para la zona principal y ubicarse dentro del directorio de la zona principal. mkdir -p /etc/bind/zones/master/

cd /etc/bind/zones/master/ Debemos crear los archivos de la zona principal de la siguiente manera: Primero el archivo db.sandi.org (el nombre debe cambiarlo a su requerimiento) con el siguiente contenido. nano db.sandi.org ; ; BIND data file for example.com ; $TTL 604800 @ IN SOA sandi.org. admin.sandi.org. ( 2009040901 ; Serial 7200 ; Refresh 120 ; Retry 2419200 ; Expire 604800) ; Default TTL ; @ IN NS sandi.org. sandi.org. IN MX 10 mail.sandi.org. sandi.org. IN A 192.168.1.100 www IN CNAME sandi.org. mail IN A 192.168.1.100 ftp IN CNAME sandi.org. El numero de serial es importante ya que cada que realizamos un cambio en alguna linea del archivo o solo por poner un punto o un espacio es necesario cambiar algo del serial, por ejemplo al final del serial del archivo puse un 01 ese deberá incrementarse a 02 la siguiente vez que modifiquemos algo del archivo. Ahora debemos crear el archivo rev.1.168.192.in-addr.arpa (el nombre debe cambiarlo a su requerimiento) este archivo es la zona inversa de sandi.org es importante ya que sin este paso puede ser que los correos electrónicos no salgan ni lleguen de manera correcta el archivos debe tener el siguiente contenido. nano rev.1.168.192.in-addr.arpa $TTL 1d ; $ORIGIN 11.129.190.IN-ADDR.ARPA. @ IN SOA titan.sandi.org. admin.sandi.org. ( 2009040901 7200 120 2419200 604800 ) ;el numero 100 es el ip en si, por ejemplo 192.168.1.100 ;debemos cambiar ese numero por el que corresponda. IN NS titan.sandi.org. 100 IN PTR titan.sandi.org.

Una vez creados y guardados los 3 archivos debemos modificar el archivo named.conf con mucho cuidado. nano /etc/bind/named.conf.local ///indicamos la zona principal zone "sandi.org" { notify no; type master; file "/etc/bind/zones/master/db.sandi.org"; }; zone "1.168.192.in-addr.arpa"{ type master; file "/etc/bind/zones/master/rev.1.168.192.in-addr.arpa"; }; Guardamos y probamos la configuración. /etc/init.d/bind9 restart Luego para verificar si todo esta bien: tail -f /var/log/syslog Si muestra algún error debemos corregirlo, y no olvidar cambiar el serial, en caso contrario probamos el dominio con uno de los siguientes métodos: En la consola con dig: dig -x www.sandi.org En la consola con host: host www.sandi.org host 192.168.1.100 13. MySql Instale MySql Server y MySql Client con el siguiente comando: apt-get install mysql-server mysql-client libmysqlclient15-dev Durante el proceso de instalación el asistente le solicitara la contraseña para MySQL. New password for the MySQL "root" user: <-- passworpararoot Repeat password for the MySQL "root" user: <-- repitaelpasswordpararoot Antes de hacer cualquier otra configuración debe editar el archivo /etc/mysql/my.cnf y comentar la linea: bind-address = 127.0.0.1: nano /etc/mysql/my.cnf [...] #bind-address [...]

= 127.0.0.1

Ahora reinicie el servicio de MySql /etc/init.d/mysql restart Con la órden netstat -tap verifique el estado del servidor MySql. netstat -tap La salida de este comando es: tcp

0

0 *:mysql

*.*

LISTEN

3281/mysqld

14. Postfix con SMTP-AUTH y TLS Para instalar Postfix con SMTP-AUTH y TLS debe seguir los siguientes pasos: apt-get install postfix sasl2-bin libsasl2-modules procmail Responda de la siguiente manera: General type of configuration? <-- Internet Site Mail name? <-- sandi.org Ejecute: dpkg-reconfigure postfix Nuevamente responda: General type of configuration? <-- Internet Site Where should mail for root go <-- [blank] Mail name? <-- titan.sandi.org Other destinations to accept mail for? (blank for none) <-- titan.sandi.org, localhost.sandi.org, localhost.localdomain, localhost Force synchronous updates on mail queue? <-- No Local networks? <-- 127.0.0.0/8 Use procmail for local delivery? <-- Yes Mailbox size limit <-- 0 Local address extension character? <-- + Internet protocols to use? <-- all Luego: 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' echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf Luego debe crear los cetificados TLS OJO que estos pasos se deben hacer uno por uno y no copiar y pegar el texto a la consola de lo contrario tendremos algunos errores:

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 Ahora configure Postfix para usarlo conjuntamente con TLS no olvide cambiar “sandi.org” de la primera linea por el dominio que esta usando actualmente: postconf -e 'myhostname = sandi.org' 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' El archivo /etc/postfix/main.cf debería quedar así: nano /etc/postfix/main.cf # See /usr/share/postfix/main.cf.dist for a commented, more complete version # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. #myorigin = /etc/mailname smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h readme_directory = no # TLS parameters smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt

smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key smtpd_use_tls = yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. myhostname = server1.example.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = server1.example.com, localhost.example.com, localhost.localdomain, localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_authenticated_header = yes smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination smtpd_tls_auth_only = no smtp_use_tls = yes smtp_tls_note_starttls_offer = yes smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom Ahora: mkdir -p /var/spool/postfix/var/run/saslauthd Ahora edite /etc/default/saslauthd para activar. Edite la linea START y ponga yes cambie la linea OPTIONS="-c" to OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r": nano /etc/default/saslauthd # # Settings for saslauthd daemon # Please read /usr/share/doc/sasl2-bin/README.Debian for details. # # Should saslauthd run automatically on startup? (default: no)

START=yes # Description of this saslauthd instance. Recommended. # (suggestion: SASL Authentication Daemon) DESC="SASL Authentication Daemon" # Short name of this saslauthd instance. Strongly recommended. # (suggestion: saslauthd) NAME="saslauthd" # Which authentication mechanisms should saslauthd use? (default: pam) # # Available options in this Debian package: # getpwent -- use the getpwent() library function # kerberos5 -- use Kerberos 5 # pam -- use PAM # rimap -- use a remote IMAP server # shadow -- use the local shadow password file # sasldb -- use the local sasldb database file # ldap -- use LDAP (configuration is in /etc/saslauthd.conf) # # Only one option may be used at a time. See the saslauthd man page # Example: MECHANISMS="pam" MECHANISMS="pam" # Additional options for this mechanism. (default: none) # See the saslauthd man page for information about mech-specific options. MECH_OPTIONS="" # How many saslauthd processes should we run? (default: 5) # A value of 0 will fork a new process for each connection. THREADS=5 # Other options (default: -c -m /var/run/saslauthd) # Note: You MUST specify the -m option or saslauthd won't run! # # WARNING: DO NOT SPECIFY THE -d OPTION. # The -d option will cause saslauthd to run in the foreground instead of as # a daemon. This will PREVENT YOUR SYSTEM FROM BOOTING PROPERLY. If you wish # to run saslauthd in debug mode, please run it by hand to be safe. # # See /usr/share/doc/sasl2-bin/README.Debian for Debian-specific information. # See the saslauthd man page and the output of 'saslauthd -h' for general # information about these options. # # Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd" #Debe escribirse correctamente la linea de abajo: OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

Añada postfix al grupo sasl: adduser postfix sasl Ahora reinicie postfix e inicie saslauthd: /etc/init.d/postfix restart /etc/init.d/saslauthd start Para ver si SMTP-AUTH y TLS funcionan apropiadamente haga lo siguiente: telnet localhost 25 Posteriormente escriba: ehlo localhost Tiene que notar las siguientes lineas 250-STARTTLS también lo siguiente. 250-AUTH PLAIN LOGIN titan:/etc/postfix/ssl# telnet localhost 25 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. 220 titan.sandi.org ESMTP Postfix (Debian/GNU) ehlo localhost 250-titan.sandi.org 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 “Escriba quit y pulse enter para salir.” quit 221 2.0.0 Bye Connection closed by foreign host. 15. Courier-IMAP/Courier-POP3 En esta sección se configurará Courier-IMAP/Courier-POP3 (para IMAPs en el puerto 993) también Courier-POP3/Courier-POP3-SSL (para POP3 en el puerto 995): Ejecute la siguiente el siguiente comando para instalar los paquetes necesarios: apt-get install courier-authdaemon courier-base courier-imap courier-imap-ssl courier-pop courier-pop-ssl courier-ssl gamin libgamin0 libglib2.0-0

Responda de la siguiente manera a las preguntas del asistente: Create directories for web-based administration ? <-- No SSL certificate required <-- Ok El asistente crea los certificados de manera automatica debe borrarlos y crear certificados nuevos: cd /etc/courier rm -f /etc/courier/imapd.pem rm -f /etc/courier/pop3d.pem También debe modificar el archivo /etc/courier/imapd.cnf y nano /etc/courier/pop3d.cnf estos archivos deben quedar así en la linea indicada: nano /etc/courier/imapd.cnf [...] CN=sandi.org [...] nano /etc/courier/pop3d.cnf [...] CN=sandi.org [...] Ahora crearemos los certificados: mkimapdcert && mkpop3dcert Ahora reiniciamos Courier-IMAP-SSL y Courier-POP3-SSL: /etc/init.d/courier-imap-ssl restart /etc/init.d/courier-pop-ssl restart Configure Postfix para enviar los emails al directorio Maildir* de cada usuario: postconf -e 'home_mailbox = Maildir/' postconf -e 'mailbox_command =' /etc/init.d/postfix restart 16. Apache2 y PHP5 Ahora instalaremos apache2 apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert Ahora instalaremos PHP5, Ruby y Python: apt-get install libapache2-mod-php5 libapache2-mod-ruby libapache2-modpython php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear

php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-suhosin php5tidy php5-xcache php5-xmlrpc php5-xsl Habilitamos los módulos ssl, rewrite, suexec, include. a2enmod ssl a2enmod rewrite a2enmod suexec a2enmod include Reiniciamos Apache2: /etc/init.d/apache2 force-reload Para tener activo el modulo de ruby y corregir el problema con los archivos .rbx debe editar el archivo /etc/mime.types: nano /etc/mime.types [...] #Esta linea debe ser comentada. #application/x-ruby [...]

rb

17. Servidor FTP con ProFTPD Instale el servidor con el siguiente comando: apt-get install proftpd ucf Responda a la pregunta del asistente de la siguiente manera: Run proftpd: <-- standalone Por razones de seguridad edite el archivo /etc/proftpd/proftpd.conf nano /etc/proftpd/proftpd.conf [...] DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...] Debe crear un enlace simbólico de /etc/proftpd/proftpd.conf a /etc/proftpd.conf ln -s /etc/proftpd/proftpd.conf /etc/proftpd.conf Reinicie el servicio de proftpd: /etc/init.d/proftpd restart

18. Webalizer Instale webalizer: apt-get install webalizer Para tener estadísticas del servidor, puede verlas en: http://localhost/webalizer 19. Servidor SVN Ejecute el siguiente comando para instalar los paquetes necesarios para el servidor SVN: apt-get install ssh apache2 libapache2-mod-php5 subversion libapache2-svn Debe crear un repositorio de prueba llamado test: mkdir /var/svn/ svnadmin create --fs-type fsfs /var/svn/test Procedemos a testearlo: mkdir ~/TEMP/ echo "Testing" > ~/TEMP/test.txt svn import -m "Testing via ssh+svn" ~/TEMP/ svn+ssh://localhost/var/svn/test/trunk svn co svn+ssh://localhost/var/svn/test/trunk testcheckout Verificamos con: svnlook tree /var/svn/myproject/ Otorgamos permisos: chown -R www-data:www-data /var/svn/* chmod -R 770 /var/svn/* Activamos SVN en apache2 a2enmod dav a2enmod dav_svn Creamos las respectivas cuentas de usuario: htpasswd -c /etc/apache2/svn.passwd usuario_principal htpasswd /etc/apache2/svn.passwd usuario_secundario htpasswd /etc/apache2/svn.passwd usuario_secundario_2 Añadimos las siguientes lineas al archivo /etc/apache2/mods-available/dav_svn.conf nano /etc/apache2/mods-available/dav_svn.conf [...] AuthUserFile /etc/apache2/svn.passwd Require valid-user #SSLRequireSSL <-- note this is commented out [...] Reiniciamos el servidor apache y verificamos el repositorio en http://localhost/test:

/etc/init.d/apache2 force-reload Generamos un certificado: openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem Cambiamos los permisos del certificado: chmod 600 /etc/apache2/apache.pem Modificamos o añadimos la siguiente linea al archivo /etc/apache2/ports.conf nano /etc/apache2/ports.conf Listen 443 Modificamos el archivo /etc/apache2/sites-available/default nano /etc/apache2/sites-available/default #Cambiar: NameVirtualHost * por NameVirtualHost *:80 NameVirtualHost *:443 #Cambiar:por #añadir esto al final del archivo. ServerAdmin webmaster@localhost SSLEngine on SSLCertificateFile /etc/apache2/apache.pem

Añadimos las siguientes lineas al archivo /etc/apache2/mods-available/dav_svn.conf nano /etc/apache2/mods-available/dav_svn.conf [...] DAV svn SVNPath /var/svn/test AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user SSLRequireSSL [...] Verificamos el modulo ssl:

a2enmod ssl Otorgamos los permisos finales: chown -R www-data:www-data /var/svn/* chmod -R 770 /var/svn/* Reiniciamos el servidor apache: /etc/init.d/apache2 force-reload Verificamos el repositorio en https://localhost/test Ahora creamos el archivo de permisos con el siguiente contenido: nano /etc/apache2/svn_ACL [groups] readwritegrp = usuario_principal, usuario_secundario readgrp = usuario_secundario_2 [/] @readwritegrp = rw @readgrp = r [/myproject_site/trunk] @readwritegrp = rw @readgrp = r Añadimos la linea AuthzSVNAccessFile /etc/apache2/svn_ACL al archivo /etc/apache2/mods-available/dav_svn.conf nano /etc/apache2/mods-available/dav_svn.conf [...] DAV svn SVNPath /var/svn/test AuthType Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd Require valid-user SSLRequireSSL AuthzSVNAccessFile /etc/apache2/svn_ACL [...] Reiniciamos apache y listo: /etc/init.d/apache2 force-reload Bibliografia y referencias: http://www.debian.org http://www.howtoforge.com

Related Documents