Installation complète d'un serveur dédié sur Debian

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 :
cdimage.debian.org/debian-cd/3.1 … etinst.iso

#Tutorial d’install et ensuite ne pas installer KDE:
giminik.developpez.com/articles/ … tallation/

#Installer ces packets avec apt-get :

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 :

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”;
};[/code]

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.[/code]

(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.[/code]

#Adapter les numéros de séries et redémarrer bind9


Perl :

#Installation des modules Perl avec Debian ou avec CPAN

Avec debian :

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

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 :

Mise à jour de CPAN :

Recharger CPAN :

Installons les modules :

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 :

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

#installons les librairies :
#pear install

…etc…

#pour la liste de packages aller sur pear.php.net/

pour changer de channel


Apache 1.3 + php4 + php5-cgi

#mettre ces dépôts dans vos sources.list :

deb http://packages.dotdeb.org stable all deb-src http://packages.dotdeb.org stable all

#Installer apache :

apt-get update apt-get install apache apache-doc

#php4 en module :

apt-get update apt-get install libapache-mod-php4 php4-gd php4-imagick php4-mysql php4-snmp

#php5-cgi :

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 :

#Ensuite, ajoutez les lignes suivantes dans un .htaccess dans le répertoire web où vous voulez utiliser php5 :

AddHandler x-httpd-php5 .php Action x-httpd-php5 /cgi-bin/php5

#Redémarrez ensuite le serveur Apache :


MySQL :

#mettre ces dépôts dans vos sources.list :

deb http://packages.dotdeb.org stable all deb-src http://packages.dotdeb.org stable all

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

#mot de passe root-mysql


Pure-FTPd :

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 :

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:

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

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 :

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 :

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 :

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 :


PhpMyAdmin :

apt-get update apt-get install phpmyadmin

#Pour choisir la version de phpmyadmin (installation manuelle):

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 $cfg['blowfish_secret'] = ''; $cfg['blowfish_secret'] = 'jdu48ff5d66f99ds44';

#Modifier la ligne :

#par :

#Créer un lien symbolique :

cd / ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

#Configurer apache pour qu’il reconnaisse phpmyadmin:

#Editer le fichier phpmyadmin.conf et y insérez ceci:

[code]Alias /phpmyadmin /var/www/phpmyadmin
<Directory /var/www/phpmyadmin/>
AllowOverride All

<Directory /usr/share/phpmyadmin/>
	AllowOverride All
</Directory>[/code]

#Redémarrer apache:


Apache en 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.lan
home.lan mail is handled by 10 mail.home.lan.

linux:~# host -t a mail.home.lan
mail.home.lan has address 192.168.0.126

Désinstaller exim4 :

Construction du package factice :

cd /tmp cp /usr/share/doc/equivs/examples/mail-transport-agent.ctl . equivs-build mail-transport-agent.ctl

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 :

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

telnet localhost 25 telnet localhost 110 telnet localhost 143

Courier-imap à besoin d’un dossier pour ces scripts :

Courier se construit avec gmake mais sur Debian c’est make:

#Spamassassin à besoin de quelques librairies Perl:

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:

#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[/code]


Installer les daemontools :

Info: cr.yp.to/daemontools.html

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[/code]


Installation de ucspi-tcp :

#Le paquet ucspi-tcp contient le tcpserver et le tcpclient.
Info: cr.yp.to/ucspi-tcp.html

[code]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[/code]


Installation de Qmail :
#Qmail est le serveur smtp moderne (fini sendmail !)
Info: 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/[/code]

Enlevez sendmail, un fichier sendmail vient avec Qmail

[code]rm /usr/sbin/sendmail

make
make setup check[/code]

NOTE: qmail sera patcher après l’installation de vpopmail.

Activer SPF

Création des alias

Remplacez “admin@home.lan” par votre adresse:

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:

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:


Installation finale de Qmail :

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[/code]

Permettre aux daemontools de démarrer Qmail :

Vérification avec la commande qmailctl :

sleep 5 qmailctl stat


Vpopmail :
#Vpopmail est le package de domaines virtuels pour Qmail.
Info: 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[/code]

#Installer le script vpopmailctl

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[/code]

Entrez vos informations :

NOTE: Ceci est assez long !!!

Ajoutez cette ligne à votre crontab “crontab -e” :

Démarrer Qmail :

#Permettre aux daemontools de démarrer vpopmail :

Vérification de vpopmail :

sleep 5 vpopmailctl stat

#Pour tester l’installation…

#Ajoutez un domaine avec vpopmail :

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

#Confirmer ensuite le mot de passe…
#l’utilisateur 'webmaster@home.lan’ est ajouté !

#Vérification des informations :


Courier-imap :

Info: 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[/code]

#Configuration du fichier /usr/local/etc/authlib/authdaemonrc :
#Changer authmodulelist="…" par :

#Démarrer le service:

#Installer courier-imap:

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 !!!:

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[/code]

#Configuration du fichier /usr/lib/courier-imap/etc/imapd:

#Configuration du fichier /usr/lib/courier-imap/etc/imapd-ssl:

#Démarrer le service:


Squirrelmail :

Info: squirrelmail.org

#Avec la méthode debian

#Pour installer la dernière version (manuelle) recommandée ! :

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 :

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: qmailadmin.sf.net

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: ezmlm.org

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

cd ezmlm-0.53 patch -p0 < idx.patch make make setup


QmailAdmin :

Info: sourceforge.net/projects/qmailadmin

[code]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[/code]

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

make make install-strip

#Installation de l’aide pour qmailadmin

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 : 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/[/code]

#Ce qui nous donne :

[b]Current settings

vpopmail directory = /home/vpopmail
uid = 89
gid = 89
cgi-bin dir = /usr/lib/cgi-bin/
vqadmin dir = /usr/lib/cgi-bin//vqadmin[/b]

make make install-strip

#Ajoutez au fichier de configuration apache ceci:

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

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 :

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 :

cd /usr/lib/cgi-bin/vqadmin cat vqadmin.acl

[b]–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–[/b]

Donnez les bonnes permissions au fichier .htaccess crée précédemment :

chown www-data /usr/lib/cgi-bin/vqadmin/.htaccess chmod 600 /usr/lib/cgi-bin/vqadmin/.htaccess

#Redémarrer apache

Dirigez-vous vers server.bureau.lan/cgi-bin/vqadmin/vqadmin.cgi

et commencez à gérer vos domaines et utilisateurs :wink:


Tester l’installation !!

#Nous avons déja ajouté un domaine tout à l’heure ‘home.lan’.
#Allez sur server.home.lan/cgi-bin/qmailadmin :
#Et sous postmaster tappez:
home.lan et votre mot de passe

#Allez sur 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 !:

Trying 127.0.0.1…
Connected to localhost.localdomain.
Escape character is ‘^]’.
220 mail.home.lan ESMTP
quit

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.

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:

#Pour imaps:

#Pour smtp/tls:

NOTE: Si vous avez cette erreur :

#C’est que votre installation de Qmail à besoin de la liste cypher
#Essayez ceci:

openssl ciphers > /var/qmail/control/tlsclientciphers openssl ciphers > /var/qmail/control/tlsserverciphers


Spamassassin :

Infos : 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

cd /root perl -MCPAN -e shell o conf prerequisites_policy ask install Mail::SpamAssassin quit

démarrer spamd avec les daemontools

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

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 :

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”:

Démarrer clamd avec les services Qmail (daemontools):

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

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 : pldaniels.com/ripmime/

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 : inter7.com/?page=simscan

[code]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[/code]

Ajouter les règles par défaut pour simscan

#En une seule ligne !

Mise à jour de /var/qmail/control/simcontrol.cdb :

Installer les entêtes de mails dans /var/qmail/control/simversions.cdb :

Démarrer le scan :

#recharger la base de donnée de qmail


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[/code]

#Ajouter un alias à votre serveur web /etc/apache/httpd.conf :

#Redémarrer Apache:

#Aller sur 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.

c’est trop long, tu aurais dû faire des chapitres séparés avec des fils différents. :wink:
Tu va passer du temps à répondre à tout parceque les gens ne liront pas au dela de la première page les réponse que tu donneras à leurs questions…
Merci pour le taf. :laughing:

Félicitations pour le travail.
Une version pdf serait plus lisible, non ?

Moi j’aime bien… avec des liens en plus pour approfondir… tout ce qu’il faut :slightly_smiling:

pour mon projet de fin d’etude c’est vraiment le bon tuto
j’espere le voir en pdf apres
merci

Bravo pour le boulot !

Here’s the pop/imap part original english version:

shupp.org/toaster/

Bill’s Linux Qmail Toaster
Version: 0.8.10 ChangeLog
Last modified: Aug 08, 2006 13:15

Regards

nt