1. 介绍

  随着网络规模增大,单纯依附Excel等电子表格已难以无效进行网络管理。存在以下问题:

  • 无奈对填写信息的正确与否进行校验
  • 不足网络资源可视化治理
  • 异地治理艰难
  • 多人保护时,存在版本问题

  在参考Kenelite的IPAM随笔、维基百科-对于IPAM介绍后,开始了phpIPAM的装置应用。phpipam官网介绍有以下个性:

  其中IP地址扫描、IP资源信息属性可配置、VLAN及子网治理以及用户权限的治理性能根本满足需要,要是带有OpUtils交换机端口映射治理性能就更好了!

2. 装置配置

2.1装置apache,mysql,php

#以下为官网教程的必要安装包ipam@ubuntu:/$ sudo apt-get install apache2ipam@ubuntu:~$ sudo apt-get install mariadb-serveripam@ubuntu:~$ sudo apt-get install php ipam@ubuntu:~$ sudo apt-get install php7.4-pearipam@ubuntu:~$ sudo apt-get install php7.4-gmpipam@ubuntu:~$ sudo apt-get install php7.4-mysqlipam@ubuntu:~$ sudo apt-get install php7.4-mbstringipam@ubuntu:~$ sudo apt-get install php7.4-gd#mcrypt为php加密反对扩大库,从 php 7.1.0 曾经将此扩大移除到PECL,须要手动装置,此处未进行装置ipam@ubuntu:~$ sudo apt-get install php7.4-curlipam@ubuntu:~$ sudo apt-get install git #以下为官网教程外的php扩大库#snmp扩大库为phpipam snmp功能模块的必要扩大库,倡议装置,其余本人看着办ipam@ubuntu:~$ sudo apt-get install php7.4-snmpipam@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 phpipamipam@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.timezonedate.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 OKipam@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     = localhostuser     = rootpassword = socket   = /var/run/mysqld/mysqld.sock[mysql_upgrade]host     = localhostuser     = rootpassword = socket   = /var/run/mysqld/mysqld.sock

能够通过以下命令进行批改。

ipam@ubuntu:/etc/mysql$ sudo mysqlMariaDB [(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用户明码设置为phpipamMariaDB [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/phpipamipam@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地址管理工具,重量级