Ubuntu22.04下安装WVP平台,保姆级指导,一次成功 本文详细介绍了如何在Ubuntu20.04下安装wvp平台平台完整安装包括Mysql、redis、ZLMediaKit和WVP四部分每部分详细的安装步骤和常见的报错以及常见报错的解决办法。简介WVP(Web Video Platform) 是基于GB/T28181-2016标准实现的网络视频平台支持海康、大华、宇视、华为、天地伟业等支持GB/T28181-2016协议的IPC、NVR、DVR接入。支持国标联网支持Rtsp/Rtmp等视频流转发到国标平台。一、环境及基本依赖库安装1、操作系统版本信息此次我使用的是Ubunttu 22.04.5的操作系统其它ubuntu版本操作也基本一样。2、基础依赖库安装切换到root用户输入su -i,然后输入操作系统的登陆密码。登陆后分别输入下列命令sudo apt install gcc g cmake make git curl p7zip-full vim pkg-config autoconf automake -y安装完成后会弹出服务重启的对话框把未选中的服务使用空格键选中然后选择OK重启服务。sudo apt install build-essential输入上面命令后会提示是否继续输入y继续安装apt-get install net-tools这是网卡查看工具不安装无法查看当前服务器的IP地址。sudo apt-get install -y openjdk-21-jre git maven注意此处一定要安装 jkd-21版本wvp依赖jdk21版本低于21版本的后续安装会报错不过报错也没关系再安装21的版本然后从低版本切换到21版本就行。为了避免后续麻烦这里直接安装21版本3、关闭防火墙# 查看防火墙状态service ufw status当前防火墙是启用状态需要关闭# 关闭防火墙service ufw stop上面可以看出防火墙已经关闭。4、安装并启动Redis# 更新sudo apt update# 安装Redis服务sudo apt install redis-server安装过程中会提示是否继续输入 y 继续安装#防火墙允许 6379 端口放行sudo /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT可以看到6379端口已经放开# 启动Redis服务sudo systemctl start redis-server# 测试Redis是否启动成功redis-cli // 进入Redis终端ping // 在终端输入ping,若返回PONG说明启动成功# 注意,这里redis没加密码。在之后其他软件配置Redis信息时就不需要填写密码。5、安装jre# 执行如下指令查看是否正常sudo apt install default-jre#查看jre版本sudo java -version6、安装maven#更新并安装mavensudo apt updatesudo apt install maven1修改maven的配置文件将下面6行代码加入到settings.xml配置文件中具体代码行位置如下图所示。mirroridalimaven/id namealiyun maven/name urlhttp://maven.aliyun.com/nexus/content/groups/public//url mirrorOfcentral/mirrorOf/mirror#执行以下命令sudo vim /usr/share/maven/conf/settings.xml打开配置文件后找到位置后输入字母 i 插入上面6行代码保存。按esc后输入冒号 :wq 回车保存。2查看mvn安装状态7、安装Nodejs 和 npm#复制这两条命令直接执行curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - \sudo apt-get install -y nodejs等待安装完成即可安装完成可查看安装状态#查看node的安装状态node -v#查看npm的安装状态npm -v8、Wvp项目下载#从gitee地址下载git clone https://gitee.com/pan648540858/wvp-GB28181-pro.git注意下载会直接将下载的文件放在当前目录所以提前规划好软件的存放路径可以直接先进入文件放置的目录再执行命令下载也可以先下载后面再移动到相应目录我这里是直接先进入用户目录再下载。上面可以看到/home/megaium目录里已经有了下载的wvp程序了9、安装Mysql并创建wvp数据库1安装Mysql#更新sudo apt-get update# 安装mysqlsudo apt-get install mysql-server# 进入mysql终端sudo mysql# 将密码设置为123456当然可以设置自己想要的密码但是得记住后面会用到ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 123456;# 退出mysql终端quit# 配置最后一个选择y其余选择n即可。如最后一张图最下方一个输入y即可sudo mysql_secure_installation(2)、创建并导入wvp数据库具体细节如下图# 连接mysqlmysql -u root -p# 创建wvp数据库CREATE DATABASE wvp;# 查看数据库show databases;# 使用wvp数据库use wvp;# 执行数据库脚本下面初始化-mysql-2.7.4.sql、更新-mysql-2.7.4.sql为wvp源码下sql目录所在source /home/megaium/wvp-GB28181-pro/数据库/2.7.4/初始化-mysql-2.7.4.sql;source /home/megaium/wvp-GB28181-pro/数据库/2.7.4/更新-mysql-2.7.4.sql;# 刷新授权(前一步update脚本会有报错,但似乎对后续使用没什么影响,可能数据库脚本没有同时更新)flush privileges;# 查看数据库内的表show tables;# 退出数据库quit二、ZLMediaKit项目编译1、下载ZLMediaKit源码具体如图如果不使用github下载源码必须使用git克隆ZLMediaKit代码因为ZLMediaKit依赖于第三方代码zip包不会下载第三方依赖源码。# 克隆ZLMediaKit源码git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKitcd ZLMediaKit# 千万不要忘记执行这句命令git submodule update --init注意下载会直接将下载的文件放在当前目录所以提前规划好软件的存放路径可以直接先进入文件放置的目录再执行命令下载也可以先下载后面再移动到相应目录我这里是直接先进入用户目录再下载。2、安装相关依赖库sudo apt-get install build-essentialsudo apt-get install cmakesudo apt-get install opensslsudo apt-get install libssl-devsudo apt-get install libsdl-devsudo apt-get install libavcodec-devsudo apt-get install libavutil-devsudo apt-get install ffmpeg3、编译ZLMediaKit# 进入ZLMediaKit源码文目录cd ZLMediaKit# 创建进入build文件夹mkdir buildcd build# 编译cmake ..make -j4编译完成后生成如下图红框中的文件则为编译成功。三、wvp编译进入wvp文件目录1、编译前端页面#进入前端页面目录cd ./web# 清除npm缓存npm cache clean --force# 取消ssl验证npm config set strict-ssl false# 换源npm config set registry http://registry.cnpmjs.orgnpm --registryhttps://registry.npm.taobao.org installnpm run build 运行此处时会报错是因为编辑命令缺失了此处报错了是因为编辑命令缺失运行 npm run 查看完整的命令运行 npm run build:prod2、打包后台项目# 进入wvp目录并执行如下命令mvn install编辑过程如上图报错了原因是项目pom.xml编译插件配置了release21要求使用 Java21 编译器当前仅安装了 OpenJDK 11javac编译器版本 11 不支持 21 语法标准编译直接失败。按如下方法解决#更新apt updateapt install openjdk-21-jdk -y# 注册java运行程序update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-21-openjdk-amd64/bin/java 2# 注册javac编译器必须注册update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-21-openjdk-amd64/bin/javac 2#切换默认java环境update-alternatives --config javaupdate-alternatives --config javac以上切换完成后重新执行 mvn install 编译# 进入wvp目录并执行如下命令mvn install编辑完成后如上图提示 BUILD SUCCESS 则表示编译成功。编译成功后会在target目录下生成.jar的文件。四、WVPZLM配置及运行1、打开/home/megaium/wvp-GB28181-pro/src/main/resources/application-dev.yml文件根据前面mysql、redis设置进行修改。注意记录如下的id、secret、http-port端口后面需要配置到zlmediakit中按esc输入 :wq 保存退出2、打开/home/megaium/ZLMediaKit/release/linux/Debug/config.ini 文件进行修改[general] 模块下 mediaServerId 改为wvp中记录的id[http]模块下 port端口改为wvp中记录的port端口[api]模块下的 secret与wvp配置中的secret保持一致3、启动运行1启动ZLMediaKit进入/home/megaium/ZLMediaKit/release/linux/Debug目录直接运行MediaServer即可cd /home/megaium/ZLMediaKit/release/linux/Debug./MediaServer2启动wvp进入/home/megaium/wvp-GB28181-pro/src/main/resources/目录直接运行:cd /home/megaium/wvp-GB28181-pro/src/main/resources/java -jar /home/megaium/wvp-GB28181-pro/target/wvp-pro-2.7.4-07111328.jar --spring.config.location/home/megaium/wvp-GB28181-pro/src/main/resources/application-dev.yml注意java -jar 后面的路径和 location后面的路径为实际.jar包的路径和wvp配置文件的路径。3验证登陆用户名:admin 密码admin 验证登陆成功