LinuxForum.Fans
Тема

Посоветуйте инструкцию по установке и настройке Bind и Nginx

Автор: Nigelist 25 сообщений 8259 просмотров
#329853

Посоветуйте хорошую и подробную инструкцию по установке и настройке Bind9 (для локальной сети) и Nginx. Учитывая, что будет только один сервер.

#329869

zenon, а статьи по установке Bind9 для одного сервера в локальной сети нет на примете?

#329873

Nigelist, Переведи и можно будет разместить тут, или у меня. ;_)

#329881

"zenon⇓" написал:
Nigelist, Переведи и можно будет разместить тут, или у меня. ;_)
С переводом проблем нет, но по данному конфигу у меня не получается. Если можете мне помочь с несколькими вопросами, то можно и перевести.
#329891

Где вопросы-то?

#329938

zenon, ну вообще все вопросы связаны с тем, что сервер у меня в сети один, нету дублирующего сервера. А все остальные сервисы (Web-сервер, DNS-сервер, SQL-сервер, сервер приложений) находятся на первом и единственном сервере. Итак, в конструкции:
[console]@ IN SOA ns1.linuxconfig.org. admin.linuxconfig.org. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 day[/console]
В другой статье нашел значение этих параметров:

  • Refresh - период времени с которым вторичный сервер днс обращается к основному.
  • Retry - период с которым вторичный сервер будет повторять попытки при неудачном обновлении.
  • Expire - максимальное время использования данных на вторичном сервере, после которого делается обязательное обновление.

Но как быть, если у меня один DNS-сервер? Или может быть значение параметров указаны неправильно?

P.S. И обязательно ли указывать имя ns1. Или можно указать hostname сервера?

P.P.S. Так же непонятно как быть с роутером? Ведь DHCP-сервер на роутере. Надо ли настраивать статический IP на сервере? Если уже на роутере зарезервирован IP-адрес для сервера?

#329976

Nigelist, уже не первый день тут... телепат из меня сегодня никакой.
Начни с постановки задачи.

#329990

zenon, хочу поднять DNS-сервер, чтоб по домашней сети к нему можно было обращаться по доменному имени (например: server.domain.loc). Для себя хочу сделать сайт со модулем статьи (как у вас) с форумом. тоже пока локальный.

Так же хотелось бы разобраться, как расшаривать базу 1С:Предприятие на Nginx. На Apache это делается командой:
[console]./webinst -apache22 -wsdir db1 -dir '/var/www/db1' -connStr 'Srvr="1cserver";Ref="db1";' -confPath /etc/apache2/httpd.conf[/console]
Где webinst - скрипт публикации баз из состава утилит 1С, db1 - имя БД к которой настраиваем доступ, 1cserver - имя сервера на котором установлен 1С сервер.

В дальнейшем хочу попробовать поднять почтовик и ftp-сервер.


Добавлено:
У вас в статье указано:

Владельцем каталога сайтов должен быть пользователь, от которого запущен и работает вэб-сервер. В Debian и Ubuntu это www-data, в Gentoo, CentOS - пользователь nginx. В конфигурации за это отвечает директива user (nginx.conf):
[console]user www-data;
worker_processes 4;
...
...[/console]

А у меня в Debian 7:
[console]user nginx;
worker_processes 1;[/console]
И непонятно то ли задавать владельцем папки пользователя nginx, то ли заменить nginx на www-data в nginx.conf.

#329994
"Nigelist⇓" написал:
А у меня в Debian 7:
Консоль
user nginx;
worker_processes 1;

Откуда nginx был установлен? Если из dotdeb то будет пользователь nginx, если стандартно, то www-data.
Вообще без разницы, главное знать от кого работает, чтобы у сервера был доступ к содержимому.

#329995
"Nigelist" написал:
хочу поднять DNS-сервер, чтоб по домашней сети к нему можно было обращаться по доменному имени (например: server.domain.loc). Для себя хочу сделать сайт со модулем статьи (как у вас) с форумом. тоже пока локальный.

ИМХО, BIND для этого избыточен, я обошёлся dnsmasq.

#330001

"zenon⇓" написал:
Откуда nginx был установлен? Если из dotdeb то будет пользователь nginx, если стандартно, то www-data.
Вообще без разницы, главное знать от кого работает, чтобы у сервера был доступ к содержимому.
Из репозитория nginx. Того, что в вашей статье.
А так наверное все таки работает от nginx:
[console]ps aux | grep nginx
root 2055 0.0 0.0 30904 980 ? Ss 20:49 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx 2056 0.0 0.0 31252 1628 ? S 20:49 0:00 nginx: worker process
nigelist 3208 0.0 0.0 7852 836 pts/0 S+ 21:24 0:00 grep nginx[/console]

"-=Serj=-⇓" написал:
ИМХО, BIND для этого избыточен, я обошёлся dnsmasq.
На вырост.
#330028
"Nigelist⇓" написал:
Из репозитория nginx. Того, что в вашей статье.

Ну а я про что говорю - мейнтейнеры Debian правят конфиги и если ставишь из родных реп, то пользователь будет www-data - это стандарт для Debian/Ubuntu.

#330040

zenon, что то я не пойму, разве репозитории с nginx.org относятся к родным? Или вы имели в виду стандартные репозитории Debian?

P.S. В репозиториях nginx версии 1.4.2, а в стандартных репозиториях версии 1.2.1. Эта разница важна? Может стоит поставить версию из стандартного репозитория.

#330107

"zenon⇓" написал:
Nigelist, Переведи и можно будет разместить тут, или у меня. ;_)
Спасибо, по этой статье получилось.

Кстати, это ничего, что DNS-сервер получает IP-адрес от роутера (правда ему зарезервирован постоянный IP-адрес) или лучше назначить статический IP-адрес? Добавил в роутер DNS-сервер для домашней локалки. Вроде всё работает.
#330109
"Nigelist⇓" написал:
Кстати, это ничего, что DNS-сервер получает IP-адрес от роутера

В локальных сетях мне больше нравится кэшируюший dns сервер Unbound.
Локальные адреса в нём прописывать просто, например:

text
    local-zone: "home.lan." static
       local-data: "www.home.lan. 300 IN A 192.168.0.1"
       local-data: "ftp.home.lan. 300 IN A 192.168.0.2"
#330110

zenon, получаю затык на:

* Связку nginx и php-fpm настраиваем на работу через unix сокет
Создадим новую конфигурацию для localhost:
[console]# nano /etc/nginx/conf.d/localhost.conf
server {
server_name localhost;
# listen 192.168.0.120:80;
listen 127.0.0.1:80;
root /var/www/localhost;
index index.php;

location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
# fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}[/console]
Дальнейшие шаги выполнил в точности. Страница вообще не отображается. А в server_name должен стоять localhost или что-то другое?
#330114
"Nigelist⇓" написал:
А в server_name должен стоять localhost или что-то другое?

Смотри офф доку server_name

#330116

Nigelist, Не для Debian конечно, а для Fedora/RHEL, но может что то извлечёшь отсюда.

#330124

zenon, сделал так:

text
server {
   server_name  domain.loc
                www.domain.loc
                192.168.1.33
                ;

listen 80; #listen 127.0.0.1:80; root /var/www/localhost; index index.php;

location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; if (!-f $document_root$fastcgi_script_name) { return 404; } # fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } }

Открывается пустая страница.

Войдите или зарегистрируйтесь, чтобы ответить.