说明:很早前有小伙伴问了下有没有团队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
如果Debian
或Ubuntu
在安装期间有弹出窗口要你输入密码就设置一个,没有的话密码就是空格。
对于CentOS
安装MySQL 5.7
的时候会生成一个随机密码,使用命令查看:
grep "password" /var/log/mysqld.log
#大致信息,******为密码
[Note] A temporary password is generated for root@localhost: ******
然后接下来CentOS
和安装期间没要求输入密码的Debian
或Ubuntu
,就需要修改数据库密码:
#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
位的为386
,64
位的为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 7
、Debian 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
或其它。如果你想设置域名,继续往下面看。
域名访问
反代可以用Nginx
、Apache
、Caddy
,这里只说宝塔和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
就可以打开域名进行访问了。