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) con MyDNS & corriere [ISPConfig 3]

In questa esercitazione viene illustrato come preparare un server Debian Lenny (Debian 5.0) per l’installazione di ISPConfig 3 e come installare ISPConfig 3. ISPConfig 3 è un pannello di controllo di hosting Web che consente di configurare i seguenti servizi attraverso un browser web: Apache web server, Postfix mail server, MySQL, MyDNS nameserver, PureFTPd, SpamAssassin, ClamAV e molti altri.

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

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

È importante che entrambi mostrano Server1 ora!

 

7 aggiornare l’installazione di Debian

In primo luogo assicurarsi che proprio /etc/apt/sources.list contiene il repository di debian-volatile (questo rende sicuro che ottenete sempre gli aggiornamenti più recenti per l’antivirus ClamAV – questo progetto pubblica stampa molto spesso e a volte vecchi versioni non funzionare).

vi /etc/apt/sources.list
[...]
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free

Correre

apt-get update

per aggiornare il database dei pacchetti apt e

apt-get upgrade

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

 

8 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.

 

9 Installare Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter, binutils

Possiamo installare Postfix, Courier, Saslauthd, MySQL, phpMyAdmin, rkhunter e binutils con un unico comando:

apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl courier-maildrop getmail4 rkhunter binutils sudo

Verrà chiesto alle seguenti domande:

Nuova password per l’utente “root” di MySQL: <-yourrootsqlpassword
Ripeti password per l’utente “root” di MySQL: <-yourrootsqlpassword
Creare le directory per amministrazione web-based? < no
Generale del tipo di configurazione di posta elettronica: <-sito Internet
Mail name del sistema: <-Server1
Necessario certificato SSL <..–ok

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: ~ #

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

10 installare Amavisd-new, SpamAssassin e Clamav

Per installare amavisd-new, SpamAssassin e ClamAV, corriamo

apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl 

 

11 installare Apache2, PHP5, phpMyAdmin, FCGI, suExec, pera, e mcrypt

Apache2, PHP5, phpMyAdmin, FCGI, suExec, pera e mcrypt può essere installati come segue:

apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libapache2-mod-ruby

Vedrete la seguente domanda:

Server web per riconfigurare automaticamente: <-apache2

Quindi eseguire il comando seguente per attivare l’Apache moduli suexecriscriveresslazioniincludono (plus davdav_fsauth_digest se si desidera utilizzare WebDAV ):

a2enmod suexec rewrite ssl actions include
a2enmod dav_fs dav auth_digest

Riavviare Apache in seguito:

/etc/init.d/apache2 restart

 

12 installare PureFTPd e Quota

PureFTPd e contingente può essere installati con il seguente comando:

apt-get install pure-ftpd-common pure-ftpd-mysql quota quotatool

Modificare il file /etc/default/pure-ftpd-common

vi /etc/default/pure-ftpd-common

… e modificare la modalità di avvio da inetd a standalone e impostare VIRTUALCHROOT = true:

[...]
STANDALONE_OR_INETD=standalone
[...]
VIRTUALCHROOT=true
[...]

Modificare il file /etc/inetd.conf per impedire il tentativo di avviare ftp inetd:

vi /etc/inetd.conf

Impostare come commento la riga che inizia con ftp stream tcp:

[...]
#:STANDARD: These are standard services.
#ftp    stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
[...]

Riavviare inetd in seguito:

/etc/init.d/openbsd-inetd restart 

Quindi avviare PureFTPd:

/etc/init.d/pure-ftpd-mysql start

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

 

13 installare MyDNS

Prima di installare MyDNS, abbiamo bisogno di installare alcuni prerequisiti:

apt-get install g++ libc6 gcc gawk make texinfo libmysqlclient15-dev

MyDNS non è disponibile nei repository di Debian Lenny, pertanto dobbiamo costruirlo noi stessi come segue:

CD/tmp
wget http://heanet.dl.sourceforge.net/sourceforge/mydns-ng/mydns-1.2.8.25.tar.gz
tar xvfz mydns-1.2.8.25.tar.gz
CD mydns-1.2.8
. /Configure
fare
fare installare

Successivamente creiamo lo script di avvio/arresto per MyDNS:

vi /etc/init.d/mydns
#! /bin/sh
#
# mydns         Start the MyDNS server
#
# Author:       Philipp Kern <phil@philkern.de>.
#               Based upon skeleton 1.9.4 by Miquel van Smoorenburg
#               <miquels@cistron.nl> and Ian Murdock <imurdock@gnu.ai.mit.edu>.
#
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/sbin/mydns
NAME=mydns
DESC="DNS server"
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
case "$1" in
  start)
        echo -n "Starting $DESC: $NAME"
        start-stop-daemon --start --quiet \
                --exec $DAEMON -- -b
        echo "."
        ;;
  stop)
        echo -n "Stopping $DESC: $NAME"
        start-stop-daemon --stop --oknodo --quiet \
                --exec $DAEMON
        echo "."
        ;;
  reload|force-reload)
        echo -n "Reloading $DESC configuration..."
        start-stop-daemon --stop --signal HUP --quiet \
                --exec $DAEMON
        echo "done."
        ;;
  restart)
        echo -n "Restarting $DESC: $NAME"
        start-stop-daemon --stop --quiet --oknodo \
                --exec $DAEMON
        sleep 1
        start-stop-daemon --start --quiet \
                --exec $DAEMON -- -b
        echo "."
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
        exit 1
        ;;
esac
exit 0

Quindi abbiamo rendere eseguibile lo script e creare i collegamenti di avvio del sistema per esso:

chmod + x /etc/init.d/mydns
Update-RC. d mydns defaults

 

14 Installare Vlogger e Webalizer, AWstats

Vlogger e webalizer, AWstats può essere installato come segue:

apt-get install vlogger webalizer awstats 

mkdir -p /usr/share/awstats/tools /
CP -prf /usr/share/doc/awstats/examples/awstats_buildstaticpages.pl /usr/share/awstats/tools/awstats_buildstaticpages.pl

 

15 installare Jailkit

Jailkit è necessaria solo se si desidera chroot SSH utenti. Può essere installato come segue (importante: Jailkit deve essere installato prima di ISPConfig – non può essere installato in seguito!):

apt-get install build-essential autoconf automake1.9 libtool flex bison

CD/tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.5.tar.gz
tar xvfz jailkit-2.5.tar.gz
CD jailkit-2.5
. /Configure
fare
fare installare
CD…
rm -rf jailkit-2.5 *

 

16 Installare fail2ban

Questo è facoltativo ma consigliato, perché il monitor di ISPConfig tenta di visualizzare il registro:

apt-get install fail2ban

Piaciuto l'articolo? Condividilo sui social!

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