Docker中成功安装修罗Xiunobbs论坛步骤

2023-11-18

组成:php7+mysql5.7+xiunobbs4.04+nginx

 

1 Pull镜像

docker pull nginx

docker pull docker.io/centos/mysql-57-centos7

docker pull docker.io/php:7.1.0-fpm

 

2 运行mysql容器

创建存储路径

mkdir /data/mysql57_bbs

chcon -Rt svirt_sandbox_file_t /data/mysql57_bbs

创建:

docker run -d --name bbs_mysql57 -v /data/mysql57_bbs:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 docker.io/centos/mysql-57-centos7

 

3 下载xiubobbs到文件夹/data/xiunobbs4

git clone https://gitee.com/xiuno/xiunobbs

设置权限

chcon -Rt svirt_sandbox_file_t /data/xiunobbs4/xiunobbs

chmod -R 0777 /data/xiunobbs4/xiunobbs/upload

chmod -R 0777 /data/xiunobbs4/xiunobbs/plugin

chmod -R 0777 /data/xiunobbs4/xiunobbs/tmp

chmod -R 0777 /data/xiunobbs4/xiunobbs/log

chmod -R 0777 /data/xiunobbs4/xiunobbs/conf

 

4 运行php容器

docker run --name bbs_php7 --privileged=true -v /data/xiunobbs4/xiunobbs:/www -d docker.io/php:7.1.0-fpm

 

5 运行Nginx容器

配置nginx配置文件同时挂载php:

mkdir /data/nginx/bbs_php_conf.d

vim /data/nginx/bbs_php_conf.d/nginx.conf

server {

listen 80;

server_name localhost;

location / {

root /usr/share/nginx/html;

index index.html index.htm index.php;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root /usr/share/nginx/html;

}

location ~ \.php$ {

fastcgi_pass php:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;

include fastcgi_params;

}

}

 

创建Nginx容器:

docker run --name bbs_nginx -p 8084:80 --privileged=true -d \

-v /data/xiunobbs4/xiunobbs:/usr/share/nginx/html:ro \

-v /data/nginx/bbs_php_conf.d:/etc/nginx/conf.d:ro \

--link bbs_php7:php \

nginx

 

6 访问:

http://192.168.50.155:8084/install

以上IP地址具体参考主机的IP地址。

在数据库配置页面会出现“当前PHP环境不支持mysql和pdo_mysql,无法继续安装”如下问题:

 

这是因为php镜像中没有mysql相关链接库,因此需要在php容器中安装pdo和pdo_mysql。

 

7 进入php容器进行设置

首先进入php容器:

docker exec -it bbs_php7 /bin/bash

然后安装pdo和pdo_mysql:

docker-php-ext-install pdo pdo_mysql

exit

然后重启容器(注意是重启,docker新手千万别搞错了,不是删除php容器或重新创建一个容器,是重启,否则刚才的安装就无效):

docker restart bbs_php7

 

8 进入继续配置数据库:

安装成功pdo和pdo_mysql后,数据库设置页面如下:

 

点击下一步可能出现如下图所示错误信息:

 

如出现如上图情况,请将主机的防火墙关闭再试,另外Docker不同容器间不能用127.0.0.1,可以直接用IP代替,如下图所示:

 

点击下一步,出现如下图所示即为安装成功:

 

论坛安装后初始界面如下:

注:安装MySQL8会由于密码验证方式变化会出现类似“SQLSTATE[HY000] [2054] The server requested authentication method unknown to”等问题,参考以下方案进行解决,但是建议还是采用MySQL57:

https://blog.csdn.net/it_users/article/details/84933225

https://blog.csdn.net/gogogo_sky/article/details/81177441?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker中成功安装修罗Xiunobbs论坛步骤 的相关文章

随机推荐

  • java BigDecimal保留两位小数

    对于一些精准的数字 如涉及到金额时我们一般会使用BigDecimal类型来保存和处理 在处理保留小数位数时 如果通过DecimalFormat表达式需要注意下 1 通过DecimalFormat保留两位小数 通过上图可以看到 在补位时 如果
  • 文件上传之IIS6.0解析漏洞

    文章目录 1 判断iis版本 2 使用目录解析漏洞 2 1 写asp一句话木马 2 2 bp抓包 2 3 修改上传路径 2 4 实用工具连接 2 5 get shell 3 使用文件解析漏洞 3 1 写一句话马 3 2 上传 3 3 抓包改
  • mmyolo框架实现在VOC数据集上复现Yolov6教程(详细)

    写在开头 最近学习mmyolo的框架 想着它能将所有配置都写在一个config文件里 只需要改配置文件就可以改动模型 感觉挺方便的 就想着Yolov6用mmyolo框架来实现 但mmyolo并没有提供v6的voc实现配置 v5是有的 看下图
  • RocketMQ的消息优先级

    有些场景 需要应用程序处理几种类型的消息 不同消息的优先级不同 RocketMQ是个先入先出的队列 不支持消息级别或者Topic级别的优先级 业务中简单的优先级需求 可以通过间接的方式解决 下面列举三种优先级相关需求的具体处理方法 第一种
  • Linux环境下的jdk安装(大数据环境)

    jdk安装 创建软件存放目录 上传文件 我使用的MobaXterm 创建解压目录 解压jdk压缩包 修改软件名 使他简洁易操作 配置环境变量 让配置文件生效 查看jdk版本信息 将HP01 的usr文件夹整体拷贝到HP02 HP03目录下
  • 如何使用 FreeRTOS中的xQueueCreate,xQueueSend,xQueueReceive

    信号量Semaphore和互斥量mutex 只能用于进程间的同步 并不能传递更多的数据 在freertos 提供了messageQ 用来在实现进程同步的同时 传递数据 进程间通信 或者ISR和TASK之间通信 如果没有messageQ 则只
  • Object&Objects

    Object 概念 Object 是类层次结构的根 每个类都可以将 Object 作为超类 所有类都直接或者间接的继承自该类 换句话说 该类所具备的方法 所有类都会有一份 toString 作用 以良好的格式 更方便的展示对象中的属性值 重
  • c++ Json库读取和写入json文件

    include json include writer h include json include reader h include
  • Fabric中的“账户”体系

    本文的联盟链是以Fabric为例 本文中transaction翻译成事务 而非交易 联盟链相对于公链 最大的不同在于 联盟链上的数据不是对所有人都公开的 只有联盟内的成员才可以访问 写入链上数据 第二个重要的区别 联盟链不发币 所以联盟链里
  • WSL安装与使用(Ubuntu22.04)

    文章目录 概要 WSL介绍 WSL安装 安装环境 安装方式一 命令行安装 不推荐 可能出现奇怪的问题 安装方式二 通过控制面板安装 WSL 安装Ubuntu22 04 通过Microsoft Store Ubuntu更换镜像源 进入Ubun
  • I2C接口与SPI和UART接口的区别

    一 SPI I2C UART通信速率比较 SPI gt I2C gt UART 1 同步通信 gt 异步通信 2 同步通信时必须有一根时钟线连接传输的两端 3 都是串行通信方式 并行通信用于内部存储间的通信 如flash 4 适合传输的距离
  • python爬虫(爬取唯品会)

    import json import requests from bs4 import BeautifulSoup from selenium import webdriver from time import sleep class Vi
  • 磁盘设备类型获取函数

    将该部分内容保存到 cpp文件中可直接编译运行 用于辨别驱动器的类型 define MEDIA INFO SIZE sizeof GET MEDIA TYPES 15 sizeof DEVICE MEDIA INFO define IOCT
  • JAVA获取上一年的日期_java获取日期,前一年,前一月,前一周

    SimpleDateFormat format new SimpleDateFormat yyyy MM dd HH mm ss Calendar calendar Calendar getInstance 现在日期 String now
  • vue区分单双击事件

    基本思路 利用setTimeout gt 200 使单击事件在200s后再执行 如果200s内触发了双击事件 则使用clearTimeout this timeOut 清除该计时器 取消单击事件的执行 执行双击事件 代码如下 定义变量 da
  • 每日一练——Python基础(七)

    请设计一个好友管理系统 每个功能都对应一个序号 用户可根据提示 请输入您的选项 选择序号执行相应的操作 包括 1 添加好友 用户根据提示 请输入要添加的好友 输入要添加好友的姓名 添加后会提示 好友添加成功 2 删除好友 用户根据提示 请输
  • Accurate Scale Estimation for Robust Visual Tracking 学习笔记:

    Accurate Scale Estimation for Robust Visual Tracking DSST学习笔记 尺度变化是跟踪中比较基础和常见的问题 目标变小 跟踪器就会吸收大量没有用的背景信息 目标过大 跟踪器就会丢失很多特征
  • HDFS的block和切片(split)的联系和区别

    lt 1 gt 联系 HDFS的block和切片 split 的大小相等 lt 2 gt 区别 1 HDFS存储数据在数据节点上 block是数据节点储存数据的一个个单位 2 split是把block切分而成的虚拟定义 3 split是Ma
  • 华为机试-HJ1 字符串最后一个单词的长度-C语言、python

    刷题第一步 熟悉输入输出及基本套路 前言 题目描述 C语言 题解1 fgets 题解2 scanf 题解3 gets python 题解1 题解2 参考解析 方法一 使用split 直接返回长度 方法二 逐位遍历找空格 前言 本文主要用于个
  • Docker中成功安装修罗Xiunobbs论坛步骤

    组成 php7 mysql5 7 xiunobbs4 04 nginx 1 Pull镜像 docker pull nginx docker pull docker io centos mysql 57 centos7 docker pull