IP地址管理系统phpipam部署

news2025/7/9 18:40:17

IP地址管理系统phpipam部署

  • 一、IPAM管理系统简介
  • 二、IPAM安装部署教程
    • 2.1 环境准备
  • 三、phpIPAM web配置
    • 3.1 初始化
    • 3.2 WEB配置使用
  • 四、IPAM管理和使用
    • 4.1配置dns
    • 4.2 配置ip网段
    • 4.3 配置ip地址自动扫描

一、IPAM管理系统简介

phpipam是一个开源Web IP地址管理应用程序(IPAM)。其目标是提供轻便,现代且有用的IP地址管理。它是基于PHP的应用程序,具有MySQL数据库后端,使用jQuery库,ajax和HTML5 / CSS3功能。

官网参考地址:https://phpipam.net/news/phpipam-installation-on-centos-7/

二、IPAM安装部署教程

2.1 环境准备

(1)安装依赖模块 Web server、Database 组件

[root@localhost ~]# yum install httpd mariadb-server php php-cli php-gd php-common php-ldap php-pdo php-pear php-snmp php-xml php-mysql php-mbstring git -y

(2)设置时区

[root@10-27-0-224 ~]# vim /etc/php.ini 
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone =Asia/Shanghai

(3)启动 Apache Web Server 并设置开机启动

[root@10-27-0-224 ~]# systemctl enable httpd  &&systemctl start httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

(4)启动 MySQL (MariaDB) database server

[root@10-27-0-224 ~]# systemctl start mariadb
[root@10-27-0-224 ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
(5)配置 Apache Web Server

[root@10-27-0-224 ~]# vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
	AllowOverride all
	Order allow,deny
	Allow from all
</Directory>

(6)初始化数据库设置

[root@10-27-0-224 ~]# mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
 ... skipping.

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

2.2 安装phpIPAM

(1)从 git 下载 phpIPAM 文件

[root@10-27-0-224 ~]# cd /var/www/html/
[root@10-27-0-224 html]# git clone https://github.com/phpipam/phpipam.git phpipam
Cloning into 'phpipam'...
remote: Enumerating objects: 27455, done.
remote: Counting objects: 100% (627/627), done.
remote: Compressing objects: 100% (301/301), done.
remote: Total 27455 (delta 346), reused 570 (delta 317), pack-reused 26828
Receiving objects: 100% (27455/27455), 19.96 MiB | 17.48 MiB/s, done.
Resolving deltas: 100% (20027/20027), done.

[root@10-27-0-224 phpipam]# git checkout 1.4
Branch 1.4 set up to track remote branch 1.4 from origin.
Switched to a new branch '1.4'

(2)让 apache 用户有权限访问 phpipam

[root@10-27-0-224 phpipam]# chown apache:apache -R /var/www/html/
[root@10-27-0-224 phpipam]# cd /var/www/html/
[root@10-27-0-224 html]# find . -type f -exec chmod 0644 {} \;
[root@10-27-0-224 html]# find . -type d -exec chmod 0755 {} \;

(3)配置数据库链接

[root@10-27-0-224 ~]# cp /var/www/html/phpipam/config.dist.php /var/www/html/phpipam/config.php
[root@10-27-0-224 ~]# vim /var/www//html/phpipam/config.php
/**
 *  SSL options for MySQL
 *
 See http://phbase connection details
 ******************************/
$db['host'] = 'localhost';
$db['user'] = 'phpipam_user';
$db['pass'] = 'phpipam_Pass';
$db['name'] = 'phpipam_db';
$db['port'] = 3306;
##/**

if(!defined('BASE'))
define('BASE', "/phpipam/");

此处的配置我说明下

define(‘BASE’, “/”); #代表通过http://myserver/来访问,也就是根目录直接跳转
define(‘BASE’, “/phpipam”); #代表通过http://myserver/phpipam/ 来访问,根据自己需要来配置就好了

(4)重启 http 服务

[root@10-27-0-224 ~]# systemctl restart httpd

三、phpIPAM web配置

3.1 初始化

方式一:界面配置方方法

http://10.27.0.224/phpipam/index.php?page=install

phpipam开源IP地址管理系统(图1)

phpipam开源IP地址管理系统(图2)

phpipam开源IP地址管理系统(图3)

phpipam开源IP地址管理系统(图4)

phpipam开源IP地址管理系统(图5)

方式二:后台初始化
通过root账号创建phpipam用户,此处创建的用户密码和config.php文件中配置的已知

[root@ipam ~]# mysql -u root -p
Enter password:
mysql> create database phpipam;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL on phpipam.* to phpipam@localhost identified by ‘phpipamadmin’;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye

导入初始化数据SCHEMA.sql

mysql -u root -p phpipam < db/SCHEMA.sql

最后一步,设置phpIPAM登录的密码

cd /var/www/html/functions/scripts
[root@localhost scripts]# php reset-admin-password.php
Enter new admin password:

最后使用Admin和此处设置的账号密码登录即可

3.2 WEB配置使用

(1)简单功能介绍

PHPIPAM Settings # 设置PHPIPAM系统本身的一些配置,站点名称、语言、配色方案、一些功能模块的开关。
Users # 设置本地用户,添加、删除,编辑。Groups:设置本地用户组。
Authentication methods # 设置认证方式,支持本地认证、常用的AD、LDAP、Radius,NetIQ和SAML2笔者也没听过。。
Mail settings # 设置SMTP服务器,即当IPAM需要发邮件的时候使用哪个SMTP server。
API:懂编程的同学可以研究一下了。
Scan agens # 使用什么agent来扫描网中的IP。
Section # 即我们可以根据业务或其他属性将IP地址分section来进行管理,例如数据网,语音网,或者数据中心网,办公网等。
Subnets # 已经可以在这里面创建网段了,然后大网段下再划分明细网段。
Device Management # 可以做为一个小的资源管理系统来用,即你的设置在哪个楼哪个机房哪个RACK的哪个U上。
最后支持中文,可以调整中文语言
(2)中文配置

在这里插入图片描述

四、IPAM管理和使用

4.1配置dns

在这里插入图片描述
在这里插入图片描述

4.2 配置ip网段

在这里插入图片描述
在这里插入图片描述

4.3 配置ip地址自动扫描

我们想实现全自动化功能,可以自动发现在线用户并定时自动复检。为此我们还需要配置一个agent来完成这样的工作。

#进入文件夹
[root@web ~]# cd /usr/local/services_data/html/phpipam.t.com/

#克隆文件
[root@web phpipam.t.com]# git clone https://github.com/phpipam/phpipam-agent.git

#复制并重命名配置文件
[root@web phpipam.t.com]# cp phpipam-agent/config.dist.php phpipam-agent/config.php

添加agent
在这里插入图片描述
请填写agent的名称于描述并记下agent code:

在这里插入图片描述
修改config.php配置

#打开配置文件
[root@web phpipam.t.com]# vim phpipam-agent/config.php

#将以下值替换为刚才复制的code
$config['key'] = "替换为code";

#修正以下路径
$config['pingpath'] = "/usr/sbin/fping";

#修正数据库配置信息
$config['db']['host'] = "sql.t.com";
$config['db']['user'] = "phpipam";
$config['db']['pass'] = "phpipam";
$config['db']['name'] = "phpipam";
$config['db']['port'] = 3306;

#如果你的数据库不使用证书加密连接,请注释以下内容
#$config['db']['ssl']        = false;                           // true/false, enable or disable SSL as a whole
#$config['db']['ssl_key']    = '/path/to/cert.key';             // path to an SSL key file. Only makes sense combined with ssl_cert
#$config['db']['ssl_cert']   = '/path/to/cert.crt';             // path to an SSL certificate file. Only makes sense combined with ssl_key
#$config['db']['ssl_ca']     = '/path/to/ca.crt';               // path to a file containing SSL CA certs
#$config['db']['ssl_capath'] = '/path/to/ca_certs';             // path to a directory containing CA certs
#$config['db']['ssl_cipher'] = '/DHE-RSA-AES256-SHA:AES128-SHA'; // one or more SSL Ciphers

ipmi主机上安装fping命令用于测试可用ip

 yum install fping -y

手动更新ip

#发现在线IP
[root@web ~]#php /var/www/html/phpipam-agent/index.php discover

#复检已添加的IP
[root@web ~]# php /var/www/html/phpipam-agent/index.php update

设置成定时任务区检测

#填入任务,每5分钟运行一次
*/5 * * * *  php /var/www/html/phpipam-agent/index.php update
*/5 * * * * php /var/www/html/phpipam-agent/index.php discover

设置数据库备份

# Backup IP address table, remove backups older than 10 days
@daily /usr/bin/mysqldump -u ipv6 -pipv6admin phpipam > /var/www/html/db/bkp/phpipam_bkp_$(date +"\%y\%m\%d").db
@daily /usr/bin/find /var/www/html/db/bkp/ -ctime +10 -exec rm {} \;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1158165.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

28岁学C+大家随便说点想法吧

28岁学C&#xff0c;大家随便说点想法吧&#xff0c;让我随便了解了解东西&#xff0c;劝退的也好。&#xff1f; 你这种情况可以学&#xff0c;可以带薪学习是很幸福的事情。 28岁如果才开始学C 等着学会了再找工作就是很难得事情了&#xff0c;相当于等米下锅、而稻种都还没…

Revit AddIn问题:无法运行外部运行程序“xxxxx“,请与供应商联系以获取帮助,供应商提供给Revit的身份信息为:xxxxxx

1.在二次开发的时候遇到的问题如下 2.参考的&#xff1a; Revit插件加载&#xff0c;addin文件的设置_不存在与应用程序附加模块对应的名称节点-CSDN博客 3.我的解决 确实是路径“C:\ProgramData\Autodesk\Revit\Addins\2018”下的AddIn文件出问题了。因为我安装了2019版本然…

libgdx实现文本居中、libgdx文字居中、GlyphLayout文本居中

libgdx实现文本居中、libgdx文字居中、GlyphLayout文本居中 libgdx实现文本居中、libgdx文字居中、GlyphLayout文本居中&#xff0c;环境jdk 17&#xff0c;2023年11月1日14:20:18最新。 转自&#xff1a;https://lingkang.top/archives/libgdx-shi-xian-wen-ben-ju-zhong 依…

数据结构详细笔记——二叉树

文章目录 二叉树的定义和基本术语特殊的二叉树满二叉树完全二叉树二叉排序树平衡二叉树 二叉树的常考性质完全二叉树的常考性质二叉树的存储结构顺序存储链式存储 二叉树的先中后序遍历先序遍历&#xff08;空间复杂度&#xff1a;O&#xff08;h&#xff09;&#xff09;中序遍…

家政APP开发服务同城预约维修接单管理系统软件小程序

家政服务小程序是一个基于移动端的家政服务平台&#xff0c;为用户提供方便快捷的家政服务。以下是小程序的主要功能&#xff1a; 1. 家政服务内容展示&#xff1a;商家可以在小程序中展示各种家政服务项目&#xff0c;如清洁、保洁、保姆、月嫂、钟点工等。用户可以浏览服务信…

Android开发知识学习——从Retrofit原理来看HTTP

文章目录 Retrofit 使用方法简介Retrofit 源码结构总结扔物线读源码的思路与方式 Retrofit 使用方法简介 导包 implementation com.squareup.retrofit2:retrofit:最新版本创建一个 interface 作为 Web Service 的请求集合&#xff0c;在里面用注解 &#xff08;Annotation&…

Unity Shader Graph HDRP Reflections Cubemap

主贴图 与 反射 过渡 可调节 因为shader graph 版本原因&#xff0c;略微跟教程不太一样 教程链接&#xff1a; https://www.youtube.com/watch?v943P0dGR4rQ

uniapp leven系列原生插件(1)

目录 1.乐橙摄像机播放插件(云台对讲版) 插件介绍 插件地址 预览图片 ​编辑 2.乐橙摄像机播放插件(子账号云台对讲版) 插件介绍 插件地址 预览图片 ​编辑 3.无预览静默拍照 插件介绍 插件地址 预览图片 4.视频图片选择安卓原生插件 插件介绍 插件地址 预览图…

抖音双11好物节抢跑,这5家品牌联动巨量引擎解锁新增量

截止10月23日&#xff0c;抖音商城整体GMV对比去年同期提升200%。HBN、蓝月亮、万益蓝WONDERLAB、海尔、海澜之家等商家在抖音双11好物节&#xff0c;通过巨量引擎实现提前拓量&#xff0c;效果出众。 其中&#xff0c;HBN在抖音双11好物节抢跑期&#xff0c;通过TopLive直播加…

打造教育新高地 | 拓世法宝AI智能直播一体机,教育界的不二之选

教育是社会进步和个人成长的基石&#xff0c;它不仅是知识传授的载体&#xff0c;更是塑造未来社会精英的摇篮。近年来&#xff0c;数字化、智能化以及个性化教育模式成为当下教育改革的关键词&#xff0c;它不断引领着人类文明的发展&#xff0c;开启着每个人成长的无限可能。…

VS2017制作安装包如何将整个文件夹添加进依赖项中

找到安装项目右键view-文件系统 找到Application Folder 右键Add-Folder 如Python38 选中创建的 Python38 在右侧的空白处粘贴要复制的文件即可。文件多&#xff0c;等待时间较长

铜排载流量表新垂直拼接表-分享一张铜排的载流量表可以方便查看铜排重量计算

可以方便的铜排重量的铜排载流量表来了&#xff0c;方便查询和选择&#xff0c;希望能够帮到你&#xff1a; 下载&#xff1a;https://download.csdn.net/download/weixin_43097956/88490649

正点原子嵌入式linux驱动开发——Linux USB驱动

USB是很常用的接口&#xff0c;目前大多数的设备都是USB接口的&#xff0c;比如鼠标、键盘、USB摄像 头等&#xff0c;在实际开发中也常常遇到USB接口的设备&#xff0c;本章就来学习一下如何使能Linux内核自带的USB驱动。这里不会具体学习USB的驱动开发。 USB接口简介 什么是…

CSS内容过多保留固定字数并显示省略号

一、业务场景&#xff1a; 详情内容过多时&#xff0c;会使布局错乱&#xff0c;需要保留固定的字数&#xff0c;鼠标划上显示出全部内容 三、具体实现步骤&#xff1a; <a-tooltip><template slot"title">{{lastChe}}</template><span class…

详解Java经典数据结构——HashMap

Java 的 HashMap 是一个常用的基于哈希表的数据结构&#xff0c;它实现了 Map 接口&#xff0c;可以存储键值对。下面我们进行详细介绍&#xff1a; 基本结构&#xff1a;HashMap 底层是基于哈希表来实现的&#xff0c;每次插入一个键值对时&#xff0c;会先对该键进行 Hash 运…

微信小程序导入js使用时候报错

我是引入weapp库时候&#xff0c;导入js会报错。 需要在小程序开发工具里面配置 就可以了。

视频剪辑小技巧:批量调整视频色调,让你的视频更出色

在视频剪辑过程中&#xff0c;批量调整视频色调是一项非常重要的技巧。通过调整视频色调&#xff0c;你可以让视频更加生动、富有表现力&#xff0c;并创造出独特的视觉效果。本文将介绍云炫AI智剪的批量调整视频色调小技巧&#xff0c;帮助你提升视频品质。以下是具体的操作步…

在 Typescript 项目中使用 cdn 加载的js插件没有类型声明

先上一段同事写得代码, 此处动态的插入了 MathJax 这个 js 插件, 我不知道为什么如此编写, //ts-ignore 此处不知道为什么如此调用, 只能使用 ts-ignore 忽略dynamicLoadingJs("//xxx.com/latex/MathJax.js?configTeX-AMS_HTML", () > {MathJax.Hub.Config({exte…

2023-11-01 LeetCode每日一题(参加会议的最多员工数)

2023-11-01每日一题 一、题目编号 2127. 参加会议的最多员工数二、题目链接 点击跳转到题目位置 三、题目描述 一个公司准备组织一场会议&#xff0c;邀请名单上有 n 位员工。公司准备了一张 圆形 的桌子&#xff0c;可以坐下 任意数目 的员工。 员工编号为 0 到 n - 1 。…

高浓度工业废水处理设备有哪些

高浓度工业废水处理设备主要有以下几种&#xff1a; 水解酸化池&#xff1a;将有机废水通过水解、酸化作用&#xff0c;使其成为更易于生化降解的有机物。厌氧池&#xff1a;通过厌氧反应降解有机废水&#xff0c;产生沼气等可再利用资源。好氧池&#xff1a;将经过水解酸化或…