Установка PHP IP Address Management Software (phpIPAM) в Debian

debian logo Applications

В этом руководстве мы покажем вам, как установить и настроить последнюю версию phpIPAM на Debian для управления IP-адресами ваших компаний.

phpIPAM, сокращение от PHP IP Address Management, - это мощное и гибкое программное обеспечение с открытым исходным кодом для управления IP-адресами и подсетями, написанное на языке программирования PHP и используемое в ОС Linux с веб-серверами Apache/Nginx, PHP и системой управления базами данных MySQL/MariaDB, также известной как стек LAMP или LEMP.

phpIPAM позволяет облегчить работу сетевых и системных администраторов, предоставляя простой и интуитивно понятный веб-интерфейс, позволяющий отслеживать, какие IP-адреса статически или динамически назначены хостам, серверам, маршрутизаторам, коммутаторам и другим сетевым устройствам. В отличие от других средств управления IP-адресами, которые требуют ручного добавления или обновления IP-адресов или статуса устройств, phpIPAM обладает некоторыми интересными встроенными функциями, которые автоматизируют процесс обнаружения новых IP-адресов и имен хостов, назначенных сетевым устройствам, и могут автоматически обновлять статус IP/устройства и добавлять IP-адреса в базу данных MySQL.

Требования

  • Минимальная установка Debian 11 на пустой серверной машине или на виртуальном частном сервере.
  • привилегии sudo root для локальной или удаленной учетной записи или прямой доступ к учетной записи root
  • Статический IP-адрес, сконфигурированный для одной из сетевых карт вашей системы
  • частное или публичное доменное имя (в зависимости от развертывания) с правильными DNS-записями для веб-служб. Если у вас нет действующего или зарегистрированного доменного имени, вы можете установить и получить доступ к сайту через IP-адрес вашего сервера
  • Если вы хотите использовать почтовые уведомления phpIPAM, у вас должен быть действующий почтовый сервер, правильно настроенный и предоставляющий удаленный доступ к IMAP- и SMTP-сервисам

Предварительные условия

Прежде чем приступить к установке и настройке phpIPAM из исходных текстов собственного сервера, необходимо убедиться, что система соответствует всем программным требованиям для компиляции и установки приложения.

Первым делом необходимо обновить репозитории и программные пакеты системы, выполнив следующую команду

Следующим шагом выполните следующую команду для установки некоторых необходимых утилит, необходимых для дальнейшего управления системой из командной строки.

После того как система полностью обновлена и установлены необходимые утилиты для управления сервером, задайте имя системы, выполнив следующую команду. Замените переменную hostname соответствующим образом.

Проверьте имя хоста машины и файл hosts, выполнив следующие команды.

Наконец, необходимо перезагрузить сервер Debian, чтобы обновления ядра и изменения имени хоста были правильно применены.

phpIPAM - это веб-платформа для управления IP-адресами и сетями, написанная на серверном языке программирования PHP. Для выполнения сценариев PHP-файлов приложения в системе должны быть установлены и работать веб-сервер, например HTTP-сервер Apache, и интерпретатор PHP.

Чтобы установить веб-сервер Apache и интерпретатор PHP, а также все необходимые для работы приложения модули PHP, введите в консоль сервера следующую команду

Для проверки того, все ли установленные модули PHP включены в системе, используйте следующую команду.

После установки Apache и PHP проверьте, что веб-сервер работает и прослушивает сетевые соединения на порту 80, введя следующую команду с правами root.

Если сетевая утилита netstat не установлена по умолчанию в вашей системе Debian, выполните следующую команду для ее установки.

Из вывода команды netstat видно, что веб-сервер Apache прослушивает входящие сетевые соединения на порту 80. Для решения этой же задачи можно использовать команду ss, которая автоматически устанавливается в Debian 11.

Если в вашей системе включен брандмауэр, например, приложение UFW, вам следует добавить новое правило для разрешения HTTP-трафика через брандмауэр, набрав следующую команду.

или

Если вы используете необработанные правила iptables для управления правилами брандмауэра сервера Debian, добавьте следующее правило для разрешения входящего трафика через порт 80 на брандмауэре, чтобы другие администраторы сети могли просматривать онлайн-приложение.

сохранение работоспособности netfilter-persistent

Далее включите следующие модули Apache, необходимые приложению для корректной работы, и примените их, введя следующую команду.

Наконец, проверьте, может ли веб-страница Apache по умолчанию отображаться в браузерах ваших клиентов, вызвав IP-адрес вашей машины Debian или FQDN вашего домена или сервера с помощью протокола HTTP (см. рисунок ниже). Если вы не знаете IP-адрес вашей машины, вы можете выполнить команды ifconfig или ip a, чтобы узнать IP-адрес вашего сервера.

http://your_domain.tld

Для установки и доступа к панели администрирования phpIPAM на внутреннем и внешнем сайте по протоколу HTTPS, обеспечивающему безопасность трафика для клиентов, введите следующую команду для включения модуля SSL веб-сервера Apache и файла конфигурации сайта SSL.

Далее откройте файл конфигурации сайта Apache default SSL с помощью текстового редактора и включите правила перезаписи URL, вставив следующие строки кода после директивы DocumentRoot, как показано в следующем примере:

Выдержка из файла конфигурации SSL-сайта:

Также измените строку VirtualHost, чтобы она выглядела следующим образом:

/etc/apache2/sites-enabled/000-default.conf

Закройте файл SSL Apache и откройте для редактирования файл /etc/apache2/sites-enabled/000-default.conf, добавьте в него те же правила перезаписи URL, что и в файл конфигурации SSL. Добавьте строки кода после оператора DocumentRoot, как показано в следующем примере.

Наконец, вы перезапускаете демон Apache, чтобы применить все настроенные до этого правила, и посещаете свой домен по протоколу HTTP. Поскольку при этом используются пары самоподписанных сертификатов, автоматически выдаваемых Apache при установке, которым браузер не доверяет, в браузере должно появиться предупреждение об ошибке.

https://yourdomain.tld

Примите предупреждение о принятии недоверенного сертификата и продолжите перенаправление на сайт Apache по умолчанию, как показано на следующем изображении.

Если приложение межсетевого экрана UFW блокирует входящие сетевые подключения к порту HTTPS, необходимо добавить новое правило для разрешения HTTPS-трафика через межсетевой экран, введя следующую команду.

или

Если iptables является стандартным приложением брандмауэра, установленным для защиты вашей системы Debian на сетевом уровне, добавьте следующее правило для разрешения входящего трафика через порт 443 в брандмауэре, чтобы посетители могли просматривать ваше доменное имя.

На следующем этапе нам необходимо внести еще несколько изменений в файл конфигурации PHP по умолчанию, чтобы убедиться, что следующие переменные PHP включены, а настройка часового пояса PHP настроена правильно и соответствует географическому положению вашей системы. Откройте файл /etc/php/7.4/apache2/php.ini для редактирования и убедитесь, что следующие строки установлены так, как показано на рисунке. Кроме того, сначала создайте резервную копию конфигурационного файла PHP.

Найдите, отредактируйте и измените следующие переменные в конфигурационном файле php.ini:

Увеличьте переменную upload_max_file_size для поддержки больших вложений файлов, если это так, и замените переменную date.timezone в соответствии с вашим географическим временем, обратившись к списку часовых поясов в документах PHP по следующей ссылке http://php.net/manual/en/timezones.php.

Настройка PHP OPcache для оптимизация работы сайта

Если вы хотите увеличить скорость загрузки веб-страниц с помощью плагина OPCache, доступного для PHP7, добавьте следующие параметры OPCache в конец конфигурационного файла интерпретатора PHP ниже оператора [opcache]:

Закройте конфигурационный файл php.ini и проверьте в конце конфигурационного файла PHP, правильно ли добавлены переменные OPCache, введя следующую команду.

После внесения всех описанных выше изменений перезапустите демон Apache для применения новых изменений, введя следующую команду.

Наконец, создайте информационный файл PHP, выполнив следующую команду, и убедитесь, что часовой пояс PHP настроен правильно, обратившись к информационному файлу PHP через браузер по следующему URL-адресу, как показано на рисунке. Прокрутите страницу вниз до настройки даты, чтобы проверить конфигурацию часового пояса PHP.

Веб-приложение phpIPAM хранит различные конфигурации, такие как пользователи, сессии, контакты, сети, IP-адреса и другие данные в базе данных RDBMS. В этом руководстве мы настроим приложение phpIPAM на использование базы данных MariaDB в качестве бэкенда. Введите следующую команду для установки базы данных MariaDB и модуля PHP, необходимого для доступа к базе данных mysql.

После установки MariaDB убедитесь, что демон запущен и прослушивает соединения на localhost, порт 3306, выполнив команду netstat.

Затем войдите в консоль MySQL и закрепите учетную запись MariaDB root, выполнив следующие команды.

Чтение информации о таблице для заполнения имен таблиц и столбцов

Вы можете использовать эту функцию для более быстрого запуска с помощью команды -A

На следующем этапе вы защитите MariaDB, запустив скрипт mysql_secure_installation, входящий в состав установочных пакетов из репозиториев Debian Stretch. В процессе работы скрипт задаёт ряд вопросов по защите базы данных MariaDB, таких как изменение пароля корня MySQL, удаление анонимных пользователей, отключение удалённых логинов корня и удаление тестовой базы данных. Запустите сценарий с помощью приведенной ниже команды и убедитесь, что вы ответили "да" на все вопросы, чтобы полностью защитить демон MySQL. Используйте приведенный ниже вывод скрипта только в качестве руководства.

Как установить MariaDB 11.x или 10.x в Debian

Установка PHP для управления IP-адресами

После выполнения всех системных требований для установки приложения для управления IP-адресами управления, посетите официальную страницу загрузки phpIPAM по адресу https://phpipam.net/download/ и получите последний сжатый zip-архив в свою систему, выполнив следующую команду.

После завершения загрузки zip-архива распакуйте файл zip-архива phpIPAM в текущий рабочий каталог и просмотрите список распакованных файлы с помощью следующих команд. Кроме того, удалите файл index.html установленный по умолчанию веб-сервером Apache, из пути webroot, а также также удалите созданный ранее файл info.php.

Установочные файлы phpIPAM находятся в текущем рабочем каталоге в директории phpipam/. Выполните команду ls чтобы вывести список файлов в этом каталоге. Скопируйте все содержимое распакованного каталога в корень web-сервера, выполнив следующую команду следующую команду. Также убедитесь, что вы скопировали скрытый файл .htaccess в путь webroot.

Далее выполните следующие команды, чтобы предоставить пользователю Apache полные права на запись в корневой путь web. С помощью команды ls выведите список разрешений для установленных файлов приложения, которые находятся в каталоге /var/www/html/.

Далее импортируйте схему базы данных phpIPAM MySQL, направив содержимое скрипта SCHEMA.sql, расположенного в каталоге db каталога webroot вашего сервера в базу данных, созданную для установки приложения установки приложения phpIPAM. Обязательно замените пользователя базы данных пользователя и имя базы данных соответственно.

На следующем этапе создайте новый конфигурационный файл на основе шаблона конфигурации phpIPAM, выполнив следующие команды.

Далее отредактируйте конфигурационный файл phpIPAM и замените в нем следующие переменные соответствующим образом.

Найдите в файле config.php имя и учетные данные базы данных MySQL и обновите их в соответствии с собственными настройками, как показано в следующем фрагменте файла:

/var/www/html/config.php

После добавления данных для подключения к базе данных пролистайте файл, найдите следующую строку и сопоставьте ее с URL-адресом базы данных вашего домена, как показано в следующем фрагменте. В этом руководстве мы устанавливаем phpIPAM непосредственно в каталог webroot, поэтому в качестве определения BASE мы будем использовать /. Если вы хотите установить phpIPAM в другой каталог в webroot, используйте имя каталога в качестве определения BASE (например, /mynet/)

Сохраните и закройте файл config.php и зайдите на свой домен, открыв браузер и перейдя на IP-адрес, доменное имя или FQDN вашего сервера по протоколу HTTPS. В браузере будет отображен экран входа в приложение phpIPAM.

https://yourdomain.tld

Войдите в приложение PHP IP Address Management, используя следующие учетные данные по умолчанию:

  • Имя пользователя: Admin
  • Пароль: ipamadmin

После входа в приложение с использованием стандартных учетных данных необходимо изменить стандартный пароль администратора phpIPAM. Выберите новый надежный пароль для учетной записи администратора и нажмите кнопку Save Password. После обновления пароля нажмите кнопку Dashboard, чтобы начать работу с приложением phpIPAM.

PHP IP Address Management

В панели управления нажмите на левое меню Администрирование, перейдите в раздел Настройки phpIPAM и обновите название сайта, домен и URL. Кроме того, установите значение Да для параметра Корректировать ссылки, чтобы URL-адрес переписывался HTTP-сервером Apache.

PHP IP Address Management

Кроме того, прокрутите вниз и обновите путь FPing до /usr/bin/fping и нажмите кнопку Save Changes, чтобы применить все сделанные до этого изменения.

PHP IP Address Management

Чтобы заставить посетителей получать безопасный доступ к интерфейсу phpIPAM по протоколу HTTPS, который шифрует трафик между сервером и браузерами клиентов, вернитесь в терминал вашего сервера и отредактируйте файл .htaccess, расположенный в корне документа вашего сайта, с помощью следующей команды.

Ниже в файле вы можете изменить собственные настройки PHP сервера с помощью следующих конфигураций. Измените настройки PHP в соответствии с собственными ресурсами и конфигурацией сервера.

.htaccess:

Наконец, добавьте в файл .htaccess перед закрывающим тегом </IfModule> следующие правила для автоматического перенаправления трафика домена на HTTPS.

Для того чтобы phpIPAM автоматически обнаруживал новые хосты и обновлял их статус после добавления сетевых диапазонов в базу данных, необходимо добавить следующие cron-задачи, которые будут выполняться под правами пользователя Apache runtime:

Заключение

Вот и все! Вы успешно установили и настроили приложение phpIPAM в Debian 11. Однако, поскольку HTTP-сервер Apache использует самоподписанные сертификаты для шифрования трафика между сервером и браузерами посетителей, всегда генерируется и отображается в браузерах посетителей предупреждающее сообщение. Это предупреждение может быть расценено сетевыми администраторами, посещающими веб-приложение, как раздражающее. В этом случае следует приобрести сертификат, выданный доверенным центром сертификации, или получить бесплатную пару сертификатов от Let's Encrypt CA.

Другие пользовательские конфигурации для приложения phpIPAM можно найти на странице документации по адресу: https://phpipam.net/documents/all-documents/.

Avatar for Gnostis
Gnostis
Добавить комментарий