Servidor web · 4 min read · Nov 17, 2025
El Servidor Perfecto - CentOS 5.6 x86_64 [ISPConfig 2] - Página 6
12 Apache2 Con PHP, Ruby, Python, WebDAV
Ahora instalamos Apache con PHP (esto es PHP 5.1.6):
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc 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 arranque:
chkconfig --levels 235 httpd onInicia Apache:
/etc/init.d/httpd start12.1 Deshabilitar 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á deshabilitado globalmente porque de lo contrario todos los sitios web podrían ejecutar scripts PHP, sin importar lo que especifiques en ISPConfig.
Para deshabilitar 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 embebido en HTML que intenta facilitar a los # desarrolladores la escritura de páginas web generadas dinámicamente. # |
Después reiniciamos Apache:
/etc/init.d/httpd restart12.2 Instalando mod_ruby
Para CentOS 5.6, 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 |
… y reiniciamos Apache:
/etc/init.d/httpd restart12.3 Instalando mod_python
Para instalar mod_python, simplemente ejecutamos…
yum install mod_python… y reiniciamos Apache después:
/etc/init.d/httpd restart12.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 restart13 ProFTPd
ISPConfig tiene mejor soporte para proftpd que vsftpd, así que eliminemos vsftpd:
yum remove vsftpdComo CentOS no tiene un paquete proftpd, tenemos que compilar Proftpd manualmente:
cd /tmp/
wget –passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.3e.tar.gz
tar xvfz proftpd-1.3.3e.tar.gz
cd proftpd-1.3.3e/
./configure –sysconfdir=/etc
make
make install
cd ..
rm -fr proftpd-1.3.3e*
El binario de proftpd se instala en /usr/local/sbin, pero lo necesitamos en /usr/sbin, así que creamos un enlace simbólico:
ln -s /usr/local/sbin/proftpd /usr/sbin/proftpdAhora crea el script de inicio /etc/init.d/proftpd:
vi /etc/init.d/proftpd| #!/bin/sh # $Id: proftpd.init,v 1.1 2004/02/26 17:54:30 thias Exp $ # # proftpd Este script de shell se encarga de iniciar y detener # proftpd. # # chkconfig: - 80 30 # description: ProFTPD es un servidor FTP mejorado con un enfoque hacia \ # simplicidad, seguridad y facilidad de configuración. \ # Presenta una sintaxis de configuración muy similar a Apache, \ # y una infraestructura de servidor altamente personalizable, \ # incluyendo soporte para múltiples servidores FTP 'virtuales', \ # FTP anónimo y visibilidad de directorios basada en permisos. # processname: proftpd # config: /etc/proftp.conf # pidfile: /var/run/proftpd.pid # Fuente de la biblioteca de funciones. . /etc/rc.d/init.d/functions # Fuente de configuración de red. . /etc/sysconfig/network # Verifica que la red esté activa. [ ${NETWORKING} = "no" ] && exit 0 [ -x /usr/sbin/proftpd ] || exit 0 RETVAL=0 prog="proftpd" start() { echo -n "$"Iniciando $prog: " daemon proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd } stop() { echo -n "$"Apagando $prog: " killproc proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd } # Ver cómo fuimos llamados. case "$1" in start) start ;; stop) stop ;; status) status proftpd RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f /var/lock/subsys/proftpd ]; then stop start fi ;; reload) echo -n "$"Releyendo la configuración de $prog: " killproc proftpd -HUP RETVAL=$? echo ;; *) echo "Uso: $prog {start|stop|restart|reload|condrestart|status}" exit 1 esac exit $RETVAL |
Luego hacemos el script de inicio ejecutable:
chmod 755 /etc/init.d/proftpdA continuación, abrimos /etc/proftpd.conf y cambiamos Group a nobody:
vi /etc/proftpd.conf| [...] Group nobody [...] |
Por razones de seguridad, también puedes agregar las siguientes líneas a /etc/proftpd.conf (gracias a Reinaldo Carvalho; más información se puede encontrar aquí: http://proftpd.org/localsite/Userguide/linked/userguide.html):
vi /etc/proftpd.conf| [...] DefaultRoot ~ IdentLookups off ServerIdent on "Servidor FTP listo." [...] |
Para asegurarte de que los usuarios FTP puedan usar el comando chmod, comenta la sección
| [...] # Prohibir el uso de SITE CHMOD por defecto # |
Ahora podemos crear los enlaces de inicio del sistema para Proftpd:
chkconfig --levels 235 proftpd onY finalmente iniciamos Proftpd:
/etc/init.d/proftpd startRecibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.