Server Setup · 4 min read · Nov 21, 2025

Il Server Perfetto - CentOS 5.2 x86_64 - 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 hai intenzione di installare ISPConfig su questo server, salta questa sezione!)

In ISPConfig configurerai PHP su base per sito web, cioè puoi specificare quale sito web può eseguire script PHP e quale no. Questo può funzionare solo se PHP è disabilitato globalmente perché altrimenti tutti i siti web sarebbero in grado di 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 alla lista 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.2, non è disponibile alcun pacchetto mod_ruby, quindi dobbiamo compilarlo noi stessi. Prima installiamo alcune dipendenze:

yum install httpd-devel ruby ruby-devel apr-devel

Poi scarichiamo e installiamo mod_ruby come segue:

cd /tmp  
wget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz  
tar zxvf mod_ruby-1.2.6.tar.gz  
cd mod_ruby-1.2.6/  
./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.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*

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 migliorato con un focus su \ # 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 # Libreria di funzioni di origine. . /etc/rc.d/init.d/functions # Configurazione di rete di origine. . /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 "$"Avviando $prog: " daemon proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd } stop() { echo -n "$"Spegnendo $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 "$"Rileggendo la configurazione di $prog: " killproc proftpd -HUP RETVAL=$? echo ;; *) echo "Uso: $prog {start|stop|restart|reload|condrestart|status}" exit 1 esac exit $RETVAL |

Poi rendiamo lo script di init eseguibile:

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

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.