前言:有朋友问我上次你推荐的那个语雀文档,好用是好用但是它现在流量,一点都不良心。有木有可以自建的方案,我当时回复的是,暂时还没有,现在我在最大的交流平台GitHub上面看到了一个比较好的方案,我已经推荐给他了。现在我也和大家分享。
介绍: MM-Wiki 一个轻量级的企业知识分享与团队协同软件,可用于快速构建企业 Wiki 和团队知识分享平台。部署方便,使用简单,帮助团队构建一个信息共享、文档管理的协作环境。
特点
- 部署方便,基于 golang 编写,只需要下载对于平台下二进制文件执行即可。
- 快速安装程序, 提供方便的安装界面程序,无需任何手动操作。
- 独立的空间,空间是一组文档的集合,一般为公司部门或者团队,空间下的文档相互独立。空间可根据需求设置空间访问级别。
- 支持 markdown 语法写作,支持附件上传。
- 完善的系统权限管理,系统可以自定义角色,并为不同角色授予不同的权限。
- 集成统一登录,本系统支持通过外部系统认证用户, 比如与公司的 LDAP 登录融合。具体请看登录认证功能。
- 邮件通知功能,当开启邮件通知,文档更改会通知所有关注该文档的用户。
- 文档具有分享和下载功能,目前只支持下载 MarkDown 源文件。
- 支持文档全文搜索
在线快速了解
- mm-wiki企业知识分享与团队协同软件, 用户名:admin, 密码:mmwiki, 点击不了请复制http://wiki.cifaz.com/
注意
自建服务需要有服务器,个人推荐使用腾讯云的轻量应用服务器
来自腾讯云官网:轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、小程序/小游戏、电商、云盘/图床以及各类开发测试和学习环境,相比普通云服务器更加简单易用,提供高带宽流量包并以套餐形式整体售卖基础云资源,将热门开源软件融合打包实现一键构建应用,是您使用腾讯云的最佳入门途径。
安装
1、安装Mysql
宝塔的,直接在宝塔上安装Mysql,安装过的可以跳过,直接进行下一步,没有安装的可以手动安装下。
代码语言:txt复制#CentOS 6系统
rpm -ivh http://repo.mysql.com/mysql57-community-release-el6.rpm
yum install mysql-community-server -y
service mysqld start
chkconfig mysqld on
#CentOS 7系统
rpm -ivh http://repo.mysql.com/mysql57-community-release-el7.rpm
yum install mysql-community-server -y
systemctl start mysqld
systemctl enable mysqld
#Debian/Ubuntu系统
apt update
apt install mysql-server -y
如果Debian或Ubuntu在安装期间有弹出窗口要你输入密码就设置一个,没有的话密码就是空格。
对于CentOS安装MySQL 5.7的时候会生成一个随机密码,使用命令查看:
代码语言:txt复制grep "password" /var/log/mysqld.log
[Note] A temporary password is generated for root@localhost: ******
然后接下来CentOS和安装期间没要求输入密码的Debian或Ubuntu,就需要修改数据库密码:
代码语言:txt复制#CentOS系统,第一行passwd为你上面看到的密码,第四行moerats为要修改的密码,均自行修改
mysql -u root -ppasswd
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=4;
mysql> set password=password("moerats");
mysql> exit;
#Debian、Ubuntu系统,第一行登录数据库的时候直接Enter跳过,第二行moerats为要修改的密码,自行修改
mysql -u root -p
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('moerats'), PLUGIN='mysql_native_password' WHERE USER='root';
mysql> exit;
最后修改过密码的还需要重启数据库:
代码语言:txt复制#CentOS 6
service mysqld restart
#CentOS 7
systemctl restart mysqld
#Debian和Ubuntu
systemctl restart mysql
此时Mysql算是安装完成了。
2. 安装mm-wiki
Github地址:https://github.com/phachon/mm-wiki
打开 https://github.com/phachon/mm-wiki/releases 找到对应平台的版本下载编译好的压缩包
代码语言:javascript复制Linux 平台
```
# 创建目录
$ mkdir mm_wiki
$ cd mm_wiki
# 以 linux amd64 为例,下载最新版本压缩包
# https://github.com/phachon/mm-wiki/releases 自行下载 wget http://
# 解压到当前目录
$ tar -zxvf mm-wiki-linux-amd64.tar.gz
# 进入程序安装目录
$ cd install
# 执行安装程序,默认端口为 8090,指定其他端口加参数 --port=8087
$ ./install
$ ./install--port=8087 #修改的范例
# 浏览器访问 http://ip:8090 进入安装界面,完成安装配置
# Ctrl C 停止 install 程序, 启动 MM-Wiki 系统
$ cd ..
$ ./mm-wiki --conf conf/mm-wiki.conf
# 浏览器访问你监听的 ip 和端口
# 开始 MM-Wiki 的使用之旅吧!
```
Windows 平台
```
# 以 windows amd64 为例,下载最新版本压缩包
# https://github.com/phachon/mm-wiki/releases 自行下载
# 手动解压到当前目录
# 进入 install 目录
# 双击点开 install.exe 文件
# 浏览器访问 http://ip:8090 进入安装界面,完成安装配置
# 关闭刚刚点开的 install 窗口
# 使用 windows 命令行工具(cmd.exe)进入程序根目录
$ 执行 mm-wiki.exe --conf conf/mm-wiki.conf
# 浏览器访问你监听的 ip 和端口
# 开始 MM-Wiki 的使用之旅吧!
```
Docker 部署# 数据库准备
# 导入docs/databases/data.sql和docs/databases/table.sql(注:需取消注释data.sql中第一条管理用户插入语句)
# 两种部署方式可用
# DockerHub(推荐)
# 从DockerHub下载v0.1.7版本
# 新增配置文件,数据存放目录以及Mysql数据库配置在mm-wiki.conf配置文件中设置
# 挂载配置文件及数据存放目录,启动端口为8080
# docker run -d -p 8080:8081 -v /data/mm-wiki/conf/:/opt/mm-wiki/conf/ -v /data/mm-wiki/data:/data/mm-wiki/data/ --name mm-wiki eahom/mm-wiki:v0.1.7
# 本地构建最新代码
# 构建项目镜像
# docker build -t mm-wiki-image .
# 新增配置文件,数据存放目录以及Mysql数据库配置在mm-wiki.conf配置文件中设置
# 挂载配置文件及数据存放目录,启动端口为8080
# docker run -d -p 8080:8081 -v /data/mm-wiki/conf/:/opt/mm-wiki/conf/ -v /data/mm-wiki/data/:/data/mm-wiki/data/ --name mm-wiki mm-wiki-image
```
2.系统防火墙放开
如果是和博主一样使用的腾讯云轻量应用服务器需要在控制台放开。
CentOS系统,访问不了安装界面的话,还需要开启8090端口,开启如下:
代码语言:txt复制#CentOS 6
iptables -I INPUT -p tcp --dport 8090 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7
firewall-cmd --zone=public --add-port=8090/tcp --permanent
firewall-cmd --reload
3. 域名访问
- 可用 nginx 配置反向代理
upstream frontends {
server 127.0.0.1:8088; # MM-Wiki 监听的ip:port
}
server {
listen 80;
server_name wiki.intra.xxxxx.com www.wiki.intra.xxxxx.com;
location / {
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_pass http://frontends;
}
# 静态资源交由nginx管理
location /static {
root /www/mm-wiki; # MM-Wiki 的根目录
expires 1d;
add_header Cache-Control public;
access_log off;
}
}
- 使用宝塔面板的伙伴。
点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL填入http://127.0.0.1:8090,再启用反向代理,然后点击SSL,申请免费的Let's Encrypt证书,并强制HTTPS。
系统预览
1.安装
2.登录
3.系统
4.空间文档
5.编辑文档
6.文档分享
至此所有教程部分到此结束,mm-wiki还有其他更多的玩法,朋友可以到我博客和我交流
博主站点
博主的个人博客地址是:https://www.hipyt.cn/