站点图标 嘟嘟

一个轻量级的企业Wiki和团队知识分享平台:MM-Wiki搭建教程

说明:很早前有小伙伴问了下有没有团队wiki程序,最近好像看到了个MM-Wiki,感觉还不错,一个轻量级的企业知识分享与团队协同软件,可用于快速构建企业Wiki和团队知识分享平台。部署方便,使用简单,帮助团队构建一个信息共享、文档管理的协作环境,安装也是很简单的,毕竟是基于Golang,这里就介绍下。

截图

请输入图片描述


特点

  • 部署方便,基于golang编写,只需要下载对于平台下二进制文件执行即可。
  • 快速安装程序, 提供方便的安装界面程序,无需任何手动操作。
  • 独立的空间,空间是一组文档的集合,一般为公司部门或者团队,空间下的文档相互独立。空间可根据需求设置空间访问级别。
  • 完善的系统权限管理,系统可以自定义角色,并为不同角色授予不同的权限。
  • 集成统一登录,本系统支持通过外部系统认证用户, 比如与公司的LDAP登录融合。具体请看登录认证功能。
  • 邮件通知功能,当开启邮件通知,文档更改会通知所有关注该文档的用户。
  • 文档具有分享和下载功能,目前只支持下载MarkDown源文件。

安装

Github地址:https://github.com/phachon/mm-wiki

1、安装Mysql
你有宝塔的,直接在宝塔上安装Mysql,安装过的可以跳过,直接进行下一步,没有安装的可以手动安装下。

#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

如果DebianUbuntu在安装期间有弹出窗口要你输入密码就设置一个,没有的话密码就是空格。

对于CentOS安装MySQL 5.7的时候会生成一个随机密码,使用命令查看:

grep "password" /var/log/mysqld.log
#大致信息,******为密码
[Note] A temporary password is generated for root@localhost: ******

然后接下来CentOS和安装期间没要求输入密码的DebianUbuntu,就需要修改数据库密码:

#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;

最后修改过密码的还需要重启数据库:

#CentOS 6
service mysqld restart
#CentOS 7
systemctl restart mysqld
#Debian和Ubuntu
systemctl restart mysql

此时Mysql算是安装完成了。

2、安装mmwiki
先找到最新版本的二进制,地址→传送门,这里使用Linux VPS搭建,所以找到Linux版本即可,32位的为38664位的为amd64

使用命令:

#创建并进入wiki目录
mkdir /root/mmwiki
cd $_
#下载最新版二进制,这里为64位系统,32位自行替换二进制链接
wget https://github.com/phachon/mm-wiki/releases/download/v0.1.3/mm-wiki-linux-amd64.tar.gz
#解压并删除压缩包
tar -zxvf mm-wiki-linux-amd64.tar.gz && rm -rf mm-wiki-linux-amd64.tar.gz
#安装程序,这里运行端口为9999,自行修改
install/install --port=9999

接下来访问ip:9999进入安装配置,如果你使用ip访问,监听地址填0.0.0.0,用域名的话,填127.0.0.1即可,监听端口可以继续填9999

对于CentOS系统,访问不了安装界面的话,还需要开启9999端口,开启如下:

#CentOS 6
iptables -I INPUT -p tcp --dport 9999 -j ACCEPT
service iptables save
service iptables restart

#CentOS 7
firewall-cmd --zone=public --add-port=9999/tcp --permanent
firewall-cmd --reload

像阿里云等,还需要额外在安全组开放端口。

配置好了后,再使用Ctrl+C断开运行,此时程序还没启动,接下来我们还需要启动下。

先新建Systemd配置文件,只适用于CentOS 7Debian 8+Ubuntu 16+等。

#修改下mmwiki源码路径即可,然后一起复制到SSH运行
cat > /etc/systemd/system/mmwiki.service <<EOF
[Unit]
Description=mmwiki
After=network.target
Wants=network.target

[Service]
Type=simple
PIDFile=/var/run/mmwiki.pid
WorkingDirectory=/root/mmwiki
ExecStart=/root/mmwiki/mm-wiki --conf conf/mm-wiki.conf
RestartPreventExitStatus=23
Restart=always

[Install]
WantedBy=multi-user.target
EOF

启动并开机自启:

systemctl start mmwiki
systemctl enable mmwiki

其它系统直接使用命令启动:

nohup /root/mmwiki/mm-wiki --conf conf/mm-wiki.conf &

此时访问地址就是ip:9999,即你安装的时候,填的监听端口9999或其它。如果你想设置域名,继续往下面看。

域名访问

反代可以用NginxApacheCaddy,这里只说宝塔和Caddy。如果你网站有宝塔,就可以使用宝塔进行反代,如果没有,建议使用第2种的Caddy反代,配置很快。

1、宝塔面板
点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL填入http://127.0.0.1:9999,再启用反向代理,然后点击SSL,申请免费的Let's Encrypt证书,并强制HTTPS

2、使用Caddy
安装Caddy

wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://toot.su/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh

配置Caddy

#以下全部内容是一个整体,请修改域名和反代端口后一起复制到SSH运行!
echo "toot.su {
 gzip
 tls admin@moerats.com
 proxy / 127.0.0.1:9999 {
    header_upstream Host {host}
    header_upstream X-Real-IP {remote}
    header_upstream X-Forwarded-For {remote}
    header_upstream X-Forwarded-Port {server_port}
    header_upstream X-Forwarded-Proto {scheme}
  }
}" > /usr/local/caddy/Caddyfile

tls参数会自动帮你签发ssl证书,如果你要使用自己的ssl,改为tls /root/xx.crt /root/xx.key即可。后面为ssl证书路径。

启动Caddy:

/etc/init.d/caddy start

就可以打开域名进行访问了。