Как установить phpIPAM на Ubuntu 16.04

Вступление

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

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

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

В этом руководстве вы установите и настроите phpIPAM в стеке Linux, Apache, MySQL и PHP (LAMP), работающем в Ubuntu 16.04.

Предпосылки

Прежде чем начать, вам понадобится:

  • Один сервер Ubuntu 16.04, настроенный в соответствии с этим Ubuntu 16.04 начальное руководство по настройке сервера, включая sudo пользователь root и брандмауэр.

  • Полностью зарегистрированное доменное имя. Этот учебник использует + example.com + повсюду. Вы можете приобрести доменное имя на https://namecheap.com [Namecheap], получить его бесплатно на Freenom или использовать регистратор домена по вашему выбору. ,

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

  • Запись * A * с + example.com +, указывающая на публичный IP-адрес вашего сервера.

  • Запись * A *, где + www.example.com + указывает на публичный IP-адрес вашего сервера.

  • Стек LAMP, настроенный следующим образом Apache, MySQL, руководство по установке PHP.

  • Виртуальный хост Apache, настроенный для вашего домена, настроен следующим образом: путеводитель

  • SSL-сертификат Let’s Encrypt для домена, установленного следующим образом: руководство по защите установки Apache с помощью сертификата TLS / SSL].

Шаг 1 - Настройка Apache

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

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

Если вы еще не включили + mod_rewrite + в https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04 [Защитите вашу установку Apache с помощью сертификата TLS / SSL], перенаправив все HTTP-запросы в HTTPS, используйте утилиту Apache + a2enmod + сейчас, чтобы включить + mod_rewrite +, чтобы вы могли включить перезапись URL-адреса на шаге 2.

sudo a2enmod rewrite

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

Если + mod_rewrite + уже был включен, вывод будет выглядеть так:

Output of sudo a2enmod rewriteModule rewrite already enabled

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

Output of sudo a2enmod rewriteEnabling 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/

Вставьте следующие строки в файл конфигурации под разделом + DocumentRoot +.

phpipam.conf

...
   <Directory /var/www/
           Options FollowSymLinks
           AllowOverride all
           Require all granted
   </Directory>
...
  • + Directory + - это местоположение на сервере, где будут применяться директивы. Это должен быть каталог, в который вы планируете установить phpIPAM. Если вы следовали Apache виртуальное руководство по хостам в Предварительных условиях, это это + / var / www / +.

  • + Options FollowSymLinks + говорит Apache следовать символическим ссылкам в этом каталоге. Это значение по умолчанию.

  • + AllowOverride all + означает, что любая директива в файле + .htaccess + в этом каталоге должна переопределять любую соответствующую глобальную директиву.

  • + Требовать все предоставлено + говорит Apache разрешить входящие запросы от всех хостов.

Сохраните и закройте файл, чтобы продолжить.

Теперь протестируйте изменения конфигурации перед перезапуском Apache.

sudo apache2ctl configtest

Если в выводе написано + Синтаксис ОК +, вы готовы двигаться дальше. В противном случае просмотрите предыдущие инструкции и следуйте инструкциям на экране для получения дополнительной информации.

Наконец, перезапустите Apache, чтобы включить + mod_rewrite + и активировать новую конфигурацию.

sudo systemctl restart apache2

Поскольку вы еще не установили phpIPAM, на + https: // + ничего не видно. Итак, давайте загрузим и установим phpIPAM сейчас.

Шаг 2 - Установка phpIPAM

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

По умолчанию Git будет клонироваться в существующий каталог, только если этот каталог пуст. Итак, используйте команду + ls +, чтобы просмотреть содержимое каталога, который вы настроили для Apache на шаге 1.

ls /var/www/

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

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

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

Вывод подтверждает местоположение, в которое вы клонируете, а затем предоставляет отчет о процессе в режиме реального времени, включая количество объектов, которые Git должен скопировать, а также число, которое он на самом деле скопировал.

Output of git cloneCloning into /var/www/ ...
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, которые нужны phpIPAM для работы. Установите их с помощью + apt-get.

Эти дополнительные пакеты предоставляют PHP с модулем GNU Multiple Precision для работы с целыми числами произвольной длины, http://php.net/manual/en /book.mbstring.php[Multibyte String module] для обработки языков, которые не могут быть выражены в 256 символах, среда PEAR для повторно используемых PHP-компонентов и http: // php.net/manual/en/book.image.php[GD module] для обработки изображений.

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/
cp config.dist.php config.php

Откройте новый файл для редактирования.

nano config.php

Найдите раздел с пометкой «+ * подробности подключения к базе данных». Эти настройки сообщают phpIPAM, как подключиться к базе данных MySQL, которая будет хранить все ваши данные.

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

Еще не настроена база данных MySQL для phpIPAM, но на шаге 4 утилита установки phpIPAM через Интернет создаст базу данных и пользователя базы данных, используя значения, введенные в этом файле. Итак, установите значение + $ db ['user'] + для имени пользователя, с которым phpIPAM будет подключаться к MySQL as, установите значение + $ db ['pass'] + для пароля, который вы хотите phpIPAM для использования при подключении к MySQL, и установите + $ db ['name'] + на имя, которое вы хотите дать базе данных MySQL.

config.php в phpIPAM

<?php

/**
* database connection details
******************************/
$db['host'] = 'localhost';
$db['user'] = '';
$db['pass'] = '';
$db['name'] = '';
$db['port'] = 3306;
...

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

Когда вы закончите редактирование, сохраните и закройте файл.

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

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

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

Перейдите в вашем браузере к + https: /// install. Вы увидите домашнюю страницу установки phpIPAM, которая приветствует вас и предлагает выбрать тип установки, которую вы хотите выполнить. Если вы не можете открыть этот экран, убедитесь, что ваш брандмауэр не блокирует доступ через порт «+ 80 +», и повторите предыдущие шаги для решения проблемы.

На этом экране есть три параметра - * Новая установка phpipam *, * Миграция установки phpipam * и * Рабочая установка * - каждая с кратким описанием ее назначения. Когда вы настраиваете новую установку phpIPAM, нажмите кнопку с надписью * Новая установка phpipam *.

изображение: http: //assets.digitalocean.com/articles/how-to-install-phpipam/installation-step1.png [Установка phpIPAM, шаг 1]

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

Опять же, у вас есть три варианта:

  • * Автоматическая установка базы данных *: мастер будет использовать информацию, введенную вами в + config.php + на шаге 3, для создания базы данных и пользователя MySQL.

  • * Инструкции по импорту MySQL *: вы будете использовать собственную mysqlimport утилиту для создания базы данных из предоставленных вами текстовых файлов.

  • * Ручная установка базы данных *: мастер предоставит вам команды SQL по умолчанию, необходимые для создания новой базы данных phpIPAM вручную.

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

изображение: http: //assets.digitalocean.com/articles/how-to-install-phpipam/installation-step2.png [Установка phpIPAM, шаг 2]

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

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

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

Вы можете получить доступ к дополнительным параметрам установки, нажав кнопку * Показать дополнительные параметры *. Здесь вам дадут еще три варианта:

  • * Удалить существующую базу данных. * Перед запуском процедуры установки мастер попытается удалить базу данных с тем же именем, что и значение в поле * MySQL database name *. Это отключено по умолчанию.

  • * Создать базу данных * Мастер попытается создать базу данных с тем же именем, что и значение в поле * Имя базы данных MySQL *. Это включено по умолчанию.

  • * Создание разрешений * Мастер попытается установить разрешения для новой базы данных, ограничивая доступ только для пользователя MySQL, определенного в + config.php +. Это включено по умолчанию.

Введите имя пользователя и пароль для пользователя MySQL, к которому вы хотите подключить мастер, оставьте для расширенных параметров значения по умолчанию и нажмите кнопку * Установить базу данных phpipam *.

изображение: http: //assets.digitalocean.com/articles/how-to-install-phpipam/installation-step3.png [Установка phpIPAM, шаг 3]

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

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

изображение: http: //assets.digitalocean.com/articles/how-to-install-phpipam/installation-step4.png [Установка phpIPAM, шаг 4]

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

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

изображение: http: //assets.digitalocean.com/articles/how-to-install-phpipam/installation-step5.png [Установка phpIPAM, шаг 5]

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

изображение: http: //assets.digitalocean.com/articles/how-to-install-phpipam/installation-step6.png [Установка phpIPAM, шаг 6]

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

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

Заключение

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

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

Для автоматизации программной интеграции phpIPAM и интеграции с приложениями, которые вы пишете самостоятельно, см. Https://phpipam.net/api/api_documentation/[the официальная документация по встроенному API phipIPAM]. Чтобы быстрее приступить к работе с API, ознакомьтесь с official вводными руководствами.

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

Related