Modificar el Document Root del Suexec en CentOS

El siguiente tutorial me ha venido genial en varias ocasiones, debido a que he tenido que recompilar el suexec puesto que el document root del mismo estaba mal apuntado debido a “herencias”.  Antes de nada, quiero indicar que este tutorial es de un compañero, al que enlazo a continuación como fuente:

Suexec – Cambiar el directorio por defecto en CentOS

El problema que nos encontramos es que hay proveedores que cambian el directorio por defecto donde se encuentra el Suexec. Por ejemplo al parecer en las CentOS suele ser /home y en el caso de que cambiemos el directorio de nuestras webs esto no funcionaría.

En versiones de Debian lo tenemos un poco más fácil ya que han establecido algo llamado “suexec-custom” el cual nos permite cambiar el directorio suexec de una manera más fácil.

Para CentOS, por desgracia, no se puede hacer de la misma manera y las soluciones que tenemos son:

  1. Mover y configurar todo el contenido en /home
  2. Cambiar el directorio por defecto donde está configurado el suexec.

En nuestro caso elegiremos la opción 2 la cual nos llevará a compilar.

Lo primero que debemos tener en cuenta es que para compilar necesitaremos instalar lo siguiente:

Esto nos preparará el entorno para poder compilar apache. Ahora nos crearemos un directorio que es donde trabajaremos por ejemplo “/root/compilar/http”. Una vez dentro del directorio:

Esto nos descargará los source del paquete httpd. Pero ahora tenemos que descomprimir dicho paquete para obtener las source:

Nos dará unos warnings pero nos dejará el directorio en el home del usuario y se llama rmpbuild. Es decir ahora nos dirigimos a “/root/rpmbuild”.

Veremos varios directorios “SOURCES” y “SPECS”. Nos interesa el directorio SOURCES así que accedemos a el y descomprimimos el fichero.

En nuestro caso httpd-2.4.6, es la carpeta que nos crearía y procedemos a entrar en ella.

Recordamos que el parámetro que nos interesa es “–with-suexec-docroot=/var/www” y tener en cuenta “–with-suexec-logfile=/etc/httpd/logs/suexec.log”. Este fichero de log se tiene que crear también ya que sino puede dar problemas.

Si todo ha ido bien, no nos habrá dado ningún error sino instalar cualquier librería que falte, entonces procedemos a realizar la compilación. Para ello:

Una vez que haya finalizado de compilar entonces tendremos listo nuestro nuevo suexec en la ruta “support/suexec”.

Antes de hacer nada vamos a realizar una copia del suexec original

Y ahora aplicaremos el nuevo sustituyendo el viejo.

Y aplicamos los permisos correspondientes. Esto es importante (lo del 4) porque sino puedes tener problemas.

Reiniciamos apache y listo.

NOTA: Para comprobar si está todo correcto ejecutamos suexec -V para ver a qué directorio estaba apuntando.

Deja un comentario

Your email address will not be published.