Servidor Perfecto · 4 min read · Dec 12, 2025

El Servidor Perfecto - Fedora 12 x86_64 [ISPConfig 2] - Página 5

11 Apache2 Con PHP, Ruby, Python, WebDAV

Ahora instalamos Apache con PHP5 (esta es PHP 5.3.0):

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mapserver php-mbstring php-mcrypt php-mhash php-mssql php-shout php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel

Luego edita /etc/httpd/conf/httpd.conf:

vi /etc/httpd/conf/httpd.conf

y cambia DirectoryIndex a

| [...] DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl [...] |

Ahora configura tu sistema para iniciar Apache al arrancar:

chkconfig --levels 235 httpd on

Inicia Apache:

/etc/init.d/httpd start

11.1 Desactivar PHP Globalmente

(Si no planeas instalar ISPConfig en este servidor, ¡por favor salta esta sección!)

En ISPConfig configurarás PHP por sitio web, es decir, puedes especificar qué sitio web puede ejecutar scripts PHP y cuál no. Esto solo puede funcionar si PHP está desactivado globalmente porque de lo contrario todos los sitios web podrían ejecutar scripts PHP, sin importar lo que especifiques en ISPConfig.

Para desactivar PHP globalmente, editamos /etc/httpd/conf.d/php.conf y comentamos las líneas AddHandler y AddType:

vi /etc/httpd/conf.d/php.conf

| # # PHP es un lenguaje de scripting incrustado en HTML que intenta facilitar a los desarrolladores escribir páginas web generadas dinámicamente. # LoadModule php5_module modules/libphp5.so LoadModule php5_module modules/libphp5-zts.so # # Hace que el intérprete de PHP maneje archivos con una extensión .php. # #AddHandler php5-script .php #AddType text/html .php # # Agrega index.php a la lista de archivos que se servirán como índices de directorio. # DirectoryIndex index.php # # Descomenta la siguiente línea para permitir que PHP imprima de forma bonita archivos .phps # como código fuente PHP: # #AddType application/x-httpd-php-source .phps |

Después reiniciamos Apache:

/etc/init.d/httpd restart

11.2 Ruby

A partir de la versión 2.2.20, ISPConfig tiene soporte integrado para Ruby. En lugar de usar CGI/FastCGI, ISPConfig depende de que mod_ruby esté disponible en el Apache del servidor.

Para Fedora 12, no hay un paquete mod_ruby disponible, así que debemos compilarlo nosotros mismos. Primero instalamos algunos requisitos previos:

yum install httpd-devel ruby ruby-devel

A continuación, descargamos e instalamos mod_ruby de la siguiente manera:

cd /tmp  
wget http://modruby.net/archive/mod_ruby-1.3.0.tar.gz  
tar zxvf mod_ruby-1.3.0.tar.gz  
cd mod_ruby-1.3.0/  
./configure.rb --with-apr-includes=/usr/include/apr-1  
make  
make install

Finalmente, debemos agregar el módulo mod_ruby a la configuración de Apache, así que creamos el archivo /etc/httpd/conf.d/ruby.conf…

vi /etc/httpd/conf.d/ruby.conf

| LoadModule ruby_module modules/mod_ruby.so |

… y reiniciamos Apache:

/etc/init.d/httpd restart

Puedes encontrar más detalles sobre mod_ruby en este artículo.

11.3 Instalando mod_python

Para instalar mod_python, simplemente ejecutamos…

yum install mod_python

… y reiniciamos Apache después:

/etc/init.d/httpd restart

11.4 WebDAV

WebDAV debería estar ya habilitado, pero para comprobarlo, abre /etc/httpd/conf/httpd.conf y asegúrate de que los siguientes dos módulos estén activos:

vi /etc/httpd/conf/httpd.conf

| [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so [...] |

Si tienes que modificar /etc/httpd/conf/httpd.conf, no olvides reiniciar Apache después:

/etc/init.d/httpd restart

12 ProFTPd

ISPConfig tiene mejor soporte para proftpd que vsftpd, así que eliminemos vsftpd e instalemos proftpd:

yum remove vsftpd
yum install proftpd

Ahora podemos crear los enlaces de inicio del sistema para Proftpd y empezarlo:

chkconfig --levels 235 proftpd on  
/etc/init.d/proftpd start

13 Webalizer

Para instalar webalizer, solo ejecuta

yum install webalizer

14 Sincronizar El Reloj Del Sistema

Si deseas tener el reloj del sistema sincronizado con un servidor NTP, haz lo siguiente:

yum install ntp
chkconfig --levels 235 ntpd on  
ntpdate 0.pool.ntp.org  
/etc/init.d/ntpd start

15 Instalar Algunos Módulos Perl

ISPConfig viene con SpamAssassin que necesita algunos módulos Perl para funcionar. Instalamos los módulos Perl requeridos con un solo comando:

yum install perl-HTML-Parser perl-DBI perl-Net-DNS perl-Digest-SHA1 perl-ExtUtils-AutoInstall

16 ISPConfig

La configuración del servidor ya está terminada. Ahora puedes instalar ISPConfig en él, siguiendo estas instrucciones: http://www.ispconfig.org/manual_installation.htm

Antes de instalar ISPConfig, hay una cosa importante que debes hacer. Abre /usr/include/stdio.h y reemplaza getline con parseline en la línea 653:

vim /usr/include/stdio.h

| [...] /* Como `getdelim', pero lee hasta una nueva línea. Esta función no es parte de POSIX y por lo tanto no hay un punto de cancelación oficial. Pero debido a la similitud con una interfaz POSIX o debido a la implementación, es un punto de cancelación y por lo tanto no está marcado con __THROW. */ extern _IO_ssize_t parseline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) __wur; #endif [...] |

Si no haces esto, la instalación fallará debido al siguiente error:

htpasswd.c:101: error: tipos en conflicto para 'getline'  
/usr/include/stdio.h:653: nota: la declaración anterior de 'getline' estaba aquí  
make[2]: * [htpasswd.o] Error 1  
make[2]: Saliendo del directorio `/home/install_ispconfig/compile_aps/apache_1.3.41/src/support'  
make[1]: * [build-support] Error 1  
make[1]: Saliendo del directorio `/home/install_ispconfig/compile_aps/apache_1.3.41'  
make: *** [build] Error 2  
ERROR: No se pudo hacer Apache

Puedes deshacer el cambio en /usr/include/stdio.h después de la exitosa instalación de ISPConfig (¡pero no olvides cambiarlo de nuevo cada vez que quieras actualizar ISPConfig!).

16.1 Una Nota Sobre SuExec

Si deseas ejecutar scripts CGI bajo suExec, debes especificar /var/www como la raíz web para los sitios web creados por ISPConfig, ya que el suExec de Fedora está compilado con /var/www como Doc_Root. Ejecuta

/usr/sbin/suexec -V

y la salida debería verse así:

[root@server1 ~]# /usr/sbin/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"  
[root@server1 ~]#

Así que si deseas usar suExec con ISPconfig, no cambies la raíz web predeterminada (que es /var/www) si usas el modo experto durante la instalación de ISPConfig (en modo estándar no puedes cambiar la raíz web de todos modos, así que podrás usar suExec en cualquier caso).

17 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.