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