#1 2021.09.02 13:23:33
0
12.1. Установка и настройка Nginx.
Для организации 'Z' Apache нам потребуется отдельный настроенный и работающий сервер Nginx.
Если у вас его еще нет, то вы можете настроить его по инструкции «CentOS 7: Настройка web-сервера Nginx и выход в Интернет со своим доменным именем.»
Также вам потребуется получить 2 доменных имени DNS вида:
12.2. Создание файлов конфигурации 'Z'.
Создадим 2 файла конфигурации с учетом инструкции настройки Nginx c nginx.conf, который был предложен в тексте инструкции по его настройке, в противном случае работоспособность системы OCS Inventory не гарантируется!
Создаем файл конфигурации ocsi.site.ru.conf для web-интерфейса OCS Inventory:
Вводим в него текст:
Сохраните файл и выйдите из текстового редактора.
Создаем файл конфигурации agent.ocsi.site.ru.conf для web-интерфейса OCS Inventory:
# mcedit /etc/nginx/conf.d/agent.ocsi.hamsterden.ru.conf
Вводим в него текст:
Сохраните файл и выйдите из текстового редактора.
12.3. Организация базовой аутентификации.
Название файла с паролями может быть любое. Назовем его исторически — htpasswd, но скрытым (точной перед файлом) делать не будем. Расположение файла так же может быть любое! Файл htpasswd содержит список имен пользователей и паролей. Nginx использует его для проверки учетных данных пользователей, которые хотят получить доступ к защищенным областям сайта.
Установим httpd-tools:
Сначала создайте пустой файл с именем /etc/nginx/htpasswd_osci примерно так:
Далее создайте пустой файл с именем /etc/nginx/agent.htpasswd_osci примерно так:
Далее требуется заказать первичное наполнение файла htpasswd_osci:
Вам будет предложено ввести пароль дважды:
Аналогично требуется заказать первичное наполнение файла htpasswd_agent.osci:
Флажок -c указываем, когда только создаем htpasswd первично, /etc/nginx/htpasswd_xx — путь к файлу с логинами и паролями, admin — нужный логин для Администратора, agent — нужный логин для Агента.
Внимание! Если у вас уже существует файл с таким именем, то его содержимое будет заменено, поэтому перед процедурой обязательно удостоверьтесь, что такого файла нет или используйте любое другое имя, которого точно нет.
Теперь вы можете добавить имена пользователей и пароли в этот файл с помощью команды htpasswd, добавлять -c не надо уже, так как файл для хранения паролей уже создан и создавать его снова нам не надо.
Позже, если вы хотите изменить существующий пароль, просто повторите команду. Точно так же вы можете добавить других пользователей в файл, выполнив приведенную выше команду с другим именем пользователя.
Если вы хотите удалить пользователя из файла, используйте ключ -D следующим образом:
Файл htpasswd представляет собой простой текстовый файл, и вы можете проверить его с помощью текстового редактора. Имена пользователей хранятся как есть, но пароли хешируются и шифруются.
12.4. Создание сертификата шифрования Let’s Encrypt.
Если у вас его еще нет Let’s Encrypt, то вы можете настроить его по инструкции «CentOS 7: Настройка web-сервера Nginx и выход в Интернет со своим доменным именем.»
Создайте 2 сертификата для доменных имен.
12.5. Перезапустим Nginx:
Если всё сделано без ошибок и опечаток, то вам станут доступны два web-адреса с базовой аутентификацией:
https://ocsi.site.ru — тождественен https://192.168.0.20/ocsreports/ — путь входа в web-панель управления OSC Inventory.
https://agent.ocsi.site.ru — тождественен https://192.168.0.20/ocsinventory/ — путь входа для Агентов, по нему они передают информацию в OCS Inventory.
При попытке перейти по пути https://agent.ocsi.site.ru, нас встретит техническая надпись о том, что браузер и сервер друг друга не понимают. Это нормально. В этой точке происходит общение Агентов с сервером OCS Inventory.
Для организации 'Z' Apache нам потребуется отдельный настроенный и работающий сервер Nginx.
Если у вас его еще нет, то вы можете настроить его по инструкции «CentOS 7: Настройка web-сервера Nginx и выход в Интернет со своим доменным именем.»
Также вам потребуется получить 2 доменных имени DNS вида:
ocsi.site.ru
agent.ocsi.site.ru
12.2. Создание файлов конфигурации 'Z'.
Создадим 2 файла конфигурации с учетом инструкции настройки Nginx c nginx.conf, который был предложен в тексте инструкции по его настройке, в противном случае работоспособность системы OCS Inventory не гарантируется!
ocsi.site.ru.conf
agent.ocsi.site.ru.conf
Создаем файл конфигурации ocsi.site.ru.conf для web-интерфейса OCS Inventory:
# mcedit /etc/nginx/conf.d/ocsi.hamsterden.ru.conf
Вводим в него текст:
server {
listen 80;
server_name ocsi.site.ru;
access_log /web/ocsi/log/access.log;
error_log /web/ocsi/log/error.log;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443 ssl http2;
server_name ocsi.site.ru;
access_log /web/ocsi/log/access.log;
error_log /web/ocsi/log/error.log;
ssl_certificate /etc/letsencrypt/live/ocsi.site.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ocsi.site.ru/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/ocsi.site.ru/fullchain.pem;
proxy_redirect off;
location / {
auth_basic " ";
auth_basic_user_file /etc/nginx/htpasswd_osci;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://192.168.0.20/ocsreports/;
proxy_buffering off;
client_max_body_size 0;
proxy_connect_timeout 3600s;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
send_timeout 3600s;
}
}
Сохраните файл и выйдите из текстового редактора.
Создаем файл конфигурации agent.ocsi.site.ru.conf для web-интерфейса OCS Inventory:
# mcedit /etc/nginx/conf.d/agent.ocsi.hamsterden.ru.conf
Вводим в него текст:
server {
listen 80;
server_name agent.ocsi.site.ru;
access_log /web/agent.ocsi/log/access.log;
error_log /web/agent.ocsi/log/error.log;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443 ssl http2;
server_name agent.ocsi.site.ru;
access_log /web/agent.ocsi/log/access.log;
error_log /web/agent.ocsi/log/error.log;
ssl_certificate /etc/letsencrypt/live/agent.ocsi.site.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/agent.ocsi.site.ru/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/agent.ocsi.site.ru/fullchain.pem;
proxy_redirect off;
location / {
auth_basic " ";
auth_basic_user_file /etc/nginx/htpasswd_agent.osci;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://192.168.0.20/ocsinventory/;
proxy_buffering off;
client_max_body_size 0;
proxy_connect_timeout 3600s;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
send_timeout 3600s;
}
}
Сохраните файл и выйдите из текстового редактора.
12.3. Организация базовой аутентификации.
Название файла с паролями может быть любое. Назовем его исторически — htpasswd, но скрытым (точной перед файлом) делать не будем. Расположение файла так же может быть любое! Файл htpasswd содержит список имен пользователей и паролей. Nginx использует его для проверки учетных данных пользователей, которые хотят получить доступ к защищенным областям сайта.
Установим httpd-tools:
# yum -y install httpd-tools
Сначала создайте пустой файл с именем /etc/nginx/htpasswd_osci примерно так:
# touch /etc/nginx/htpasswd_osci
Далее создайте пустой файл с именем /etc/nginx/agent.htpasswd_osci примерно так:
# touch /etc/nginx/htpasswd_agent.osci
Далее требуется заказать первичное наполнение файла htpasswd_osci:
# htpasswd -c /etc/nginx/htpasswd_osci admin
Вам будет предложено ввести пароль дважды:
Аналогично требуется заказать первичное наполнение файла htpasswd_agent.osci:
# htpasswd -c /etc/nginx/htpasswd_agent.osci agent
Флажок -c указываем, когда только создаем htpasswd первично, /etc/nginx/htpasswd_xx — путь к файлу с логинами и паролями, admin — нужный логин для Администратора, agent — нужный логин для Агента.
Внимание! Если у вас уже существует файл с таким именем, то его содержимое будет заменено, поэтому перед процедурой обязательно удостоверьтесь, что такого файла нет или используйте любое другое имя, которого точно нет.
Теперь вы можете добавить имена пользователей и пароли в этот файл с помощью команды htpasswd, добавлять -c не надо уже, так как файл для хранения паролей уже создан и создавать его снова нам не надо.
Позже, если вы хотите изменить существующий пароль, просто повторите команду. Точно так же вы можете добавить других пользователей в файл, выполнив приведенную выше команду с другим именем пользователя.
Если вы хотите удалить пользователя из файла, используйте ключ -D следующим образом:
# htpasswd -D /etc/nginx/htpasswd_xx john
Файл htpasswd представляет собой простой текстовый файл, и вы можете проверить его с помощью текстового редактора. Имена пользователей хранятся как есть, но пароли хешируются и шифруются.
# cat /etc/nginx/htpasswd_xx
12.4. Создание сертификата шифрования Let’s Encrypt.
Если у вас его еще нет Let’s Encrypt, то вы можете настроить его по инструкции «CentOS 7: Настройка web-сервера Nginx и выход в Интернет со своим доменным именем.»
Создайте 2 сертификата для доменных имен.
ocsi.site.ru
agent.ocsi.site.ru
12.5. Перезапустим Nginx:
# systemctl restart nginx
Если всё сделано без ошибок и опечаток, то вам станут доступны два web-адреса с базовой аутентификацией:
https://ocsi.site.ru — тождественен https://192.168.0.20/ocsreports/ — путь входа в web-панель управления OSC Inventory.
https://agent.ocsi.site.ru — тождественен https://192.168.0.20/ocsinventory/ — путь входа для Агентов, по нему они передают информацию в OCS Inventory.
При попытке перейти по пути https://agent.ocsi.site.ru, нас встретит техническая надпись о том, что браузер и сервер друг друга не понимают. Это нормально. В этой точке происходит общение Агентов с сервером OCS Inventory.
Отредактировано: Panda 2024.12.06 14:22:07