phpipam1.7安装部署

news2025/2/13 22:56:32

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-*.repo

dnf 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 FollowSymLinks
	AllowOverride all
	Order allow,deny
	Allow 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.timezone
   931	; http://php.net/date.timezone
   932	;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_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
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_installer
     6	$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.coloradmin.cn/o/2297582.html

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

相关文章

正泰中间电磁继电器【8脚10A】DC24V 待机功率

需求&#xff1a;继电器能耗测试。 1.连接24V2A的电源&#xff0c; 2. 稳定功率为 1.4W 3. 正泰中间电磁继电器【8脚10A】直流DC24V 注&#xff1a;联通时电磁继电器会轻微发热 4.电磁继电器的工作原理基于电流的磁效应 电磁激励&#xff1a;电磁继电器主要由线圈、铁芯、衔…

Mac上搭建宝塔环境并部署PHP项目

安装Docker Desktop》搭建Centos版本的宝塔环境》部署PHP项目 1. 下载Docker for mac 软件&#xff1a;https://www.docker.com/ 或使用终端命令&#xff1a;brew install --cask --appdir/Applications docker 2. 使用命令安装宝塔环境的centos7系统&#xff1a; docker pul…

win11 终端乱码导致IDE 各种输出也乱码

因为 win11 终端乱码导致IDE 各种输出也乱码导致作者对此十分头大。所以研究了各种方法。 单独设置终端编码对 HKEY_CURRENT_USER\Console 注册表进行修改对 HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processo 注册表进行修改使用命令[Console]::OutputEncoding [Syst…

LabVIEW用户界面(UI)和用户体验(UX)设计

作为一名 LabVIEW 开发者&#xff0c;满足功能需求、保障使用便捷与灵活只是基础要求。在如今这个用户体验至上的时代&#xff0c;为 LabVIEW 应用程序设计直观且具有美学感的界面&#xff0c;同样是不容忽视的关键任务。一个优秀的界面设计&#xff0c;不仅能提升用户对程序的…

23、深度学习-自学之路-激活函数relu、tanh、sigmoid、softmax函数的正向传播和反向梯度。

在使用这个非线性激活函数的时候&#xff0c;其实我们重点还是学习的是他们的正向怎么传播&#xff0c;以及反向怎么传递的。 如下图所示&#xff1a; 第一&#xff1a;relu函数的正向传播函数是&#xff1a;当输入值&#xff08;隐藏层&#xff09;值大于了&#xff0c;就输出…

【matlab优化算法-16期】基于遗传算法的电热气及储能综合优化项目实践

电热气及储能综合优化项目实践 一、前言 随着能源转型和可持续发展的推进&#xff0c;综合能源系统的优化逐渐成为研究热点。本文介绍了一个电热气及储能综合优化项目&#xff0c;旨在通过优化算法实现多能源系统的协同运行&#xff0c;提高能源利用效率&#xff0c;降低运行…

springboot239-springboot在线医疗问答平台(源码+论文+PPT+部署讲解等)

&#x1f495;&#x1f495;作者&#xff1a; 爱笑学姐 &#x1f495;&#x1f495;个人简介&#xff1a;十年Java&#xff0c;Python美女程序员一枚&#xff0c;精通计算机专业前后端各类框架。 &#x1f495;&#x1f495;各类成品Java毕设 。javaweb&#xff0c;ssm&#xf…

DeepSeek系统崩溃 | 极验服务如何为爆火应用筑起安全防线?

引言 极验服务让您的产品站在风口之时&#xff0c;不必担心爆红是灾难的开始&#xff0c;而是期待其成为驱动持续创新的全新起点。 01现象级狂欢背后&#xff0c;你的业务安全防线抗得住吗&#xff1f; “近期DeepSeek线上服务受到大规模恶意攻击&#xff0c;注册可能繁忙&am…

java后端开发day15--字符串(一)

&#xff08;以下内容全部来自上述课程&#xff09; 1.API &#xff08;Application Programming Interface 应用程序编程接口&#xff09; 1.简单理解 简单理解&#xff1a;API就是别人已经写好的东西&#xff0c;我们不需要自己编写&#xff0c;直接使用即可。 Java API&…

vue项目 Axios创建拦截器

Axios 1. Axios 和 Ajax 简介2. Axios 和 Ajax 的区别3. 从 按钮 到 Axios请求后端接口的 大致顺序 1. Axios 和 Ajax 简介 Ajax&#xff08;Asynchronous JavaScript and XML&#xff09; 不是一种技术&#xff0c;而是一个编程技术概念&#xff0c;核心是通过 XMLHttpReques…

NLP面试之-激活函数

一、动机篇 1.1 为什么要有激活函数&#xff1f; 数据角度&#xff1a;由于数据是线性不可分的&#xff0c;如果采用线性化&#xff0c;那么需要复杂的线性组合去逼近问题&#xff0c;因此需要非线性变换对数据分布进行重新映射;线性模型的表达力问题&#xff1a;由于线性模型…

Notepad++ 中删除所有以 “pdf“ 结尾的行

Notepad 中删除所有以 “pdf” 结尾的行 操作步骤 1.打开文件&#xff1a; 在 Notepad 中打开你需要处理的文本文件。 2.打开查找和替换对话框&#xff1a; 按快捷键 Ctrl F&#xff0c;打开“查找和替换”对话框。 3.启用正则表达式模式&#xff1a; 在对话框的底部&#xf…

b站——《【强化学习】一小时完全入门》学习笔记及代码(1-3 多臂老虎机)

问题陈述 我们有两个多臂老虎机&#xff08;Multi-Armed Bandit&#xff09;&#xff0c;分别称为左边的老虎机和右边的老虎机。每个老虎机的奖励服从不同的正态分布&#xff1a; 左边的老虎机&#xff1a;奖励服从均值为 500&#xff0c;标准差为 50 的正态分布&#xff0c;即…

数据结构与算法之排序算法-插入排序

排序算法是数据结构与算法中最基本的算法之一&#xff0c;其作用就是将一些可以比较大小的数据进行有规律的排序&#xff0c;而想要实现这种排序就拥有很多种方法~ 那么我将通过几篇文章&#xff0c;将排序算法中各种算法细化的&#xff0c;详尽的为大家呈现出来&#xff1a; &…

基于YoloV11和驱动级鼠标模拟实现Ai自瞄

本文将围绕基于 YoloV11 和驱动级鼠标实现 FPS 游戏 AI 自瞄展开阐述。 需要着重强调的是&#xff0c;本文内容仅用于学术研究和技术学习目的。严禁任何个人或组织将文中所提及的技术、方法及思路应用于违法行为&#xff0c;包括但不限于在各类游戏中实施作弊等违规操作。若因违…

七、I2C通信读取LM75B温度

7.1 概述 I2C&#xff08;Inter-Integrated Circuit&#xff09;是一种同步、多主从、串行通信协议&#xff0c;由飞利浦公司开发&#xff0c;主要用于短距离通信&#xff0c;尤其在集成电路之间。 7.1.1 主要特点 两线制&#xff1a;仅需SDA&#xff08;数据线&#xff09;…

CSS 属性选择器详解与实战示例

CSS 属性选择器是 CSS 中非常强大且灵活的一类选择器&#xff0c;它能够根据 HTML 元素的属性和值来进行精准选中。在实际开发过程中&#xff0c;属性选择器不仅可以提高代码的可维护性&#xff0c;而且能够大大优化页面的样式控制。本文将结合菜鸟教程的示例&#xff0c;从基础…

2025 游戏试玩打码平台PHP源码

源码介绍 2025 游戏试玩打码平台PHP源码 开发语言&#xff1a;PHP 数据库&#xff1a;MySQL 源码程序采用yii框架phpMysql语言开发 功能完善&#xff0c;无后门 程序功能有: 1.游戏试玩功能 2.广告体验功能 3.打码功能 4.新人任务 5.开启宝箱功能 6.站长联盟功能 7.兑换商城功…

sql难点

一、 假设你有一个查询&#xff0c;需要根据 id 是否为 null 来动态生成 SQL 条件&#xff1a; xml复制 <select id"getResources" resultType"Resource">SELECT * FROM resources<where><if test"id ! null">and id <!…

oracle表分区--范围分区

文章目录 oracle表分区分区的原因分区的优势oracle表分区的作用oracle表分区类型一、范围分区二、 创建分区表和使用&#xff1a;1、按照数值范围划分2、按照时间范围3、MAXVALUE2. 向现有表添加新的分区3、 分区维护和重新组织&#xff08;合并/删除&#xff09; oracle表分区…