1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
|
<h3><a name="2."></a>2. Installation</h3>
<h4><a name="2.1"></a>2.1 Pr-requis</h4>
Avant d'installer DTC, apache doit tre dja install sur le systme ainsi
que php4 (version cgi en ligne de commande (php4-cgi sous debian / php-cgi sous BSD)
et le module mod_php4 pour apache). mysql.<br><br>
Pour que DTC ait un intrt, installer bind(ou autre nameserver compatible), qmail et proftpd avec le module mod_sql
sans oublier de prvoir au moins un nom de domaine utilisable.<br><br>
Nottez que sous BSD comme sous Debian, les dpendances installent lments
manquants. Par contre, le mot de passe administrateur du serveur MySQL doit
etre configur avant d'installer DTC.<br><br>
<h4><a name="2.2"></a>2.2 Configuration des daemons avant installation</h4>
<h5><a name="2.2.1"></a>2.2.1 Mysql</h5>
Par dfaut, la plupart des distributions installent mysql-server sans mot de passe administrateur, il faut donc
mettre un mot de passe avant l'installation de DTC :<br><br>
Taper sous shell la ligne de commande suivante pour vous connecter mysql :<br>
<pre>mysql -uroot -Dmysql</pre><br>
Puis la requte SQL suivante :<br>
<pre>UPDATE user SET Password=PASSWORD('VOTRE_MOT_DE_PASSE') WHERE User='root';
FLUSH PRIVILEGES;</pre>
<h5><a name="2.2.2"></a>2.2.2 Apache</h5>
Il faut maintenant donner un nom par dfaut au serveur apache et le configurer pour utiliser nobody/nogroup
comme utilisateur, pour ce faire il suffit d'diter le fichier httpd.conf en changeant les directives User, Group,
ServerName :<br>
<b>User nobody</b><br>
<b>Group nogroup</b><br>
<b>ServerName www.example.com</b> (le ServerName doit tre le mme que dans /etc/hostname)<br><br>
(le fichier httpd.conf se retrouve avec un chemin diffrent selon la distribution installe, par exemple sous debian :
/etc/apache/httpd.conf , sous redhat : /etc/httpd/conf/httpd.conf , si vous compil apache vous mme : /usr/local/apache/etc/httpd.conf , .. )<br><br>
<h4><a name="2.3"></a>2.3 Installation avec la distribution debian</h4>
DTC ne fait pas encore partie de l'arborescence officielle des packages debian, En attendant il suffit de
rajouter la ligne suivante dans le fichier /etc/apt/sources.list :<br><br>
<pre>deb ftp://gplhost.com/debian stable main</pre><br>
Ce repository contient les versions compiles de qmail-src et ucspi-tcp-src qui ne sont
fournies qu'en version source sur les repository officiels (pour des raisons de licences),
on trouvera aussi le programme d'authentification alternatif (via le fichier /etc/poppasswd)
pour qmail nomm checklocalpwd par Jedi (en package debian ralis par l'auteur de DTC),
et mysqmail qui contient une version patch de qmail-pop3d pour logger le trafic pop
en MySQL, un logger et une authetification.<br><br>
Une fois ce rajout effectu, l'installation se fait comme pour n'importe quel package debian:<br><br>
<pre>apt-get install dtc</pre><br>
Une suite de questions vous sera pose pour permettre DTC d'installer le 1er domaine
(c'est sur une zone de ce domaine que sera install l'interface web de DTC) :<br><br>
- le nom d'hote mysql.<br>
- le login administrateur de mysql.<br>
- le mot de passe administrateur de mysql.<br>
- le nom de la base de donnes utilise par DTC.<br>
- le nom de domaine principal.<br>
- la zone utilise pour accder l'interface DTC.<br>
- l'adresse ip principale de la machine.<br>
- le chemin par dfaut o seront stocks les donnes des domaines (mail,html) lors de la cration d'un nouveau compte client.<br>
- le couple login/mot de passe utilis pour administrer le 1er domaine cr<br><br>
Attention ! Il peut arriv, si php4-cgi est install aprs php4-mysql par
exemple, que le module ne soit pas activ dans php4-cgi. Veuillez alors
activer mysql.so manuellement dans /etc/php4/cgi/php.ini (de meme pour
les autres modules de php4 ncessaires). De manire gnrale, il est raisonable
de passer du temps pour vrifier que vos httpd.conf et php.ini sont bien
configur et permettent une scurit maximale (reegister_globales=0,
safe_mode=1 par exemple).<br><br>
<h4><a name="2.4"></a>2.4 Installation avec la distribution redhat</h4>
La version actuelle du package RPM de DTC a t conue pour les dpendances et les chemins d'une redhat 7.3,
mais puisqu'il s'agit de scripts php non compils le package devrait fonctionner avec toutes les versions suprieures.<br><br>
Le package RPM est disponible sur <a href="ftp://ftp.gplhost.com">ftp.gplhost.com</a><br><br>
L'installation se fait comme pour n'importe quel package rpm :<br>
<pre>rpm -ivh dtc-VERSION_noarch.rpm</pre>
Puisque sous redhat, il n'est pas possible de poser des questions l'utilisateur durant la phase d'installation, un
script de post-installation est disponible ( /usr/share/dtc/admin/dtc.rpm-install.sh ) qui vous posera les questions dja
numres dans le sous-chapitre "installation avec la distribution debian".<br><br>
<h4><a name="2.5"></a>2.5 Installation avec une distribution BSD/GENTOO</h4>
Un port est en cours de dveloppement permettant de rsoudre les dpendances.
Pour le moment vous devez vous satisfaire du script d'installation livr avec
l'archive BSD. Veuillez nott que cette archive a t test et qu'elle fonctionne,
c'est simplement qu'il y a beaucoup de choses a installer pour que DTC soit
oprationnel.<br><br>
<h4><a name="2.6"></a>2.6 Installation manuelle</h4>
Dans un premier temps il faut tlcharger l'archive .tar de DTC qui est disponible sur <a href="ftp://ftp.gplhost.com">ftp.gplhost.com</a><br><br>
Puis dcompresser l'archive:<br>
<pre>tar -xvzf dtc_VERSION_all.tar.gz</pre>
ensuite installer les fichiers dcompresss:<br>
<pre>mkdir -p /usr/share/dtc/etc/zones
mv dtc_VERSION_all/dtc /usr/share
chown -R root:root /usr/share/dtc
chown -R nobody:nogroup /usr/share/dtc/etc</pre>
enfin le lancement du script d'installation finale:<br>
<pre>dtc_VERSION_all/install.sh</pre>
En plus des questions dja numres dans le sous-chapitre
"installation avec la distribution debian" il vous sera demand le chemin des
fichiers de configuration suivants : httpd.conf, proftpd.conf, named.conf.<br><br>
Vfifier aprs installation de qmail que votre fichier /etc/passwd soit de la forme suivante :<br>
<pre>qmaild:x:64011:65534:qmail daemon,,,:/var/qmail:/bin/sh
qmaill:x:64015:65534:qmail log,,,:/var/qmail:/bin/sh
qmailp:x:64016:65534:qmail pw,,,:/var/qmail:/bin/sh</pre>
Si vous prfr installer tout 'a la main' sans le script d'installation,
voici comment il faut procder (dsol, c'est en anglais...):<br><br>
- First, install apache, bind, proftpd with mysql support, and qmail with either mysql support
or using the Jedi's checklocalpasswd program for authentification.
Already done ? You should either be very fast or have debian system installed !<br><br>
- Setup the database the way the "create_table.sql" describe it. You can cut-paste
this file content in phpmyadmin if you like...<br><br>
- Create some folders for dtc to store the generated files :
<pre>
# Create /etc/dtc (conf file), /etc/dtc/data (generated file path)
# and /etc/dtc/data/zone (where named zone files will be stored)
# Folder where dtc will generate it's files for apache, qmail and bind :
mkdir -p /etc/dtc/data/zone
</pre>
- Make this folder accessible by your web user (it should be either nobody or www-data
depending the way things are set up...).
<pre>
chown -R nobody:nogroup /etc/dtc/data;
</pre>
- DTC will generate the following files in the /etc/dtc/data folder. You have to either
replace package files by a symlink to those files, or include these in the package file.
Let's see them one by one. Note that you can change the path to all of them in the
config.inc.php.<br><br>
DTC will generate the folowing files for you : named.zones - named_slave.zones - vhosts.prosites - rcpthosts - virtualdomains - assign - poppasswd<br><br>
* named.zones or named_slave.zones<br>
Include this file in your named.conf (located in /etc/bind under
debian and /etc/namedb under FreeBSD) file using the following syntax :
<pre>
include "/etc/dtc/data/named.zones";
</pre>
* vhosts.prosites<br>
Include this in your /etc/apache/httpd.conf :
<pre>
Include /etc/dtc/data/vhosts.prosites
</pre>
* qmail files<br>
You have to replace the qmail files by symlinks to those files :
<pre>
rm /etc/qmail/rcpthosts; ln -s /etc/qmail/rcpthosts /etc/dtc/data/rcpthosts;
rm /etc/qmail/virtualdomains; ln -s /etc/qmail/virtualdomains /etc/dtc/data/virtualdomains;
rm /etc/qmail/users/assign; ln -s /etc/qmail/users/assign /etc/dtc/data/assign
</pre>
If you use the Jedi's checklocalpasswd :
<pre>
rm /etc/poppasswd; ln -s /etc/poppasswd /etc/dtc/data/poppasswd;
</pre>
- You have to add the following directives in /etc/proftpd.conf to enable
sql control :
<pre>
# Beware that one is deprecated in newer version of proftpd:
# UseReverseDNS off
IdentLookups off
# This is specific to mod_sql for proftpd
SQLAuthenticate on
SQLConnectInfo YOURDATABASENAME@localhost YOURSQLUSER YOURSQLPASS
SQLUserInfo ftp_access login password uid gid homedir shell
SQLAuthTypes Plaintext
</pre>
you can also add the following if you need quota support :
<pre>
Quotas on
DefaultQuota 50
QuotaType hard
QuotaCalc on
QuotaBlockName Mbites
QuotaBlockSize 1024000
User nobody
Group nogroup
SQLHomedirOnDemand on
</pre>
You can also add some directives to have FTP accouting done, like the install
script does...
- Next, you have to put all the dtc php file somewhere in your apache tree so you can
browse, click, and enjoy dtc.<br><br>
<h4><a name="2.7"></a>2.7 Post-Installation (protection via .htaccess)</h4>
Par dfaut le fichier .htaccess suivant protge le repertoire (par dfaut dans /usr/share/dtc/admin) de l'interface administrateur :<br>
<pre>AuthName "A funny message prompted to user !"
AuthType Basic
AuthUserFile /var/www/.htpasswd
require valid-user</pre>
Vous devez crer le fichier .htpasswd en spcifiant l'utilisateur pouvant accder ce rpertoire :<br>
<pre>htpasswd -c /var/www/.htpasswd nom_utilisateur</pre>
(l'option -c permet de crer le fichier, si elle n'est pas spcifie l'utilisateur sera ajout au fichier).<br>
A la suite de cette commande, il vous sera demand d'entrer un mot de passe.<br><br>
N'oubliez pas que la directive apache AllowOverride restreint l'utilisation des fichiers .htaccess, il y a
donc de fortes chances que vous deviez configurer le fichier httpd.conf pour autoriser l'utilisation de la
restriction d'accs, sans quoi ce rpertoire ne sera pas protg. (voir la documentation d'apache).<br><br>
Pour que bind (named) fonctionne il faut que vous ditiez la partie 'forwarders' de
votre named.conf. N'oubliez pas de configurer /etc/resolv.conf comme il suit :
<pre>nameserver 127.0.0.1
</pre>
Sans quoi votre serveur ne pourra pas rsolver correctement.
|