mediawiki mysql port_使用docker mediawiki,搭建网页wiki

我只是想做一个大家都能访问的wiki,用于成员间共享和维护一些文档。找到了docker的mediawiki,这里记录一下我怎么搭的吧。

首先,如果你在一个局域网里,有公用的可以访问的服务器,那可以直接在那上面搭建,比如我们实验室的服务器,只要在校园网下,都可以访问。不过这篇博客是在我的阿里云的服务器上实现的,我租的是阿里云轻量应用型服务器,原因是便宜。

mediawiki需要有一些mysql数据库的知识和php的知识,为此我还花了一天学习了这两个东西。我是在菜鸟教程的网站学习的。如果只是想简单操作,其实学习起来并不难。

1、ssh登录服务器(服务器是ubuntu16.04)

2、为服务器安装docker环境

3、下载mysql和mediawiki镜像

去docker hub上找一下这两个镜像

MySQL:https://hub.docker.com/_/mysql

media:https://hub.docker.com/_/mediawiki

然后选择合适的版本,我使用的是这两个:

e7559743417a55bba5f53e4287673d49.png

fa75f3587a43c8a9a304ce172f531fb9.png

所以根据命令pull下来:

docker pull mysql:5.7docker pull mediawiki:stable

4、安装mysql容器(涉及一点mysql知识,最好先学习一下)

docker run --name mysql_wiki -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

解释一下上面的命令:

MYSQL_ROOT_PASSWORD=123456 表示生成的容器里的root账户密码是123456

-p 表示端口映射,mysql默认端口是3306,然后你要远程连接docker内部的mysql,所以需要把docker内部的3306端口映射到服务器的某个端口,我自己随便映射到了服务器的3307端口了。

mysql:5.7 表示你的镜像,写成镜像id也可。

然后进入你的mysql的容器,配置远程连接

docker exec -it mysql_wiki bash

注意这里进入并不能attach命令进入,我一attach,终端就卡死了,我也不知道为啥,你知道的话,可以留个言。

进入容器后,登录root

mysql -u root -p

进入mysql数据库

use mysql

创建一个可以远程连接的root账户

grant all privileges on *.* to 'root'@'%';

刷新一下权限

flush privileges;

查看一下是否生效

SELECT User,Host FROM mysql.user;

42098a48349a4ac8d2e9d6ea5d5b1115.png

上面可以看到有两个root,一个是localhost,用于本地连接,一个是%,则是用于远程连接。

然后将你的阿里云服务器的防火墙的3307端口打开

6f448fe549704e9fc9fb1d4fa9c60501.png

即添加一个自定义的3307端口

最后在自己的电脑上远程连接一下你阿里云上的mysql(自己的电脑要先装好mysql环境)

mysql -h xxx.xxx.xxx.xxx -P 3307 -u root -p

xxx.xxx.xxx.xxx表示你的服务器的ip地址

-P 表示映射的端口

连接成功,说明的mysql的环境已经搞好了。

5、安装mediawiki容器

docker run --name mywiki --link mysql_wiki:mysql -p 999:80 -d mediawiki:stable

--link mysql_wiki:mysql  表示mywiki这个容器将会和mysql_wiki这个容器进行通信,并以mysql为别称。

当然别忘了开放你的端口,我使用的是999端口。

6、使用浏览器登录

在浏览器直接输入

xxx.xxx.xxx.xxx:999

d23c23018e4c69aac5dda03603ba0599.png

7、点击图上的set up the wiki, 进行mediawiki的安装

先选择语言(我选择中文)

e3698b3eae61a312b3bc5251e83983f6.png

然后检查环境

05c9400eba00197534d82e5e6d6a400e.png

因为用的docker,所有环境都已经装好了

连接数据库

1051498a58efe771252951be7a5877b6.png

xxx.xxx.xxx.xxx是你的服务器ip,3307是刚刚设置的mysql端口

之后按照它的提示设置安装就好了

最后的样子

fd12130aec94ae21b1bc2a1a9fc09cea.png

接着将下载的LocalSetting.php上传服务器,然后再拷贝进入mywiki容器中的/var/www/html/ 文件夹下(上传服务器使用scp命令,docker传文件使用docker cp)

然后你再在浏览器中输入xxx.xxx.xxx.xxx:999,就可以看到你的页面了。。。

8、配置mediawiki

更改左上角的logo

刚刚的LocalSetting.php中

84b283ac9705f60c362bed55c1e3b28a.png

这里的resources文件夹就在/var/www/html/文件下

我们自己上传一个135*135的三通道图像,png格式,然后放在assets文件夹下,然后更改LocalSetting.php的这个wgLogo变量,指向自己的logo图片

然后重新打开网页,就发现logo已经更改。

50c9e73f78f7ecd705c1cb2424cc3540.png

右上角登录刚刚设置的管理员账号

设置游客不能编辑,注册用户可以编辑

LocalSetting.php添加这两行

249adfe1b505cba7c693fa4c14d3b203.png

添加上传文件功能

这个功能很重要,比如你在文章中要添加图片时,要先上传图片,然后添加

4b72dbbe846055954b5f4bfa6a6222ac.png

将这个变量改成true即可

设置上传文件大小限制

在上传文件页面中,我们发现最大上传只有2M。所以要改,我们改成1G

e6423fff57717765d559367ce584c713.png

首先我们去更改php.ini文件

在容器中输入 php --ini命令,去查找php.ini在哪

4eda1c91def1dae7fb57951515ad6aed.png

不过似乎并没找到在哪,但是我们可以在/usr/local/etc/php/文件夹下找到这些东西

7ba370c172fdba6de8150a05f13835ba.png

0cdfdc72413211e0d7f312f06e798cc3.png

所以我们直接 cp php.ini-production php.ini

然后编辑php.ini文件

f1fea0df1f156bebebf701d686fb4310.png

79b42d68b58f87e6a8922694edb4c562.png

然后LocalSetting.php添加这两行

1b49ca2949698f32d7cd522a6ad98de4.png

注意这里的单位是字节,1073741824=1024*1024*1024

aa41486850cea4cd557390caebf3dd51.png

即默认是无限制大小

最后 service apache2 restart 重启web服务

可能会掉出容器,再start一下容器就好了

这时候再登陆wiki页面,上传文件就可以有1G了

0cb9d8cd89c2fc3f556b7a7093c248c3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值