GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

El servidor perfecto - CentOS 5.7 x86_64 [ISPConfig 3]

El Servidor Perfecto - CentOS 5.7 x86_64 [ISPConfig 3]

Este tutorial muestra cómo preparar un servidor CentOS 5.7 x86_64 para la instalación de ISPConfig 3 y cómo instalar ISPConfig 3. ISPConfig 3 es un panel de control de alojamiento web que le permite configurar los siguientes servicios a través de un navegador web:Servidor web Apache, Postfix servidor de correo, MySQL, servidor de nombres BIND, PureFTPd, SpamAssassin, ClamAV y muchos más.

Tenga en cuenta que esta configuración no funciona para ISPConfig 2 ! ¡Es válido solo para ISPConfig 3!

¡No emito ninguna garantía de que esto funcione para usted!

Para aprender a usar ISPConfig 3, recomiendo descargar el Manual de ISPConfig 3.

En aproximadamente 300 páginas, cubre el concepto detrás de ISPConfig (administrador, revendedores, clientes), explica cómo instalar y actualizar ISPConfig 3, incluye una referencia para todos los formularios y campos de formulario en ISPConfig junto con ejemplos de entradas válidas y proporciona tutoriales para las tareas más comunes en ISPConfig 3. También explica cómo hacer que su servidor sea más seguro y viene con una sección de solución de problemas al final.

1 Requisitos

Para instalar dicho sistema, necesitará lo siguiente:

  • Descargue los dos DVD de CentOS 5.7 o los ocho CD de CentOS 5.7 desde un espejo cercano (la lista de espejos se puede encontrar aquí:http://isoredirect.centos.org/centos/5/isos/x86_64/) .
  • una conexión rápida a Internet.

2 Nota Preliminar

En este tutorial utilizo el nombre de host server1.example.com con la dirección IP 192.168.0.100 y la puerta de enlace 192.168.0.1. Estas configuraciones pueden diferir para usted, por lo que debe reemplazarlas cuando corresponda.

3 Instalar el sistema base

Arranque desde su primer CD de CentOS 5.7 (CD 1) o el primer DVD de CentOS 5.7. Presione en el indicador de arranque:

Puede llevar mucho tiempo probar los medios de instalación, por lo que nos saltamos esta prueba aquí:

Aparece la pantalla de bienvenida del instalador de CentOS. Haga clic en Siguiente:

Elija su idioma a continuación:

Seleccione su diseño de teclado:

Estoy instalando CentOS 5.7 en un sistema nuevo, así que respondo Sí a la pregunta ¿Le gustaría inicializar esta unidad y borrar TODOS LOS DATOS?

Ahora debemos seleccionar un esquema de partición para nuestra instalación. En aras de la simplicidad, selecciono Eliminar particiones de Linux en unidades seleccionadas y creo un diseño predeterminado. Esto dará como resultado una partición /boot pequeña y una partición / grande, así como una partición de intercambio. Por supuesto, eres libre de particionar tu disco duro como quieras. Luego presiono Siguiente:

Responda la siguiente pregunta (¿Está seguro de que desea hacer esto?) con Sí:

En la configuración de red. La configuración predeterminada aquí es configurar las interfaces de red con DHCP, pero estamos instalando un servidor, por lo que las direcciones IP estáticas no son una mala idea... Haga clic en el botón Editar en la parte superior derecha.

En la ventana que aparece, desmarque Configuración de IP dinámica (DHCP) y Habilite la compatibilidad con IPv6 y asigne a su tarjeta de red una dirección IP estática (en este tutorial estoy usando la dirección IP 192.168.0.100 para fines de demostración) y una máscara de red adecuada (por ejemplo, 255.255.255.0; si no está seguro de los valores correctos, http://www.subnetmask.info podría ayudarlo):

Establezca el nombre de host manualmente, p. server1.example.com e ingrese una puerta de enlace (por ejemplo, 192.168.0.1) y hasta dos servidores DNS (por ejemplo, 8.8.8.8 y 145.253.2.75):

Elige tu zona horaria:

Dale una contraseña a root:

El servidor perfecto - CentOS 5.7 x86_64 [ISPConfig 3] - Página 2

4 Ajustar /etc/hosts

A continuación, editamos /etc/hosts. Haz que se vea así:

vi /etc/hosts

5 Configurar direcciones IP adicionales

(Esta sección es totalmente opcional. Solo muestra cómo agregar direcciones IP adicionales a su interfaz de red eth0 si necesita más de una dirección IP. Si está de acuerdo con una dirección IP, puede omitir esta sección).

Supongamos que nuestra interfaz de red es eth0. Luego hay un archivo /etc/sysconfig/network-scripts/ifcfg-eth0 que contiene la configuración de eth0. Podemos usar esto como muestra para nuestra nueva interfaz de red virtual eth0:0:

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0

Ahora queremos usar la dirección IP 192.168.0.101 en la interfaz virtual eth0:0. Por lo tanto, abrimos el archivo /etc/sysconfig/network-scripts/ifcfg-eth0:0 y lo modificamos de la siguiente manera (podemos omitir la línea HWADDR ya que es la misma tarjeta de red física):

vi /etc/sysconfig/network-scripts/ifcfg-eth0:0
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
192.168.0.100           server1.example.com server1
::1             localhost6.localdomain6 localhost6

Luego tenemos que reiniciar la red:

/etc/init.d/network restart

También es posible que desee ajustar /etc/hosts después de haber agregado nuevas direcciones IP, aunque esto no es necesario.

Ahora ejecuta

ifconfig

Ahora debería ver su nueva dirección IP en el resultado:

[[email protected] ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:89:71:35
          inet addr:192.168.0.100  Bcast:192.168.0.255  Máscara:255.255. 255.0
          UP BROADCAST EN EJECUCIÓN MULTICAST  MTU:1500  Métrico:1
          Paquetes RX:307 errores:0 caídos:0 desbordamientos:0 marco:0
          Paquetes TX:251 errores:0 desperdiciados:0 desbordamientos :0 carrier:0
          colisiones:0 txqueuelen:1000
          Bytes RX:29217 (28,5 KiB) bytes TX:45961 (44,8 KiB)

eth0:0    Encap de enlace:Ethernet HWaddr 00:0C:29:89:71:35
          dirección inet:192.168.0.101  Bcast:192.168.0.255  Máscara:255.255.255.0
          UP BROADCAST EN EJECUCIÓN MULTICAST  br />15
lo        Link encap:Local Loopback
          dirección inet:127.0.0.1  Máscara:255.0.0.0
          UP LOOPBACK EN EJECUCIÓN  MTU:16436  Métrica:1
          Paquetes RX caídos:0 errores :0 desbordamientos:0 fotograma:0
          Paquetes de TX:8 errores:0 caídos:0 desbordamientos:0 operador:0
          colisiones:0 txqueuelen:0
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)

[[email protected] ~]#

6 Deshabilitar el firewall y SELinux

(Puede omitir este capítulo si ya ha deshabilitado el firewall y SELinux al final de la instalación básica del sistema (en el Agente de configuración).)

Quiero instalar ISPConfig al final de este tutorial que viene con su propio firewall. Es por eso que deshabilito el firewall predeterminado de CentOS ahora. Por supuesto, puede dejarlo encendido y configurarlo según sus necesidades (pero luego no debe usar ningún otro firewall, ya que probablemente interferirá con el firewall de CentOS).

SELinux es una extensión de seguridad de CentOS que debería proporcionar seguridad extendida. En mi opinión, no lo necesitas para configurar un sistema seguro, y suele causar más problemas que ventajas (piensa en ello después de haber realizado una semana de resolución de problemas porque algún servicio no estaba funcionando como se esperaba, y luego descubra que todo estaba bien, solo SELinux estaba causando el problema). Por lo tanto, también lo deshabilito (esto es obligatorio si desea instalar ISPConfig más adelante).

Ejecutar

system-config-securitylevel

Establezca el nivel de seguridad y SELinux en Deshabilitado y presione Aceptar:

Posteriormente debemos reiniciar el sistema:

reboot

7 Instalar algún software

Primero importamos las claves GPG para los paquetes de software:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Habilite los repositorios contrib y centosplus:

vi /etc/yum.repos.d/CentOS-Base.repo

Edite las líneas a continuación:

# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0:0
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.101
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes

Luego actualizamos nuestros paquetes existentes en el sistema:

yum update

Ahora instalamos algunos paquetes de software que se necesitarán más adelante:

yum groupinstall 'Development Tools'
yum groupinstall 'Development Libraries'

8 Cuota

(Si ha elegido un esquema de particionamiento diferente al que yo elegí, debe ajustar este capítulo para que la cuota se aplique a las particiones donde lo necesita).

Para instalar la cuota, ejecutamos este comando:

yum install quota

Edite /etc/fstab y agregue,usrquota,grpquota a la partición / (/dev/VolGroup00/LogVol00):

vi /etc/fstab
[base]
[...]
exclude=postfix
[...]
[updates]
[...]
exclude=postfix
[...]
[centosplus]
[...]
enabled=1
includepkgs=postfix
[...]
[contrib]
[...]
enabled=1
[...]

Entonces corre

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

para habilitar la cuota.

9 Instalar Apache, MySQL, phpMyAdmin

Primero habilitamos el repositorio RPMforge en nuestro sistema CentOS ya que muchos de los paquetes que vamos a instalar en el transcurso de este tutorial no están disponibles en los repositorios oficiales de CentOS 5.7:

wget http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
rpm --importar RPM-GPG-KEY.dag.txt

cd /tmp
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
rpm -ivh rpmforge-release- 0.5.2-2.el5.rf.x86_64.rpm

(Si el enlace anterior ya no funciona, puede encontrar la versión actual de rpmforge-release aquí:http://packages.sw.be/rpmforge-release/)

Luego podemos instalar los paquetes necesarios con un solo comando:

yum install ntp httpd mysql-server php php-mysql php-mbstring php-mcrypt phpmyadmin

El servidor perfecto - CentOS 5.7 x86_64 [ISPConfig 3] - Página 4

10 Instalar Dovecot

Hay un paquete Dovecot en el repositorio de CentOS, pero desafortunadamente no es compatible con MySQL. Por lo tanto, debemos eliminar el Dovecot existente e instalar otro paquete Dovecot (de ATrpms) que viene con soporte MySQL.

yum remove dovecot

Cree un nuevo archivo /etc/yum.repos.d/atrpms.repo...

vi /etc/yum.repos.d/atrpms.repo

... e inserte las siguientes líneas en el archivo:

/dev/VolGroup00/LogVol00 /                       ext3    defaults,usrquota,grpquota        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0

Luego importe la clave tge gpg del repositorio atrpm...

wget http://ATrpms.net/RPM-GPG-KEY.atrpms
rpm --importar RPM-GPG-KEY.atrpms

...e instalar Dovecot:

yum install dovecot dovecot-sieve

En un sistema de 64 bits, también haga esto (¡no haga esto en un sistema de 32 bits!):

ln -s /usr/lib64/dovecot/ /usr/lib/dovecot

Ahora creamos los enlaces de inicio del sistema para Dovecot:

chkconfig --levels 235 dovecot on
/etc/init.d/dovecot start

Si Dovecot no se inicia con el siguiente error:

Fatal: listen(::, 143) failed: Address already in use

... abre /etc/dovecot.conf...

vi /etc/dovecot.conf 

... y agregue la línea listen =*:

[atrpms]
name=Red Hat Enterprise Linux 5 - $basearch - ATrpms
baseurl=http://dl.atrpms.net/el5-$basearch/atrpms/stable
failovermethod=priority
exclude=dovecot-2*
includepkgs=dovecot dovecot-sieve

#
# requires stable
#
[atrpms-testing]
name=Red Hat Enterprise Linux 5 - $basearch - ATrpms testing
baseurl=http://dl.atrpms.net/el5-$basearch/atrpms/testing
failovermethod=priority
enabled=1
exclude=dovecot-2*
includepkgs=dovecot dovecot-sieve

#
# requires stable and testing
#
[atrpms-bleeding]
name=Red Hat Enterprise Linux 5 - $basearch - ATrpms bleeding
baseurl=http://dl.atrpms.net/el5-$basearch/atrpms/bleeding
failovermethod=priority
enabled=0

Luego intente iniciar Dovecot nuevamente:

/etc/init.d/dovecot start 

11 Instalar Postfix con soporte MySQL

El paquete Postfix "normal" del repositorio de CentOS no tiene MySQL, pero el paquete Postfix del repositorio de CentOS Plus sí. Por lo tanto, eliminamos Postfix...

yum remove postfix

... y vuelva a instalarlo, esta vez desde el repositorio de CentOS Plus:

yum install postfix   

Luego apague Sendmail e inicie Postfix y MySQL:

chkconfig --niveles 235 mysqld en
/etc/init.d/mysqld start

chkconfig --levels 235 sendmail off
chkconfig --levels 235 postfix on
/etc/init.d/sendmail stop
/etc/init.d/postfix start

12 Instalar Getmail

Getmail se puede instalar de la siguiente manera:

yum install getmail

13 Establecer contraseñas de MySQL y configurar phpMyAdmin

Establecer contraseñas para la cuenta raíz de MySQL:

mysql_secure_installation

[[email protected] tmp]# mysql_secure_installation




NOTA: SE RECOMIENDA EJECUTAR TODAS LAS PARTES DE ESTE SCRIPT PARA TODOS MySQL
      SERVIDORES EN PRODUCCIÓN ¡USAR! ¡POR FAVOR, LEA CADA PASO CUIDADOSAMENTE!


Para iniciar sesión en MySQL para protegerlo, necesitaremos la contraseña actual
para el usuario root. Si acaba de instalar MySQL y
aún no ha establecido la contraseña raíz, la contraseña estará en blanco,
por lo que solo debe presionar Intro aquí.

Introducir contraseña actual para root (ingresar para ninguno):
OK, contraseña utilizada con éxito, continuando...

Configurar la contraseña de root garantiza que nadie pueda iniciar sesión en MySQL
root usuario sin la autorización adecuada.

¿Establecer contraseña root? [Y/n] <-- ENTRAR
Nueva contraseña: <-- turootsqlpassword
Vuelve a introducir nueva contraseña: <-- turootsqlpassword
¡La contraseña se actualizó correctamente!
Recargando tablas de privilegios. .
 ... ¡Éxito!


De forma predeterminada, una instalación de MySQL tiene un usuario anónimo, permitiendo que cualquiera
inicie sesión en MySQL sin tener que tener una cuenta de usuario creado para
ellos. Esto solo está diseñado para realizar pruebas y para que la instalación
sea un poco más sencilla. Debe eliminarlos antes de pasar a un
entorno de producción.

¿Eliminar usuarios anónimos? [S/n] <-- ENTRAR
 ... ¡Éxito!

Normalmente, solo debería permitirse que el root se conecte desde 'localhost'. Esto
garantiza que nadie pueda adivinar la contraseña raíz de la red.

¿Deshabilitar el inicio de sesión raíz de forma remota? [S/n] <-- ENTRAR
 ... ¡Éxito!

De forma predeterminada, MySQL viene con una base de datos llamada 'prueba' a la que cualquiera puede
acceder. Esto también está diseñado solo para pruebas y debe eliminarse
antes de pasar a un entorno de producción.

¿Eliminar la base de datos de prueba y acceder a ella? [S/n] <-- ENTRAR
 - Eliminación de la base de datos de prueba...
 ... ¡Éxito!
 - Eliminación de privilegios en la base de datos de prueba...
 ... Éxito !

Al volver a cargar las tablas de privilegios, se asegurará de que todos los cambios realizados hasta el momento
se apliquen de inmediato.

¿Recargar las tablas de privilegios ahora? [S/n] <-- ENTRAR
 ... ¡Éxito!

Limpiando...



¡Todo hecho! Si completó todos los pasos anteriores, su instalación de MySQL
ahora debería ser segura.

¡Gracias por usar MySQL!


[ejemplo @unixlinux.online tmp]#

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

vi /etc/httpd/conf.d/phpmyadmin.conf
[...]
#listen = *, [::]
listen = *
[...]

A continuación, cambiamos la autenticación en phpMyAdmin de cookie a http:

vi /usr/share/phpmyadmin/config.inc.php
#
#  Web application to manage MySQL
#

#<Directory "/usr/share/phpmyadmin">
#  Order Deny,Allow
#  Deny from all
#  Allow from 127.0.0.1
#</Directory>

Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin

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

chkconfig --levels 235 httpd en
/etc/init.d/httpd start

Ahora puede dirigir su navegador a http://server1.example.com/phpmyadmin/ o http://192.168.0.100/phpmyadmin/ e iniciar sesión con el nombre de usuario raíz y su nueva contraseña raíz de MySQL.

14 Instalar Amavisd-new, SpamAssassin y ClamAV

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

yum install amavisd-new spamassassin clamav clamd unzip bzip2 unrar perl-DBD-mysql

Abra /etc/sysconfig/amavisd...

vi /etc/sysconfig/amavisd

... y descomente la línea CONFIG_FILE="/etc/amavisd.conf":

[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]

Luego comenzamos con freshclam, amavisd y clamd...

sa-update
chkconfig --levels 235 amavisd en
chkconfig --levels 235 clamd en
/usr/bin/freshclam
/etc/init.d/amavisd start
/etc/init.d/clamd inicio

... y crea algunos directorios necesarios:

mkdir /var/run/amavisd /var/spool/amavisd /var/spool/amavisd/tmp /var/spool/amavisd/db
chown amavis /var/run/amavisd /var/spool/amavisd /var/ spool/amavisd/tmp /var/spool/amavisd/db
ln -s /var/run/clamav/clamd.sock /var/spool/amavisd/clamd.sock

El servidor perfecto - CentOS 5.7 x86_64 [ISPConfig 3] - Página 5

15 Instalando Apache2 con mod_php, mod_fcgi/PHP5 y suPHP

ISPConfig 3 le permite usar mod_php, mod_fcgi/PHP5, cgi/PHP5 y suPHP por sitio web.

mod_fcgid no está disponible en los repositorios oficiales de CentOS, pero hay un paquete para CentOS 5.x en el repositorio de pruebas centos.karan.org. Habilitamos el repositorio de la siguiente manera:

cd /etc/yum.repos.d/
wget http://centos.karan.org/kbsingh-CentOS-Extras.repo

A continuación abrimos /etc/yum.repos.d/kbsingh-CentOS-Extras.repo...

vi /etc/yum.repos.d/kbsingh-CentOS-Extras.repo

... y establezca gpgcheck en 0 y habilite en 1 en la sección [kbs-CentOS-Testing]:

### Uncomment this if you want to use amavis with sendmail milter interface.
### See README.milter for details.
#
#MILTER_SOCKET="local:/var/amavis/amavis-milter.sock"
#MILTER_SOCKET="[email protected]"

### These are other defaults.
#AMAVIS_ACCOUNT="amavis"
CONFIG_FILE="/etc/amavisd.conf"
#MILTER_FLAGS=""

Luego podemos instalar Apache2 con mod_php5, mod_fcgid y PHP5:

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 cambie el informe de errores (para que los avisos ya no se muestren) y agregue cgi.fix_pathinfo =1 al final del archivo:

[...]
# pkgs in the -Testing repo are not gpg signed
[kbs-CentOS-Testing]
name=CentOS.Karan.Org-EL$releasever - Testing
gpgcheck=0
gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt
enabled=1
baseurl=http://centos.karan.org/el$releasever/extras/testing/$basearch/RPMS/

A continuación instalamos suPHP:

cd /tmp
wget http://suphp.org/download/suphp-0.7.1.tar.gz
tar xvfz suphp-0.7.1.tar.gz
cd suphp-0.7 .1/
./configure --prefix=/usr --sysconfdir=/etc --with-apr=/usr/bin/apr-1-config --with-apxs=/usr/sbin/apxs --with-apache-user=apache --with-setid-mode=propietario --with-php=/usr/bin/php-cgi --with-logfile=/var/log/httpd/suphp_log --enable- SUPHP_USE_USERGROUP=sí
hacer
hacer instalación

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

vi /etc/httpd/conf.d/suphp.conf
[...]
;error_reporting  =  E_ALL
error_reporting = E_ALL & ~E_NOTICE
[...]
cgi.fix_pathinfo = 1

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

vi /etc/suphp.conf
LoadModule suphp_module modules/mod_suphp.so

Finalmente reiniciamos Apache:

/etc/init.d/httpd restart

15.1 Rubí

A partir de la versión 3.0.3, ISPConfig 3 tiene soporte integrado para Ruby. En lugar de usar CGI/FastCGI, ISPConfig depende de que mod_ruby esté disponible en el Apache del servidor.

Para CentOS 5.7, no hay un paquete mod_ruby disponible, por lo que debemos compilarlo nosotros mismos. Primero instalamos algunos requisitos previos:

yum install httpd-devel ruby ruby-devel

A continuación descargamos e instalamos mod_ruby de la siguiente manera:

cd /tmp
wget http://modruby.net/archive/mod_ruby-1.3.0.tar.gz
tar zxvf mod_ruby-1.3.0.tar.gz
cd mod_ruby-1.3 .0/
./configure.rb --with-apr-includes=/usr/include/apr-1
hacer
hacer instalación

Finalmente debemos agregar el módulo mod_ruby a la configuración de Apache, por lo que creamos el archivo /etc/httpd/conf.d/ruby.conf...

vi /etc/httpd/conf.d/ruby.conf
[global]
;Path to logfile
logfile=/var/log/httpd/suphp.log
;Loglevel
loglevel=info
;User Apache is running as
webserver_user=apache
;Path all scripts have to be in
docroot=/
;Path to chroot() to before executing script
;chroot=/mychroot
; Security options
allow_file_group_writeable=true
allow_file_others_writeable=false
allow_directory_group_writeable=true
allow_directory_others_writeable=false
;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=true
;Send minor error messages to browser
errors_to_browser=false
;PATH environment variable
env_path=/bin:/usr/bin
;Umask to set, specify in octal notation
umask=0077
; Minimum UID
min_uid=100
; Minimum GID
min_gid=100
[handlers]
;Handler for php-scripts
x-httpd-suphp="php:/usr/bin/php-cgi"
;Handler for CGI-scripts
x-suphp-cgi="execute:!self"

... y reinicie Apache:

/etc/init.d/httpd restart

15.2WebDAV

WebDAV ya debería estar habilitado, pero para verificar esto, abra /etc/httpd/conf/httpd.conf y asegúrese de que los siguientes tres módulos estén activos:

vi /etc/httpd/conf/httpd.conf
LoadModule ruby_module modules/mod_ruby.so

Si tiene que modificar /etc/httpd/conf/httpd.conf, no olvide reiniciar Apache después:

/etc/init.d/httpd restart

16 Instalar PureFTPd

PureFTPd se puede instalar con el siguiente comando:

yum install pure-ftpd

Luego cree los enlaces de inicio del sistema e inicie PureFTPd:

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

Ahora configuramos PureFTPd para permitir sesiones FTP y TLS. FTP es un protocolo muy inseguro porque todas las contraseñas y todos los datos se transfieren en texto claro. Mediante el uso de TLS, toda la comunicación se puede cifrar, lo que hace que el FTP sea mucho más seguro.

TLS necesita OpenSSL; para instalar OpenSSL, simplemente ejecutamos:

yum install openssl

Abra /etc/pure-ftpd/pure-ftpd.conf...

vi /etc/pure-ftpd/pure-ftpd.conf

Si desea permitir sesiones FTP y TLS, establezca TLS en 1:

[...]
LoadModule auth_digest_module modules/mod_auth_digest.so
[...]
LoadModule dav_module modules/mod_dav.so
[...]
LoadModule dav_fs_module modules/mod_dav_fs.so
[...]

Para usar TLS, debemos crear un certificado SSL. Lo creo en /etc/ssl/private/, por lo tanto, primero creo ese directorio:

mkdir -p /etc/ssl/private/

Posteriormente, podemos generar el certificado SSL de la siguiente manera:

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Nombre del país (código de 2 letras) [GB]:<-- Ingrese el nombre de su país (por ejemplo, "DE").
Nombre del estado o provincia (nombre completo) [Berkshire]:<-- Ingrese su estado o provincia Nombre.
Nombre de la localidad (p. ej., ciudad) [Newbury]:<-- Ingrese su ciudad.
Nombre de la organización (p. ej., empresa) [My Company Ltd]:<-- Ingrese el nombre de su organización (p. ej., , el nombre de su empresa).
Nombre de la unidad organizativa (p. ej., sección) []:<-- Ingrese el nombre de su unidad organizativa (p. ej., "Departamento de TI").
Nombre común (p. ej., su nombre o el nombre de host de su servidor) []:<-- Ingrese el nombre de dominio completo del sistema (por ejemplo, "servidor1.ejemplo.com").
Dirección de correo electrónico []:<-- Ingrese su dirección de correo electrónico.

Cambiar los permisos del certificado SSL:

chmod 600 /etc/ssl/private/pure-ftpd.pem

Finalmente reinicie PureFTPd:

 /etc/init.d/pure-ftpd restart

Eso es todo. Ahora puede intentar conectarse usando su cliente FTP; sin embargo, debe configurar su cliente FTP para usar TLS.

17 Instalar un servidor DNS chroot (BIND9)

Para instalar un BIND9 chroot, hacemos esto:

yum install bind-chroot

Entonces haz esto:

chmod 755 /var/con nombre/
chmod 775 /var/con nombre/chroot/
chmod 775 /var/con nombre/chroot/var/
chmod 775 /var/con nombre/chroot/var/ con nombre/
chmod 775 /var/con nombre/chroot/var/run/
chmod 777 /var/con nombre/chroot/var/run/con nombre/
cd /var/con nombre/chroot/ var/named/
ln -s ../../ chroot
touch /var/named/chroot/var/named/named.local
cp /usr/share/doc/bind -9.3.6/sample/var/named/named.root /var/named/chroot/var/named/named.root
touch /var/named/chroot/etc/named.conf.local
vi /var/nombrado/chroot/etc/nombrado.conf

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.
TLS                      1
[...]

chkconfig --niveles 235 nombrados en
/etc/init.d/named start

BIND se ejecutará en un chroot jail bajo /var/named/chroot/var/named/. Usaré ISPConfig para configurar BIND (zonas, etc.).

18 Instalar Vlogger, Webalizer y AWStats

Vlogger, webalizer y AWStats se pueden instalar de la siguiente manera:

yum install webalizer awstats 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*

19 Instalar Jailkit

Solo se necesita Jailkit si desea chrootear a los usuarios de SSH. Se puede instalar de la siguiente manera (importante:Jailkit se debe instalar antes de ISPConfig - ¡no se puede instalar después!):

cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
tar xvfz jailkit-2.14.tar.gz
cd jailkit-2.14
./configure
make
make install
cd ..
rm -rf jailkit-2.14*

20 Instalar fail2ban

Esto es opcional pero recomendado, porque el monitor ISPConfig intenta mostrar el registro:

yum install fail2ban

chkconfig --levels 235 fail2ban en
/etc/init.d/fail2ban start

21 Instalar rkhunter

rkhunter se puede instalar de la siguiente manera:

yum install rkhunter

El servidor perfecto - CentOS 5.7 x86_64 [ISPConfig 3] - Página 6

22 Instalar SquirrelMail

Para instalar el cliente de correo web SquirrelMail, ejecute...

yum install squirrelmail

... y reinicie Apache:

/etc/init.d/httpd restart

Luego configure SquirrelMail:

/usr/share/squirrelmail/config/conf.pl

Debemos decirle a SquirrelMail que estamos usando Courier-IMAP/-POP3:

Configuración de SquirrelMail: Leer: config.php (1.4.0)
--------------------------------- ------------------------
Menú principal --
1. Preferencias de la organización
2. Configuración del servidor
3. Valores predeterminados de carpeta
4. Opciones generales
5. Temas
6. Libretas de direcciones
7. Mensaje del día (MOTD)
8. Complementos
9. Base de datos
10. Idiomas

D. Establecer configuraciones predefinidas para servidores IMAP específicos

C   Desactivar color 
S   Guardar datos
Q   Salir

Comando >> <-- D


Configuración de SquirrelMail: Leer: config.php
--------------------------- ------------------------------
Mientras construimos SquirrelMail, hemos descubierto algunas
preferencias que funcionan mejor con algunos servidores que no funcionan
tan bien con otros. Si selecciona su servidor IMAP, esta opción
establecerá algunas configuraciones predefinidas para ese servidor.

Tenga en cuenta que aún tendrá que revisar y asegurarse
de que todo es correcto. Esto no lo cambia todo. Hay
solo algunas configuraciones que esto cambiará.

Seleccione su servidor IMAP:
    bincimap    = Binc servidor IMAP
    courier     = Courier servidor IMAP
Cyrus =cyrus imap servidor
dovecot =dovecot seguro imap servidor
intercambio =microsoft intercambio imap servidor
hmailserver =hmailserver
macOSX =Mac OS X Mailserver
Mercury32 =Mercury /32
    uw          = Servidor IMAP de la Universidad de Washington

    salir        = No cambiar nada
Comando >> <-- dovecot


Configuración de SquirrelMail : Leer: config.php
------------------------------------------------------ ----------------------------------
Mientras construimos SquirrelMail, hemos descubierto algunas
preferencias que funcionan mejor con algunos servidores que no funcionan tan
bien con los demás. Si selecciona su servidor IMAP, esta opción
establecerá algunas configuraciones predefinidas para ese servidor.

Tenga en cuenta que aún tendrá que revisar y asegurarse
de que todo es correcto. Esto no lo cambia todo. Hay
solo algunas configuraciones que esto cambiará.

Seleccione su servidor IMAP:
    bincimap    = Binc servidor IMAP
    courier     = Courier servidor IMAP
Cyrus =cyrus imap servidor
dovecot =dovecot seguro imap servidor
intercambio =microsoft intercambio imap servidor
hmailserver =hmailserver
macOSX =Mac OS X Mailserver
Mercury32 =Mercury /32
    uw          = Servidor IMAP de la Universidad de Washington

    salir        = No cambiar nada
Comando >> dovecot

              imap_server_type = dovecot
default_folder_prefix =
Trash_folder =Trash
Sent_folder =SED
Draft_Folder =Drafts
show_prefix_option =false
default_sub_of_inbox =false
show_contain_subfolders_option =false
            opcional_delimitador = detectar
          delete_folder = false

Presione cualquier tecla para continuar... <-- presione una tecla


Configuración de SquirrelMail : Leer: config.php (1.4.0)
---------------------------------------------- -----------
Menú principal --
1. Preferencias de la organización
2. Configuración del servidor
3. Valores predeterminados de carpeta
4. Opciones generales
5. Temas
6. Libretas de direcciones
7. Mensaje del día (MOTD)
8. Complementos
9. Base de datos
10. Idiomas

D. Establecer configuraciones predefinidas para servidores IMAP específicos

C   Desactivar color 
S   Guardar datos
Q   Salir

Comando >> <--S


Configuración de SquirrelMail: Leer: config.php (1.4.0)
---------------------- --------------------------------------------------
Menú principal --
1. Preferencias de la organización
2. Configuración del servidor
3. Valores predeterminados de carpeta
4. Opciones generales
5. Temas
6. Libretas de direcciones
7. Mensaje del día (MOTD)
8. Complementos
9. Base de datos
10. Idiomas

D. Establecer configuraciones predefinidas para servidores IMAP específicos

C   Desactivar color 
S   Guardar datos
Q   Salir

Comando >> <--Q

Una última cosa que debemos hacer es modificar el archivo /etc/squirrelmail/config_local.php y comentar la variable $default_folder_prefix; si no hace esto, verá el siguiente mensaje de error en SquirrelMail después de que haya iniciado sesión :Consulta:CREAR "Enviado" Motivo dado:Nombre de buzón no válido.

vi /etc/squirrelmail/config_local.php
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        directory       "/var/named/chroot/var/named";
        dump-file       "/var/named/chroot/var/named/data/cache_dump.db";
        statistics-file "/var/named/chroot/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/chroot/var/named/data/named_mem_stats.txt";
        allow-query     { any; };
        recursion no;
        allow-recursion { none; };
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
        type hint;
        file "named.root";
};
include "/var/named/chroot/var/named/named.local";

Ahora puede escribir http://server1.example.com/webmail o http://192.168.0.100/webmail en su navegador para acceder a SquirrelMail.

23 Instalar ISPConfig 3

Para instalar ISPConfig 3 desde la última versión publicada, haga lo siguiente:

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install /instalar/

El siguiente paso es ejecutar

php -q install.php

Esto iniciará el instalador de ISPConfig 3:

[[email protected]ón en línea]# php -q instalación.php


----------------------- -------------------------------------------------- -------
 _____ ___________   _____              __ _         ____
|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
  | | `--. \  __/  | | / _ \| '_ \| _| |/ _` | |_ |
 _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
 \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
                                              __/ |
                                             |___/
----------------------------------------------------- ------------------------------------------


>> Configuración inicial

Sistema operativo: CentOS 5 o compatible

    Las siguientes serán algunas preguntas para la configuración principal, así que tenga cuidado.
    Valores predeterminados están entre [paréntesis] y se pueden aceptar con .
    Toque "salir" (sin las comillas) para detener el instalador.


Seleccione idioma (en, de) [en]: <-- ENTER

Modo de instalación (estándar, experto) [estándar]: <-- ENTER

Nombre de host completo calificado (FQDN) del servidor , p. ej. servidor1.dominio.tld  [servidor1.ejemplo.com]: <-- ENTRAR

Nombre de host del servidor MySQL [localhost]: <-- ENTRAR

Nombre de usuario raíz de MySQL [ root]: <-- ENTRAR

Contraseña raíz de MySQL []: <-- yourrootsqlpas espada

Base de datos MySQL para crear [dbispconfig]: <-- ENTRAR

Juego de caracteres MySQL [utf8]: <-- ENTRAR

Generando un 2048 bit RSA clave privada
...............+++
...+++
escribir nueva clave privada en 'smtpd.key'
-----
Está a punto de solicitarle que ingrese información que se incorporará
a su solicitud de certificado.
Lo que está a punto de ingresar es lo que se denomina Nombre distinguido o un DN.
Hay bastantes campos, pero puede dejar algunos en blanco
Para algunos campos habrá un valor predeterminado,
Si ingresa '.', el campo dejarse en blanco.
-----
Nombre del país (código de 2 letras) [GB]: <-- ENTRAR
Nombre del estado o provincia (nombre completo) [Berkshire]: <- - ENTRAR
Nombre de la localidad (p. ej., ciudad) [Newbury]: <-- ENTRAR
Nombre de la organización (p. ej., empresa) [My Company Ltd]: <-- ENTRAR
Nombre de la unidad organizativa ( ej., sección) []: <-- ENTRAR
Nombre común (por ej. su nombre o el nombre de host de su servidor) []: <-- ENTRAR
Dirección de correo electrónico ss []: <-- ENTER
Configurar Jailkit
Configurar Dovecot
Configurar Spamassassin
Configurar Amavisd
Configurar Getmail
Configurar Pureftpd
Configurar BIND
Configurar Apache
Configurar Vlogger
Configurar aplicaciones vhost
Configurar cortafuegos
Instalar ISPConfig
Puerto ISPConfig [8080]: <-- ENTRAR

Configurando DBServer
Instalando ISPConfig crontab
no crontab para root
no crontab para getmail
Reiniciando servicios...
Deteniendo MySQL:                                             
Inicio de MySQL:[OK]
Postfix de cierre:[OK]
Inicio Postfix:[OK]
Detener saslauthd:[fallido]
Inicio de Saslauthd:[OK]
Apagando Mail Virus Scanner (amavisd):    [  OK  ]
Iniciando Mail Virus Scanner (amavisd):                     [  OK  ]
Deteniendo Clam AntiVirus Daemon:                             [  OK          [  OK                                                     Br /> [OK]
Dovecot IMAP:[OK]
Si tiene problemas con las fallas de autenticación,
Habilitar la configuración de Auth_Debug. Consulte http://wiki.dovecot.org/WhyDoesItNotWork
Este mensaje desaparece después del primer inicio de sesión correcto.
Fatal: escuchar(::, 143) falló: la dirección ya está en uso
Iniciando Dovecot imap:[fallido]
detener httpd:[ok]
[lon 26 de septiembre 13:29:58 2011] [advertir] nameVirtualHost*:80 no tiene virtuales
iniciando httpd:[OK ]
Detener puro-ftpd:[ok]
iniciando puro-ftpd:[ok]
instalación completa.
[[email protected] install]#

El instalador configura automáticamente todos los servicios subyacentes, por lo que no es necesaria una configuración manual.

Si Dovecot no se inicia con el siguiente error:

Fatal: listen(::, 143) failed: Address already in use

... abre /etc/dovecot.conf...

vi /etc/dovecot.conf 

... y agregue la línea listen =*:

<?php

/**
 * Local config overrides.
 *
 * You can override the config.php settings here.
 * Don't do it unless you know what you're doing.
 * Use standard PHP syntax, see config.php for examples.
 *
 * @copyright &copy; 2002-2006 The SquirrelMail Project Team
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 * @version $Id: config_local.php,v 1.2 2006/07/11 03:33:47 wtogami Exp $
 * @package squirrelmail
 * @subpackage config
 */

//$default_folder_prefix                = '';
?>

Luego intente iniciar Dovecot nuevamente:

/etc/init.d/dovecot start

Luego puede acceder a ISPConfig 3 en http://server1.example.com:8080/ o http://192.168.0.100:8080/. Inicie sesión con el nombre de usuario admin y la contraseña admin (debe cambiar la contraseña predeterminada después de su primer inicio de sesión):

El sistema ya está listo para ser utilizado.

23.1 Manual ISPConfig 3

Para aprender a usar ISPConfig 3, recomiendo descargar el Manual de ISPConfig 3.

En aproximadamente 300 páginas, cubre el concepto detrás de ISPConfig (administrador, revendedores, clientes), explica cómo instalar y actualizar ISPConfig 3, incluye una referencia para todos los formularios y campos de formulario en ISPConfig junto con ejemplos de entradas válidas y proporciona tutoriales para las tareas más comunes en ISPConfig 3. También explica cómo hacer que su servidor sea más seguro y viene con una sección de solución de problemas al final.

24 Enlaces

  • CentOS:http://www.centos.org/
  • ISPConfig:http://www.ispconfig.org/

Panels
  1. El servidor perfecto - Fedora 15 x86_64 [ISPConfig 2]

  2. El servidor perfecto - Fedora 15 x86_64 [ISPConfig 3]

  3. El servidor perfecto - Ubuntu 11.04 [ISPConfig 3]

  4. El servidor perfecto - CentOS 5.6 x86_64 [ISPConfig 2]

  5. El servidor perfecto:CentOS 6.1 x86_64 con Apache2 [ISPConfig 3]

El servidor perfecto:CentOS 6.1 x86_64 con nginx [ISPConfig 3]

El servidor perfecto:CentOS 6.3 x86_64 (nginx, Dovecot, ISPConfig 3)

El servidor perfecto - CentOS 6.3 x86_64 (nginx, Courier, ISPConfig 3)

El servidor perfecto - CentOS 6.3 x86_64 (Apache2, Courier, ISPConfig 3)

El servidor perfecto:CentOS 6.4 x86_64 (nginx, Dovecot, ISPConfig 3)

El servidor perfecto - CentOS 6.4 x86_64 (Apache2, Dovecot, ISPConfig 3)

    [...]
    #listen = *, [::]
    listen = *
    [...]