Salut à tous,
voici un tutorial sur l'installation au grand complet d'un serveur sur une distribution sarge, j'ai repiqué par-ci et par-là des informations et j'ai tout regroupé dans un tutorial qui est fonctionnel car je l'ai testé sur un serveur dédié OVH et Dédibox et même en local.
Je sais pas si c'est la meilleure façon de faire mais c'est une des façons que j'ai appri, pardonnez-moi pour les fautes d'orthographes.
Je regrette juste une chose, c'est l'installation d'
iptables mais je vous renvoi au tutorial de ricardo qui est clair et complet, ouvrez-bien les ports 20,21,25,53,80,110,143,993 et 995.
Il y a certains paramètres à changer suivant votre propres configuration, par exemple les données de bind qui sont mes propres données en local.
J'espère aider le plus de monde possible avec cette petite contribution.
Voilà
Tutorial d'installation complet de (mi à jour le 27/11/2006) :
Qmail (daemontools et ucspi-tcp) en tls-ssl , pure-ftpd-mysql (tls-ssl),
mysql, apache, apache-ssl, bind9, php4, php5-cgi, phpmyadmin, squirrelmail, tmda, spamassassin (CPAN),
vpopmail, ripmime, qmailadmin, ezmlm, autorespond, quota-support, simscan, courier-imap (ssl), modules Perl, librairies Pear et clamav sur une distribution Debian Sarge 3.1
--------------------------------------------------
Debian-Sarge 3.1 :
#Installation en mode 'expert26'
#Télécharger et graver l'image iso :
http://cdimage.debian.org/debian-cd/3.1 ... etinst.iso
#Tutorial d'install et ensuite ne pas installer KDE:
http://giminik.developpez.com/articles/ ... tallation/
#Installer ces packets avec apt-get :
Code:
apt-get update
apt-get upgrade
apt-get install build-essential libgdbm-dev gcc g++ patch make libc6-dev stunnel \
libssl-dev wget expect expect-dev autoconf unzip bzip2 telnet
--------------------------------------------------
Bind9
Le nom du serveur est 'server'
Le domaine local sera 'home.lan'
L'ip du routeur (passerelle) est 192.168.0.1
L'ip réseau est 192.168.0.0
L'ip du serveur est 192.168.0.126
#installation :
Code:
apt-get update
apt-get install bind9
#Ouvrir le fichier /etc/bind/named.conf.local et insérez ces lignes :
Code:
zone "home.lan" {
type master;
file "/var/cache/bind/home.lan.zone";
};
zone "0.168.192.in-addr.arpa" {
type master;
file "/var/cache/bind/db.192.168.0";
};
# Créer le fichier home.lan.zone dans /var/cache/bind/ et y insérez ceci :
Code:
$ORIGIN .
$TTL 7200 ; 2 hours
home.lan IN SOA ns.home.lan. webmaster.home.lan. (
2006110101 ; serial changer les serials !!
7200 ; refresh (2 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
NS ns.home.lan.
MX 5 mail.home.lan.
$ORIGIN home.lan.
A 192.168.0.126
ns IN A 192.168.0.126
ftp IN A 192.168.0.126
imap IN A 192.168.0.126
mail IN A 192.168.0.126
pop IN A 192.168.0.126
pops IN A 192.168.0.126
imaps IN A 192.168.0.126
smtp IN A 192.168.0.126
www IN A 192.168.0.126
router IN A 192.168.0.1
mysql IN A 192.168.0.126
server IN A 192.168.0.126
download CNAME home.lan.
forums CNAME home.lan.
galerie CNAME home.lan.
# (Zone reverse) Créer dans ce même dossier un fichier nommé db.192.168.0 et y insérez ceci :
Code:
$TTL 3h
@ IN SOA ns.home.lan. webmaster.home.lan. (
2006110101 ; changer les serials !!
8H
2H
1W
1D )
@ IN NS ns.home.lan.
@ IN MX 5 mail.home.lan.
126 IN PTR ns.home.lan.
126 IN PTR mail.home.lan.
126 IN PTR ftp.home.lan.
126 IN PTR server.home.lan.
1 IN PTR router.home.lan.
126 IN PTR mysql.home.lan.
126 IN PTR pop.home.lan.
126 IN PTR smtp.home.lan.
126 IN PTR pops.home.lan.
126 IN PTR imap.home.lan.
126 IN PTR imaps.home.lan.
126 IN PTR www.home.lan.
#Adapter les numéros de séries et redémarrer bind9
Code:
/etc/init.d/bind9 reload
---------------------------------------------------------------
Perl :
#Installation des modules Perl avec Debian ou avec CPAN
# Avec debian :
Code:
apt-get install libdbi-perl libdbd-mysql-perl libdigest-md5-perl \
libdigest-sha1-perl libimage-size-perl libmime-lite-perl \
libmime-perl libcompress-zlib-perl libmime-base64-perl \
liburi-perl libhtml-tagset-perl libhtml-parser-perl \
libwww-perl libgd-perl libmailtools-perl \
libunicode-maputf8-perl libstorable-perl \
libtime-hires-perl
# modules optionnels
Code:
apt-get install libnet-perl libgd-graph-perl libproc-process-perl \
librpc-xml-perl libsoap-lite-perl libxml-rss-perl \
libstring-crc32-perl
# Avec CPAN :
Code:
perl -MCPAN -e shell
# Mise à jour de CPAN :
Code:
cpan> install Bundle::CPAN
# Recharger CPAN :
Code:
cpan> reload cpan
# Installons les modules :
Code:
cpan> install DBI
#Pour mysql le pass doit être enlevé
cpan> install DBD::mysql
cpan> install Digest::MD5
cpan> install Digest::SHA1
cpan> install Image::Size
cpan> install MIME::Lite
cpan> install MIME::Words
cpan> install Compress::Zlib
cpan> install MIME::Base64
cpan> install URI::URL
cpan> install HTML::Tagset
cpan> install HTML::Parser
cpan> install LWP::Simple
cpan> install LWP::UserAgent
cpan> install GD
cpan> install Mail::Address
cpan> install Unicode::MapUTF8
cpan> install Storable
cpan> install Time::HiRes
cpan> install IO::WrapTie
# Modules optionnels :
Code:
cpan> install Net::SMTP
cpan> install GD::Graph
cpan> install Proc::ProcessTable
cpan> install RPC::XML
cpan> install SOAP::Lite
cpan> install XML::RSS
cpan> install String::CRC32
------------------------------------------------------------
Note: pour pear il faut au préalable avoir installer php.
Pear :
#pour mettre à jour Pear
Code:
pear upgrade
#installons les librairies :
#pear install <packages>
Code:
pear install PEAR_Info
...etc...
#pour la liste de packages aller sur
http://pear.php.net/Code:
pear list
# pour changer de channel
Code:
pear install channel....
------------------------------------------------------------
Apache 1.3 + php4 + php5-cgi
#mettre ces dépôts dans vos sources.list :
Code:
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all
#Installer apache :
Code:
apt-get update
apt-get install apache apache-doc
#php4 en module :
Code:
apt-get update
apt-get install libapache-mod-php4 php4-gd php4-imagick php4-mysql php4-snmp
#php5-cgi :
Code:
apt-get update
apt-get install php5-cgi php5-mysql
#Activer le mod_actions sur le serveur (regarder s'il n'est pas déjà activer
#dans /etc/apache/httpd.conf ou /etc/apache/modules.conf sinon pour l'activer :
Code:
apache-modconf apache enable mod_actions
#Ensuite, ajoutez les lignes suivantes dans un .htaccess dans le répertoire web où vous voulez utiliser php5 :
Code:
AddHandler x-httpd-php5 .php
Action x-httpd-php5 /cgi-bin/php5
#Redémarrez ensuite le serveur Apache :
Code:
/etc/init.d/apache restart
-------------------------------------------------------------
MySQL :
#mettre ces dépôts dans vos sources.list :
Code:
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all
Code:
apt-get update
apt-get install mysql-server-5.0 mysql-client-5.0 libmysqlclient15-dev
#mot de passe root-mysql
Code:
mysqladmin -u root password <lenouveaupasse>
-------------------------------------------------------------
Pure-FTPd :
Code:
apt-get install pure-ftpd-mysql
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser
#Créer la BD pour pure-ftpd :
Code:
mysql -u root -p
password:
CREATE DATABASE pureftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost' IDENTIFIED BY 'motdepasse';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost.localdomain' IDENTIFIED BY 'motdepasse';
FLUSH PRIVILEGES;
#Créer la table ftpd et les champs:
Code:
USE pureftpd;
CREATE TABLE ftpd (
User varchar(16) NOT NULL default '',
status enum('0','1') NOT NULL default '0',
Password varchar(64) NOT NULL default '',
Uid varchar(11) NOT NULL default '-1',
Gid varchar(11) NOT NULL default '-1',
Dir varchar(128) NOT NULL default '',
ULBandwidth smallint(5) NOT NULL default '0',
DLBandwidth smallint(5) NOT NULL default '0',
comment tinytext NOT NULL,
ipaccess varchar(15) NOT NULL default '*',
QuotaSize smallint(5) NOT NULL default '0',
QuotaFiles int(11) NOT NULL default 0,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) TYPE=MyISAM;
quit;
#Copier ceci dans /etc/pure-ftpd/db/mysql.conf
Code:
MYSQLSocket /var/run/mysqld/mysqld.sock
#MYSQLServer localhost
#MYSQLPort 3306
MYSQLUser pureftpd
MYSQLPassword ftpdpass
MYSQLDatabase pureftpd
#MYSQLCrypt md5, cleartext, crypt() or password() - md5 is VERY RECOMMENDABLE uppon cleartext
MYSQLCrypt md5
MYSQLGetPW SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetUID SELECT Uid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetGID SELECT Gid FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MYSQLGetDir SELECT Dir FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTASZ SELECT QuotaSize FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
MySQLGetQTAFS SELECT QuotaFiles FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
#Créer les fichiers de configuration nécessaires :
Code:
echo "yes" >> /etc/pure-ftpd/conf/CreateHomeDir
echo "yes" >> /etc/pure-ftpd/conf/ChrootEveryone
echo "yes" >> /etc/pure-ftpd/conf/AntiWarez
echo "25" >> /etc/pure-ftpd/conf/MaxClientsNumber
echo "2" >> /etc/pure-ftpd/conf/MaxClientsPerIP
echo "5" >> /etc/pure-ftpd/conf/MaxIdleTime
echo "95" >> /etc/pure-ftpd/conf/MaxDiskUsage
echo "133 000" >> /etc/pure-ftpd/conf/Umask
echo "10000 15000" >> /etc/pure-ftpd/conf/PassivePortRange
echo "1" >> /etc/pure-ftpd/conf/TLS
#Peupler la BD :
Code:
mysql -u root -p
password:
USE pureftpd;
INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('toto', '1', MD5('motdepasse'), '2001', '2001', '/var/www/toto', '100', '100', '', '*', '25', '0');
exit;
#Installer le tls/ssl :
Code:
apt-get install openssl
mkdir -p /etc/ssl/private
openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
chmod 600 /etc/ssl/private/*.pem
#Redémarrer Pure-FTPd :
Code:
/etc/init.d/pure-ftpd-mysql restart
---------------------------------------------------------
PhpMyAdmin :
Code:
apt-get update
apt-get install phpmyadmin
#Pour choisir la version de phpmyadmin (installation manuelle):
Code:
cd /usr/share
wget http://heanet.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.9.1-all-languages.tar.gz
tar -zxf phpMyAdmin-2.9.1-all-languages.tar.gz
mv phpMyAdmin-2.9.1-all-languages phpmyadmin
cd phpmyadmin
cp libraries/config.default.php config.inc.php
#Editer config.inc.php et ajouter jdu48ff5d66f99ds44 à la ligne
Code:
$cfg['blowfish_secret'] = '';
$cfg['blowfish_secret'] = 'jdu48ff5d66f99ds44';
#Modifier la ligne :
Code:
$cfg['Servers'][$i]['auth_type'] = 'config';
#par :
Code:
$cfg['Servers'][$i]['auth_type'] = 'http';
#Créer un lien symbolique :
Code:
cd /
ln -s /usr/share/phpmyadmin /var/www/phpmyadmin
#Configurer apache pour qu'il reconnaisse phpmyadmin:
Code:
touch /etc/apache/conf.d/phpmyadmin.conf
#Editer le fichier phpmyadmin.conf et y insérez ceci:
Code:
Alias /phpmyadmin /var/www/phpmyadmin
<Directory /var/www/phpmyadmin/>
AllowOverride All
</Directory>
<Directory /usr/share/phpmyadmin/>
AllowOverride All
</Directory>
#Redémarrer apache:
Code:
/etc/init.d/apache restart
----------------------------------------------------------------
Apache en SSL :
Code:
apt-get install apache-ssl
Attention : Installer d'abord Qmail et vpopmail avant d'installer Apache en SSL !!!
J'ai remarqué qu'il y avait des problèmes de librairies lors de la compilation de Qmail
avec les librairies SSL d'Apache.
----------------------------------------------------------------
Qmail, vpopmail, courier-imap (SSL), simscan, Qmailadmin, spamassassin et clamav + divers outils :
PREPARATION DE LA DISTRIBUTION POUR ACCUEILLIR QMAIL
#Vos DNS (enregistrement mx) doivent être configurés convenablement !!! :
linux:~#
host -t mx home.lanhome.lan mail is handled by 10 mail.home.lan.
linux:~#
host -t a mail.home.lanmail.home.lan has address 192.168.0.126
# Désinstaller exim4 :
Code:
apt-get install equivs
# Construction du package factice :
Code:
cd /tmp
cp /usr/share/doc/equivs/examples/mail-transport-agent.ctl .
equivs-build mail-transport-agent.ctl
Code:
dpkg --ignore-depends=exim4 -r exim4
dpkg --ignore-depends=exim4-daemon-light -r exim4-daemon-light
dpkg --ignore-depends=exim4-base -r exim4-base
dpkg --ignore-depends=exim4-base -r exim4-base
# Installation du package factice :
Code:
dpkg -i /tmp/mta-local_1.0_all.deb
#Note : Désinstaller les serveurs existants smtp/pop/imap comme postfix et sendmail.
#Pour sendmail, supprimer ou renommer le fichier dans /usr/sbin/sendmail.
#Tester les ports 25, 110 et 143 assurez vous que la connexion est refusée :
Code:
telnet localhost 25
telnet localhost 110
telnet localhost 143
# Courier-imap à besoin d'un dossier pour ces scripts :
Code:
mkdir /var/lock/subsys
# Courier se construit avec gmake mais sur Debian c'est make:
Code:
alias gmake='make'
#Spamassassin à besoin de quelques librairies Perl:
Code:
apt-get install libdigest-sha1-perl libnet-dns-perl \
libmail-spf-query-perl libgeo-ipfree-perl razor pyzor libnet-ident-perl \
libio-socket-ssl-perl libarchive-tar-perl libio-zlib-perl \
libsys-hostname-long-perl
#Clamav à besoin des packages zlib et zlib-dev:
Code:
apt-get install zlib1g zlib1g-dev libbz2-dev libgmp3 libgmp3-dev
#Téléchargement des packets nécessaires :
Code:
umask 0022
mkdir -p /usr/local/src/tar
cd /usr/local/src/tar
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
wget http://shupp.org/software/netqmail-1.05.tar.gz
wget http://shupp.org/patches/qmail-toaster-0.8.3.patch.bz2
wget http://shupp.org/software/vpopmail-5.4.17.tar.gz
wget http://shupp.org/patches/vpopmail-5.4.17-cumulative.patch
wget http://shupp.org/software/autorespond-2.0.4.tar.gz
wget http://shupp.org/patches/autorespond-2.0.4-2.0.5.patch
wget http://shupp.org/software/qmailadmin-1.2.10.tar.gz
wget http://shupp.org/software/qmailadmin-help-1.0.8.tar.gz
wget http://cr.yp.to/software/ezmlm-0.53.tar.gz
wget http://shupp.org/software/ezmlm-idx-5.0.2.tar.gz
wget http://shupp.org/software/courier-imap-4.1.1.tar.bz2
wget http://shupp.org/software/courier-authlib-0.58.tar.bz2
wget http://shupp.org/software/squirrelmail-1.4.8.tar.bz2
wget http://shupp.org/software/quota_usage-1.3.1-1.2.7.tar.gz
wget http://shupp.org/software/toaster-scripts-0.8.1.tar.gz
cd ../
tar -xzf tar/netqmail-1.05.tar.gz
cd netqmail-1.05
./collate.sh
--------------------------------------------------------------------------------
Installer les daemontools :
Info:
http://cr.yp.to/daemontools.html Code:
mkdir -p /package
chmod 1755 /package
cd /package
tar -xpzf /usr/local/src/tar/daemontools-0.76.tar.gz
cd admin/daemontools-0.76
patch -p1 < /usr/local/src/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
package/install
# Ajout du service "clear" :
Code:
cd ../
mkdir clear
touch clear/down
cat > clear/run <<EOF
#!/bin/sh
yes '' | head -4000 | tr '\n' .
# Lorsque vous voulez mettre à zéro le service des erreurs, faites juste ceci:
# svc -o /service/clear
EOF
chmod +x clear/run
chmod a-w clear/down
ln -s /package/admin/clear /service/clear
----------------------------------------------------------------------
Installation de ucspi-tcp :
#Le paquet ucspi-tcp contient le tcpserver et le tcpclient.
Info:
http://cr.yp.to/ucspi-tcp.htmlCode:
cd /usr/local/src/
tar -xzf tar/ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
patch -p1 < /usr/local/src/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
make
make setup check
------------------------------------------------------------------
Installation de Qmail :
#Qmail est le serveur smtp moderne (fini sendmail !)
Info:
http://www.qmail.org #Création des utilisateur pour Qmail:
Code:
mkdir /var/qmail
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias alias
useradd -g nofiles -d /var/qmail qmaild
useradd -g nofiles -d /var/qmail qmaill
useradd -g nofiles -d /var/qmail qmailp
groupadd qmail
useradd -g qmail -d /var/qmail qmailq
useradd -g qmail -d /var/qmail qmailr
useradd -g qmail -d /var/qmail qmails
cd /usr/local/src
tar -xzf tar/toaster-scripts-0.8.1.tar.gz
cd netqmail-1.05/netqmail-1.05/
# Enlevez sendmail, un fichier sendmail vient avec Qmail
Code:
rm /usr/sbin/sendmail
make
make setup check
# NOTE: qmail sera patcher après l'installation de vpopmail.
# Activer SPF
Code:
echo 3 > /var/qmail/control/spfbehavior
# Création des alias
# Remplacez "admin@home.lan" par votre adresse:
Code:
cd ~alias; echo "admin@home.lan" > .qmail-postmaster ;\
echo "admin@home.lan" > .qmail-mailer-daemon ;\
echo "admin@home.lan" > .qmail-root
chmod 644 ~alias/.qmail*
# Remplacez le nom d'hôte par le vôtre vous aurez un message disant que Qmail n'acceptera les messages que de cet hôte:
Code:
cd /usr/local/src/netqmail-1.05/netqmail-1.05/
./config-fast server.home.lan
#Configurer les manpages :
#Editez le fichier /etc/manpath.config
#Ajoutez ceci:
Code:
MANDATORY_MANPATH /var/qmail/man
----------------------------------------------------------------------
Installation finale de Qmail :
Code:
cd /usr/local/src
cp toaster-scripts-0.8.1/rc /var/qmail/rc
chmod 755 /var/qmail/rc
mkdir /var/log/qmail
echo ./Maildir/ >/var/qmail/control/defaultdelivery
cp toaster-scripts-0.8.1/qmailctl /var/qmail/bin/
chmod 755 /var/qmail/bin/qmailctl
ln -s /var/qmail/bin/qmailctl /usr/bin
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
# Création des répertoires de scripts :
Code:
mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log
mkdir -p /var/qmail/supervise/qmail-pop3d/log
mkdir -p /var/qmail/supervise/qmail-pop3ds/log
cp /usr/local/src/toaster-scripts-0.8.1/send.run /var/qmail/supervise/qmail-send/run
cp /usr/local/src/toaster-scripts-0.8.1/send.log.run /var/qmail/supervise/qmail-send/log/run
cp /usr/local/src/toaster-scripts-0.8.1/smtpd.run /var/qmail/supervise/qmail-smtpd/run
cp /usr/local/src/toaster-scripts-0.8.1/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
cp /usr/local/src/toaster-scripts-0.8.1/pop3d.run /var/qmail/supervise/qmail-pop3d/run
cp /usr/local/src/toaster-scripts-0.8.1/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
cp /usr/local/src/toaster-scripts-0.8.1/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
cp /usr/local/src/toaster-scripts-0.8.1/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run
echo 20 > /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming
chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
chmod 755 /var/qmail/supervise/qmail-pop3d/run
chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
chmod 755 /var/qmail/supervise/qmail-pop3ds/run
chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run
mkdir -p /var/log/qmail/smtpd
mkdir -p /var/log/qmail/pop3d
mkdir -p /var/log/qmail/pop3ds
chown -R qmaill /var/log/qmail
# Permettre aux daemontools de démarrer Qmail :
Code:
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
# Vérification avec la commande qmailctl :
Code:
sleep 5
qmailctl stat
---------------------------------------------------------------------------
Vpopmail :
#Vpopmail est le package de domaines virtuels pour Qmail.
Info:
http://vpopmail.sf.net Code:
groupadd -g 89 vchkpw
useradd -u 89 -g vchkpw vpopmail
cd /usr/local/src
tar -xzf tar/vpopmail-5.4.17.tar.gz
cd vpopmail-5.4.17
patch -p0 < ../tar/vpopmail-5.4.17-cumulative.patch
./configure --enable-logging=v
make
make install-strip
echo '127.:allow,RELAYCLIENT=""' > ~vpopmail/etc/tcp.smtp
cd ~vpopmail/etc ; tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
#Installer le script vpopmailctl
Code:
cd /usr/local/src/tar
cp ../toaster-scripts-0.8.1/vpopmailctl /var/qmail/bin/vpopmailctl
chmod 755 /var/qmail/bin/vpopmailctl
ln -s /var/qmail/bin/vpopmailctl /usr/bin
# Ajouter le patch pour qmail :
Code:
cd /usr/local/src/netqmail-1.05/netqmail-1.05
bunzip2 -c ../../tar/qmail-toaster-0.8.3.patch.bz2 | patch -p0
make clean
make
qmailctl stop
make setup check
chown -R vpopmail:vchkpw /var/qmail/spam
make cert
# Entrez vos informations :
Code:
make tmprsadh
# NOTE: Ceci est assez long !!!
# Ajoutez cette ligne à votre crontab "crontab -e" :
Code:
01 01 * * * /var/qmail/bin/update_tmprsadh > /dev/null 2>&1
# Démarrer Qmail :
Code:
qmailctl start
#Permettre aux daemontools de démarrer vpopmail :
Code:
ln -s /var/qmail/supervise/qmail-pop3d /var/qmail/supervise/qmail-pop3ds /service
# Vérification de vpopmail :
Code:
sleep 5
vpopmailctl stat
#Pour tester l'installation...
#Ajoutez un domaine avec vpopmail :
Code:
/home/vpopmail/bin/vadddomain home.lan
#Confirmer ensuite le mot de passe
#Le domaine est ajouté et la création de
postmaster@home.lan automatique !
#Création d'un utilisateur avec un quota mail :
Code:
/home/vpopmail/bin/vadduser -q 10MB webmaster@home.lan
#Confirmer ensuite le mot de passe...
#l'utilisateur
'webmaster@home.lan' est ajouté !
#Vérification des informations :
Code:
/home/vpopmail/bin/vuserinfo webmaster@home.lan
----------------------------------------------------------------------
Courier-imap :
Info:
http://www.courier-mta.org/imap/ #installation des librairies nécessaires à courier-imap:
Code:
cd /usr/local/src
tar -xjf tar/courier-authlib-0.58.tar.bz2
cd courier-authlib-0.58
./configure
make
make install-strip
make install-configure
cp courier-authlib.sysvinit /etc/init.d/courier-authlib
chmod 755 /etc/init.d/courier-authlib
ln -s ../init.d/courier-authlib /etc/rc0.d/K30courier-authlib
ln -s ../init.d/courier-authlib /etc/rc1.d/K30courier-authlib
ln -s ../init.d/courier-authlib /etc/rc2.d/S80courier-authlib
ln -s ../init.d/courier-authlib /etc/rc3.d/S80courier-authlib
ln -s ../init.d/courier-authlib /etc/rc4.d/S80courier-authlib
ln -s ../init.d/courier-authlib /etc/rc5.d/S80courier-authlib
ln -s ../init.d/courier-authlib /etc/rc6.d/K30courier-authlib
#Configuration du fichier /usr/local/etc/authlib/authdaemonrc :
#Changer authmodulelist="..." par :
Code:
authmodulelist="authvchkpw"
#Démarrer le service:
Code:
/etc/init.d/courier-authlib start
#Installer courier-imap:
Code:
cd /usr/local/src
tar -xjf tar/courier-imap-4.1.1.tar.bz2
cd courier-imap-4.1.1
# ATTENTION !! Compilez le package avec l'utilisateur vpopmail !!!!:
Code:
chown -R vpopmail:vchkpw ../courier-imap-4.1.1
su vpopmail
umask 0022
# La configuration est assez longue...
Code:
./configure
make
exit
make install-strip
make install-configure
cp courier-imap.sysvinit /etc/init.d/courier-imap
chmod 755 /etc/init.d/courier-imap
ln -s ../init.d/courier-imap /etc/rc0.d/K30courier-imap
ln -s ../init.d/courier-imap /etc/rc1.d/K30courier-imap
ln -s ../init.d/courier-imap /etc/rc2.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc3.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc4.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc5.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc6.d/K30courier-imap
#Configuration du fichier /usr/lib/courier-imap/etc/imapd:
Code:
Changez 'IMAPDSTART=NO' par 'IMAPDSTART=YES'
#Configuration du fichier /usr/lib/courier-imap/etc/imapd-ssl:
Code:
Changez 'IMAPDSSLSTART=NO' par 'IMAPDSSLSTART=YES'
#Démarrer le service:
Code:
/etc/init.d/courier-imap start
------------------------------------------------------------------
Squirrelmail :
Info:
http://www.squirrelmail.org#Avec la méthode debian
Code:
apt-get install squirrelmail squirrelmail-locales
#Pour installer la dernière version (manuelle) recommandée ! :
Code:
cd /usr/local/src
tar -xjf tar/squirrelmail-1.4.8.tar.bz2
cd squirrelmail-1.4.8
cd plugins
tar -xzf ../../tar/quota_usage-1.3.1-1.2.7.tar.gz
cp quota_usage/config.php.sample quota_usage/config.php
cd ../
./configure
#Configurer les options:
#Dans le menu 'Server Settings' (2) changez "other" par "courier" (a)
#Dans le menu 'General Options' (4) changez "Data Directory (2)" par "/var/www/data/" (a)
#Dans le menu 'Plugins' activez le plugin quota_usage...sélectionnez ceux que vous préférez...
#Sauvegarder et quitter
#déplacer le répertoire 'data' et changez les permissions pour le serveur web, chez moi c'est www-data
#modifier en conséquence :
Code:
mv data /var/www/
chown -R www-data:www-data /var/www/data
cd ../
mv squirrelmail-1.4.8 /var/www/
cd /var/www
mv squirrelmail-1.4.8 squirrelmail
----------------------------------------------------------------------------------
Autorespond :
Info:
http://qmailadmin.sf.net Code:
cd /usr/local/src
tar -xzf tar/autorespond-2.0.4.tar.gz
cd autorespond-2.0.4
patch -p1 < ../tar/autorespond-2.0.4-2.0.5.patch
make
make install
---------------------------------------------------------------------------
ezmlm-idx :
Info:
http://www.ezmlm.org Code:
cd /usr/local/src
tar -xzf tar/ezmlm-0.53.tar.gz
tar -xzf tar/ezmlm-idx-5.0.2.tar.gz
mv ezmlm-idx-5.0.2/* ezmlm-0.53/
#Ecraser tout ? y
Code:
cd ezmlm-0.53
patch -p0 < idx.patch
make
make setup
----------------------------------------------------------------------------
QmailAdmin :
Info:
http://sourceforge.net/projects/qmailadminCode:
cd /usr/local/src
tar -xzf tar/qmailadmin-1.2.10.tar.gz
cd qmailadmin-1.2.10
./configure --enable-help \
--enable-htmldir=/var/www \
--enable-cgibindir=/usr/lib/cgi-bin \
--enable-maxusersperpage=25 \
--enable-modify-quota \
--enable-imagedir=/var/www/thumbs/qmailadmin \
--enable-imageurl=/thumbs/qmailadmin
# Voici ce qu'il doit vous indiquer à la fin de la configuration :
qmailadmin 1.2.10
Current settings
---------------------------------------
cgi-bin dir = /usr/lib/cgi-bin
html dir = /var/www
image dir = /var/www/thumbs/qmailadmin
image URL = /thumbs/qmailadmin
template dir = /usr/local/share/qmailadmin
qmail dir = /var/qmail
vpopmail dir = /home/vpopmail
autorespond dir = /usr/bin
ezmlm dir = /usr/local/bin/ezmlm
ezmlm idx = yes
mysql for ezmlm = yes
help = yes
modify quota = yes
domain autofill = no
modify spam check = no
----------------------------------------
Code:
make
make install-strip
#Installation de l'aide pour qmailadmin
Code:
cd ../
tar -xzf tar/qmailadmin-help-1.0.8.tar.gz
cd qmailadmin-help-1.0.8
mkdir -p /var/www/thumbs/qmailadmin/help
cp -rp * /var/www/thumbs/qmailadmin/help
--------------------------------------------------------------------------------
Vqadmin :
#pour gérer vos domaines, utilisateurs mail via une interface web
#Infos :
http://www.inter7.com/index.php?page=vqadmin#télécharger les sources:
Code:
cd /usr/local/src/tar
wget http://www.inter7.com/vqadmin/vqadmin-2.3.2.tar.gz
cd ../
tar -zxf tar/vqadmin-2.3.2.tar.gz
cd vqadmin-2.3.2
./configure \
--enable-cgibindir=/usr/lib/cgi-bin/ \
--enable-qmaildir=/var/qmail/
#Ce qui nous donne :
Current settings
---------------------------------------
vpopmail directory = /home/vpopmail
uid = 89
gid = 89
cgi-bin dir = /usr/lib/cgi-bin/
vqadmin dir = /usr/lib/cgi-bin//vqadminCode:
make
make install-strip
#Ajoutez au fichier de configuration apache ceci:
Code:
<Directory "/usr/lib/cgi-bin/vqadmin">
Options ExecCGI
AllowOverride AuthConfig
Order deny,allow
deny from all
</Directory>
#Créez dans le répertoire cgi-bin/vqadmin un fichier .htaccess :
Code:
AuthType Basic
AuthUserFile /etc/apache/conf/vqadmin.passwd
AuthName vqadmin
require valid-user
satisfy any
#Créer le fichier de mots de passe dans /etc/apache/conf/vqadmin.passwd :
Code:
htpasswd -cm /etc/apache/conf/vqadmin.passwd postmaster
New password:
Re-type new password:
Adding password for user postmaster
#Enfin, ne pas oublier de modifier le fichier cgi-bin/vqadmin/vqadmin.acl #pour accorder tous les droits à postmaster :
Code:
cd /usr/lib/cgi-bin/vqadmin
cat vqadmin.acl
--Début fichier--
#
# Access List Definitions
# vol@inter7.com
#
#
# Default group contains permissions for all users
# not listed under any groups
#
# If the default group is not defined, users not
# listed under any other groups will have no
# permissions.
#
# Examples follow...
#
default - ...
#
# Access permissions:
#
# V View user information
# I View domain information
# M Modify user information
# U Modify domain information
# C Create user
# A Create domain
# D Delete user
# X Delete domain
#
# These features will still appear in the HTML templates
# if the user doesn't have access to them, however, they will
# get a permission denied error if they try to make use of
# them.
#
tech VI tech1user
admin VIMUDCA admin1user
#
# An asterisk in the features field specifies that you
# want all users in this group to have access to
# all features.
#
senior * postmaster
--Fin de fichier--# Donnez les bonnes permissions au fichier .htaccess crée précédemment :
Code:
chown www-data /usr/lib/cgi-bin/vqadmin/.htaccess
chmod 600 /usr/lib/cgi-bin/vqadmin/.htaccess
#Redémarrer apache
Code:
/etc/init.d/apache restart
# Dirigez-vous vers
http://server.bureau.lan/cgi-bin/vqadmin/vqadmin.cgi # et commencez à gérer vos domaines et utilisateurs

--------------------------------------------------------------------------------
Tester l'installation !!#Nous avons déja ajouté un domaine tout à l'heure 'home.lan'.
#Allez sur
http://server.home.lan/cgi-bin/qmailadmin :
#Et sous postmaster tappez:
home.lan et votre mot de passe
#Allez sur
http://server.home.lan/squirrelmail :
#Et tappez:
webmaster@home.lan et votre mot de passe.
#Tester les serveurs et vérifier qu'il répondent bien !:
Code:
telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 mail.home.lan ESMTP
quit
Code:
telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Hello there.
user
webmaster@home.lan+OK Password required.
pass lemotdepasse
+OK logged in.
quit
+OK Bye-bye.
Connection closed by foreign host.
Code:
telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
OK Courier-IMAP ready. Copyright 1998-2001 Double Precision, Inc. See COPYING for distribution information.
a001 login
webmaster@home.lan lemotdepasse
a001 OK LOGIN Ok.
a001 logout
BYE Courier-IMAP server shutting down
a001 OK LOGOUT completed
Connection closed by foreign host.
#Tester le mode TLS/SSL:
#Pour pops:
Code:
openssl s_client -connect localhost:995
#Pour imaps:
Code:
openssl s_client -connect localhost:993
#Pour smtp/tls:
Code:
openssl s_client -crlf -starttls smtp -connect localhost:25
NOTE: Si vous avez cette erreur :
Code:
20656:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:473:
#C'est que votre installation de Qmail à besoin de la liste cypher
#Essayez ceci:
Code:
openssl ciphers > /var/qmail/control/tlsclientciphers
openssl ciphers > /var/qmail/control/tlsserverciphers
--------------------------------------------------------------------------------------------------
Spamassassin :
Infos :
http://www.spamassassin.org #Installation avec CPAN car avec apt-get on ne peut pas l'ajouter aux services Qmail (daemontools).
#En tout cas j'y suis pas arrivé lol
Code:
cd /root
perl -MCPAN -e shell
o conf prerequisites_policy ask
install Mail::SpamAssassin
quit
# démarrer spamd avec les daemontools
Code:
mkdir -p /var/qmail/supervise/spamd/log
mkdir -p /var/log/spamd
chown qmaill /var/log/spamd
cp /usr/local/src/toaster-scripts-0.8.1/spamd.run /var/qmail/supervise/spamd/run
cp /usr/local/src/toaster-scripts-0.8.1/spamd.log.run /var/qmail/supervise/spamd/log/run
chmod 755 /var/qmail/supervise/spamd/run
chmod 755 /var/qmail/supervise/spamd/log/run
cp /usr/local/src/toaster-scripts-0.8.1/local.cf /etc/mail/spamassassin/local.cf
mkdir /etc/mail/spamassassin/.spamassassin/
chown vpopmail /etc/mail/spamassassin/.spamassassin/
ln -s /var/qmail/supervise/spamd /service
--------------------------------------------------------------------------------------------------
Clamav :
Infos :
http://clamav.sf.net#clamav va être appelé par simscan pour scanner les virus.
#Note: vous devez avoir les gmp-devel d'installer pour rechercher les signatures de virus.
Code:
groupadd clamav
useradd -g clamav clamav
cd /usr/local/src/tar
wget http://shupp.org/software/clamav-0.88.6.tar.gz
wget http://shupp.org/patches/clamav-0.88.6-stderr.patch
wget http://shupp.org/patches/clamav-0.88.6-conf.patch
wget http://shupp.org/patches/clamav-0.88.6-freshclamconf.patch
cd ../
tar -xzf tar/clamav-0.88.6.tar.gz
cd clamav-0.88.6
patch -p0 < ../tar/clamav-0.88.6-stderr.patch
patch -p0 < ../tar/clamav-0.88.6-conf.patch
patch -p0 < ../tar/clamav-0.88.6-freshclamconf.patch
./configure
make
make install
# Installer freshclam :
Code:
touch /var/log/freshclam.log
chmod 600 /var/log/freshclam.log
chown clamav /var/log/freshclam.log
cp /usr/local/src/toaster-scripts-0.8.1/freshclam /etc/init.d/freshclam
chmod 755 /etc/init.d/freshclam
ln -s ../init.d/freshclam /etc/rc0.d/K30freshclam
ln -s ../init.d/freshclam /etc/rc1.d/K30freshclam
ln -s ../init.d/freshclam /etc/rc2.d/S80freshclam
ln -s ../init.d/freshclam /etc/rc3.d/S80freshclam
ln -s ../init.d/freshclam /etc/rc4.d/S80freshclam
ln -s ../init.d/freshclam /etc/rc5.d/S80freshclam
ln -s ../init.d/freshclam /etc/rc6.d/K30freshclam
# Ajouter freshclam.log à la rotation des logs "logrotate":
Code:
cp /usr/local/src/toaster-scripts-0.8.1/freshclam.logrotate /etc/logrotate.d/freshclam
# Démarrer clamd avec les services Qmail (daemontools):
Code:
mkdir -p /var/qmail/supervise/clamd/log
mkdir -p /var/log/clamd
chown clamav /var/log/clamd
cp ../toaster-scripts-0.8.1/clamd.run /var/qmail/supervise/clamd/run
cp ../toaster-scripts-0.8.1/clamd.log.run /var/qmail/supervise/clamd/log/run
chmod 755 /var/qmail/supervise/clamd/run
chmod 755 /var/qmail/supervise/clamd/log/run
# Démarrer clamd et freshclam
Code:
ln -s /var/qmail/supervise/clamd /service
/etc/init.d/freshclam start
--------------------------------------------------------------------------------
ripmime :
#Ripmime est un outils pour extraire les types MIME des emails:
Infos :
http://www.pldaniels.com/ripmime/Code:
cd /usr/local/src/tar
wget http://shupp.org/software/ripmime-1.4.0.6.tar.gz
cd ..
tar -xzf tar/ripmime-1.4.0.6.tar.gz
cd ripmime-1.4.0.6
make
make install
------------------------------------------------------------------------------------
simscan :
#Avec simscan, vous allez stopper les virus dans les emails :
Infos :
http://inter7.com/?page=simscanCode:
cd /usr/local/src/tar
wget http://shupp.org/software/simscan-1.2.tar.gz
wget http://shupp.org/patches/ripmime.txt
cd ../
tar -xzf tar/simscan-1.2.tar.gz
cd simscan-1.2
patch -p0 < ../tar/ripmime.txt
./configure --enable-user=clamav \
--enable-clamav=y \
--enable-spam=y \
--enable-spam-passthru=y \
--enable-per-domain=y \
--enable-ripmime \
--enable-attach=y \
--enable-received=y
make
make install-strip
# Ajouter les règles par défaut pour simscan
Code:
echo ":clam=yes,spam=yes,spam_passthru=yes,attach=.vbs:.lnk:.scr:.wsh:.hta:.pif" > /var/qmail/control/simcontrol
#En une seule ligne !
# Mise à jour de /var/qmail/control/simcontrol.cdb :
Code:
/var/qmail/bin/simscanmk
# Installer les entêtes de mails dans /var/qmail/control/simversions.cdb :
Code:
/var/qmail/bin/simscanmk -g
# Démarrer le scan :
Code:
echo ':allow,QMAILQUEUE="/var/qmail/bin/simscan"' >> ~vpopmail/etc/tcp.smtp
#recharger la base de donnée de qmail
Code:
qmailctl cdb
-------------------------------------------------------------------------
TMDA (Optionnel)
#TMDA est un outil qui exige de l'expéditeur de confirmer
#leur adresse d'envoi avant que le message entrant soit fourni.
#Je ne l'emploie pas moi-même, mais beaucoup de personnes l'utilisent.
Code:
cd /usr/local/src/tar
wget http://shupp.org/software/tmda-1.1.9.tgz
wget http://shupp.org/software/tmda-cgi-0.15.tar.bz2
wget http://shupp.org/patches/tmda-cgi-0.15.patch
wget http://shupp.org/patches/tmda-cgi-parent_re.patch
cd ../
tar -xvzf tar/tmda-1.1.9.tgz
cd tmda-1.1.9
./compileall
cd ../
mv tmda-1.1.9 /usr/local/
ln -s /usr/local/tmda-1.1.9 /usr/local/tmda
cp /usr/local/src/toaster-scripts-0.8.1/vadduser-tmda /home/vpopmail/bin/
cp /usr/local/src/toaster-scripts-0.8.1/vpopmail-vdir.sh /home/vpopmail/bin/
cp /usr/local/src/toaster-scripts-0.8.1/vtmdarc /home/vpopmail/etc/
mkdir -p /var/qmail/supervise/tmda-ofmipd/log
mkdir -p /var/qmail/supervise/tmda-ssl/log
mkdir /var/log/tmda-ofmipd/
mkdir /var/log/tmda-ssl/
chown vpopmail /var/log/tmda-*
cp /usr/local/src/toaster-scripts-0.8.1/tmda-ofmipd.run /var/qmail/supervise/tmda-ofmipd/run
cp /usr/local/src/toaster-scripts-0.8.1/tmda-ofmipd.log.run /var/qmail/supervise/tmda-ofmipd/log/run
cp /usr/local/src/toaster-scripts-0.8.1/tmda-stunnel.conf /var/qmail/supervise/tmda-ssl/stunnel.conf
cp /usr/local/src/toaster-scripts-0.8.1/tmda-ofmipd.ssl.run /var/qmail/supervise/tmda-ssl/run
cp /usr/local/src/toaster-scripts-0.8.1/tmda-ofmipd.ssl.log.run /var/qmail/supervise/tmda-ssl/log/run
chmod 755 /var/qmail/supervise/tmda-ofmipd/run
chmod 755 /var/qmail/supervise/tmda-ofmipd/log/run
chmod 755 /var/qmail/supervise/tmda-ssl/run
chmod 755 /var/qmail/supervise/tmda-ssl/log/run
ln -s /var/qmail/supervise/tmda-ofmipd /var/qmail/supervise/tmda-ssl /service/
cd /usr/local/src
tar -xvjf tar/tmda-cgi-0.15.tar.bz2
cd tmda-cgi-0.15
patch -p0 < ../tar/tmda-cgi-0.15.patch
patch -p0 < ../tar/tmda-cgi-parent_re.patch
cd ../
mv tmda-cgi-0.15 /usr/local/
cd /usr/local/tmda-cgi-0.15
rm -r skel/uninstall/%\(Parent\)s/
./configure \
-t /usr/lib/cgi-bin/tmda.cgi \
-p /home/vpopmail/bin/vchkpw \
-m single-user \
-l "vpopmail1 /home/vpopmail/bin/vuserinfo ~" \
-i /usr/local/tmda-cgi-0.15/ \
-d /display
make
make install
chown vpopmail:vchkpw /usr/lib/cgi-bin/tmda.cgi
chmod ug+s /usr/lib/cgi-bin/tmda.cgi
#Ajouter un alias à votre serveur web /etc/apache/httpd.conf :
Code:
Alias /display /usr/local/tmda-cgi-0.15/display/
#Redémarrer Apache:
Code:
/etc/init.d/apache restart
#Aller sur
http://server.home.lan/cgi-bin/tmda.cgi
#Insérez votre adresse mail et votre mot de passe.
#et configurer le logiciel.
Version PDF
Je voudrais remercier tous les membres du forum qui m'ont aider à rédiger ce tutorial car sans eux je n'y serait probablement jamais arrivé.
Si vous avez des questions et des remarques vous savez ce qui vous reste à faire lol.