头图

ubuntu-20.04.1-desktop上部署phpipam

卖咖啡

1. 介绍

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

  • 无法对填写信息的正确与否进行校验
  • 缺乏网络资源可视化管理
  • 异地管理困难
  • 多人维护时,存在版本问题

  在参考Kenelite的IPAM随笔维基百科-关于IPAM介绍后,开始了phpIPAM的安装使用。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安装向导界面。
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用户。
root创建数据库
  其中Show advanced options为高级选项。之后的安装过程按向导进行设置即可。

3.参考文献

1.phpipam官网
2.Kenelite IPAM随笔
3.小翼111 如何在Ubuntu 16.04上安装phpIPAM
4.大专栏 IP地址管理(IPAM)
5.体验盒子 phpIPAM – 免费开源的IP地址管理工具,重量级

阅读 152
1 声望
0 粉丝
0 条评论
你知道吗?

1 声望
0 粉丝
宣传栏