Servidor CentOS · 3 min read · Jan 11, 2026

Configuración del Servidor CentOS 5.1: LAMP, Correo, DNS, FTP, ISPConfig (también conocido como El Servidor Perfecto) - Página 6

12 Apache2 Con PHP

Ahora instalamos Apache con PHP (esta es la versión 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-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

12.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 legible archivos .phps # como código fuente PHP: # #AddType application/x-httpd-php-source .phps |

Después reiniciamos Apache:

/etc/init.d/httpd restart

13 ProFTPd

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

yum remove vsftpd

Como CentOS no tiene un paquete de proftpd, tenemos que compilar Proftpd manualmente:

cd /tmp/  
wget --passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1.tar.gz  
tar xvfz proftpd-1.3.1.tar.gz  
cd proftpd-1.3.1/  
./configure --sysconfdir=/etc  
make  
make install  
cd ..  
rm -fr proftpd-1.3.1*

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/proftpd

Ahora 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 que el script de inicio sea ejecutable:

chmod 755 /etc/init.d/proftpd

A 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." [...] |

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

chkconfig --levels 235 proftpd on

Y finalmente iniciamos Proftpd:

/etc/init.d/proftpd start
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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