Bonjour à tous !

Je viens vous demander votre aide parce que je ne trouve vraiment pas de solution à mon problème.

J'ai installé PDNS (powerdns) sur ma machine (linux debian lenny) et cela ne fonctionne pas du tout.
J'ai choisi PDNS parce qu'il permet de gérer les NDD de manière dynamique directement sur un SGBD ce qui en temps normal simplifie la vie

Je vais donc vous exposer toutes les configurations établies, je suis sûr d'avoir loupé quelque chose, mais quoi ?

Pour info, je ne donne pas le NDD concerné, je vais utiliser ceci :
vhost.monndd.tld = 3w.domaine.com

Registar (gandi):
DNS1: ns1.monndd.tld
DNS2: ns2.monndd.tld

OVH :

DNS secondaire : monndd.tld ipfailover ns.kimsufi.com

Reverse ipv4 :
ipprincipale normal nommachine.monndd.tld
ipfailover normal xxx-xxx-xxx-xxx.kimsufi.com

Power DNS :

Fichier config (pdns.conf) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
allow-recursion=127.0.0.1
cache-ttl=300
config-dir=/etc/powerdns
daemon=yes
disable-axfr=no
guardian=yes
launch=gmysql
lazy-recursion=yes
local-address=0.0.0.0
local-port=53
logging-facility=0
module-dir=/usr/lib/powerdns
out-of-zone-additional-processing=yes
query-cache-ttl=300
recursive-cache-ttl=150
recursor=127.0.0.1:54
setgid=pdns
setuid=pdns
socket-dir=/var/run
version-string=powerdns
include=/etc/powerdns/pdns.d
Fichier config (recursor.conf) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
allow-from=127.0.0.1
dont-query=
local-address=127.0.0.1
local-port=54
logging-facility=1
quiet=yes
setgid=pdns
setuid=pdns
Fichier requetes (pdns.local)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
gmysql-socket=/var/run/mysqld/mysqld.sock
gmysql-dbname=pdns_db
gmysql-user=pdns_user
gmysql-password=pdns_pass
 
gmysql-basic-query=select content,ttl,prio,type,domain_id,name from record where type='%s' and name='%s'
gmysql-id-query=select content,ttl,prio,type,domain_id,name from record where type='%s' and name='%s' and domain_id=%d
gmysql-any-query=select content,ttl,prio,type,domain_id,name from record where name='%s'
gmysql-any-id-query=select content,ttl,prio,type,domain_id,name from record where name='%s' and domain_id=%d
gmysql-list-query=select content,ttl,prio,type,domain_id,name from record where domain_id=%d
gmysql-master-zone-query=select master from domainDNS where name='%s' and type='SLAVE'
gmysql-info-zone-query=select domain_id AS id,name,master,last_check,notified_serial,type from domainDNS where name='%s'
gmysql-info-all-slaves-query=select domain_id AS id,name,master,last_check,type from domainDNS where type='SLAVE'
gmysql-supermaster-query=select account from supermaster where ip='%s' and nameserver='%s'
gmysql-insert-slave-query=insert into domainDNS (type,name,master,account) values('SLAVE','%s','%s','%s')
gmysql-insert-record-query=insert into record (content,ttl,prio,type,domain_id,name) values ('%s',%d,%d,'%s',%d,'%s')
gmysql-update-serial-query=update domainDNS set notified_serial=%d where id=%d
gmysql-update-lastcheck-query=update domainDNS set notified_serial=%d where id=%d
gmysql-info-all-master-query=select domain_id,name,master,last_check,notified_serial,type from domainDNS where type='MASTER'
gmysql-delete-zone-query=delete from record where domain_id=%d
gmysql-wildcard-query=select content,ttl,prio,type,domain_id,name from record where type='%s' and name like '%s'
gmysql-wildcard-id-query=select content,ttl,prio,type,domain_id,name from record where type='%s' and name like '%s' and domain_id=%d
gmysql-wildcard-any-query=select content,ttl,prio,type,domain_id,name from record where name like '%s'
gmysql-wildcard-any-id-query=select content,ttl,prio,type,domain_id,name from record where name like '%s' and domain_id=%d
Les ndd en bdd :

Table domain
id = 1, name = monndd.tld

Table domainDNS
domain_id = 1, master = NATIVE, last_check = NULL, type = , notified_serial = NULL, account = NULL

Table record
domain_id = 1, name = monndd.tld, type = SOA, content = ns1.monndd.tld. admin.monndd.tld, ttl = 86400, prio = NULL, change_date = NULL
domain_id = 1, name = monndd.tld, type = NS, content = ns1.monndd.tld, ttl = 86400, prio = NULL, change_date = NULL
domain_id = 1, name = monndd.tld, type = NS, content = ns2.monndd.tld, ttl = 86400, prio = NULL, change_date = NULL
domain_id = 1, name = monndd.tld, type = MX, content = mail.monndd.tld, ttl = 86400, prio = 25, change_date = NULL
domain_id = 1, name = monndd.tld, type = A, content = ip principale du serveur, ttl = 120, prio = NULL, change_date = NULL
domain_id = 1, name = www.monndd.tld, type = A, content = ip principale du serveur, ttl = 120, prio = NULL, change_date = NULL

Apache 2 :

Je met ce qui concerne apache 2 compte tenu qu'il est directement lié au fonctionnement des ndd & vhosts.

Fichier config (apache2.conf)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
ServerRoot "/etc/apache2"
LockFile /var/lock/apache2/accept.lock
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>
<IfModule mpm_worker_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75 
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
AccessFileName .htaccess
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>
DefaultType text/plain
HostnameLookups Off
ErrorLog /var/log/apache2/error.log
LogLevel warn
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Include /etc/apache2/httpd.conf
Include /etc/apache2/ports.conf
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined
Include /etc/apache2/conf.d/
Include /home/apache2/*.conf
Fichier vhost (www)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<VirtualHost *:80>
        ServerName monndd.tld
        ServerAlias <a href="http://3w.monndd.tld" target="_blank">3w.monndd.tld</a>
        DocumentRoot /home/sites/0/www/
        <Directory /home/sites/0/www/>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride All
        </Directory>
        ErrorLog /var/log/apache2/0_www_error.log
        CustomLog /var/log/apache2/0_www_access.log combined
</VirtualHost>
Fichier vhost (admin)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<VirtualHost *:443>
    ServerName admin.monndd.tld
 
    # Activation du support SSL
    GnuTLSEnable on
    GnuTLSPriorities NORMAL
    GnuTLSCertificateFile /home/sites/0/ssl/certs/admin.crt
    GnuTLSKeyFile /home/sites/0/ssl/private/admin.key
 
    <location />
        AuthUserFile /home/sites/0/www/admin/
        AuthGroupFile /dev/null
        AuthName "Restricted Area"
        AuthType Basic
        <Limit GET POST>
            require valid-user
        </Limit>
    </Location>
 
    DocumentRoot /home/sites/0/www/admin/
    ErrorLog /var/log/apache2/0_admin_error.log
    CustomLog /var/log/apache2/0_admin_access.log combined
</VirtualHost>
Complément d'infos :

Pour installer mon serveur j'ai suivi ce tutoriel je l'ai relu maintes fois sans comprendre pourquoi PDNS ne fonctionne pas alors que tout le reste en plus de mes autres services fonctionnent nickel

Je trouve que la structure pour la bdd de PDNS est brouillons, je la travaillerai une fois que le système fonctionnera.

Les configurations contenues dans les fichiers .conf et .ini ne sont pas mises en entières pour économiser de la place, ce qui n'est pas affiché est sous forme de commentaire dans le fichier concerné.

Je cherche également un moyen pour que les fichiers de configurations des vhosts puissent être mis en place dans les dossiers des sites membres en amont du répertoire /www.
l'arborescence est /home/sites/membre_id/config/apache2/vhost.conf j'ai éssayé différentes méthodes d'inclusion qui m'ont toutes retournées un failed qui m'indique que les wildcards ne sont pas autorisés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Include /home/sites/%1/config/apache2/*.conf
Include /home/sites/*/config/apache2/*.conf
Les répertoires ftp des sites membres sont /home/sites/membre_id/www/

Merci d'avance pour votre aide, cordialement, Bloody-wave