phpipam1.7安装部署

0软件说明

phpipam是一个开源Web IP地址管理应用程序(IPAM)

phpipam官网:https://www.phpipam.net/

1安装环境

操作系统:Rocky Linux9.5x86_64

phpipam版本:1.7

php版本:8.0.30

数据库版本:MariaDB10.5.27

不通的phpipam版本对安装环境以及软件的版本要求不一样,有兼容性的问题,这个以实际的情况进行安装,官网文档中有参考

文档编写时间:2025年2月
作者:浅水鲤鱼qianshuiliyu

2安装部署

安装部署可以参考官网的安装文档进行部署,但是在实际的安装环境中,一些配置略有不同,这个需要根据自己的实际环境来实时的进行调整

官网安装文档地址:https://www.phpipam.net/news/phpipam-installation-on-centos-7/

本文档中的配置操作基本全部来自于官网

2.1安装之前的操作

1. 安装之前需要关闭防火墙以及selinux 2. 配置好能够访问的yum源地址(这个通常不需要配置,使用系统默认的就可以,如果访问的慢或者无法访问就需要配置一下,我这里可以正常访问,就不配置了)

说明:如果需要开启防护墙以及selinxu的设置的话,就必须设置对应的放行规则,我这里选择全部关闭,就不要在设置对应的放行规则了

放行规则在安装文档中也有说明,可以去参考官网以及实际的情况来进行设置

selinux关闭,下面的操作可以不设置

2.1.1关闭防火墙以及selinux

1. 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
  1. 永久关闭selinux

编辑/etc/selinux/config下的配置文件,将SELINUX=enforcing修改为SELINUX=disabled,编辑完毕后重启操作系统生效

vim /etc/selinux/config
#SELINUX=enforcing
SELINUX=disabled

# 设置完毕后,重启操作系统
reboot

2.1.2 yum源的配置

我这里的源访问正常,并且速度稳定,不需要配置,下面展示一下阿里云的配置方法

源相关的文件/etc/yum.repos.d/目录下,需要备份的话,可以先进行一下备份

[root@qianshuiliyu-phpipamHost ~]# ls /etc/yum.repos.d/
rocky-addons.repo  rocky-devel.repo  rocky-extras.repo  rocky.repo
sed -e 's|^mirrorlist=|#mirrorlist=|g' \-e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \-i.bak \/etc/yum.repos.d/Rocky-*.repodnf makecache
#dnf与yum基本通用,那个命令都可以

2.2语言以及区域设置

这个设置并不是必须的,但是在使用的时候可能会出现一些问题,所以设置了没毛病

在某些情况下,如果系统或应用程序没有正确地识别或设置这些环境变量,可能导致显示乱码或者语言不匹配的问题。通过 /etc/environment 文件设置这些变量可以确保整个系统具有一致的环境配置

[root@qianshuiliyu-phpipamHost ~]# cat /etc/environment 
LC_ALL=zh_CN.utf-8
LANG=zh_CN.utf-8

2.3安装LAMP组件

2.3.1yum安装

Apache, MySQL(这里使用的是mariadb,使用与mysql基本一样), PHP (LAMP)

普通用户执行,请在命令的最前面添加sudo进行执行

当前系统中,dnf执行或者yum都可以,不要纠结这个问题

当然安装还有其他方式,源码安装,docker容器部署等等,只要正确安装了对应版本的Apache, MySQL, PHP 服务即可正确部署,不一定非得说是使用yum来安装,只是说不同的安装方式需要做的安装操作不一样,在使用的时候是看不出来的

yum -y install httpd mariadb-server php php-cli php-gd php-common php-ldap php-pdo php-pear php-snmp php-xml php-mysqlnd php-mbstring git# API中使用加密方法还需要安装下面的包,建议安装
yum -y install epel-release
yum -y install php-mcrypt

2.3.2注意

注意:这个是在我当前Rocky Linux9.5系统中执行的命令,yum安装的时候寻找的是对应的源软件包进行安装,刚好源里面的各个软件包在phpipam1.7x的兼容范围内,才能够成功的安装,但是你不能说是在一个老的系统上如centos7执行了相关的命令后,出现各种问题然后找不到问题

每个phpipam系列的版本对应的php版本范围,不能乱安装,有兼容性的要求

2.3.3问题

这里安装有一个问题,官网中的命令目前没有修改,在PHP 7.4 及以上的版本中,MySQL 扩展已经变为为 php-mysqlnd 而不是 php-mysql,使用php-mysql会找不到对应的包,所以在安装的时候使用php-mysqlnd

2.4apache配置

修改apache中的/var/www/html的目录设置,允许mod_rewrite对url的重写,同时设置ServerName

2.4.1修改/var/www/html目录设置

<Directory "/var/www/html">Options FollowSymLinksAllowOverride allOrder allow,denyAllow from all
</Directory>

2.4.2设置ServerName

ServerName 192.168.2.100:80

2.4.3时区设置

root@qianshuiliyu-phpipamHost ~]# cat -n /etc/php.ini |grep date.timezone931	; http://php.net/date.timezone932	;date.timezone =933	date.timezone = Asia/Shanghai
[root@qianshuiliyu-phpipamHost ~]# 

2.4.4启动apache服务

启动apache服务并设置为开机自启
systemctl start httpd && systemctl enable httpd

2.5数据库配置

2.5.1启动数据库

启动数据库并设置开机自启
systemctl start mariadb && systemctl enable mariadb

2.5.2数据库初始设置

通过mysql_secure_installation进行安全配置向导
  1. 为root用户设置密码
  2. 删除匿名账号
  3. 取消root用户远程登录
  4. 删除test库和对test库的访问权限
  5. 刷新授权表使修改生效

第一次使用,没有设置root用户的密码(这里的root是数据库的账号root,不是操作系统的),直接回车,

[root@qianshuiliyu-phpipamHost ~]# mysql_secure_installationNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDBSERVERS 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
haven't set the root password yet, you should just press enter here.Enter current password for root (enter for none): 
#第一次使用,没有设置数据库root用户的密码(这里的root是数据库的账号root,不是操作系统的),直接回车即可,再次登录就需要密码了
# 如果未设置密码或通过操作系统凭据登录(如启用 unix_socket 认证),则可能不需要输入密码
OK, successfully used password, moving on...Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.You already have your root account protected, so you can safely answer 'n'.
# root用户启用unix_socket认证
Switch to unix_socket authentication [Y/n] y
Enabled successfully!
Reloading privilege tables..... Success!You already have your root account protected, so you can safely answer 'n'.
# 设置root用户的密码
Change the 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.
# 输入n允许root远程登录,y拒绝root远程登录
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.5.3说明

这里不需要进入到数据库中去创建对应的phpipam用户以及数据库。在后面部署的时候会自动创建,设置完安全配置向导就完毕了

2.6源码下载部署

2.6.1说明

github上的源码地址:https://github.com/phpipam/phpipam.git

源码地址在github上,不一定能够访问,没有关系,使用国内的平台git也可以访问,一般都有克隆地址

我的蓝奏云地址:https://wwrp.lanzout.com/idA0m2nlo9je

蓝奏云地址的说明:蓝奏云上存储的是1.7,当前部署的这个版本,这个直接将压缩包中的内容解压到/var/www/html目录即可,相当于是通过git下载了源码,如果是通过git直接下载的源码,可以参考官网进行相应的部署

说明:

部署访问的方式有两种,第一种是http://ip直接访问,第二种是http://ip/phpipam/方式访问

这两种方式,

第一种是源码里面的内容直接放在/var/www/html文件中,没有使用phpipam目录

第二种则是在/var/www/html目录下创建了一个phpipam目录,部署在这个目录中,如果是这种部署方式,那么就需要修改config.php文件,第一种方式则不需要,我这里使用的是第一种部署方式

2.6.2源码上传到/var/www/html目录

将phpipam1.7的源码信息上传到/var/www/html目录中,上传步骤这里省略

如果是通过git可以直接下载到/var/www/html目录中,官网文档中有说明

2.6.3解压压缩包

[root@qianshuiliyu-phpipamHost html]# unzip phpipam-1.7.zi

2.6.4源码信息复制到/var/www/html

源码信息复制到/var/www/html,不使用下面的phpipam的目录
[root@qianshuiliyu-phpipamHost html]# ls
phpipam-1.7  phpipam-1.7.zip
[root@qianshuiliyu-phpipamHost html]# cd phpipam-1.7/
[root@qianshuiliyu-phpipamHost phpipam-1.7]# mv * ../
[root@qianshuiliyu-phpipamHost phpipam-1.7]# cd ..
[root@qianshuiliyu-phpipamHost html]# ls
api  config.dist.php    css  doc        index.php  INSTALL.txt  misc         phpipam-1.7.zip  robots.txt   UPDATE
app  config.docker.php  db   functions  install    js           phpipam-1.7  README.md        SECURITY.md  upgrade

2.6.5数据库配置文件设置

这里直接重新命名一下就可以了
[root@qianshuiliyu-phpipamHost html]# cp config.dist.php config.php

如果使用http://ip/phpipam/访问的,不仅要重新命名,还需要修改config.php配置文件,我这里不需要修改

2.7phpipam的web配置

剩下的部署通过web完成,直接输入对应的ip访问

http://192.168.2.100

2.7.1问题-缺少gmp扩展,

在访问的时候出现提示缺少gmp的扩展,安装对应的扩展解决

[root@qianshuiliyu-phpipamHost html]# yum -y install php-gmp

安装完毕后再次访问:

2.7.2新的phpipam安装

2.7.3自动安装数据库

2.7.4数据库配置

到这里就已经结束了,可以直接访问了,输入http://192.168.2.100,

默认用户/密码:Admin/ipamadmin

但是下面你还有一个连接数据库让你进行一些设置,这个设置不设置都可以,不设置后续也能通过设置来进行调整,这个不重要

如果设置,选择连接

Admin用户的密码设置,这里设置,默认的密码则会失效

设置完毕后选择登录,或者直接在地址栏中重新输入ip进行访问

2.8访问

输入地址:http://192.168.2.100

输入用户以及密码进行访问

默认用户/密码:Admin/ipamadmin,如果没设置密码使用此密码访问

到这里安装结束

3设置相关

3.1禁用安装脚本

安装完毕后,在访问的时候会弹出下面的提示

将$disable_installer = falus;修改为$disable_installer = ture;即可解决

[root@qianshuiliyu-phpipamHost html]# cat -n config.php|grep disable_installer6	$disable_installer = ture;

3.2中文设置

登录之后,选择Administrator–Users

注销用户后,重新登录

没有变化重新关开浏览器或者清空缓存再次尝试

3.3机柜中文乱码问题

机柜中文乱码是因为phpipam的源码中没有中文字体,上传中文字体道对应的目录即可解决

我这里将windows中的字体复制进去

windows的字体控制面板中,在控制面板–>所有控制面板项–>字体

找到黑体字体进行上传

字体目录:

[root@qianshuiliyu-phpipamHost fonts]# pwd
/var/www/html/css/fonts
[root@qianshuiliyu-phpipamHost fonts]# ls
fa-brands-400.eot   fa-brands-400.woff2  fa-regular-400.woff   fa-solid-900.ttf    fontawesome-webfont.eot   fontawesome-webfont.woff2
fa-brands-400.svg   fa-regular-400.eot   fa-regular-400.woff2  fa-solid-900.woff   fontawesome-webfont.svg   MesloLGS-Regular.ttf
fa-brands-400.ttf   fa-regular-400.svg   fa-solid-900.eot      fa-solid-900.woff2  fontawesome-webfont.ttf   source_sans_pro
fa-brands-400.woff  fa-regular-400.ttf   fa-solid-900.svg      FontAwesome.otf     fontawesome-webfont.woff

phpipam的默认字体是MesloLGS-Regular.ttf字体,这个在下面配置文件中可以查看到

var/www/html/functions/classes/class.Rackspace.php配置文件中查看

那么我们在进行字体上的修改就有两重方式吗

  1. 将配置文件中的字体修改位黑体名字(这个可能需要修改多处)
  2. 将字体名字修改位原来的字体名字,原来的字体名字可以重新命名(推荐使用这种方式)
[root@qianshuiliyu-phpipamHost html]# cd css/fonts/
[root@qianshuiliyu-phpipamHost fonts]# ls
fa-brands-400.eot   fa-brands-400.woff2  fa-regular-400.woff   fa-solid-900.ttf    fontawesome-webfont.eot   fontawesome-webfont.woff2
fa-brands-400.svg   fa-regular-400.eot   fa-regular-400.woff2  fa-solid-900.woff   fontawesome-webfont.svg   MesloLGS-Regular.ttf
fa-brands-400.ttf   fa-regular-400.svg   fa-solid-900.eot      fa-solid-900.woff2  fontawesome-webfont.ttf   SIMHEI.TTF
fa-brands-400.woff  fa-regular-400.ttf   fa-solid-900.svg      FontAwesome.otf     fontawesome-webfont.woff  source_sans_pro
[root@qianshuiliyu-phpipamHost fonts]# mv MesloLGS-Regular.ttf MesloLGS-Regular.ttf.bak 
[root@qianshuiliyu-phpipamHost fonts]# mv SIMHEI.TTF MesloLGS-Regular.ttf
[root@qianshuiliyu-phpipamHost fonts]# ls
fa-brands-400.eot   fa-brands-400.woff2  fa-regular-400.woff   fa-solid-900.ttf    fontawesome-webfont.eot   fontawesome-webfont.woff2
fa-brands-400.svg   fa-regular-400.eot   fa-regular-400.woff2  fa-solid-900.woff   fontawesome-webfont.svg   MesloLGS-Regular.ttf
fa-brands-400.ttf   fa-regular-400.svg   fa-solid-900.eot      fa-solid-900.woff2  fontawesome-webfont.ttf   MesloLGS-Regular.ttf.bak
fa-brands-400.woff  fa-regular-400.ttf   fa-solid-900.svg      FontAwesome.otf     fontawesome-webfont.woff  source_sans_pro
[root@qianshuiliyu-phpipamHost fonts]# 

此时在刷新页面,中文名正常,乱码解决,不需要重启服务

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

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

相关文章

python卷积神经网络人脸识别示例实现详解

目录 一、准备 1&#xff09;使用pytorch 2&#xff09;安装pytorch 3&#xff09;准备训练和测试资源 二、卷积神经网络的基本结构 三、代码实现 1&#xff09;导入库 2&#xff09;数据预处理 3&#xff09;加载数据 4&#xff09;构建一个卷积神经网络 5&#xff0…

网络安全总结

网络安全总结 网络安全第一篇 &#xff11;. 防火墙必不可少(局域网与互联网之间必须隔离) 连接到Internet的每一个人都需要在其网络入口处采取一定的措施來阻止和丢弃恶意的网络通信,但是我们貌似没有这么做&#xff0c;这就需要我们在物理或者软件实现我们的防火墙&#xf…

【文本处理】如何在批量WORD和txt文本提取手机号码,固话号码,提取邮箱,删除中文,删除英文,提取车牌号等等一些文本提取固定格式的操作,基于WPF的解决方案

企业的应用场景 数据清洗&#xff1a;在进行数据导入或分析之前&#xff0c;往往需要对大量文本数据进行预处理&#xff0c;比如去除文本中的无关字符&#xff08;中文、英文&#xff09;&#xff0c;只保留需要的联系信息&#xff08;手机号码、固话号码、邮箱&#xff09;。…

【Cocos TypeScript 零基础 15.1】

目录 见缝插针UI脚本针脚本球脚本心得_旋转心得_更改父节点心得_缓动动画成品展示图 见缝插针 本人只是看了老师的大纲,中途不明白不会的时候再去看的视频 所以代码可能与老师代码有出入 SIKI_学院_点击跳转 UI脚本 import { _decorator, Camera, color, Component, directo…

pdf.js默认显示侧边栏和默认手形工具

文章目录 默认显示侧边栏(切换侧栏)默认手形工具(手型工具) 大部分的都是在viewer.mjs中的const defaultOptions 变量设置默认值,可以使用数字也可以使用他们对应的变量枚举值 默认显示侧边栏(切换侧栏) 在viewer.mjs中找到defaultOptions,大概在732行,或则搜索sidebarViewOn…

基于 ollama 在linux 私有化部署DeepSeek-R1以及使用RESTful API的方式使用模型

由于业务需求部署的配置 deepseek:32b,linux配置GPU L20 4卡 ,SSD 200g&#xff0c;暂未发现有什么问题&#xff0c;持续观察中 ##通用写法&#xff0c;忽略就行&#xff0c;与deepseek无关 import pandas as pd from openai.embeddings_utils import get_embedding, cosine_s…

基于 STM32 的病房监控系统

标题:基于 STM32 的病房监控系统 内容:1.摘要 基于 STM32 的病房监控系统摘要&#xff1a;本系统采用 STM32 微控制器作为核心&#xff0c;通过传感器实时监测病房内的环境参数&#xff0c;如温度、湿度、光照等&#xff0c;并将数据上传至云端服务器。医护人员可以通过手机或…

Java分布式幂等性怎么设计?

在高并发的场景的架构中&#xff0c;幂等性是必须得保证的。比如说支付功能&#xff0c;用户发起支付&#xff0c;如果后台没有坐幂等性校验&#xff0c;刚好用户手抖多点了几下&#xff0c;于是后台就有可能多次收到同一个请求&#xff0c;不做幂等性校验很容易就让用户重复支…

Pdf手册阅读(1)--数字签名篇

原文阅读摘要 PDF支持的数字签名&#xff0c; 不仅仅是公私钥签名&#xff0c;还可以是指纹、手写、虹膜等生物识别签名。PDF签名的计算方式&#xff0c;可以基于字节范围进行计算&#xff0c;也可以基于Pdf 对象&#xff08;pdf object&#xff09;进行计算。 PDF文件可能包…

Debezium系列之:时区转换器,时间戳字段转换到指定时区

Debezium系列之:时区转换器,时间戳字段转换到指定时区 示例:基本配置应用TimezoneConverter SMT的效果示例:高级配置配置选项当Debezium发出事件记录时,记录中的时间戳字段的时区值可能会有所不同,这取决于数据源的类型和配置。为了在数据处理管道和应用程序中保持数据一…

Zabbix-监控SSL证书有效期

背景 项目需要&#xff0c;需要监控所有的SSL证书的有效期&#xff0c;因此需要自定义一个监控项 实现 创建自定义脚本 在Zabbix的scripts目录(/etc/zabbix/scripts/)下创建一个新的shell脚本check_ssl.sh&#xff0c;内容如下 #!/bin/bash time$(echo | openssl s_client…

【AI知识点】大模型开源的各种级别和 deepseek 的开源级别

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】【AI应用】 大模型开源的各种级别 大模型的“开源”程度不同&#xff0c;通常可以分为以下几个主要级别&#xff1a; 1. 权重不开源&#xff08;Closed-source&#xff09; 特点&#xff1a;仅…

java安全中的类加载

java安全中的类加载 提前声明: 本文所涉及的内容仅供参考与教育目的&#xff0c;旨在普及网络安全相关知识。其内容不代表任何机构、组织或个人的权威建议&#xff0c;亦不构成具体的操作指南或法律依据。作者及发布平台对因使用本文信息直接或间接引发的任何风险、损失或法律纠…

探索 API 文档新境界:Swagger 助力生成带权限控制的 API 文档

各位开发者朋友们&#xff01;在咱们的开发工作里&#xff0c;API 文档就像是项目的说明书&#xff0c;清晰准确的文档能让我们的开发效率大幅提升。而当涉及到权限控制时&#xff0c;如何生成既安全又详细的 API 文档就成了一个关键问题。今天&#xff0c;我就和大家好好唠唠如…

只需三步!5分钟本地部署deep seek——MAC环境

MAC本地部署deep seek 第一步:下载Ollama第二步:下载deepseek-r1模型第三步&#xff1a;安装谷歌浏览器插件 第一步:下载Ollama 打开此网址&#xff1a;https://ollama.com/&#xff0c;点击下载即可&#xff0c;如果网络比较慢可使用文末百度网盘链接 注&#xff1a;Ollama是…

神经网络常见激活函数 9-CELU函数

文章目录 CELU函数导函数函数和导函数图像优缺点pytorch中的CELU函数tensorflow 中的CELU函数 CELU 连续可微指数线性单元&#xff1a;CELU&#xff08;Continuously Differentiable Exponential Linear Unit&#xff09;,是一种连续可导的激活函数&#xff0c;结合了 ELU 和 …

w~自动驾驶~合集17

我自己的原文哦~ https://blog.51cto.com/whaosoft/13269720 #FastOcc 推理更快、部署友好Occ算法来啦&#xff01; 在自动驾驶系统当中&#xff0c;感知任务是整个自驾系统中至关重要的组成部分。感知任务的主要目标是使自动驾驶车辆能够理解和感知周围的环境元素&#…

Visual Studio 进行单元测试【入门】

摘要&#xff1a;在软件开发中&#xff0c;单元测试是一种重要的实践&#xff0c;通过验证代码的正确性&#xff0c;帮助开发者提高代码质量。本文将介绍如何在VisualStudio中进行单元测试&#xff0c;包括创建测试项目、编写测试代码、运行测试以及查看结果。 1. 什么是单元测…

解决珠玑妙算游戏问题:C 语言实现

一、引言 珠玑妙算游戏&#xff08;the game of master mind&#xff09;是一个有趣的逻辑推理游戏。在编程领域&#xff0c;我们可以通过编写代码来模拟游戏中计算猜中与伪猜中次数的过程。本文将详细介绍如何使用 C 语言实现这一功能&#xff0c;并对核心代码进行解析。 二、…

查询语句来提取 detail 字段中包含 xxx 的 URL 里的 commodity/ 后面的数字串

您可以使用以下 SQL 查询语句来提取 detail 字段中包含 oss.kxlist.com 的 URL 里的 commodity/ 后面的数字串&#xff1a; <p><img style"max-width:100%;" src"https://oss.kxlist.com//8a989a0c55e4a7900155e7fd7971000b/commodity/20170925/20170…