Server Setup · 5 min read · Sep 21, 2025
Il Server Perfetto - OpenSUSE 11.3 x86_64 [ISPConfig 2] - Pagina 5
11 Apache/PHP5/Ruby/Python/WebDAV
Ora installiamo Apache con PHP5:
yast2 -i apache2 apache2-devel apache2-mod_perl apache2-mod_php5 apache2-prefork perl-HTML-Parser perl-HTML-Tagset perl-Tie-IxHash perl-URI perl-libwww-perl php5 php5-devel zlib zlib-develPoi installiamo alcuni moduli PHP5:
yast2 -i php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-mysql php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm ImageMagick curlSuccessivamente modifichiamo /etc/apache2/httpd.conf:
vi /etc/apache2/httpd.confe cambiamo DirectoryIndex in
| [...] DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php5 index.php4 index.php3 index.pl index.html.var index.aspx default.aspx [...] |
Abilitiamo il modulo di riscrittura di Apache:
a2enmod rewrite Modifichiamo /etc/sysconfig/apache2 e aggiungiamo SSL alla riga APACHE_SERVER_FLAGS:
vi /etc/sysconfig/apache2| [...] APACHE_SERVER_FLAGS="SSL" [...] |
Ora configura il tuo sistema per avviare Apache all’avvio:
chkconfig --add apache2Poi esegui
SuSEconfig
/etc/init.d/apache2 start
11.1 Disabilitare PHP e Perl Globalmente
(Se non prevedi di installare ISPConfig su questo server, salta questa sezione!)
In ISPConfig configurerai PHP e Perl su base per-sito, cioè puoi specificare quale sito può eseguire script PHP e Perl e quale no. Questo può funzionare solo se PHP e Perl sono disabilitati globalmente perché altrimenti tutti i siti web potrebbero eseguire script PHP/Perl, indipendentemente da ciò che specifichi in ISPConfig.
Per disabilitare PHP e Perl globalmente, modifichiamo /etc/mime.types e commentiamo le righe application/x-perl e application/x-php:
vi /etc/mime.types| [...] #application/x-perl pl pm al perl #application/x-php php php3 php4 [...] |
Poi modifichiamo /etc/apache2/conf.d/php5.conf e commentiamo tutte le righe AddHandler:
vi /etc/apache2/conf.d/php5.conf| |
Dopo di che riavviamo Apache:
/etc/init.d/apache2 restart11.2 mod_ruby
OpenSUSE 11.3 non ha un pacchetto mod_ruby, quindi dobbiamo compilarlo manualmente. Prima installiamo i prerequisiti:
yast2 -i apache2-devel ruby ruby-develDopo di che costruiamo 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
Per abilitare mod_ruby, esegui…
a2enmod ruby … e riavvia Apache:
/etc/init.d/apache2 restart11.3 mod_python
Per installare mod_python, eseguiamo semplicemente:
yast2 -i apache2-mod_pythonPer abilitare mod_python, esegui…
a2enmod python … e riavvia Apache:
/etc/init.d/apache2 restart11.4 WebDAV
Abilita i moduli WebDAV… a2enmod dav
a2enmod dav_fs
a2enmod dav_lock
… e riavvia Apache:
/etc/init.d/apache2 restart12 Proftpd
Voglio usare ProFTPd invece di vsftpd, che è il server FTP predefinito di SUSE, perché il software del pannello di controllo che installerò su questo server (ISPConfig) funziona meglio con ProFTPd su OpenSUSE 11.3. Poiché non ci sono pacchetti OpenSUSE per ProFTPd, devo compilarlo manualmente.
Prima installiamo alcuni prerequisiti:
yast2 -i libcap libcap-develPoi costruiamo ProFTPd come segue:
cd /tmp/
wget –passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.3a.tar.gz
tar xvfz proftpd-1.3.3a.tar.gz
cd proftpd-1.3.3a/
./configure –sysconfdir=/etc
make
make install
cd ..
rm -fr proftpd-1.3.3a*
Ora crea il file /etc/init.d/proftpd:
vi /etc/init.d/proftpd| #! /bin/sh # Copyright (c) 2000-2001 SuSE GmbH Nuernberg, Germania. # Tutti i diritti riservati. # # Autore originale: Marius Tomaschewski <[email protected]> # # Leggermente modificato nel 2003 per l'uso con SuSE Linux 8.1, # da http://www.learnlinux.co.uk/ # # Leggermente modificato nel 2005 per l'uso con SuSE Linux 9.2, # da Falko Timme # # /etc/init.d/proftpd # ### BEGIN INIT INFO # Provides: proftpd # Required-Start: $network $remote_fs $syslog $named # Required-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Avvia il server ProFTPD ### END INIT INFO # Determina la base e segui un nome di collegamento di runlevel. base=${0##*/} link=${base#*[SK][0-9][0-9]} # Forza l'esecuzione se non chiamato da una directory di runlevel. test $link = $base && START_PROFTPD=yes # Modificato da learnlinux.co.uk test "$START_PROFTPD" = yes || exit 0 # Modificato da learnlinux.co.uk # Valori di ritorno secondo LSB per tutti i comandi tranne # stato (vedi sotto): # # 0 - successo # 1 - errore generico o non specificato # 2 - argomento(i) non valido o in eccesso # 3 - funzionalità non implementata (es. "reload") # 4 - privilegi insufficienti # 5 - programma non installato # 6 - programma non configurato # 7 - programma non in esecuzione proftpd_cfg="/etc/proftpd.conf" proftpd_bin="/usr/local/sbin/proftpd" proftpd_pid="/usr/local/var/proftpd.pid" [ -r $proftpd_cfg ] || exit 6 [ -x $proftpd_bin ] || exit 5 # Funzioni di stato della sorgente . /etc/rc.status # Prima reimposta lo stato di questo servizio rc_reset case "$1" in start) echo -n "Avvio del server ProFTPD: " test -f /etc/shutmsg && rm -f /etc/shutmsg /sbin/startproc $proftpd_bin rc_status -v ;; stop) echo -n "Arresto del server ProFTPD: " test -x /usr/local/sbin/ftpshut && /usr/local/sbin/ftpshut now && sleep 1 /sbin/killproc -TERM $proftpd_bin test -f /etc/shutmsg && rm -f /etc/shutmsg rc_status -v ;; restart) ## Se il primo restituisce OK chiama il secondo, se il primo o ## secondo comando fallisce, imposta il valore di ritorno echo. $0 stop $0 start rc_status ;; try-restart) ## Arresta il servizio e se questo riesce (cioè il ## servizio era in esecuzione prima), avvialo di nuovo. ## Nota: non (ancora) parte di LSB (a partire da 0.7.5) $0 status >/dev/null && $0 restart rc_status ;; reload|force-reload) ## Possibilità esclusiva: Alcuni servizi devono essere arrestati ## e avviati per forzare un nuovo caricamento della configurazione. echo -n "Ricarica del server ProFTPD: " /sbin/killproc -HUP $proftpd_bin rc_status -v ;; status) # Lo stato ha un leggermente diverso per il comando di stato: # 0 - servizio in esecuzione # 1 - servizio morto, ma il file pid di /var/run/ esiste # 2 - servizio morto, ma il file di blocco di /var/lock/ esiste # 3 - servizio non in esecuzione echo -n "Controllo del server ProFTPD: " checkproc $proftpd_bin rc_status -v ;; probe) ## Facoltativo: Prova per la necessità di un ricaricamento, ## fornisci l'argomento necessario per un ricaricamento. [ $proftpd_cfg -nt $proftpd_pid ] && echo reload ;; *) echo "Uso: $0 {start|stop|status|restart|reload|try-restart|probe}" exit 1 ;; esac # Imposta uno stato di uscita. rc_exit |
Poi esegui
chmod 755 /etc/init.d/proftpd
chkconfig –add proftpd
Avvia ProFTPd:
/etc/init.d/proftpd startSe ricevi il seguente errore…
Avvio del server ProFTPD: - Fatale: UseIPv6: L’uso della direttiva UseIPv6 richiede supporto IPv6 (–enable-ipv6) alla riga 14 di ‘/etc/proftpd.conf’
startproc: stato di uscita del genitore di /usr/local/sbin/proftpd: 1
… apri /etc/proftpd.conf e commenta o rimuovi la riga UseIPv6:
vi /etc/proftpd.conf | [...] # Non utilizzare il supporto IPv6 per impostazione predefinita. #UseIPv6 off [...] |
Per motivi di sicurezza puoi aggiungere le seguenti righe a /etc/proftpd.conf:
vi /etc/proftpd.conf| [...] DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server pronto." [...] |
Assicurati di commentare le seguenti righe per consentire agli utenti ftp di CHMOD:
| [...] # Vietare l'uso di SITE CHMOD per impostazione predefinita # |
e riavvia ProFTPd:
/etc/init.d/proftpd restartRicevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.