一个轻量级的企业知识分享与团队协同软件,可用于快速构建企业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为你上面看到的密码,第四行 wenlong 为要修改的密码,均自行修改
mysql -u root -ppasswd
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=4;
mysql> set password=password("wenlong");
mysql> exit;
#Debian、Ubuntu系统,第一行登录数据库的时候直接Enter跳过,第二行 wenlong 为要修改的密码,自行修改
mysql -u root -p
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('wenlong'), 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/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址
wget -N --no-check-certificate https://www.fdfgt.cn/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
配置Caddy:
#以下全部内容是一个整体,请修改域名和反代端口后一起复制到SSH运行!
echo "www.fdfgt.cn {
gzip
tls admin@fdfgt.cn
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
就可以打开域名进行访问了。
有疑问加站长微信联系(非本文作者)