Server Setup · 4 min read · Oct 07, 2025

Il Server Perfetto - CentOS 5.3 i386 [ISPConfig 2] - Pagina 6

12 Apache2 Con PHP, Ruby, Python

Ora installiamo Apache con PHP (questo è 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

Poi modifica /etc/httpd/conf/httpd.conf:

vi /etc/httpd/conf/httpd.conf

e cambia DirectoryIndex in

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

Ora configura il tuo sistema per avviare Apache all’avvio:

chkconfig --levels 235 httpd on

Avvia Apache:

/etc/init.d/httpd start

12.1 Disabilitare PHP Globalmente

(Se non prevedi di installare ISPConfig su questo server, salta questa sezione!)

In ISPConfig configurerai PHP su base per-sito, cioè puoi specificare quale sito può eseguire script PHP e quale no. Questo può funzionare solo se PHP è disabilitato globalmente perché altrimenti tutti i siti web potrebbero eseguire script PHP, indipendentemente da ciò che specifichi in ISPConfig.

Per disabilitare PHP globalmente, modifichiamo /etc/httpd/conf.d/php.conf e commentiamo le righe AddHandler e AddType:

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

| # # PHP è un linguaggio di scripting incorporato in HTML che cerca di rendere facile per gli sviluppatori scrivere pagine web generate dinamicamente. # LoadModule php5_module modules/libphp5.so # # Fa sì che l'interprete PHP gestisca i file con estensione .php. # #AddHandler php5-script .php #AddType text/html .php # # Aggiungi index.php all'elenco dei file che saranno serviti come indici di directory. # DirectoryIndex index.php # # Decommenta la seguente riga per consentire a PHP di stampare in modo carino i file .phps come codice sorgente PHP: # #AddType application/x-httpd-php-source .phps |

Dopo di che riavviamo Apache:

/etc/init.d/httpd restart

12.2 Installazione di mod_ruby

Per CentOS 5.3, non è disponibile alcun pacchetto mod_ruby, quindi dobbiamo compilarlo noi stessi. Prima installiamo alcune dipendenze:

yum install httpd-devel ruby ruby-devel

Successivamente scarichiamo e installiamo mod_ruby come segue:

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

Infine dobbiamo aggiungere il modulo mod_ruby alla configurazione di Apache, quindi creiamo il file /etc/httpd/conf.d/ruby.conf…

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

| LoadModule ruby_module modules/mod_ruby.so |

… e riavviamo Apache:

/etc/init.d/httpd restart

12.3 Installazione di mod_python

Per installare mod_python, eseguiamo semplicemente…

yum install mod_python

… e riavviamo Apache successivamente:

/etc/init.d/httpd restart

13 ProFTPd

ISPConfig ha un supporto migliore per proftpd rispetto a vsftpd, quindi rimuoviamo vsftpd:

yum remove vsftpd

Poiché CentOS non ha un pacchetto proftpd, dobbiamo compilare 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*

Il binario proftpd viene installato in /usr/local/sbin, ma ne abbiamo bisogno in /usr/sbin, quindi creiamo un symlink:

ln -s /usr/local/sbin/proftpd /usr/sbin/proftpd

Ora crea lo script di init /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 Questo script shell si occupa di avviare e fermare # proftpd. # # chkconfig: - 80 30 # description: ProFTPD è un server FTP avanzato con un focus verso \ # semplicità, sicurezza e facilità di configurazione. \ # Presenta una sintassi di configurazione molto simile ad Apache, \ # e un'infrastruttura del server altamente personalizzabile, \ # inclusa la supporto per più server FTP 'virtuali', \ # FTP anonimo e visibilità delle directory basata su permessi. # processname: proftpd # config: /etc/proftp.conf # pidfile: /var/run/proftpd.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Controlla che la rete sia attiva. [ ${NETWORKING} = "no" ] && exit 0 [ -x /usr/sbin/proftpd ] || exit 0 RETVAL=0 prog="proftpd" start() { echo -n "$"Starting $prog: " daemon proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd } stop() { echo -n "$"Shutting down $prog: " killproc proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd } # Vedi come siamo stati chiamati. 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 "$"Re-reading $prog configuration: " killproc proftpd -HUP RETVAL=$? echo ;; *) echo "Usage: $prog {start|stop|restart|reload|condrestart|status}" exit 1 esac exit $RETVAL |

Poi rendiamo eseguibile lo script di init:

chmod 755 /etc/init.d/proftpd

Successivamente apriamo /etc/proftpd.conf e cambiamo Group in nobody:

vi /etc/proftpd.conf

| [...] Group nobody [...] |

Per motivi di sicurezza puoi anche aggiungere le seguenti righe a /etc/proftpd.conf (grazie a Reinaldo Carvalho; ulteriori informazioni possono essere trovate qui: http://proftpd.org/localsite/Userguide/linked/userguide.html):

vi /etc/proftpd.conf

| [...] DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...] |

Per assicurarti che gli utenti FTP possano utilizzare il comando chmod, commenta la sezione :

| [...] # Bar use of SITE CHMOD by default # # DenyAll # [...] |

Ora possiamo creare i collegamenti di avvio del sistema per Proftpd:

chkconfig --levels 235 proftpd on

E infine avviamo Proftpd:

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

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.