Instalando un servidor web en Centos. Preparacion (I)

Estos días he estado un poco liado instalando en una maquina Centos, un completo servidor web con Apache, PHP, MySQL, Postfix, Dovecot, Amavis, y Clamav, protegiendo la maquina con CSF, y como panel de control, hemos instalado Virtualmin.

De esta forma, y utilizando únicamente software gratuito  y Open Source podemos poner en marcha un potente servidor web que puede ser utilizado tanto para webs propias, como para un pequeño ISP con algunos cientos de webs.

En las siguientes lineas os explicaré como.

Lo primero de todo, el sistema operativo; hemos partido de una maquina virtual y al momento de contratarla, ya la pedimos con Centos 6.5, por lo que esa fase, nos la pudimos ahorrar, en caso de que necesites hacerlo, tampoco es muy difícil, aquí os explico como instalar un sistema de escritorio con Centos, solo deberéis cambiar el momento de elegir el software, en donde no deberéis seleccionar el entorno gráfico, y podéis dejar una instalación mínima, ya que el resto, lo haremos aquí.

A partir de este punto, nos conectamos con la herramienta que nos proporciones nuestro proveedor, para instalar SSH, y luego haremos el resto del trabajo, por medio de SSH.

Dependerá de donde hayáis contratado la maquina virtual, pero todos los proveedores facilitan una conexión de consola precisamente para los casos en que os quedéis sin conectividad.

En nuestro caso, hemos apostado por BudgetVM, En su caso, y tras contratar la maquina, para cuyo nombre, ya hemos escogido uno normalizado (neptuno.websdealquiler.es), dentro del dominio que hemos comprado con anterioridad (websdealquiler.es), nos aparece una pantalla semejante a esta:2014-11-17_11h20_06

Al  pulsar en el botón de “Ver Detalles”:

2014-11-17_11h20_06

nos aparece una pantalla para gestionar nuestra maquina:

BudgetVM_Gestion

Supongo que la mayoría de botones, tienen clara su funcionalidad, nosotros utilizaremos ahora el remarcado (Serial Console), que nos abrirá una ventana en la que se cargará un applet de java, para lo que tendréis que autorizar su ejecución, y poner a BudgetVM en la lista de sitios autorizados….

Para instalar SSH en Centos nos basta con:

yum -y install openssh-server openssh-client

y a continuación, lo configuramos para que arranque siempre

chkconfig sshd on

ya podemos iniciar el servicio

service sshd start

y ahora comprobamos que el puerto 22, el que utiliza SSH por defecto, esta abierto

netstat -tulpn | grep :22

La respuesta deberá ser algo semejante a esta:

Port22_activo

Si es así, ya podemos, si queremos, cerrar nuestra sesión de consola y utilizar cualquier herramienta de conexion SSH. Si estáis trabajando desde entornos windows, yo os aconsejo WinSCP y Putty.

Independientemente de la decisión tomada, os encontráis ante la consola del VPS, y vamos a empezar a instalar nuestro servidor.

Vamos a dar un vistazo a nuestro alrededor para ver como esta todo:

Vemos como esta definida la red con “ifconfig”

BudgetVM_ConfiguracionRedComprobamos nuestros DNSs actuales con:

BudgetVM_resolv.conY aquí hacemos la primera modificación. Aunque podemos utilizar servicios de DNSs externo, por nuestra comodidad, vamos a integrarlos al sistema instalando después BIND. El motivo es que nuestro panel de control es capaz de actualizar el servidor DNS para poner y quitar dominios y subdominios a medida de que los vayamos creando, pero…necesita que estén en esta maquina.

Para que un servidor DNS instalado en esta maquina sirva para algo, necesitamos que la propia maquina lo consulte a la hora de buscar direcciones, por lo que necesitamos que en el fichero “/etc/resolv.conf” figure en primer lugar nuestra maquina.

Para ello, podríamos incluir una linea con:

nameserver 127.0.0.1

al principio de nuestro fichero, pero….Si, pero en muchas virtualizaciones, la direccion IP se entrega por medio de DHCP, eso hace que cada vez que arranquemos la maquina se destruya el contenido de resolv.conf, para evitar esto, lo mas sencillo es crear un fichero en /etc/dhclient.comf y le añadimos esta linea:

prepend domain-name-servers 127.0.0.1;

Esto hará que cada vez que arranquemos la maquina, se vuelva a situar esta linea en /etc/resolv.conf, y así declarar que nuestra maquina tiene DNSs

A continuación, verificamos que en /etc/hosts este el nombre de nuestro servidor

BudgetVM_NombreDelServidorY, aunque si acabas de contratar/instalar la maquina sabemos lo que nos vamos a encontrar, nunca está de mas verificar la situación del cortafuegos,con “iptables -L”:

BudgetVM_iptablesTodo vacío. previsible, pero nos hemos ahorrado volvernos locos buscando problemas de conexión, si aquí hubiera quedado algo.

Siguiente paso: desactivar SELINUX (si esta activado). Para ello, abrimos el fichero /etc/selinux/config y modificamos la linea de SELINUX para que quede:

SELINUX=disabled

Ahora vamos a instalar “wget”; un programa que nos permite descargarnos ficheros desde la web, y que no siempre esta incorporado por defecto en Centos

# yum install -y wget

Y en unos segundos ya lo tendremos. Incorporamos claves para los paquetes con:

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

Vamos a añadir los repositorios de RPMForge y de EPEL ya que habrá software que lo utilizará:

cd /tmp
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

Para que el repositorio EPEL no nos de problemas, vamos a instalar un gestor de prioridades

# yum -y install yum-priorities

y modificamos el fichero /etc/yum.repos.d/epel.repo

centos_YUM_Priority

añadiendo la linea indicada, tras lo cual, podemos actualizar nuestro sistema con

# yum update

Con esto ya podemos reiniciar nuestro servidor para empezar a instalar paquetes, cosa que explicaremos en el siguiente articulo en el que describimos como instalar Apache, MySQL, PHP, Postfix, Dovecot, y Proftp

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.

4 respuestas a Instalando un servidor web en Centos. Preparacion (I)

  1. Hola Miguel. Yo también administro servidores CentOS, es mi sistema favorito para servidores. Si el servidor es público te recomiendo instalar también fail2ban para proteger de la cantidad enorme de ataques por fuerza bruta que suelen recibir los servidores,
    Un abrazo

    • Miguel dijo:

      Gracias Alberto. Si, veras que terminamos instalando CSF, en este caso, y fail2ban en el siguiente tema en donde instalaremos unservidor para envio de correspondencia….

  2. Pingback: Instalando un servidor de correos en CentosRecursos para formacion

  3. Pingback: Creando un servidor de pruebas (recargado) [1/?]Recursos para formacion

Deja un comentario