【Docker项目实战】使用Docker部署mediawiki文档系统
一、mediawiki介绍
1.1 mediawiki简介
MediaWiki 是一个用 PHP 编写的免费开源 wiki 软件包。它是维基百科和其他维基媒体项目的平台,每月有数亿人使用。MediaWiki 已本地化为 350 多种语言,其可靠性和强大的功能集为其赢得了庞大且充满活力的第三方用户和开发人员社区。
1.2 mediawiki特点
- 功能丰富且可扩展,在 wiki 上并具有数百个扩展;
- 可扩展并适用于小型和大型站点;
- 安装简单,适用于大多数硬件/软件组合;和
- 有您的语言版本。
二、本地环境介绍
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为centos7.6。
hostname | IP地址 | 操作系统版本 | Docker版本 |
---|---|---|---|
jeven | 192.168.3.166 | centos 7.6 | 20.10.17 |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署mediawiki工具。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2024-02-23 04:29:55 CST; 3 days ago
Docs: https://docs.docker.com
Main PID: 11772 (dockerd)
Tasks: 75
Memory: 9.0G
CGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
[root@jeven ~]# docker compose version
Docker Compose version v2.6.0
四、下载mediawiki镜像
从docker hub镜像仓库中拉取mediawiki镜像
[root@jeven ~]# docker pull mediawiki:1.32
1.32: Pulling from library/mediawiki
Digest: sha256:349aeb8014b58754ac25ea022ee0c26e399ce18d756ecada7579c3f39d52c5a1
Status: Image is up to date for mediawiki:1.32
docker.io/library/mediawiki:1.32
五、部署mediawiki应用
5.1 创建部署目录
创建部署目录/data/mediawiki
mkdir -p /data/mediawiki/{data,uploads} && cd /data/mediawiki
目录授权
chmod -R 777 /data/mediawiki/
5.2 编辑mediawiki部署文件
本次实践部署使用docker compose方式,编辑docker-compose.yaml部署文件。
version: "3"
services:
# 如果你使用数据库,可以参考下面的地址,或者我文章中标记有 Docker 的历史文章
# https://docs.docker.com/samples/library/mediawiki/
mediawiki:
restart: always
image: mediawiki:1.32
labels:
- "traefik.enable=true"
- "traefik.frontend.rule=Host:mediawiki.lab.io"
- "traefik.frontend.passHostHeader=true"
- "traefik.frontend.entryPoints=http,https"
# networks:
# - traefik
expose:
- 80
ports:
- 7880:80
volumes:
# 默认上传位置
- ./uploads/images:/var/www/html/images
# 默认 SQLite 储存位置
- ./data:/var/www/data
# 当初始化安装完毕之后,将配置文件下载并保存到下面的位置,
# 并去掉注释,重启应用
# - ./LocalSettings.php:/var/www/html/LocalSettings.php
5.3 创建mediawiki容器
使用docker-compose.yaml文件创建mediawiki容器
[root@jeven mediawiki]# docker compose up -d
[+] Running 2/2
⠿ Network mediawiki_default Created 0.0s
⠿ Container mediawiki-mediawiki-1 Started 0.7s
5.4 检查mediawiki容器状态
检查mediawiki容器状态,确保mediawiki容器正常启动。
[root@jeven mediawiki]# docker compose ps
NAME COMMAND SERVICE STATUS PORTS
mediawiki-mediawiki-1 "docker-php-entrypoi…" mediawiki running 0.0.0.0:7880->80/tcp, :::7880->80/tcp
六、mediawiki初始化安装
6.1 进入mediawiki初始页
访问地址:http://192.168.3.166:6600,将IP替换为自己服务器IP地址,进入进入mediawiki初始页,自定义注册账号和密码。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。
>点击图中所示位置,开始mediawiki的初始化配置。
6.2 选择语言
选择系统语言,默认是中文语言,点击“继续”,开始下一步安装。
6.3 环境检查
将简单检查当前环境是否适合安装MediaWiki,点击“继续”,开始下一步。
6.4 数据库配置
MediaWiki支持多种数据库,如MariaDB、PostgreSQL和SQLite等,这里我们选择轻量级数据库SQLite,完成快速部署。
6.5 设置登录账号
自定义设置登录账号和密码,点击“继续”,下一步。
6.6 开始安装
点击“继续”,开始初始化安装。
完成初始化安装
6.7 复制LocalSettings.php文件
安装程序自动生成了LocalSettings.php文件,会自动在浏览器下载该文件,如果浏览器没有下载,则在该界面手动点击下载LocalSettings.php文件。我们将此文件拷贝到宿主机的部署目录中,使用
docker cp
命令将LocalSettings.php复制到容器的/var/www/html
目录下,与index.php文件都在此目录下。
复制LocalSettings.php文件
docker cp LocalSettings.php mediawiki-mediawiki-1:/var/www/html
重启容器
docker compose restart
6.8 访问mediawiki首页
刷新页面,可以访问到mediawiki首页。
- 点赞
- 收藏
- 关注作者
评论(0)