使用docker mediawiki,搭建网页wiki

 

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

 

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

 

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

 

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

 

2、为服务器安装docker环境

网上教程一大堆,我安装的是docker-ce,使用的是这个教程:https://blog.csdn.net/bingzhongdehuoyan/article/details/79411479

 

3、下载mysql和mediawiki镜像

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

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

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

 

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

使用docker mediawiki,搭建网页wiki

 

使用docker mediawiki,搭建网页wiki

 

所以根据命令pull下来:

docker pull mysql:5.7
docker 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;

 

使用docker mediawiki,搭建网页wiki

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

 

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

使用docker mediawiki,搭建网页wiki

即添加一个自定义的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 1030:80 -d mediawiki:stable

 

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

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

 

6、使用浏览器登录

在浏览器直接输入

xxx.xxx.xxx.xxx:1030

 

 

使用docker mediawiki,搭建网页wiki

 

 

(待续...)

 

上一篇:php-MediaWiki页脚Viewcount


下一篇:PHP-MediaWiki如何将文件上传到服务器