Instalando un servidor web en Centos. (II) Instalando servidores

En el articulo anterior, vimos como preparar una maquina con Centos para que se convierta en un eficiente servidor web y de correo electrónico, para ello, le añadimos repositorios auxiliares ahora ya os podéis conectar desde vuestro programa favorito SSH; por ejemplo: Putty, para empezar a instalar los servicios que necesitamos

Tras conectarnos e identificarnos, pasamos a instalar un programa para mantener sincronizados los horarios (ntp), el servidor Apache (httpd), el motor de base de datos (mysql-server)  y el Php y los módulos necesarios con una orden:

# yum -y install ntp httpd mod_ssl php php-mysql php-mbstring

Para instalar mysql, y como después instalaremos Virtualmin, nos interesa utilizar la versión compatible; para ello, utilizaremos el modulo que se encuentra en los repositorios de MySQL compatibles con nuestra versión:

cd /tmp
wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum localinstall mysql-community-release-el6-5.noarch.rpm 
yum install mysql-community-server

Continuamos instalando nuestro programa para acceder al correo. Aunque nuestro programa de correo será Postfix, para poder acceder vía POP3 e IMAP, necesitamos instalar Dovecot, que se encarga de esas funciones. Hacemos:

# yum -y install dovecot dovecot-mysql

y a continuación creamos un fichero de configuración vacío y un enlace en /etc:

# touch /etc/dovecot/dovecot-sql.conf
# ln -s /etc/dovecot/dovecot-sql.conf /etc/dovecot-sql.conf

Ya podemos iniciar dovecot, y dejarlo configurado para que se inicie cada vez que se arranque la maquina

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

dovecot instalado y funcionando, vamos ahora por Postfix con algo tan simple como:

# yum -y install postfix

Al terminar, ya estará instalado y pasamos a desactivar “sendmail” y a activar “postfix”:

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

Configuramos “mysql” para que se inicie con el sistema, y arrancamos nuestro servidor de bases de datos

# chkconfig --levels 235 mysqld on
# /etc/init.d/mysqld start

Nuestro siguiente paso es asegurar la instalación de “MySQL”, para ello, en las ultimas versiones han incorporado un script que nos va ayudando; lo iniciamos con:

# mysql_secure_installation

2014-11-18_13h21_22

  1. Durante la instalación de MySQL se crea el usuario “root” sin contraseña; por lo que aqui nos bastará dar “Intro” sin teclear nada.
  2. Le vamos a indicar (Y) porque es conveniente (casi imprescindible) el proteger nuestro poderoso “root” con contraseña
  3. Tecleamos la contraseña que deseamos tenga root, Insisto en la necesidad que sea larga, y difícil de conseguir por fuerza bruta.
  4. Repetimos la contraseña tecleada en (3)

2014-11-18_13h26_41

  1. (Y) para borrar el usuario anónimo que se creo durante la instalación
  2. (Y) para evitar que un usuario “root” pueda conectarse de manera remota a nuestra base de datos
  3. (Y) para borrar la base de datos de prueba que se creo durante la instalación
  4. (Y) para grabar todos los cambios y volver a cargar el nuevo entorno de seguridad.

A partir de este momento, tenemos nuestra base de datos razonablemente segura,.

Vamos a configurar nuestro servidor Apache para que arranque con la maquina, y vamos a ponerlo en marcha

# chkconfig --levels 23 httpd on
# /etc/init.d/httpd start

Ahora podéis abrir un navegador web, escribir la dirección IP del servidor y comprobar la pagina de prueba de Apache que os indica que ya está funcionando.

Apache_PruebaRealmente, en este momento tenemos en marcha todos los servicios principales de la web: Apache, Mysql, Postfix.

Pero aun nos queda trabajo por hacer. Vamos a instalar el antivirus y antispam

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

De paso, también hemos instalado las utilidades de compresión y descompresión que utilizan internamente estos programas para actualizar sus ficheros de datos.

Ahora debemos actualizar las reglas de Spamassassins (sa-update), configurar todos los módulos para que arranquen con el sistema, y ponerlos en marcha; para ello hacemos:

# sa-update
# chkconfig --levels 23 amavisd on
# chkconfig --del clamd
# chkconfig --levels 23 clamd.amavisd on
# /usr/bin/freshclam
# /etc/init.d/amavisd start
# /etc/init.d/clamd.amavisd start

Sistema de correo resuelto; nos toca implementar los módulos mas habituales para php:

# yum -y install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel

Instalamos “python” y reiniciamos Apache

# yum -y install mod_python
# /etc/init.d/httpd restart

Vamos a instalar ahora nuestro servidor FTP

# yum -y install proftpd
# chkconfig --level 23 proftpd on

Revisamos por ultima vez que nuestro servidor tiene el nombre bien asignado:

2014-11-18_19h06_40

 

Recordad que nuestro ordenado a tener un nombre con la estructura que aparece en la imagen:

nombre_maquina.nombre_dominio.tld

y ya estamos preparados para instalar virtualmin, cosa que haremos en el siguiente artículo.

 

Acerca de Miguel Garcia

Programador, Desarrollador web, Formador en distintas areas de informatica y director de equipos multidisciplinares.
Esta entrada fue publicada en Formacion, Instalar linux, Linux y etiquetada , , . Guarda el enlace permanente.

2 respuestas a Instalando un servidor web en Centos. (II) Instalando servidores

  1. Pingback: Instalando un servidor web en Centos. Preparacion (I)Recursos para formacion

  2. Pingback: Instalando un servidor web en Centos. (IV)- Instalar CSFRecursos para formacion

Deja un comentario