Установка phpIPAM в Ubuntu 16.04

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

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

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

Этот мануал поможет установить и настроить phpIPAM на стеке LAMP на сервере Ubuntu 16.04.

Требования

1: Настройка Apache

По умолчанию phpIPAM использует в своей структуре URL строки запроса для передачи данных из одной части приложения в другую. Строки запроса добавляются к URL-адресу с помощью ? и содержат одну или несколько пар поле-значение, разделенных символом &.

phpIPAM поддерживает перезапись URL-адресов с помощью модуля Apache mod_rewrite, который переводит строки запросов в более читаемые и удобные для пользователя URL-адреса.

Читайте также: Перезапись URL-адресов на Apache в Ubuntu 16.04

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

sudo a2enmod rewrite

Команда создаст симлинк на /etc/apache2/mods-available/rewrite.load в /etc/apache2/mods-enabled/rewrite/, что включит модуль при следующем запуске Apache.

Если же mod_rewrite был включен ранее, команда вернет:

Module rewrite already enabled

В противном случае вывод сообщит о создании симлинка и попросит перезапустить Apache:

Enabling module rewrite.
To activate the new configuration, you need to run:
service apache2 restart

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

Откройте конфигурационный файл Apache, созданный для phpIPAM.

sudo nano /etc/apache2/sites-available/example.com-le-ssl.conf

Вставьте в файл следующий блок после раздела DocumentRoot:

...
<Directory /var/www/example.com/public_html
Options FollowSymLinks
AllowOverride all
Require all granted
</Directory>
...

  • Directory – это место на сервере, в котором хранятся директивы. Это должен быть каталог, в который вы собираетесь установить phpIPAM. В данном мануале это /var/www/example.com/public_html.
  • Options FollowSymLinks помогает Apache следовать симлинкам в этом каталоге. Это стандартный параметр.
  • AllowOverride all включает переопределение глобальных директив файлом .htaccess.
  • Require all granted включает поддержку всех входящих запросов.

Сохраните и закройте файл.

Протестируйте изменения в конфигурации:

sudo apache2ctl configtest

Если проверка вернет Syntax OK, можно перезапустить веб-сервер. В противном случае нужно пересмотреть все предыдущие действия и исправить ошибки.

Чтобы перезапустить веб-сервер, введите:

sudo systemctl restart apache2

Поскольку вы еще не установили phpIPAM, по ссылке  https://example.com ничего не будет. Теперь нужно загрузить и установить phpIPAM

2: Установка phpIPAM

Официальные инструкции по установке предлагают два метода установки phpIPAM: загрузка тарбола из репозитория SourceForge проекта или клонирование проекта из его репозитория GitHub. Чтобы упростить последующие обновления, воспользуемся последним методом.

По умолчанию Git выполняет клонирование только в существующий пустой каталог. С помощью команды ls просмотрите содержимое каталога для Apache:

ls /var/www/example.com/public_html

Если в каталоге хранятся какие-то файлы, используйте основные команды навигации и управления файлами Linux, чтобы очистить его. Команда mv перемещает содержимое в другое место, а rm полностью удаляет файлы.

Теперь клонируйте проект Git в каталог.

git clone https://github.com/phpipam/phpipam.git /var/www/example.com/public_html

Вывод указывает каталог, в который клонируется пакет, и затем представляет отчет о процессе в реальном времени (включая количество пакетов, которые нужно скопировать, и количество скопированных в итоге пакетов).

Cloning into /var/www/example.com/public_html ...
remote: Counting objects: 14234, done.
remote: Compressing objects: 100% (50/50), done.
remote: Total 14234 (delta 27), reused 40 (delta 17), pack-reused 14161
Receiving objects: 100% (14234/14234), 11.38 MiB | 21.30 MiB/s, done.
Resolving deltas: 100% (10066/10066), done.
Checking connectivity... done.

Приложение phpIPAM установлено на сервер, но пока для запуска ему не хватает модулей PHP. Их можно установить с помощью apt-get.

Дополнительные пакеты включают PHP модуль GNU Multiple Precision для работы с целыми числами произвольной длины, модуль Multibyte String для обработки языков, которые не могут быть выражены в 256 символах, фреймворк PEAR для поддержки многократно используемых компонентов PHP и модуль GD для обработки изображений.

sudo apt-get install php7.0-gmp php7.0-mbstring php-pear php7.0-gd

Перезапустите Apache:

sudo systemctl restart apache2

Теперь можно настроить phpIPAM.

3: Настройка phpIPAM

phpIPAM ищет свои основные параметры конфигурации в файле config.php. Этот файл не существует по умолчанию, но приложение поставляется с примером конфигурационного файла.

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

cd /var/www/example.com/public_html
cp config.dist.php config.php

Откройте новый файл в редакторе:

nano config.php

Найдите раздел * database connection details. Этот раздел настраивает phpIPAM для подключения к базе данных MySQL.

Поскольку MySQL и phpIPAM установлены на одну машину, значение $db[‘host’] можно оставить localhost. MySQL по умолчанию прослушивает порт 3306, потому изменять значение $db[‘port’] не нужно.

Пока данных для настройки БД MySQL для phpIPAM нет, но позже утилита phpIPAM создаст базу данных и пользователя базы данных на основе значений, которые вы введете сейчас в этот файл. Укажите в $db[‘user’] имя пользователя, с помощью которого phpIPAM будет подключаться к MySQL, в $db[‘pass’] – пароль, который будет использовать phpIPAM при подключении к MySQL, а в $db[‘name’] имя базы данных MySQL.

<?php
/**
* database connection details
******************************/
$db['host'] = 'localhost';
$db['user'] = 'database_user';
$db['pass'] = 'database_password';
$db['name'] = 'database_name';
$db['port'] = 3306;
...

Важно! Если при установке MySQL вы запускали сценарий mysql_secure_installation, ваш пароль должен соответствовать текущим требованиям политики. Невыполнение этого требования приведет к ошибке при создании базы данных в разделе 4.

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

Сохраните и закройте файл.

4: Создание базы данных и пользователя

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

В браузере откройте ссылку:

https://example.com/install

Вы увидите домашнюю страницу установки phpIPAM, которая предложит вам выбрать тип установки. Если вы не можете открыть эту страницу, убедитесь, что брандмауэр не блокирует доступ к порту 80 и повторите предыдущие шаги для решения проблемы.

Существует три опции: New phpipam installation, Migrate phpipam installation и Working installation (краткое описание вы найдете на странице). Поскольку это новая установка phpIPAM, выберите New phpipam installation.

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

Тут снова есть три варианта:

  • Automatic database installation: мастер использует данные, указанные в файле config.php, чтобы создать БД и пользователя MySQL.
  • MySQL import instructions: для создания БД и пользователя применяется утилита mysqlimport.
  • Manual database installation: мастер предоставит вам стандартные команды SQL для создания БД для phpIPAM вручную.

Проще всего в данной ситуации выбрать Automatic database installation.

Теперь мастер попросит вас предоставить информацию, необходимую для подключения к MySQL. Для этого нужны учетные данные пользователя, к которому будет подключаться phpIPAM, местоположение и имя базы данных.

Поскольку мастер должен создать новую БД и пользователя автоматически, укажите здесь учетные данные пользователя, у которого есть достаточно прав для выполнения этих операций. Root-пользователь MySQL отлично подходит.

По умолчанию БД находится на localhost и называется phpipam. Если вы хотите изменить любой из этих параметров, вам нужно будет отредактировать файл config.php, созданный в разделе 3, а затем перезапустить мастер установки.

Вы можете получить доступ к дополнительным параметрам установки, нажав кнопку Show advanced options. Здесь вам будут предоставлены еще три варианта:

  • Drop existing database: перед запуском процедуры установки мастер попытается удалить одноименную базу данных, если такая существует. По умолчанию эта функция отключена.
  • Create database: мастер попытается создать БД с именем, указанным в поле MySQL database name. По умолчанию эта функция включена.
  • Create permissions: мастер попытается установить права для новой базы данных, открыв доступ к ней только пользователю MySQL, определенному в config.php. Эта функция включена по умолчанию.

Введите имя и пароль для пользователя MySQL, с помощью которого мастер должен подключиться, оставьте дополнительные параметры по умолчанию и нажмите кнопку Install phpipam database.

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

Нажмите Continue, чтобы продолжить установку.

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

Введите пароль администратора, который вы хотите использовать, описательный заголовок для интерфейса phpIPAM и полное доменное имя, указывающее на установку phpIPAM, затем нажмите кнопку Save settings.

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

Нажмите кнопку Proceed to login, чтобы перейти на домашнюю страницу установки phpIPAM, и войдите в систему, указав учетные данные администратора.

Установка и настройка phpIPAM теперь завершена, вы можете начать добавлять информацию для управления сетями.

Заключение

Вы установили и настроили phpIPAM, веб-приложение для управления IP-адресами с открытым исходным кодом. Теперь вы можете отслеживать использование IP-адресов как в своей собственной инфраструктуре, так и в других сетях.

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

Для автоматизации интеграции phpIPAM с приложениями, которые вы пишете сами, см. официальную документацию по встроенному API-интерфейсу phipIPAM. Чтобы ускорить работу с API, ознакомьтесь с официальными вводными руководствами.

Tags: ,