Я пытаюсь создать домен, который можно обновлять. Я использую bind9, я использовал
ddns-confgen -a hmac-sha512 -k <keyname>
для генерации своего ключа, я добавил ключ в /etc/bind/keys.local
key "<keyname>" {
algorithm hmac-sha512;
secret "<secret>";
};
, мой файл named.conf выглядит так:
include "/etc/bind/keys.local";
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
мой named Файл .conf.local выглядит так:
zone "<subdomain_name>" {
type master;
update-policy {
grant <keyname> zonesub ANY;
};
file "<zone_file>"; # zone file path
};
zone "<reverse_zone>.in-addr.arpa" {
type master;
update-policy {
grant <keyname> zonesub ANY;
};
file "<reverse_zone_file>";
};
Я упустил что-то очевидное? потому что, когда я делаю:
sudo nsupdate -k <keyfile>
server <dns_server>
zone <subdomain_name>
update add newhost.<subdomain_name> 86400 A <newhost_ip>
send
, я получаю ответ SERVFAIL ...
dig <dns_server>
и
ping <dns_server>
работают правильно, я просто не могу заставить работать DDNS. я пробовал ответы в других темах, подобных этой, все в конечном итоге дают мне SERVFAIL, независимо от того, что я пытаюсь. заранее спасибо за любые предложения.
edit1:
Я выполнил инструкции в документации, но это не работает. Это конфигурация VirtualHost ( /etc/apache2/vhost.d/wp-intranet.conf )
<VirtualHost 192.168.20.25>
ServerName intranet.mycompany.de
DocumentRoot /srv/www/vhosts/wp-intranet
ServerAdmin myname@mycompany.de
ErrorLog /var/log/apache2/intranet.mycompany.de_errorlog
CustomLog /var/log/apache2/intranet.mycompany.de_customlog common
<Directory "/srv/www/vhosts/wp-intranet">
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Я также добавил NameVirtualHost *: 80
в / etc / apache2 / listen.conf
.
Затем я сделал запись hosts в своем клиенте Windows:
192.168.20.25 intranet.mycompany.de
Но если я перейду к intranet.mycompany.de
со своего компьютера с Windows, то файл /srv/www/htdocs/index.html
открывается.
Я также перезапустил службу apache ( перезапуск службы apache2
)
Надеюсь, кто-нибудь сможет указать мне направо направление. Документация бесполезна, я выполнил каждый шаг, но она все равно не работает.
Я наконец решил это. В официальной документации отсутствует важная информация и она устарела.
Мне пришлось включить файл конфигурации моего vhost /etc/apache2/vhost.d/wp-intranet.conf в / etc / apache2 / httpd.conf
IncludeOptional /etc/apache2/vhosts.d/wp-intranet.conf
Затем я заметил, что не могу перезапустить службу apache2.
Задание для apache2.service завершилось неудачно, поскольку процесс управления завершился с код ошибки. См. "Systemctl status apache2.service" и "journalctl" -xe "для подробностей.
Я выполнил systemctl status apache2.service
и получил:
● apache2.service - The Apache Webserver
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2018-07-10 12:59:07 CEST; 10s ago
Process: 2017 ExecStop=/usr/sbin/start_apache2 -DSYSTEMD -DFOREGROUND -k graceful-stop (code=exited, status=1/FAILURE)
Process: 7622 ExecReload=/usr/sbin/start_apache2 -DSYSTEMD -DFOREGROUND -k graceful (code=exited, status=0/SUCCESS)
Process: 2008 ExecStart=/usr/sbin/start_apache2 -DSYSTEMD -DFOREGROUND -k start (code=exited, status=1/FAILURE)
Main PID: 2008 (code=exited, status=1/FAILURE)
Jul 10 12:59:07 intern start_apache2[2008]: AH00526: Syntax error on line 8 of /etc/apache2/vhosts.d/wp-i...onf:
Jul 10 12:59:07 intern start_apache2[2008]: Invalid command 'Order', perhaps misspelled or defined by a m...tion
Jul 10 12:59:07 intern systemd[1]: apache2.service: Main process exited, code=exited, status=1/FAILURE
Jul 10 12:59:07 intern start_apache2[2017]: AH00548: NameVirtualHost has no effect and will be removed in...f:41
Jul 10 12:59:07 intern start_apache2[2017]: AH00526: Syntax error on line 8 of /etc/apache2/vhosts.d/wp-i...onf:
Jul 10 12:59:07 intern start_apache2[2017]: Invalid command 'Order', perhaps misspelled or defined by a m...tion
Jul 10 12:59:07 intern systemd[1]: apache2.service: Control process exited, code=exited status=1
Jul 10 12:59:07 intern systemd[1]: Failed to start The Apache Webserver.
Jul 10 12:59:07 intern systemd[1]: apache2.service: Unit entered failed state.
Jul 10 12:59:07 intern systemd[1]: apache2.service: Failed with result 'exit-code'.
Hint: Some lines were ellipsized, use -l to show in full.
Итак, я понял, что конфигурация виртуального хоста из официальной документации содержит синтаксические ошибки. Мне пришлось ее изменить на это:
<VirtualHost *:80>
ServerName intranet.mycompany.de
DocumentRoot /srv/www/vhosts/wp-intranet
ServerAdmin edward.black@mycompany.de
ErrorLog /var/log/apache2/intranet.mycompany.de_errorlog
CustomLog /var/log/apache2/intranet.mycompany.de_customlog common
<Directory "/srv/www/vhosts/wp-intranet">
#Order allow,deny
AllowOverride All
#Allow from all
Require all granted
</Directory>
</VirtualHost>
Теперь я смог перезапустить apache2, и если я перейду на http://intranet.mycompany.de/
, то откроется сайт wordpress!
В директиве
синтаксис
. Хотя полное доменное имя для IP-адреса поддерживается, это не рекомендуется. Поскольку Apache отличает имя хоста от заголовка Host:
по ServerName
(и, необязательно, с помощью ServerAlias
), он вам здесь не нужен. Попробуйте
.