Servidor web · 4 min read · Nov 01, 2025
El Servidor Perfecto - CentOS 5.3 x86_64 [ISPConfig 2] - Página 6
12 Apache2 Con PHP, Ruby, Python
Ahora instalamos Apache con PHP (esta 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 arrancar:
chkconfig --levels 235 httpd onInicia Apache:
/etc/init.d/httpd start12.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 la escritura de páginas web generadas dinámicamente. # LoadModule php5_module modules/libphp5.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 los archivos .phps como código fuente PHP: # #AddType application/x-httpd-php-source .phps |
Después reiniciamos Apache:
/etc/init.d/httpd restart12.2 Instalando mod_ruby
Para CentOS 5.3, 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 installFinalmente, 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 restart13 ProFTPd
ISPConfig tiene mejor soporte para proftpd que vsftpd, así que eliminemos vsftpd:
yum remove vsftpdDebido a que 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.2.tar.gz
tar xvfz proftpd-1.3.2.tar.gz
cd proftpd-1.3.2/
./configure --sysconfdir=/etc
make
make install
cd ..
rm -fr proftpd-1.3.2*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 la 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 se nos llamó. 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 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 que el script de inicio sea 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 pueden 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.