操作环境与相关配置信息
操作环境
- 操作系统
[root@master apps]# cat /proc/version
Linux version 5.2.2-1.el7.elrepo.x86_64 (mockbuild@Build64R7) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)) #1 SMP Sun Jul 21 04:19:28 EDT 2019
- MySQL软件版本
MySQL-5.7
- MediaWiki软件版本
mediawiki-1.34
配置信息
- 获取当前文件所在路径
[root@master mediawiki]# $PWD
-bash: /var/apps/mediawiki: 是一个目录
- MySQL的工作空间
/var/lib/mysql
- MediaWiki的官方镜像地址
- MediaWiki的工作空间
/var/www/html
软件安装
运行MediaWiki容器
拉取镜像
docker pull mediawiki:1.34
运行MediaWiki容器
docker run --name some-mediawiki -p 8080:80 -d mediawiki:1.34
MediaWiki的访问地址为:
http://localhost:8080/
其访问界面为:
在其首页的提示信息中,我们可以看到,在使用MediaWiki前,我们需要对其进行配置,这里我们选择的是使用MySQL数据库存储MediaWiki数据,因而我们需要配置MySQL的相关信息。
运行MySQL
由于这里需要用到MySQL数据库,因而我们需要先创建一个MySQL的容器,该容器我是使用shell脚本进行编写的,其创建脚本如下:
#!/bin/bash
cur_dir=`pwd`
docker stop mysql
docker rm mysql
docker run --name mysql -v ${cur_dir}/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 --default-authentication-plugin=mysql_native_password --lower-case-table-names=1
在上面的指令中,其含义如下:
MySQL数据库:5.7
账号:root
密码:root
端口号:3306
数据表表名小写
使用MediaWiki连接MySQL
在确定MySQL运行无误后,接下来就是使用MediaWiki连接MySQL了,删掉刚才创建的MediaWiki容器,然后使用下面的指令创建新的容器:
docker run -dit --name mywiki -p 8080:80 --privileged=true --restart=always --link mysql:mysql mediawiki:1.34
再次访问
http://localhost:8080/
地址,此时我们得到如下页面:
点击上图中的链接,此时我们可以看到如下信息:
点击【继续】,进入如下页面:
点击【继续】,我们进入下面的MySQL配置页面
在上面输入MySQL的IP地址,数据库的名称(由于我之前已经操作过一次,所以说数据库与里面的数据都是现成的)用户名以及密码,点击【继续】,进入如下页面:
点击上图中的【重新生成LocalSettings.php】连接,进入如下页面
点击【继续】,进入wiki工作空间配置页面
我们可以按照上图中的配置,进行相应的填写。填写完毕后,直接点击【继续】,进入LocalSettings.php下载页面。
LocalSettings.php属于MediaWiki的配置文件,我们只有将该配置文件放入MediaWiki的工作空间中,其配置才会生效,由于我们之前已经得知了MediaWiki的工作空间地址,所以说我们可以执行如下指令:
docker cp LocalSettings.php mywiki:/var/www/html/
之后我们可以访问如下地址:
http://192.168.75.130:8080/index.php/%E9%A6%96%E9%A1%B5
其界面展示如下:
使用docker-compose
为了将MediaWiki中的数据长效保存,使其不至于由于容器的删除而数据丢失,因而我们需要将MediaWiki容器中的工作空间拷贝到本地目录中。
docker cp mywiki:/var/www/html /var/apps/mediawiki/data
由于我主要是通过docker-compose来安装,因而此处我直接将本地的docker-compose公布如下:
version: '3'
services:
# 数据库
mediawiki-mysql-service:
image: mysql:5.7
container_name: mediawiki-mysql-service
volumes:
- $PWD/mysql/data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
TZ: Asia/Shanghai
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
--default-authentication-plugin=mysql_native_password
--lower-case-table-names=1
--default-time_zone='+8:00'
--explicit_defaults_for_timestamp=true
# mediawiki服务
mediawiki-service:
image: mediawiki:1.34
links:
- mediawiki-mysql-service
container_name: mediawiki-service
volumes:
- $PWD/data:/var/www/html
ports:
- 12001:80
restart: always
之后通过如下指令启动项目即可:
docker-compose up