Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Guide Open Source

GUIDE E MANUALI DEL MONDO LINUX E CMS

Il Server perfetto – Debian Lenny (Debian 5.0) [ISPConfig 2]

In questa esercitazione viene illustrato come impostare un server Debian Lenny (Debian 5.0) che offre tutti i servizi necessiti per gli ISP e hoster: Apache web server (SSL-capace), server di posta Postfix con SMTP-AUTH e TLS, server DNS BIND, Proftpd FTP server, server MySQL, Courier POP3/IMAP , Quota, Firewall, ecc. Alla fine si dovrebbe avere un sistema che funziona in modo affidabile, e se ti piace è possibile installare il controllo di Web hosting gratuito pannello ISPConfig 2 (cioè, ISPConfig corre su di esso, fuori dalla scatola).

Io uso il seguente software:

  • Web Server: Apache 2.2.9 con PHP 5.2.6, Python e Ruby
  • Server database: MySQL 5.0.51 a
  • Server di posta: Postfix
  • Server DNS: BIND9
  • FTP Server: proftpd
  • POP3/IMAP: userò formato Maildir e quindi installare Courier-POP3/Courier-IMAP.
  • Webalizer per statistiche sito web

Si prega di notare che questa configurazione non funziona per ISPConfig 3! È valido per 2 ISPConfig solo!

Voglio innanzitutto dire che questo non è l’unico modo di impostazione di un tale sistema. Ci sono molti modi per raggiungere questo obiettivo, ma questo è il modo di che prendere. Io non rilasciano alcuna garanzia che questo funziona per voi!

 

1 requisiti

Per installare un sistema del genere, sarà necessario quanto segue:

  • Debian Lenny rete CD di installazione, disponibile qui: http://cdimage.debian.org/debian-cd/5.0.0/i386/iso-cd/debian-500-i386-netinst.iso (i386) o http://cdimage.debian.org/debian-cd/5.0.0/amd64/iso-cd/debian-500-amd64-netinst.iso (x86_64)
  • una connessione Internet veloce.

 

2 Nota preliminare

In questo tutorial io uso il nome host Server1 con l’ indirizzo IP 192.168.0.100 e gateway 192.168.0.1Queste impostazioni potrebbero differire per te, quindi devi sostituirli ove opportuno.

 

3 il sistema di Base

Inserire il CD di installtion rete Debian Lenny nel sistema e avviare da esso. Selezionare installare (questo verrà avviato il programma di installazione di testo – se si preferisce un installatore grafico, selezionare Graphical install):

Scegli la tua lingua:

Quindi selezionare il percorso:

Scegliere un layout di tastiera:

Il programma di installazione controlla il CD di installazione, il vostro hardware e configura la rete con DHCP, se c’è un server DHCP nella rete:

Immettere il nome host. In questo esempio, il mio sistema è chiamato Server1, quindi inserisco server1:

Inserisci il tuo nome di dominio. In questo esempio, si tratta di esempio.com:

Ora devi partizionare il disco rigido. Per semplicità creerà una partizione più grande (con il mount point /) e un po’ di swap partizione, quindi seleziono guidato – usa l’intero disco (naturalmente, il partizionamento è totalmente da voi – se si desidera, è possibile creare più di un grande partizione e si può anche utilizzare LVM):

Selezionare il disco che si desidera partizionare:

Quindi selezionare lo schema di partizionamento. Come accennato prima, selezionare tutti i file in una partizione (consigliato per i nuovi utenti) per semplicità – spetta a tuo piacimento ciò che si sceglie qui:

Quando hai finito, selezionare terminare il partizionamento e scrivere i cambiamenti sul disco:

Selezionare  quando ti viene chiesto scrivere le modifiche ai dischi?:

In seguito, le nuove partizioni sono create e formattate:

Ora il sistema base è installato:

In seguito, dare l’utente root una password:

Confermare che la password per evitare errori di battitura:

Creare un account utente normale, ad esempio l’utente amministratore con l’utente il nome amministratore (non usare il nome utente admin come è un nome riservato su Debian Lenny):

Successivamente è necessario configurare apt. Poiché si utilizza il CD Netinstall con Debian Lenny che contiene solo un insieme minimo di pacchetti, è necessario utilizzare un mirror di rete. Selezionare il paese in cui si trova lo specchio di rete che si desidera utilizzare (di solito questo è il paese dove si trova il sistema Debian Lenny):

Quindi selezionare lo specchio che si desidera utilizzare (ad esempio ftp2):

A meno che non si utilizza un proxy HTTP, lasciare vuoto il campo seguente e premere continua:

APT è ora l’aggiornamento relativo database dei pacchetti:

È possibile ignorare l’indagine di utilizzo del pacchetto selezionando No:

Abbiamo bisogno di un server web, server DNS, server di posta e un database MySQL, ma tuttavia non seleziono uno qualsiasi di loro ora perché mi piace avere pieno controllo su ciò che viene installato sul mio sistema. Si installerà i pacchetti necessari manualmente più avanti. Pertanto abbiamo basta selezionare sistema Standard e premere continua:

I pacchetti necessari vengono scaricati e installati nel sistema:

Quando ti viene chiesto di installare il boot loader GRUB nel master boot record, selezionare :

L’installazione del sistema base ora è finito. Rimuovere il Debian Lenny Netinstall CD dall’unità CD-ROM e premere continua per riavviare il sistema:

Alla fase successiva…

4 installare il SSH Server

Debian Lenny non installa OpenSSH per impostazione predefinita, pertanto dobbiamo farlo ora. Correre

apt-get install ssh openssh-server

Da ora in poi si può utilizzare un client SSH come PuTTY e connettersi dalla postazione di lavoro al server Debian Lenny e seguire i passaggi rimanenti di questa esercitazione.

 

5 installare vim-nox (facoltativo)

Io uso vi come il mio editor di testo in questo tutorial. Il programma di default vi ha qualche strano comportamento su Debian e Ubuntu; per risolvere questo problema, installiamo vim-nox:

apt-get install vim-nox

(Non devi fare questo se si utilizza un editor di testo diverso come joe o nano).

 

6 configurare la rete

Perché il programma di installazione di Debian Lenny ha configurato il nostro sistema per ottenere le impostazioni di rete tramite DHCP, dobbiamo modificare che perché un server deve avere un indirizzo IP statico. Modificare /etc/network/interfaces e adattarlo alle vostre esigenze (in questa configurazione di esempio userò l’indirizzo IP 192.168.0.100) (si prega di notare che sostituire di allow-hotplug eth0 con auto eth0; altrimenti riavviare il rete non funziona, e che avremmo dovuto riavviare l’intero sistema):

vi /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp
auto eth0
iface eth0 inet static
        address 192.168.0.100
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

Quindi riavviare la rete:

/etc/init.d/networking restart

Quindi modificare/etc/hostsRenderlo simile a questa:

vi /etc/hosts
127.0.0.1       localhost.localdomain   localhost
192.168.0.100   server1.example.com     server1

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Ora eseguire

Eco server1 >/etc/hostname
/etc/init.d/hostname.sh inizio

In seguito, eseguire

hostname
hostname -f

Entrambi dovrebbero mostrare Server1.

 

7 aggiornare l’installazione di Debian

Correre

apt-get update

per aggiornare il database dei pacchetti apt e

apt-get upgrade

per installare gli aggiornamenti più recenti (se presenti).

 

8 installare alcuni Software

Ora installare alcuni pacchetti che sono necessari più tardi. Correre

apt-get install binutils cpp fetchmail flex gcc libarchive-zip-perl libc6-dev libcompress-zlib-perl libdb4.6-dev libpcre3 libpopt-dev lynx m4 make ncftp nmap openssl perl perl-modules unzip zip zlib1g-dev autoconf automake1.9 libtool bison autotools-dev g++ build-essential 

(Questo comando deve andare in una sola riga!)

 

9 quota

(Se avete scelto un diverso schema di partizionamento che ho fatto, è necessario regolare questo capitolo quindi tale quota si applica per le partizioni dove ne avete bisogno.)

Per installare il contingente, eseguire

apt-get install quota

Modificare/etc/fstabMiniera assomiglia a questo (ho aggiunto , usrquota, grpquota alla partizione con il punto di montaggio /):

vi /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/sda1       /               ext3    errors=remount-ro,usrquota,grpquota 0       1
/dev/sda5       none            swap    sw              0       0
/dev/hda        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0

Per abilitare il contingente, eseguire questi comandi:

tocco /quota.user /quota.group
chmod 600 /quota.*
Mount remount -o /

quotacheck – avugm
quotaon – avug

 

Server DNS BIND9 10

Correre

apt-get install bind9

per installare BIND9.

Per motivi di sicurezza che vogliamo eseguire chroot BIND, quindi dobbiamo fare le seguenti operazioni:

/etc/init.d/bind9 stop

Modificare il file /etc/default/bind9 in modo che il demone verrà eseguito come l’utente senza privilegi associare, chroot per /var/lib/namedModificare la riga: Opzioni = “-bind u” modo che legge Opzioni = “-u associare -t /var/lib/named”:

vi /etc/default/bind9
# run resolvconf?
RESOLVCONF=yes

# startup options for the server
OPTIONS="-u bind -t /var/lib/named"

Creare le directory necessarie sotto /var/lib:

mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run

Quindi spostare la directory config da/etc /var/lib/named/etc:

mv /etc/bind /var/lib/named/etc

Creare un link simbolico alla nuova directory config dalla vecchia posizione (per evitare problemi quando BIND ottiene aggiornato in futuro):

ln -s /var/lib/named/etc/bind /etc/bind

Rendere i dispositivi null e casuali e riparare i permessi delle directory:

mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
Binding: binding/var/lib di chown -R/nome/var / *
chown -R binding: binding /var/lib/named/etc/bind

Abbiamo bisogno di aprire /etc/rsyslog.d/bind-chroot.conf

vi /etc/rsyslog.d/bind-chroot.conf

… e aggiungere la seguente riga in modo che possiamo ancora ottenere importanti messaggi registrati nei log di sistema:

$AddUnixListenSocket /var/lib/named/dev/log

Riavviare il demone di registrazione:

/etc/init.d/rsyslog restart

Avviare BIND e controllare /var/log/syslog per errori:

/etc/init.d/bind9 start

11 MySQL

Per installare MySQL, corriamo

apt-get install mysql-server mysql-client libmysqlclient15-dev

Verrà chiesto di fornire una password per l’utente root di MySQL – questa password è valida per l’utente root@localhost così come root@server1.example.com, così non dobbiamo specificare una password di root di MySQL manualmente più avanti:

Nuova password per l’utente “root” di MySQL: <-yourrootsqlpassword
Ripeti password per l’utente “root” di MySQL: <-yourrootsqlpassword

Vogliamo MySQL per l’ascolto su tutte le interfacce, non solo localhost, pertanto modificare /etc/mysql/my.cnf e commentare la riga bind-address = 127.0.0.1:

vi /etc/mysql/my.cnf
[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1
[...]

Quindi abbiamo riavviare MySQL:

/etc/init.d/mysql restart

Ora verifica che la rete è abilitata. Correre

netstat -tap | grep mysql

L’output dovrebbe assomigliare a questo:

Server1: ~ # netstat-toccare | grep mysql
TCP 0 0 *: mysql *: * LISTEN 6612/mysqld
Server1: ~ #

 

12 postfix con SMTP-AUTH e TLS

Al fine di installare Postfix con SMTP-AUTH e TLS fare i seguenti passaggi:

apt-get install postfix libsasl2-2 sasl2-bin libsasl2-modules procmail

Verrà chiesto due domande. Rispondere come segue:

Generale del tipo di configurazione di posta elettronica: <-sito Internet
Mail name del sistema: <-Server1

Quindi eseguire

dpkg-reconfigure postfix

Ancora una volta, ti verrà chiesto alcune domande:

Generale del tipo di configurazione di posta elettronica: <-sito Internet
Mail name del sistema: <-Server1
Radice e postmaster destinatario di posta elettronica: < – [vuoto]
Altre destinazioni per accettare la posta per (vuoto per nessuno): <-Server1, localhost.example.com, localhost. localdomain localhost
Forzare aggiornamenti sincroni su coda posta? < no
Reti locali: <-127.0.0.0/8 [:: ffff:127.0.0.0]/104 [:: 1] / 128
Utilizzare procmail per il recapito locale? < sì
Limite di dimensione della cassetta postale (byte): < – 0
Carattere di estensione indirizzo locale: <– +
Protocolli Internet da utilizzare: <..–tutti i

Successivamente, procedere come segue:

postconf -e ‘ smtpd_sasl_local_domain =’
postconf -e ‘ smtpd_sasl_auth_enable = yes’
postconf -e ‘ smtpd_sasl_security_options = noanonymous’
postconf -e ‘ broken_sasl_auth_clients = yes’
postconf -e ‘ smtpd_sasl_authenticated_header = yes’
postconf -e ‘ smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination’
postconf -e ‘ inet_interfaces = all’
echo “pwcheck_method: saslauthd’ >> /etc/postfix/sasl/smtpd.conf
echo “mech_list: pianura login’ >> /etc/postfix/sasl/smtpd.conf

Successivamente creiamo i certificati per TLS:

mkdir /etc/postfix/ssl
CD/etc/postfix/ssl /
openssl genrsa-des3-rand/etc/hosts – fuori smtpd.key 1024

chmod 600 smtpd.key
openssl req-new – key smtpd.key-fuori smtpd.csr

openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted

MV -f smtpd.key.unencrypted smtpd.key
openssl req-new – x 509 – estensioni v3_ca – keyout cakey. pem-out cacert. pem-giorni 3650

Successivamente abbiamo configurare Postfix per TLS (assicurarsi di utilizzare il nome host corretto per myhostname):

postconf -e 'myhostname = server1.example.com'

postconf -e ‘ smtpd_tls_auth_only = no’
postconf -e ‘ smtp_use_tls = yes’
postconf -e ‘ smtpd_use_tls = yes’
postconf -e ‘ smtp_tls_note_starttls_offer = yes’
postconf -e ‘ smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key’
postconf -e ‘ smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt’
postconf -e ‘ smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem’
postconf -e ‘ smtpd_tls_loglevel = 1’
postconf -e ‘ smtpd_tls_received_header = yes’
postconf -e ‘ smtpd_tls_session_cache_timeout = 3600s’
postconf -e ‘ tls_random_source = dev: / dev/urandom ‘

Il file /etc/postfix/main.cf ora dovrebbe assomigliare a questo:

cat /etc/postfix/main.cf
# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = server1.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = server1.example.com, localhost.example.com, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

L’autenticazione sarà fatto da saslauthdDobbiamo cambiare alcune cose per farlo funzionare correttamente. Perché Postfix esegue chroot in /var/spool/postfix dobbiamo effettuare le seguenti operazioni:

mkdir -p /var/spool/postfix/var/run/saslauthd

Ora dobbiamo modificare /etc/default/saslauthd per attivare saslauthdImpostare inizio su yes e modificare la riga Opzioni = “-c -m /var/run/saslauthd” a Opzioni = “-c -m /var/spool/postfix/var/run/saslauthd – r”:

vi /etc/default/saslauthd
#
# Settings for saslauthd daemon
# Please read /usr/share/doc/sasl2-bin/README.Debian for details.
#

# Should saslauthd run automatically on startup? (default: no)
START=yes

# Description of this saslauthd instance. Recommended.
# (suggestion: SASL Authentication Daemon)
DESC="SASL Authentication Daemon"

# Short name of this saslauthd instance. Strongly recommended.
# (suggestion: saslauthd)
NAME="saslauthd"

# Which authentication mechanisms should saslauthd use? (default: pam)
#
# Available options in this Debian package:
# getpwent  -- use the getpwent() library function
# kerberos5 -- use Kerberos 5
# pam       -- use PAM
# rimap     -- use a remote IMAP server
# shadow    -- use the local shadow password file
# sasldb    -- use the local sasldb database file
# ldap      -- use LDAP (configuration is in /etc/saslauthd.conf)
#
# Only one option may be used at a time. See the saslauthd man page
# for more information.
#
# Example: MECHANISMS="pam"
MECHANISMS="pam"

# Additional options for this mechanism. (default: none)
# See the saslauthd man page for information about mech-specific options.
MECH_OPTIONS=""

# How many saslauthd processes should we run? (default: 5)
# A value of 0 will fork a new process for each connection.
THREADS=5

# Other options (default: -c -m /var/run/saslauthd)
# Note: You MUST specify the -m option or saslauthd won't run!
#
# WARNING: DO NOT SPECIFY THE -d OPTION.
# The -d option will cause saslauthd to run in the foreground instead of as
# a daemon. This will PREVENT YOUR SYSTEM FROM BOOTING PROPERLY. If you wish
# to run saslauthd in debug mode, please run it by hand to be safe.
#
# See /usr/share/doc/sasl2-bin/README.Debian for Debian-specific information.
# See the saslauthd man page and the output of 'saslauthd -h' for general
# information about these options.
#
# Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
#OPTIONS="-c -m /var/run/saslauthd"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

Successivamente aggiungere l’utente postfix al gruppo sasl (questo assicura che Postfix dispone dell’autorizzazione per accedere saslauthd):

adduser postfix sasl

Ora riavviare Postfix e avviare saslauthd:

/etc/init.d/postfix restart
/etc/init.d/saslauthd inizio

Per vedere se SMTP-AUTH e TLS funzionano correttamente Esegui ora il seguente comando:

telnet localhost 25

Dopo aver stabilito la connessione al vostro tipo di server di posta Postfix

ehlo localhost

Se vedete le linee

250-STARTTLS

e

250-AUTH LOGIN PLAIN

tutto è andato bene.

L’output sul mio sistema è simile al seguente:

Server1: / etc/postfix/ssl # telnet localhost 25
Cercando 127.0.0.1…
Collegato a localhost.
Carattere di escape è ‘ ^]’.
Server1 220 ESMTP Postfix (Debian/GNU)
EHLO localhost
250-Server1
IL PIPELINING 250
DIMENSIONI DI 250 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH = LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
DSN 250
uscire da
221 2.0.0 bye
Connessione chiusa dall’host stranieri.
Server1: / etc/postfix/ssl #

Tipo

quit

per tornare alla shell del sistema.

 

13 courier-IMAP/Courier-POP3

Eseguire questo per installare Courier-IMAP/Courier-IMAP-SSL (per IMAPs sulla porta 993) e corriere-POP3/Courier-POP3-SSL (per POP3s sulla porta 995):

apt-get install courier-authdaemon courier-base courier-imap courier-imap-ssl courier-pop courier-pop-ssl courier-ssl gamin libgamin0 libglib2.0-0 

Verrà chiesto due domande:

Creare le directory per amministrazione web-based? < no
Necessario certificato SSL <..–ok

Durante l’installazione, i certificati SSL per IMAP-SSL e POP3-SSL vengono creati con il nome host localhostPer modificare questa impostazione per il nome host corretto (Server1 in questo tutorial), eliminare i certificati…

CD/etc/corriere
rm -f /etc/courier/imapd.pem
rm -f /etc/courier/pop3d.pem

… e modificare i seguenti due file; sostituire CN = localhost con CN=server1.example.com (è possibile anche modificare gli altri valori, se necessario):

vi /etc/courier/imapd.cnf
[...]
CN=server1.example.com
[...]
vi /etc/courier/pop3d.cnf 
[...]
CN=server1.example.com
[...]

Quindi ricreare i certificati…

mkimapdcert
mkpop3dcert

… e riavviare Courier-IMAP-SSL e Courier-POP3-SSL:

/etc/init.d/Courier-IMAP-SSL riavvio
/etc/init.d/courier-pop-SSL riavvio

Se non si desidera utilizzare ISPConfig, configurare Postfix per recapitare messaggi di posta elettronica a Maildir * un utente:

postconf -e ‘ home_mailbox = Maildir /’
postconf -e ‘ mailbox_command =’
/etc/init.d/postfix restart

* Si prega di notare: Non è necessario eseguire questa operazione se si intende utilizzare ISPConfig sul sistema come ISPConfig fa la configurazione necessaria utilizzando ricette di procmail. Ma vai a ricordarsi di abilitare Maildir sotto Gestione -> Server -> Impostazioni -> EMail nell’interfaccia web di ISPConfig.

14 Apache/PHP5/Ruby/Python

Ora installiamo Apache:

apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils apache2-suexec libexpat1 ssl-cert

Successivamente abbiamo installare PHP5, Ruby e Python (tutti e tre come moduli di Apache):

apt-get install libapache2-mod-php5 libapache2-mod-ruby libapache2-mod-python php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-suhosin php5-tidy php5-xcache php5-xmlrpc php5-xsl

Successivamente abbiamo modificare /etc/apache2/mods-available/dir.conf

vi /etc/apache2/mods-available/dir.conf

… e modificare la riga DirectoryIndex :

<IfModule mod_dir.c>

          #DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
          DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml

</IfModule>

Ora dobbiamo attivare alcuni moduli di Apache (SSLriscriveresuexecincludere):

a2enmod ssl
a2enmod rewrite
a2enmod suexec
a2enmod includono

Riavviare Apache:

/etc/init.d/apache2 restart

Dobbiamo risolvere un piccolo problema con Ruby. Se si installa ISPConfig e attivare Ruby per un sito web, file . RBX verranno eseguiti bene e visualizzati nel browser, ma questo non funziona per i file . RB – verrà richiesto di scaricare il file . RB – lo stesso accade se si configurare manualmente il Ruby per un vhost (cioè, non ha nulla a che fare con ISPConfig). Per risolvere questo problema, apriamo /etc/mime.types

vi /etc/mime.types

… e commentare la riga application/x-ruby :

[...]
#application/x-ruby                             rb
[...]

Riavviare Apache:

/etc/init.d/apache2 restart

Ora file . RB verranno eseguiti e visualizzati nel browser, proprio come i file . RBX .

Nel prossimo capitolo (14,1) ci accingiamo a disabilitare PHP (questo è necessario solo se si desidera installare ISPConfig su questo server). A differenza di PHP, Ruby e Python sono disattivati per impostazione predefinita, pertanto non dobbiamo farlo.

 

14.1 disattivare PHP globale

(Se non si intende installare ISPConfig su questo server, saltare questa sezione!)

In ISPConfig si configurerà PHP su base per-sito, cioè è possibile specificare quale sito può eseguire script PHP e che uno non può. Questo può funzionare solo se PHP è disattivato a livello globale, perché altrimenti sarebbe in grado di eseguire script PHP, non importa di quello specificato in ISPConfig tutti i siti Web.

Per disattivare globalmente PHP, editiamo /etc/mime.types e commentare le righe di applicazione/x-httpd-php :

vi /etc/mime.types
[...]
#application/x-httpd-php                                phtml pht php
#application/x-httpd-php-source                 phps
#application/x-httpd-php3                       php3
#application/x-httpd-php3-preprocessed          php3p
#application/x-httpd-php4                       php4
[...]

Modificare /etc/apache2/mods-enabled/php5.conf e commentare le seguenti righe:

vi /etc/apache2/mods-enabled/php5.conf
<IfModule mod_php5.c>
  #AddType application/x-httpd-php .php .phtml .php3
  #AddType application/x-httpd-php-source .phps
</IfModule>

Quindi riavviare Apache:

/etc/init.d/apache2 restart

 

15 Proftpd

Per poter installare Proftpd, eseguire

apt-get install proftpd ucf

Verrà posta una domanda:

Eseguire proftpd: <-standalone

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

vi /etc/proftpd/proftpd.conf
[...]
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server ready."
[...]

ISPConfig prevede la configurazione di essere in /etc/proftpd.conf invece di /etc/proftpd/proftpd.conf, quindi che creiamo un link simbolico (si può saltare questo comando se non volete installare ISPConfig):

ln -s /etc/proftpd/proftpd.conf /etc/proftpd.conf

Quindi riavviare Proftpd:

/etc/init.d/proftpd restart

 

Webalizer 16

Per installare webalizer, basta eseguire

apt-get install webalizer

 

17 sincronizzare l’orologio di sistema

È una buona idea per sincronizzare l’orologio di sistema con un server NTP (network time pProtocol) tramite internet. È sufficiente eseguire

apt-get install ntp ntpdate

e l’ora di sistema sarà sempre in sincronia.

 

18 installare alcuni moduli Perl necessari di SpamAssassin (viene fornito con ISPConfig)

Correre

apt-get install libhtml-parser-perl libdb-file-lock-perl libnet-dns-perl libnetaddr-ip-perl libarchive-tar-perl

 

19 ISPConfig

La configurazione del server è ora finito, e se lo si desidera che è ora possibile installare ISPConfig su di esso. Si prega di consultare il manuale di installazione di ISPConfig: http://www.ispconfig.org/manual_installation.htm

 

19.1. una nota su SuExec

Se si desidera eseguire script CGI sotto suExec, è necessario specificare /var/www come la home directory per i siti Web creati da ISPConfig come suExec di Debian è compilato con /var/www come Doc_RootCorrere

 /usr/lib/apache2/suexec -V

e l’output dovrebbe assomigliare a questo:

Server1: ~ # /usr/lib/apache2/suexec -V
-D AP_DOC_ROOT = “/ var/www”
-D AP_GID_MIN = 100
-D AP_HTTPD_USER = “www-data”
-D AP_LOG_EXEC=”/var/log/apache2/suexec.log”
-D AP_SAFE_PATH = “/ usr/local/bin: / usr/bin: / bin”
-D AP_UID_MIN = 100
-D AP_USERDIR_SUFFIX = “public_html”
Server1: ~ #

Quindi se si desidera utilizzare suExec con ISPconfig, non cambiano la radice web predefinito (che è /var/www) se si utilizza la modalità esperto durante l’installazione di ISPConfig (in modalità standard non è possibile modificare la radice web comunque così sarete in grado di utilizzare in ogni caso suExec).

 

  • Debian: http://www.debian.org/
  • ISPConfig: http://www.ispconfig.org/

Piaciuto l'articolo? Condividilo sui social!

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on whatsapp
WhatsApp