Você está na página 1de 5

Instalacin y configuracin de Apache2 en CentOS 6.

Hola nuevamente, Ahora que ya tenemos la instalacin mnima de un servidor CentOS 6.4 (http://www.sectortecnico.com.ar/index.php/2013/05/instalacion-centos-6-4-y-configuracion-dered/ ) vamos a instalar Apache2 para ir armando nuestro webserver. Los pasos de este tutorial requieren que el usuario tenga privilegios de root PASOS PARA LA INSTALACIN 1.Como root en la shell: [root@CentOS~]# yum install -y httpd 2. Arrancamos el servicio. [root@CentOS ~]# service httpd start Configurar para que se inicie automticamente en el arranque del sistema: [root@CentOS ~]# chkconfig--level 235 httpd on Abrimos en el firewall del sistema el puerto 80 que es el que utiliza este servicio para que podamos tener acceso al mismo desde afuera, para lo que necesitaremos abrir el fichero de configuracin de IPTABLES [root@CentOS ~]# nano /etc/sysconfig/iptables Aadimos lo siguiente: -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT Reiniciamos el servicio firewall de la siguiente forma: [root@CentOS ~]# /etc/init.d/iptables restart La configuracin del servidor web la tenemos que realizar sobre dos ficheros: [root@CentOS ~]# /etc/httpd/conf/httpd.conf Ruta para configurar para dominios virtuales. (No existe el archivo,hay que crearlo). Lo voy a

explicar ms adelante cuando veamos la creacin de archivos de configuracin de dominios virtuales. [root@CentOS~]# /etc/httpd/conf.d/

INICIAR EL SERVIDOR WEB DE APACHE [root@CentOS ~]# /etc/init.d/httpdstart Tambin podemos utilizar las siguientes opciones: start: Inicia el servicio. stop: Detiene el servicio. restart: Reinicia el servicio. reload: Recarga el servicio. status: se ve el estado del servicio.

ALGUNAS DIRECTIVAS PARA MEJORAR LA SEGURIDAD Y EL RENDIMIENTO DEL SERVIDOR Editar el archivo de configuracin: [root@CentOS~]# /etc/httpd/conf/httpd.conf Esta directiva controla si el campo Server de las cabeceras de las respuestas que se envan de vuelta a los clientes incluye una descripcin del sistema operativo genrico del servidor as como informacin sobre los mdulos compilados en el servidor, donde Prod solo muestra la palabra apache. ServerTokens Prod Esta directiva niega o permite conexiones persistentes, si se dese activar se utiliza on; KeepAlive Off Esta directiva permitir a Apache formar las URLs auto-referenciadas usando el nombre de host y puerto suministrados por el cliente, si desea activarla utilice on; UseCanonicalName Off Esta directiva hace que los ficheros .htaccess sean ignorados completamente.En ese caso, el servidor ni siquiera intentar leer los archivos .htaccess existentes; AllowOverride None Esta directiva esta desactivada por defecto porque puede confirmar la presencia de una cuenta de usuario en el sistema. Si desea activar la navegacin del directorio del usuario en el servidor utilice la opcin enabled; UserDir disabled Esta directiva desactiva la navegacin del directorio del usuario root; UserDir disabled root Esta directiva permite la configuracin de un pie de pgina que se aadir a documentos generados por el sevidor (mensajes de error, listado de directorios generados por mod_proxy salida de mod_info, etc.); ServerSignature Off HostnameLookups registra los nombres o las direcciones IP de los clientes. Por defecto est en Off para evitar que para cada consulta se tenga que realizar una resolucin DNS para averiguar el nombre y disminuya el rendimiento. Si estuviera activo, para cada consulta el servidor apache solicita una resolucin DNS inversa para averiguar el nombre que corresponde con la direccin IP. Si realmente nos interesaran los nombres es aconsejable hacerlo a partir de los ficheros de"log" de forma independiente al servidor web como hacer ciertos programas de anlisis de log como webalizer.

HostnameLookups Off

SELINUX Y APACHE (Documentacin SELinux y Apache extrada dehttp://www.alcancelibre.org)

En CentOS, Fedora y Red Hat Enterprise Linux, de modo predeterminado SELinux viene activo en modo obligatorio (enforcing). ste aade seguridad y proteccin adicional a Apache. Sin embargo algunas opciones impedirn utilizar ciertas funciones en Apache, como directorios virtuales fuera del directorio/var/www,directorios ~/public_html, el envo de correo electrnico desde aplicaciones basadas sobre HTTP, etc. Para permitir a Apache poder enviar correo electrnico desde alguna aplicacin,ejecute:
[root@CentOS~]# setsebool -P httpd_can_sendmail 1

Parapermitir que Apache pueda leer contenidos localizados en los directorios deinicio de los usuarios locales, ejecute:
[root@CentOS~]# setsebool -P httpd_read_user_content1 Estas ltimas dos polticas son indispensables para el funcionamiento de cualquier cliente de correo electrnico basados sobre HTTP (Webmails).

Para permitir a Apache poder ejecutar guiones CGI, ejecute:


[root@CentOS~]# setsebool -P httpd_enable_cgi 1

Para permitir las inclusiones del lado del servidor (SSI, Server Side Includes), ejecute:
[root@CentOS~]# setsebool -P httpd_ssi_exec 1

Para permitir que Apache se pueda conectar a una base de datos localizada en otro servidor, ejecute:
[root@CentOS~]# setsebool -Phttpd_can_network_connect_db 1

Para permitir a Apache realizar conexiones de red hacia otro servidor, ejecute:
[root@CentOS ~]# setsebool -Phttpd_can_network_connect 1

Para permitir que los usuarios locales puedan utilizar un directorio pblico (public_html), ejecute:
[root@CentOS ~]# setsebool -Phttpd_enable_homedirs 1 Esta ltima poltica es indispensable para el funcionamiento de anfitriones virtuales asignados a usuarios locales, pues permite utilizar los directorios ~/public_html.

Para permitir administrar a travs de FTP o FTPS cualquier directorio gestionado por Apache o bien permitir a Apache funcionar como un servidor FTP escuchando peticiones a travs del puerto de FTP, ejecute el siguiente mandato:
[root@CentOS ~]# setsebool -Phttpd_enable_ftp_server 1

Para desactivar la ejecucin de PHP y otros lenguajes de programacin para HTTP a travs de Apache, ejecute el siguiente mandato:
[root@CentOS ~]# setsebool -Phttpd_builtin_scripting 0

Para consultar todas polticas disponibles que existen para Apache, ejecute:
[root@CentOS ~]# getsebool -a|grep httpd

Para consultar todas polticas disponibles que existen para Apache, junto con una breve descripcin, ejecute:
[root@CentOS ~]# semanage boolean-l |grep httpd

Para definir que un directorio fuera de /var/www, como por ejemplo /sitios/dominio.tld/html,pueda ser utilizado por Apache, se le debe asignar el contexto httpd_sys_content_t.ste puede asignarse a travs del mandato chcon, como se muestra en el siguiente ejemplo:
[root@CentOS ~]# chcon -t httpd_sys_content_t/sitios/dominio.tld/html

Cualquier contenido que sea copiado o transferido dentro de /var/www automticamente adquiere el contexto httpd_sys_content_t. Para definir que se permite ejecutar un guin CGI en particular, como por ejemplo/sitios/dominio/cgi-bin/formulario.pl, se utiliza el siguiente mandato:
[root@CentOS ~]# chcon -t httpd_sys_script_exec_t/sitios/dominio/cgi-bin/formulario.pl

Cualquier contenido que sea copiado o transferido dentro de cualquier sub-directorio de /var/wwwque se denomine cgi-bin,automticamente adquiere el contexto httpd_sys_script_exec_t. Para definir que, por ejemplo, /var/www/dominio/public_html/leer.php pueda realizar procedimientos de slo lectura de datos fuera del directorio /var/www,ejecute el siguiente mandato:
[root@CentOS ~]# chcon -t httpd_sys_script_ro_t /var/www/dominio/public_html/leer.php

Para definir que, por ejemplo, /var/www/dominio/public_html/escribir.php pueda realizar procedimientos de lectura y escritura de datos fuera del directorio /var/www, ejecute el siguiente mandato:
[root@CentOS ~]# chcon -t httpd_sys_script_rw_t /var/www/dominio/public_html/escribir.php

CREACIN DE DOMINIOS VIRTUALES Debemos activar la directiva NameHostVirtual, en el archivo de configuracin principal. /etc/httpd/conf/httpd.conf En dicho fichero debemos localizar la siguiente lnea y descomentarla. NameVirtualHost *:80

ESTRUCTURA DE DIRECTORIOS PARA DOMINIOS VIRTUALES Vamos a crear los siguientes dominios virtuales. www.pruebauno.com www.pruebados.com www.pruenatres.com Por cada dominio debemos crear un directorio en la siguiente ruta, y quedar como se muestra a continuacin. (Se aclara que va sin el www delante)

mkdir /var/www/pruebauno.com mkdir /var/www/pruebados.com mkdir /var/www/pruebatres.com Lo siguiente ser crear dentro de cada uno de estos directorios laestructura bsica que debe llevar cada uno de estos dominios. Estaestructura estar conformada por cuatro directorios: html cgi-bin icons error Ejemplo de cmodebera quedar para el dominio pruebauno.com mkdir /var/www/pruebauno.com/html mkdir /var/www/pruebauno.com/cgi-bin mkdir /var/www/pruebauno.com/icons mkdir /var/www/pruebauno.com/ error

CREACIN Y MODIFICACIN DE LOS FICHEROS DECONFIGURACIN DE LOS DOMINIOS VIRTUALES. Deberemos crear los ficheros deconfiguracin, (httpd.conf) vi /etc/httpd/conf.d/pruebauno.com.conf Contenido del archivo, para pruebauno.com <VirtualHost *:80> ServerAdmin admin@pruebauno.com DocumentRoot "/var/www/pruebauno.com/html" ServerName www.pruebauno.com ServerAliaspruebauno.com </VirtualHost> (Si se realizan pruebas) Editar el archivo/etc/hosts, e incluir IP y dominios vi /etc/hosts Debera quedar de la siguiente manera. 192.168.1.40 pruebauno.com

Reiniciamosel daemon httpd /etc/init.d/httpd restart oservice httpd restart Esto estodo por hoy

Você também pode gostar