1.安装docker
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
2.使用docker拉取镜像
# 拉取mysql镜像
docker pull mysql:5.7.29
# 拉取mediawiki镜像
docker pull mediawiki:1.34
# 拉取parsoid镜像
docker pull thenets/parsoid:0.11
3.运行parsoid容器
# --add-host是给容器的/etc/hosts文件添加ip别名配置
docker run --name parsoid --add-host mediawiki:172.17.0.4 -p 8000:8000 -e PARSOID_DOMAIN_mediawiki=http://mediawiki/api.php -d thenets/parsoid:0.11
此时在浏览器下输入你的ip地址:8000,应该可以看到如下界面:
如果看不到可以检查一下端口有没有开放,或者直接关闭防火墙
4.运行mysql容器
docker run --name mysql -p 3306:3306 -v /data/mediawiki/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=190539 -d mysql:5.7.29
这里的MYSQL_ROOT_PASSWORD指定的是mysql的root用户的密码
启动完成后可以进入mysql容器:
docker exec -it mysql /bin/bash
输入命令连接mysql:
mysql -uroot -p123456
连接成功就说明mysql没有什么问题
5.启动mediawiki
docker run --name mediawiki -v /data/mediawiki/html:/var/www/html -v /data/mediawiki/php:/usr/local/etc/php -p 80:80 --link mysql:mysql --link parsoid:parsoid -d mediawiki:1.35
浏览器访问你的ip,正常情况下应该出现以下界面:
6.设置mediawiki
点击上图中的set up the wiki
前面的页面直接下一步,到这里需要修改主机和填写数据库密码,这里直接填mysql,数据库密码是之前启动mysql设置的密码
剩下的就没有什么重要的了,自己配置就可以了
完成配置之后会自动下载一个LocalSettings.php
需要将这个文件导入到mediawiki容器中
docker cp LocalSettings.php mediawiki:/var/www/html/
浏览器再访问ip地址就是mediawiki的首页了
7.mediawiki文件上传配置
首先要进入容器进行:
docker exec -it mediawiki /bin/bash
7.1开启文件上传
LocalSettings.php
#开启文件上传功能
$wgEnableUploads = true;
7.2修改文件上传的支持类型
includes/DefaultSettings.php
#修改支持上传的文件类型
$wgFileExtensions = [ 'png', 'gif', 'jpg', 'jpeg', 'webp' ];
7.3修改上传文件大小限制
7.3.1修改mediawiki的文件上传配置
includes/DefaultSettings.php
# 文件大小超出限制是否给出警告信息
$wgUploadSizeWarning = false;
# 只能能够上传文件的最大size
$wgMaxUploadSize = 1024 * 1024 * 100; # 100MB
7.3.2修改php的文件上传配置
在/var/www/html目录下创建一个info.php文件,然后:
echo "<?php phpinfo(); ?>" >> /var/www/html/info.php;
打开浏览器访问 你的ip/info.php ,在显示页面找到如下内容:
第一个是php配置文件默认加载路径,第二个是php配置文件实际加载路径,因为实际加载路径为none,所以php使用的是默认加载路劲下的php.ini文件,进入这个目录
cd /usr/local/etc/php
我的这个目录下没有php.ini文件
将php.ini-development重命名为php.ini
mv php.ini-development php.ini
修改php.ini(需要重启mediawiki容器才能生效)
upload_max_filesize = 8M
post_max_size = 8M
mediawiki会取DefaultSettings.php中的$wgMaxUploadSize、php.ini中的upload_max_filesize和php.ini中的post_max_size的最小值作为最终的上传文件大小限制。
8.mediawiki配置可视化编辑器VisualEditor
8.1 配置parsoid
查看mediawiki容器的ip:
docker inspect mediawiki
进入parsoid容器:
docker exec -it parsoid /bin/bash
将mediawiki的ip配置别名:
如果parsoid重启这里的hosts文件就会丢失修改,需要重新配置
echo "127.17.0.4 mediawiki" >> /etc/hosts
parsoid服务的配置文件在/var/lib/parsoid/config.yaml,按照上面的步骤做这里就不需要修改。
8.2 配置mediawiki
LocalSettings.php
wfLoadExtension( 'VisualEditor' );
// Enable by default for everybody
$wgDefaultUserOptions['visualeditor-enable'] = 1;
// Optional: Set VisualEditor as the default for anonymous users
// otherwise they will have to switch to VE
// $wgDefaultUserOptions['visualeditor-editor'] = "visualeditor";
// Don't allow users to disable it
$wgHiddenPrefs[] = 'visualeditor-enable';
// OPTIONAL: Enable VisualEditor's experimental code features
#$wgDefaultUserOptions['visualeditor-enable-experimental'] = 1;
$wgVirtualRestConfig['modules']['parsoid'] = array(
// URL to the Parsoid instance
// Use port 8142 if you use the Debian package
'url' => 'http://parsoid:8000',
// Parsoid "domain", see below (optional)
'domain' => 'mediawiki',
// Parsoid "prefix", see below (optional)
'prefix' => 'mediawiki'
);
之后再访问mediawiki,点击编辑就可以使用VisualEditor编辑了
9.mediawiki添加公式支持
10.mediawiki配置视频播放支持
11.修改登陆注册框的提示语
/var/www/html/languages/i18n/zh-hans.json,在这个文件里搜,改相应的文字就好了
12.docker设置自动重启
docker update --restart=always 容器名
13.设置时间,linux下的时区默认是有问题的
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime