如何在Ubuntu 16.04上安装phpIPAM

介绍

phpIPAM是一个专用的IP地址管理工具,超越低技术选项通过提供自动ping扫描,状态报告,让您可以看到哪些主机已启动,哪些已停机,通过电子邮件发送有关你正在监控的主机更改的通知以及其他使管理基础架构更容易的功能。

在本教程中,您将在Ubuntu 16.04上运行的Linux,Apache,MySQL和PHP(LAMP)堆栈上安装和配置phpIPAM。

准备

在开始之前,您将需要:

  • 一个Ubuntu 16.04服务器,包括拥有sudo权限的非root用户。
  • 完全注册的域名。本教程全程使用example.com,你可以在腾讯云注册和购买域名
  • 为您的服务器设置以下DNS记录。您可以按照此主机名教程获取有关如何添加它们的详细信息。
-   指向服务器的公共IP地址包含`example.com`的A记录。
-   指向服务器的公共IP地址包含`www.example.com`的A记录。

第一步 - 配置Apache

默认情况下,phpIPAM依赖其URL结构中的查询字符串将数据从应用程序的一个部分传递到另一个部分。

查询字符串附加到带有的URL 并包含一个或多个由&分隔的字段值对。

尽管不是绝对需要安装,但phpIPAM通过Apache的mod_rewrite模块支持URL重写,该模块将查询字符串转换为更具可读性和人性化的URL。

如果您没有通过将所有HTTP请求重定向到HTTPS来安全使用TLS / SSL证书条件去安装Apache安装中的mod_rewrite,请立即使用Apache的a2enmod实用程序启用mod_rewrite,以便您可以在步骤2中启用URL重写。

$ sudo a2enmod rewrite

此命令在/etc/apache2/mods-enabled/rewrite/中创建指向/etc/apache2/mods-available/rewrite.load的符号链接,这将启用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在下次启动Web服务器时启用,你仍然需要修改你的phpIPAM虚拟主机配置,使mod_rewrite可用于phpIPAM。所以,暂时不要重启Apache。

而是在准备中打开为phpIPAM创建的Apache配置文件。

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

将以下行粘贴到DocumentRoot部分下面的配置文件中。

phpipam.conf

...
    <Directory /var/www/example.com/public_html
            Options FollowSymLinks
            AllowOverride all
            Require all granted
    </Directory>
...
  • Directory是服务器上指令将被应用的位置。这应该是您计划安装phpIPAM的目录。如果您遵循准备中的Apache虚拟主机教程,则为/var/www/example.com/public_html
  • Options FollowSymLinks告诉Apache遵循此目录中的符号链接。这是默认设置。
  • AllowOverride all表示.htaccess文件在此目录中的任何指令都应覆盖任何相应的全局指令。
  • Require all granted告诉Apache允许来自所有主机的传入请求。

保存并关闭文件以继续。

现在,在重新启动Apache之前测试配置更改。

$ sudo apache2ctl configtest

如果输出结果显示Syntax OK,您已准备好继续前进。否则,请查看以前的说明并按照屏幕上的消息获取更多信息。

最后,重新启动Apache以启用mod_rewrite并激活新配置。

$ sudo systemctl restart apache2

因为你还没有安装phpIPAM,所以在https://example.com没有什么可看的。那么,现在让我们下载并安装phpIPAM。

第二步 - 安装phpIPAM

在正式安装指导建议两种方法安装phpIPAM:从项目的SourceForge存储库下载tarball或从其GitHub存储库克隆项目。

为了使将来的更新更容易,让我们使用后一种方法。

默认情况下,如果该目录为空,Git将仅克隆到现有目录中。

因此,使用ls命令查看在步骤1中为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

输出确认您正在克隆的位置,然后提供该过程的实时报告,包括Git期望复制的对象的数量以及它实际复制的数量。

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应用程序,但是您仍然缺少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了。

第三步 - 配置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数据库。

因为您已经在与phpIPAM相同的机器上安装了MySQL,所以您可以将\$db['host']值设置localhost。由于MySQL 3306默认侦听端口,因此您无需更改\$db['port']值。

还没有针对phpIPAM的MySQL数据库设置,但在第4步中,phpIPAM基于Web的安装工具将使用您在此文件中输入的值创建数据库和数据库用户。因此,将\$db['user']值设置为您希望phpIPAM连接到MySQL的用户的名称,将\$db['pass']值设置为您希望phpIPAM在连接到MySQL时使用的密码,并设置\$db['name']为您要为MySQL数据库提供的名称。

phpIPAM's config.php

<?php

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

警告:如果mysql_secure_installation在准备中安装MySQL时运行脚本,请务必在此处创建满足当前策略要求的密码。在步骤4中创建数据库时,如果不这样做将导致错误。

除了以前的设置,此文件中还有许多其他选项可供您使用。例如,您可以使用SSL证书配置与数据库的安全连接,可以激活各种数据库事件的电子邮件通知,还可以启用调试模式以生成更详细的日志。但是,对于基本安装,您可以将这些设置的其余部分设置为其默认值。

完成编辑后,保存并关闭文件。

现在您已经为phpIPAM创建了主配置文件,现在可以连接到Web界面并完成安装。

第四步 - 创建数据库和数据库用户

安装过程的最后一步包括为phpIPAM创建MySQL数据库和用户,以及为phpIPAM的Web界面设置管理员用户帐户。所有这些都可以通过phpIPAM的基于Web的安装向导完成。

浏览您的浏览器https://example.com/install80。您将看到phpIPAM安装主页欢迎您使用该向导,并要求您选择要执行的安装类型。如果您无法启动此屏幕,请验证防火墙是否阻止端口访问,并回溯前面的步骤以解决问题。

此屏幕上有三个选项 - New phpipam installation, Migrate phpipam installation, Working installation(新的phpipam安装,迁移phpipam安装和工作安装-每个选项都有一个简短的用途说明。当您设置新的phpIPAM安装时,请按标记为新的phpipam安装的按钮。

phpipam安装

在下一个屏幕上,将描述安装过程的其余部分,指出正式安装文档以获取更多详细信息,并要求您确定要执行的数据库安装类型。

同样,您有三种选择:

  • Automatic databaseinstallation(自动数据库安装:向导将使用您在步骤3中输入的config.php在步骤3中输入的信息来创建MySQL数据库和用户。
  • MySQL import instructions(MySQL导入说明:您将使用MySQL自己的mysqlimport实用程序从您提供的纯文本文件创建数据库。
  • Manual database installation(手动数据库安装:向导将为您提供手动创建新phpIPAM数据库所需的默认SQL命令。

为简单起见,通过单击Automatic database installation按钮选择完全自动化的选项。

自动化安装

该向导现在将要求您提供连接到MySQL所需的信息。这包括应该连接的用户的登录凭据,数据库的位置以及数据库的名称。

由于您需要向导来创建新数据库和用户,因此必须为具有足够权限的用户输入登录凭据。您的MySQL root用户是一个不错的选择。

默认情况下,数据库的位置设置为localhost,其名称设置为phpipam。如果您要更改其中任何一个,则需要编辑在步骤3中创建的config.php文件,然后重新启动安装向导。

您可以通过单击“ Show advanced options(显示高级选项)”按钮来访问其他安装选项。在这里,您将获得三个选择:

  • Drop existing database(删除现有数据库)在运行安装过程之前,向导将尝试删除与MySQL数据库名称字段中的值同名的数据库。默认情况下这是关闭的。
  • Create database(创建数据库)向导将尝试创建一个与MySQL数据库名称字段中的值同名的数据库。默认情况下会启用此功能。
  • Create permissions(创建权限)向导将尝试设置新数据库的权限,限制只能访问config.php定义的MySQL用户。默认情况下会启用此功能。

输入您希望向导连接的MySQL用户的用户名和密码,将高级选项设置为其默认值,然后按“安装phpipam数据库”按钮。

填写用户名和密码

您将看到一条确认消息,告知您向导已成功安装数据库。如果不这样做,请查看向导的错误消息以获取其他帮助。

单击继续以继续安装。

继续安装

在此屏幕上,向导会提示您设置Web界面的管理员用户密码,每个phpIPAMWeb界面屏幕顶部显示的标题以及phpIPAM安装的URL。

输入您要使用的管理员密码,phpIPAM界面的描述性标题,以及指向您的phpIPAM安装的完全限定域名,然后按“保存设置”按钮。

设置

您现在应该看到一条确认消息,告诉您设置已成功保存。如果没有,请使用向导的错误消息来诊断问题。

确认

单击继续登录按钮转到phpIPAM安装的主页,然后使用您在管理员密码字段中输入的管理员用户名和密码登录。phpIPAM安装和配置现已完成,因此您可以开始添加信息以更轻松地管理您监控的网络。

结论

在本文中,您安装并配置了phpIPAM,一个开源IP地址管理Web应用程序。您现在可以监控自己的基础架构和其他网络中的IP地址使用情况。参阅有关phipIPAM内置API的官方文档,请浏览官方入门教程


参考文献:《How To Install phpIPAM on Ubuntu 16.04》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏信安之路

运维安全之安全隐患

由于发布网站时,服务器配置问题,导致目录浏览功能打开,在目录下不存在默认首页的情况下可以浏览目录下的文件目录,从而引起信息泄露,造成安全隐患。

1080
来自专栏SpringBoot 核心技术

第十四章:QueryDSL与SpringDataJPA共同服务于SpringBoot

4134
来自专栏用户2442861的专栏

git以及github的使用(1)

http://my.oschina.net/bxxfighting/blog/378196

631
来自专栏WindCoder

windows下python中pip与easy_install相关

下载地址:https://pypi.python.org/pypi/ez_setup

1101
来自专栏Golang语言社区

【Golang语言社区】前端编程-手机端调试利器 - 总结与实践

一些调试工具 说起手机端调试,相比大家都不陌生。 由于手机浏览器没有像PC端浏览器一样有开发调试工具,所以一般手机端的调试都要借助于电脑,现在的调试方式通常有以...

4924
来自专栏张伟博客

如何使用 Git 和 GitHub 来管理自己的代码

    点击右上角加号箭头,在弹出的菜单中选择 "New repository" 选项进行仓库配置。

1462
来自专栏nummy

sphinx入门指南【2】 toctree指令详解

reST本身并不支持同时与多个文档进行交互,或者说将一个文档保存到多个文件中。Sphinx提供了自定义指令toctree来支持实现这个功能。

1333
来自专栏IT综合技术分享

一、搭建SpringBoot2.0.0M4基础Web项目

SpringBootDemo1 - [~-IdeaProjects-SpringBootDemo1] - IntelliJ IDEA 2017.2.4_022....

3432
来自专栏玩转JavaEE

MongoDB副本集搭建

我们之前的案例都是在单个节点上实现的,在生产环境中这种做法是有风险的,如果服务宕机、崩溃或者硬盘坏了都会对公司业务造成损失,因此我们需要数据备份。在MongoD...

3796
来自专栏Python自动化测试

python自动化环境搭建

selenium是测试web应用程序的框架,selenium为没有测试脚本的人提供了(seleniumide)提供了录制/回放的工具,同时它也提供了特定...

2023

扫码关注云+社区

领取腾讯云代金券