Servidor Perfecto · 5 min read · Nov 17, 2025
El Servidor Perfecto - Fedora 15 x86_64 [ISPConfig 2] - Página 5
13 Apache2 Con PHP, Ruby, Python, WebDAV
Ahora instalamos Apache con PHP5 (esta es PHP 5.3.6):
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-mssql php-shout php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-develLuego edita /etc/httpd/conf/httpd.conf:
vi /etc/httpd/conf/httpd.confy 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 onInicia Apache:
/etc/init.d/httpd start13.1 Desactivar PHP Globalmente
(Si no planeas instalar ISPConfig en este servidor, ¡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. # |
Después reiniciamos Apache:
/etc/init.d/httpd restart13.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 15, no hay un paquete mod_ruby disponible, así que debemos compilarlo nosotros mismos. Primero instalamos algunos requisitos previos:
yum install httpd-devel ruby ruby-develA 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 RubyAddPath /1.8 |
… y reiniciamos Apache:
/etc/init.d/httpd restart(Si omites la directiva RubyAddPath /1.8, verás errores como los siguientes en el registro de errores de Apache cuando llames a archivos Ruby:
[Thu May 26 02:05:05 2011] [error] mod_ruby: ruby:0:in require': no such file to load -- apache/ruby-run (LoadError) [Thu May 26 02:05:05 2011] [error] mod_ruby: failed to require apache/ruby-run [Thu May 26 02:05:05 2011] [error] mod_ruby: error in ruby ) Puedes encontrar más detalles sobre mod_ruby en este artículo. #### 13.3 Instalando mod_python Para instalar mod_python, simplemente ejecutamos... ``` yum install mod_python ``` ... y reiniciamos Apache después: ``` /etc/init.d/httpd restart ``` #### 13.4 WebDAV WebDAV debería estar ya habilitado, pero para comprobarlo, abre /etc/httpd/conf/httpd.conf y asegúrate de que los siguientes tres módulos estén activos: ``` vi /etc/httpd/conf/httpd.conf ``` | ``` [...] LoadModule auth_digest_module modules/mod_auth_digest.so [...] 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 ``` ### 14 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 comenzarlo: chkconfig --levels 235 proftpd on /etc/init.d/proftpd start ### 15 Webalizer Para instalar webalizer, solo ejecuta ``` yum install webalizer ``` ### 16 Sincronizar El Reloj Del Sistema Si deseas que el reloj del sistema esté 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 ### 17 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 perl-NetAddr-IP perl-Archive-Tar ``` ### 18 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 673: ``` vim /usr/include/stdio.h ``` | ``` [...] /* Comogetdelim’, 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: conflicting types for âgetlineâ /usr/include/stdio.h:653: note: previous declaration of âgetlineâ was here make[2]: * [htpasswd.o] Error 1 make[2]: Leaving directory `/home/install_ispconfig/compile_aps/apache_1.3.41/src/support' make[1]: * [build-support] Error 1 make[1]: Leaving directory `/home/install_ispconfig/compile_aps/apache_1.3.41' make: *** [build] Error 2 ERROR: Could not make Apache Puedes deshacer el cambio en /usr/include/stdio.h después de la instalación exitosa de ISPConfig (pero no olvides cambiarlo de nuevo cada vez que desees actualizar ISPConfig!). #### 18.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).
### 19 Enlaces
- Fedora: http://fedoraproject.org/
- Nombrado de Dispositivos de Red: http://fedoraproject.org/wiki/Features/ConsistentNetworkDeviceNaming
- ISPConfig: http://www.ispconfig.org/Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.