docker部署phpIPAM

news2024/10/5 14:03:20

0说明

IPAM:IP地址管理系统

IP地址管理(IPAM)是指的一种方法IP扫描,IP地址跟踪和管理与网络相关的信息的互联网协议地址空间和IPAM系统。 IPAM软件和IP的工具,管理员可以确保分配IP地址仍然是当前和足够的库存先进的IP工具和IPAM服务。 IPAM简化并自动化管理的许多任务参与IP空间管理,包括编写DNS记录和配置DHCP设置。 额外的功能,如控制DHCP预订以及其他数据聚合和报告功能,与网络IPAM也常见。

根据官网文档进行安装部署封装
官网安装地址:https://phpipam.net/news/phpipam-installation-on-centos-7/

1docker部署phpIPAM

安装的ipam版本:1.5.3
docker环境默认已经部署

1.1DockerFile文件编写

在对应的目录下编写

[root@localhost cmipad]# pwd
/app/cmipad
 
cat docker-compose.yml 
version: '3'

services:
  phpipam-web:
    privileged: true
    image: phpipam/phpipam-www:1.5x
    ports:
      - "80:80"
    environment:
      - TZ=Asia/Shanghai
      - IPAM_DATABASE_HOST=phpipam-mariadb
      - IPAM_DATABASE_PASS=123456
      - IPAM_DATABASE_WEBHOST=%
    restart: unless-stopped
    volumes:
      - phpipam-logo:/phpipam/css/images/logo
    depends_on:
      - phpipam-mariadb

  phpipam-cron:
    privileged: true 
    image: phpipam/phpipam-cron:1.5x
    environment:
      - TZ=Asia/Shanghai
      - IPAM_DATABASE_HOST=phpipam-mariadb
      - IPAM_DATABASE_PASS=123456
      - SCAN_INTERVAL=1h
    restart: unless-stopped
    depends_on:
      - phpipam-mariadb

  phpipam-mariadb:
    privileged: true 
    image: mariadb:10.3.37
    ports:
      - "3306:3306" 
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    restart: unless-stopped
    command:
      - mysqld
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_unicode_ci
    volumes:
      - phpipam-db-data:/var/lib/mysql

volumes:
  phpipam-db-data:
  phpipam-logo:

1.2将镜像保存早一个包中

[root@localhost cmipad]# docker save -o ipam.tar phpipam/phpipam-cron:1.5x phpipam/phpipam-www:1.5x mariadb:10.3.37 
[root@localhost cmipad]# ls
docker-compose.yml  ipam.tar

image.png

1.3上传到内网docker上服务器

文件比较大,上传时间看网速
还有docker compose文件也上传过去

scp ipam.tar 10.24.107.22:/app/ipam
scp docker-compose.yml 10.24.107.22:/app/ipam

image.png
image.png

1.4登录内网服务器进行部署

这里默认内网环境docker以及docker compose已经安装,没有安装的需要安装
ssh登录不演示,这你要不会就转行吧,这玩意不适合你
image.png

1.5解压部署

docker load -i ipam.tar 

image.png

1.6启动

docker-compose -p phpipam up -d

image.png

1.7第一次访问配置

1.7.1选择 New phpipam installation

三个选项新的 phpipam 安装、迁移 phpipam 安装和工作安装,新的 phpIPAM 安装时,选择 New phpipam installation
直接访问ip与端口,首次访问出现安装配置界面
image.png

1.7.2数据库安装

分为自动数据库安装、MySQL 导入说明、手动数据库安装,选择自动数据库安装选项
image.png

1.7.3数据库用户以及密码配置

输入数据库用户名、密码、主机、数据库名称 选择 Install phpipam database 选项
docker-compose 设置的用户名:root 密码123456,根据你的配置文件来填写
image.png

1.7.4提示数据库安装成功,选择 Continue 继续安装

image.png

1.7.5设置 Web 界面的管理员用户

设置 Web 界面的管理员用户、密码、phpIPAM 界面顶部的标题以及 phpIPAM 安装的 URL,选择Save settings 选项
用户名默认是admin,密码设置为1qaz@WSX
image.png

1.7.6选择 Proceed to login 跳转到 phpIPAM 登录界面

image.png

1.7.7输入admin 用户密码登录(输入你刚刚设置的admin 和密码)

image.png

1.7.8设置账户中文显示,选择Administrator–Users

image.png

1.7.8选择Admin 用户,点击编辑按钮

image.png

1.7.9注销当前登录会话重新登录,界面中文显示

image.png

镜像压缩包存储位置以及使用

将镜像导出的tar包,保存在基础镜像:centos:7.9.2009下的/root
保存地址:docker仓库地址

# 阿里云
registry.cn-beijing.aliyuncs.com/app_demo/app:centos7.9.2009-ipam1.5.3

# 华为云
swr.cn-north-4.myhuaweicloud.com/app_demo/centos7.9.2009/ipam:centos7.9.2009-ipam1.5.3

# 腾讯云
ccr.ccs.tencentyun.com/app_demo/app:centos7.9.2009-ipam1.5.3

:::warning
使用将tar包复制到宿主机的docker环境中
使用sava保存的,使用load导入才行
当初:docker save -o ipam.tar phpipam/phpipam-cron:1.5x phpipam/phpipam-www:1.5x mariadb:10.3.37
导入:docker load -i ipam.tar
将docker-compose.yml的内容复制进去
启动:docker-compose -p ipam up -d
:::

机柜中文乱码问题

image.png
解决:上传中文字体到服务器对应php字体目录并修改php代码
由于是docker部署,所以进容器中上传并修改,进入的是phpipam/phpipam-www:1.5x容器

docker exec -it cmipad-phpipam-web-1 sh

搜索字体
找到“MesloLGS-Regular.ttf”字体位置就能知道php字体路径了

find / -name MesloLGS-Regular.ttf
/phpipam/css/fonts/MesloLGS-Regular.ttf
# 将对应的字体上传到/phpipam/css/fonts,并删除原来的名字,将新字体重新命名为原来的名字,就可以了
# 无需重启

image.png

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

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

相关文章

2023.11.25-istio安全

目录 文章目录 目录本节实战1、安全概述2、证书签发流程1.签发证书2.身份认证 3、认证1.对等认证a.默认的宽容模式b.全局严格 mTLS 模式c.命名空间级别策略d.为每个工作负载启用双向 TLS 2.请求认证a.JWK 与 JWKS 概述b.配置 JWT 终端用户认证c.设置强制认证规则 关于我最后 本…

居家适老化设计第三十条---卫生间之坐便

以上产品图片均来源于淘宝 侵权联系删除 在居家适老化中,马桶是非常重要的设施之一,它能够提供方便、安全、舒适的上厕所体验。以下是一些居家适老化中常见的马桶设计和功能:1. 高度合适:为了方便老年人坐起和站起,马…

js逆向-JS加密破解

一、常见五种js加密手段 (一)加密位置: 1.Request Payload 加密 2.Request Headers 加密 3.Request URL params 参数加密 4.Response Data 数据加密 5.JS代码混淆加密 (二)加密算法 base64 编码 哈希算法&…

【从删库到跑路 | MySQL总结篇】数据库基础(增删改查的基本操作)

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】🎈 本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌 重点放前面&am…

常见树种(贵州省):017柳树、喜树、珙桐、木棉、楝、枫杨、竹柏、百日青、翅荚香槐、皂荚、灯台树

摘要:本专栏树种介绍图片来源于PPBC中国植物图像库(下附网址),本文整理仅做交流学习使用,同时便于查找,如有侵权请联系删除。 图片网址:PPBC中国植物图像库——最大的植物分类图片库 一、柳树 …

Ubuntu服务器/工作站常见故障修复记录

日常写代码写方案文档,偶尔遇上服务器出现问题的时候,也需要充当一把运维工程师,此帖用来记录服务器报错的一些解决方案,仅供参考! 文章目录 一、服务器简介二、机箱拆解三、基本操作3.1 F2进入BIOS3.2 F12进入Boot Me…

sql 动态语句

批量删除用的 foreach

剑指offer(C++)-JZ43:整数中1出现的次数(算法-其他)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一个整数 n ,求 1~n 这 n 个整数的十进制表示中 1 出现的次数 例如&#xff0…

Spring原理——基于xml配置文件创建IOC容器的过程

Spring框架的核心之一是IOC,那么我们是怎么创建出来的Bean呢? 作者进行了简单的总结,希望能对你有所帮助。 IOC的创建并不是通过new而是利用了java的反射机制,利用了newInstance方法进行的创建对象。 首先,我们先定义…

医学检验(LIS)管理系统源码,LIS源码,云LIS系统源码

医学检验(LIS)管理系统源码,云LIS系统全套商业源码 随着全自动生化分析仪、全自动免疫分析仪和全自动血球计数器等仪器的使用,检验科的大多数项目实现了全自动化分析。全自动化分析引入后,组合化验增多,更好的满足了临床需要&…

抵御网络威胁的虚拟盾牌:威胁建模

威胁建模是一个允许您管理因日益复杂且不断变化的 IT 安全威胁而产生的风险的过程。为了保护敏感系统和数据,主动了解和应对这些威胁至关重要。 威胁建模是识别、评估和减轻这些威胁的关键过程,确保组织准备好面对不断出现的新的复杂挑战。 本文将详细…

RTL8762x芯片避坑总结之1——用GPIO模拟I2C

1. 使用GPIO模拟I2C: 1.1 按常规逻辑 在输出第1个数据,切换为输入读取ACK后,切回输出无效,不能输出数据: 1.2 在切换输入输出前,需要对Pad重新进行配置 重新配置后,输入输出切换成功&#xf…

笔记本电脑可以投屏到电视吗?Win、Mac、Linux分别怎么投屏?

如果你的电视是安卓电视,那么答案是:完全可以! 不管你的笔记本电脑是Windows系统、macOS系统还是Linux系统,你都可以借助AirDroid Cast的电脑客户端或网页版,将电脑屏幕投屏到安卓智能电视上。 首先,你需要…

数据链路层-以太网协议

目录 数据链路层的作用认识以太网以太网帧格式认识MAC地址对比理解MAC地址和IP地址认识MTUMTU对UDP协议的影响MTU对TCP协议的影响数据跨网络传输的过程ARP协议ARP协议作用ARP数据报的格式ARP协议的工作流程 数据链路层的作用 我们知道数据能在网络中从一台主机发送到另一台主机…

【Proteus仿真】【STM32单片机】智能垃圾桶设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用报警模块、LCD1602液晶模块、按键模块、人体红外传感器、HCSR04超声波、有害气体传感器、SG90舵机等。 主要功能: 系统运行后&…

极智项目 | 实战实时、多人2D人体姿态识别之OpenPose

欢迎关注我的公众号 [极智视界],获取我的更多经验分享 大家好,我是极智视界,本文来介绍 实战实时、多人2D人体姿态识别之OpenPose。 本文介绍的 实战实时、多人2D人体姿态识别之OpenPose,提供完整的可以一键执行的项目工程源码&…

android实战项目之二十二---如何快速APP中集成支付宝和微信支付功能

效果图 实现方案 jcenter 集成方式 implementation com.xgr.easypay:EasyPay:2.0.5 // 基类库,必选 implementation com.xgr.easypay:wechatpay:2.0.5 // 微信支付,可选 implementation com.xgr.easypay:alipay:2.0.5 // 支付宝支付,可…

2023亚马逊云科技re:Invent引领科技新潮流:云计算与生成式AI共塑未来

2023亚马逊云科技re:Invent引领科技新潮流:云计算与生成式AI共塑未来 历年来,亚马逊云科技re:Invent,不仅是全球云计算从业者的年度狂欢,更是全球云计算领域每年创新发布的关键节点。 2023年亚马逊云科技re:Invent大会在美国拉斯…

C语言算术转换例题

这里写目录标题 例题一题目解析答案 例题二题目解析答案 例题三题目解析答案 例题四方法一解析方法二解析 例题五答案方法一方法二解析 感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 🐒🐒🐒 个人主页 🥸&#…

golang panic关键词执行原理与代码分析

使用的go版本为 go1.21.2 首先我们写一个简单的panic调度与捕获代码 package mainfunc main() {defer func() {recover()}()panic("panic test") }通过go build -gcflags -S main.go获取到对应的汇编代码 可以看到当我们调度panic时,Go的编译器会将这段…