Configuración de un servidor web Apache en CentOS

  • Por
Con este artículo aprenderemos cómo instalar y configurar un servidor con Apache, MySQL, PHP y FTP sobre CentOS 6.5.

Cuando contratamos un servidor a nuestro proveedor de servicios, podemos elegir el sistema operativo, la distribución y la configuración inicial. En nuestro caso optaremos por un servidor Linux con una distribución de la última versión de CentOS, configuración mínima y 64 bits.

Una vez que el servidor este disponible podremos acceder por SSH. Nada mas conectar podremos empezar con la siguiente configuración:

1) Cambiamos el nombre de nuestra máquina

Podemos hacerlo editando el fichero “/etc/hosts”. Al final de la línea que empiece por 127.0.0.1 añadimos el nombre que queramos, quedando de la siguiente manera:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 minombre

 

También habrá que hacerlo en el fichero “/etc/sysconfig/ network”, cambiando el valor de la variable “HOSTNAME”. En este caso el fichero queda de la siguiente manera:

NETWORKING=yes
HOSTNAME=minombre

2) Actualizamos el sistema con el siguiente comando


#yum update

Si queremos que al instalar los grupos, que veremos mas adelante, se instalen también los paquetes opcionales, añadiremos entonces en el fichero "/etc/yum.conf" la siguiente línea:

group_package_types=mandatory,default,optional

3) Instalamos las herramientas de desarrollo, como el paquete de compiladores GCC, make, las fuentes del kernel y Perl


#yum install gcc make kernel-devel perl

Esto instala los mínimos paquetes para desarrollo. Si queremos instalar todos ellos, podremos hacerlo ejecutando el siguiente comando:

#yum groupinstall “Development tools”.

 

Si antes de instalarlos queremos sólo ver los paquetes que contiene el grupo de desarrollo, ejecutamos la siguiente línea:

#yum groupinfo "Development tools"

4) Instalamos PHP

Con el siguiente comando instalamos todo lo necesario:
 
#yum groupinstall "PHP Support”

 

Puede que nos falte alguna cosa, así que podemos correr la siguiente línea para completar la instalación de PHP:

#yum install php-mbstring php-devel php-mcrypt zlib zlib-devel zlib-static

 

Seguidamente, podemos configurar la zona horaria predeterminada usada por las funciones "date" y "time", para ello en el fichero "/ etc/php.ini" añadimos la siguiente línea:

date.timezone = "Europe/Madrid"

5) Instalamos y configuramos el servidor Apache


#yum groupinstall “Web Server”.

Como hemos dicho, si antes de instalar queremos ver todos los paquetes que contiene este grupo, haríamos "groupinfo" en lugar de "groupinstall".

Podemos completar la instalación del servidor Apache instalando las librerías de desarrollo:

#yum install httpd-devel

 

Para ver la versión de Apache instalada, ejecutamos:

#httpd -v

 

El fichero principal de configuración se encuentra en "/etc/ httpd/conf/httpd.conf", y el resto de ficheros de configuración en "/etc/httpd/conf.d".

Hay que decir que cualquier fichero con extensión .conf que coloquemos en el directorio "/etc/httpd/conf.d" será procesado por el servidor Apache. Tener en cuenta que los procesa por orden alfabético. Si hacemos un cambio en alguno de estos ficheros o añadimos uno nuevo, hay que recargar para que el servidor recoja los cambios y para ello hacemos:

#service httpd reload

Ahora daremos un nombre al servidor. Aunque no es necesario hacer esto, sí es recomendable para que no aparezcan problemas en los arranques. Para esto nos aseguramos de que en el fichero de configuración httpd.conf tengamos la siguiente línea:

ServerName localhost

También es recomendable eliminar la página de prueba que nos instala el servidor. Para ello editamos el fichero /etc/httpd/ conf.d/welcome.conf y comentamos todas las líneas, quedando de la siguiente manera:

#<LocationMatch "^/+$">
#Options -Indexes
#ErrorDocument 403 /error/noindex.html
#</LocationMatch>

Si queremos utilizar servidores virtuales (virtual hosts) y tener los ficheros organizados, podemos crearnos un fichero llamado por ejemplo "vhosts.conf" que contenga nuestros virtual hosts y colocar el fichero en "/etc/httpd/conf.d". El fichero quedaría con un contenido parecido al siguiente:

NameVirtualHost [IP]:80
<VirtualHost [IP]:80>
ServerName www.midominio.com
ServerAlias www.midominio.com midominio.com
DocumentRoot /var/www/html/midominio.com/www
CustomLog /etc/httpd/logs/midominio.com.access_log combined
ErrorLog /etc/httpd/logs/midominio.com.error_log
</virtualhost>

 

Sustituir [IP] por tu IP pública y “midominio” por el dominio que quieras dar servicio.

Ahora podemos arrancar el servidor Apache de la siguiente manera:

#service httpd start

 

Si queremos que el servicio se inicie al arrancar nuestra máquina, podemos habilitarlo con:

#chkconfig httpd on

 

Si en los servidores DNS de "midominio" tenemos las entradas correspondientes apuntadas correctamente a nuestra IP, ya podríamos verlo a través de un navegador entrando en http:// www.midominio.com

En la segunda parte de este artículo terminaremos de configurar nuestro servidor instalando el servidor MySQL y el servidor de FTP.

Autor

Vicente García

Desarrollador web y apasionado de Internet.

Compartir

Comentarios

heisler

13/1/2014
Bueno... para arrrancar
Es muy importante configurar el CFS
Y hacer el chequeo
Seguridad Seguridad

davisdrumkey

10/4/2014
Falto algo!
Muchas gracias! todo perfecto!

Solo falto agregar la regla al firewall para que pueda aceptar ver la pagina web desde otra computadora en la red, en que caso que se necesite.

Lo pueden hacer en el menu>sistema>administracion>firewall> ingresar pass root > bajar en las lista hasta WWW (HTTP) (tiquear)> aplicar > listo :)

jonathan isa aguirre coronado

09/9/2014
gracias
muchas gracias tenia una duda y me la resolvites eres muy amable

Frank

22/9/2014
Apache Configuración
Actualmente estoy trabajando con un servidor web Apache en CentOS. Mi servidor lo tengo en la nube, la semana anterior los proveedores de la empresa que me alquila el dominio hizo unas actualizaciones de seguridad según lo que me informaron. Desde que hicieron las actualizaciones me dejo de funcionar mi servidor por lo que mi pagina no me funciono, uno de los problemas que me detecto es que no encontraba los directorios de los logs por lo que tuve que crearlos nuevamente ya que no me iniciaba el Apache. Actualmente me funciona bien mi pagina al crear los los directorios de los logs pero mi pregunta por que se eliminaron los directorios.
Ahora se me presenta un nuevo problema en el cual no me carga por completo la pagina web tengo que refrescas nuevamente mi web para que me muestre de forma correcta la portada y por otra parte cuando estoy navegando hay momento que no me carga toda la información o sale un error donde me dice que no existe el contenido pero al refrescar si me lo muestra, me podrían ayudar indicándome que puede que me este fallando eh revisado todo pero aun me sigue este problema desde que el proveedor en la nube hizo unas actualizaciones.

Frank Paul

18/6/2015
Como registro en mi servidor de dominio (umbrelladomains) mi servidor centos?
Buenas...
Tengo un nuevo dominio (csitel.co) con UmbrellaDomains.
Tengo mi servidor web (centos 6.6) instalado y configurado según este artículo.
Como hago para registrar mi servidor web en el servidor de dominio?
Agradezco la ayuda.

ROBERTO

25/2/2016
como direccionar el servidor web a un dns activo
muchas felicidades por su post.
pero sabe necesito el siguiente detalle luego de instalarlo como redirecciono a un dns activo el servidor web????
se requiere modificar parametros solo en el servidor dns o en el servidor web tambien???
si me pueden colaborar en esta interrogante.
les agradezco de antemano
gracias

Stefan Fayad

06/11/2016
Configuracion on PgSQL
Buenas Tardes

Se puede realizar esta misma configuracion para PostgreSQL como motor de bases de datos?
Agradezco su pronta respuesta