suEXEC por seguridad trae los siguientes parámetros compilados y sin posibilidad de ser modificados:
# suexec -V -D AP_DOC_ROOT="/var/www" -D AP_GID_MIN=100 -D AP_HTTPD_USER="apache" -D AP_LOG_EXEC="/var/log/httpd/suexec.log" -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin" -D AP_UID_MIN=500 -D AP_USERDIR_SUFFIX="public_html"
Si lo hemos instalado compilando a través de las sources, no hay problema, se recompila y ya está. Pero si lo hemos instalado por RPM requiere un trabajo distinto. Es necesario bajar las sources del RPM y editarlas con los parámetros que queramos, luego se compila el nuevo RPM y ya podemos instalarlo.
En este caso se trata un Apache con suEXEC en RHEL 6 e instalado por RPM así que nos bajamos las sources de Apache correspondientes:
# curl -O ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/httpd-2.2.15-15.el6_2.1.src.rpm
Desempaquetamos el RPM, Si el usuario mockbuild no existe veréis un montón de avisos y las sources se guardarán en la home de root en lugar de en src:
# rpm -Uvh httpd-2.2.15-15.el6_2.1.src.rpm
Ahora tenemos que editar el fichero httpd.spec:
# vi /root/rpmbuild/SPECS/httpd.spec
En nuestro caso queremos cambiar el AP_DOC_ROOT o contentdir, que es la ruta raíz en la que vamos a alojar el contenido de los websites:
%define contentdir /var/www
Modificamos a la ruta correcta:
%define contentdir /www
Para que al hacer el upgrade no nos diga que la versión ya está instalada, también podemos cambiar el número de versión:
Release: 15%{?dist}.3
Es necesario para volver a compilar el rpm el paquete rpm-build, también necesitaréis las sources de ciertas dependencias, lo veréis según vayáis haciendo el trabajo:
# yum install rpm-build # yum install libselinux-devel openssl-devel
Recompilamos el RPM:
# rpmbuild -bb /root/rpmbuild/SPECS/httpd.spec
Una vez terminado ya tenemos los RPM listos para instalar en /root/rpmbuild/RPMS/x86_64:
-rw-r--r--. 1 root root 3229796 Feb 21 06:26 httpd-2.2.15-15.el6.1.x86_64.rpm -rw-r--r--. 1 root root 156508 Feb 21 06:26 httpd-devel-2.2.15-15.el6.1.x86_64.rpm -rw-r--r--. 1 root root 128945 Feb 21 06:26 httpd-tools-2.2.15-15.el6.1.x86_64.rpm -rw-r--r--. 1 root root 403246 Feb 21 06:26 mod_ssl-2.2.15-15.el6.1.x86_64.rpm
# rpm -Uvh *rpm
Reiniciamos apache y:
# suexec -V -D AP_DOC_ROOT="/www" -D AP_GID_MIN=100 -D AP_HTTPD_USER="apache" -D AP_LOG_EXEC="/var/log/httpd/suexec.log" -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin" -D AP_UID_MIN=500 -D AP_USERDIR_SUFFIX="public_html"
Por supuesto podéis cambiar el resto de valores del mismo modo si fuera necesario.