共计 5430 个字符,预计需要花费 14 分钟才能阅读完成。
1. 介绍
随着网络规模增大,单纯依附 Excel 等电子表格已难以无效进行网络管理。存在以下问题:
- 无奈对填写信息的正确与否进行校验
- 不足网络资源可视化治理
- 异地治理艰难
- 多人保护时,存在版本问题
在参考 Kenelite 的 IPAM 随笔、维基百科 - 对于 IPAM 介绍后,开始了 phpIPAM 的装置应用。phpipam 官网介绍有以下个性:
其中 IP 地址扫描、IP 资源信息属性可配置、VLAN 及子网治理以及用户权限的治理性能根本满足需要,要是带有 OpUtils 交换机端口映射治理性能就更好了!
2. 装置配置
2.1 装置 apache,mysql,php
# 以下为官网教程的必要安装包
ipam@ubuntu:/$ sudo apt-get install apache2
ipam@ubuntu:~$ sudo apt-get install mariadb-server
ipam@ubuntu:~$ sudo apt-get install php
ipam@ubuntu:~$ sudo apt-get install php7.4-pear
ipam@ubuntu:~$ sudo apt-get install php7.4-gmp
ipam@ubuntu:~$ sudo apt-get install php7.4-mysql
ipam@ubuntu:~$ sudo apt-get install php7.4-mbstring
ipam@ubuntu:~$ sudo apt-get install php7.4-gd
#mcrypt 为 php 加密反对扩大库,从 php 7.1.0 曾经将此扩大移除到 PECL,须要手动装置,此处未进行装置
ipam@ubuntu:~$ sudo apt-get install php7.4-curl
ipam@ubuntu:~$ sudo apt-get install git
#以下为官网教程外的 php 扩大库
#snmp 扩大库为 phpipam snmp 功能模块的必要扩大库,倡议装置,其余本人看着办
ipam@ubuntu:~$ sudo apt-get install php7.4-snmp
ipam@ubuntu:~$ sudo apt-get install php7.4-fpm php7.4-sqlite3 php7.4-gd php7.4-odbc php7.4-sybase php7.4-gmp php7.4-opcache php7.4-tidy php7.4-cli php7.4-imap php7.4-pgsql php7.4-xml php7.4-common php7.4-interbase php7.4-phpdbg php7.4-xmlrpc php7.4-intl php7.4-pspell php7.4-xsl php7.4-dba php7.4-json php7.4-readline php7.4-zip php7.4-dev php7.4-ldap php7.4-snmp php7.4-enchant php7.4-soap#
2.2 下载安装 phpipam
办法一:通过 git 下载
ipam@ubuntu:/$ cd /var/www/
ipam@ubuntu:/var/www$ sudo mkdir phpipam
ipam@ubuntu:/var/www/phpipam$ sudo git clone https://github.com/phpipam/phpipam.git .
正克隆到 '.'...
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 26844 (delta 2), reused 8 (delta 2), pack-reused 26826
接管对象中: 100% (26844/26844), 19.15 MiB | 120.00 KiB/s, 实现.
解决 delta 中: 100% (19681/19681), 实现.
办法二:自行下载安装包进行部署
ipam@ubuntu:~/Downloads$ sudo cp phpipam-v1.4.2.tgz /var/www/
ipam@ubuntu:~/Downloads$ cd /var/www/
ipam@ubuntu:/var/www$ sudo tar -xvf phpipam-v1.4.2.tgz
2.3 配置 apache、mysql
2.3.1 批改 apache 对于 phpipam 目录的拜访配置
相干配置在/etc/apache2/apache2.conf
。其中,
Directory
是该配置将被利用的地位,此处为 phpipam 的目录。Options FollowSymLinks
为默认设置。AllowOverride all
示意.htaccess 文件
此目录的任何配置 override 对应的全局配置。Require all granted
容许来自所有主机的传入申请。
ipam@ubuntu:/var/www/phpipam$ cd /etc/apache2/
ipam@ubuntu:/etc/apache2$ sudo vim apache2.conf
#减少 /var/www/phpipam 目录的设置
<Directory /var/www/phpipam>
Options Indexes FollowSymLinks
AllowOverride all
Require all granted
</Directory>
查看 apache2.conf
文件,能够晓得 apache 对配置文件加载程序,因而对 /var/www/phpipam
目录的配置也能够放在sites-enabled/000-default.conf
。当然查看一下这个文件,能够得悉其实是援用了sites-available/000-default.conf
。
# /etc/apache2/
# |-- apache2.conf
# | `-- ports.conf
# |-- mods-enabled
# | |-- *.load
# | `-- *.conf
# |-- conf-enabled
# | `-- *.conf
# `-- sites-enabled
# `-- *.conf
2.3.2 批改 php.ini 文件的时区设置
设置文件位于/etc/php/7.4/apache2/php.ini
,批改后保留敞开即可。
ipam@ubuntu:/var/www/phpipam$ grep timezone /etc/php/7.4/apache2/php.ini
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
ipam@ubuntu:/var/www/phpipam$ sudo vim /etc/php/7.4/apache2/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai
2.3.3 启用 url_rewrite 模块
phpipam 通过 apache 的 mod_rewrite 模块来实现 url 重写,该模块将查问的字符串转换成更具可读性的 url。
ipam@ubuntu:/var/www/phpipam$ sudo a2enmod rewrite
此命令在 /etc/apache2/mods-enabled/rewrite/
中创立指向 /etc/apache2/mods-available/rewrite.load
的符号链接,在 apache 重启后启用该模块。
2.3.4 批改 http 协定端口
apache http 默认应用的是 80 端口,失常状况下 apache 能够拜访。但因为集体应用 VMware 部署的 ubuntu,通过 netstat -a
发现 80 端口已被占用。因而须要进行批改。须要批改/etc/apache2/ports.conf
# 此处 80 批改为新的端口
Listen 80
以及/etc/apache2/sites-available/000-default.conf
# 此处 80 批改为新的端口
<VirtualHost *:80>
2.3.5 重启 apache2
ipam@ubuntu:/$ sudo apache2ctl configtest #测试 apache 的配置是否存在语法上问题,失常显示 syntax OK
ipam@ubuntu:/$ sudo systemctl restart apache2
2.3.6 配置 mysql root 用户明码
首次部署 mysql 时,root 用户设置了随机明码。查看 debian.cnf
发现明码是暗藏的。
ipam@ubuntu:/etc/mysql$ sudo cat /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = root
password =
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = root
password =
socket = /var/run/mysqld/mysqld.sock
能够通过以下命令进行批改。
ipam@ubuntu:/etc/mysql$ sudo mysql
MariaDB [(none)]> show databases;
MariaDB [(none)]> use mysql;
MariaDB [mysql]> select user,host ,plugin,authentication_string FROM user;
MariaDB [mysql]> UPDATE user SET plugin="mysql_native_password", authentication_string=PASSWORD("phpipam") WHERE user="root";# 将 mysql root 用户明码设置为 phpipam
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> exit;
重启 mysql 服务。
ipam@ubuntu:/$ sudo systemctl restart mysql
2.4 部署 phpipam
2.4.1 批改 phpipam 配置文件
phpipam 的次要配置设置寄存在 config.php
中,尽管默认状况下此文件并不存在,但安装包中附带了一个示例配置文件config.dist.php
。因而能够创立该文件的正本,并加以批改应用。
ipam@ubuntu:/$ cd /var/www/phpipam
ipam@ubuntu:/var/www/phpipam$ cp config.dist.php config.php
查看 config.php
文件对于数据库连贯局部内容,phpipam 在部署过程中会在本机 localhost
上创立名为 phpipam
的数据库,用户及明码也进行设定。侦听端口为 mysql 的默认值 TCP3306。依据须要自行批改,实现编辑后保留并敞开文件。
/**
* database connection details
******************************/
$db['host'] = 'localhost';
$db['user'] = 'phpipam';
$db['pass'] = 'phpipamadmin';
$db['name'] = 'phpipam';
$db['port'] = 3306;
2.4.2 装置 phpipam
这一过程包含为 phpipam 创立 mysql 数据库以及用户,web 设置管理员用户账号。网页登录http://127.0.0.1:80
,即可看到 phpipam 装置向导界面。
包含三个选项:New phpipam installation、Migrate phpipam installation、Working installation。因为是新的 phpipam 装置,因而抉择 New phpipam installation,下个向导页包含三个选项:
- Automatic database installation:主动数据库装置,向导将应用 config.php 中设置的信息来创立 mysql 数据库及用户。
- MySQL import instructions:mysql 导入阐明,将应用 mysql import 工具从提供的文本创立数据库。
- Manual database installation:手动装置数据库,即应用命令行装置。
抉择 Automatic database installation
即可。后续向导页为创立数据库及用户,因为须要足够权限的用户数据登录凭据,可抉择应用 root 用户。
其中 Show advanced options
为高级选项。之后的装置过程按向导进行设置即可。
3. 参考文献
1.phpipam 官网
2.Kenelite IPAM 随笔
3. 小翼 111 如何在 Ubuntu 16.04 上装置 phpIPAM
4. 大专栏 IP 地址治理(IPAM)
5. 体验盒子 phpIPAM – 收费开源的 IP 地址管理工具,重量级