当前位置: 首页 > 工具软件 > MM-Wiki > 使用案例 >

MM-Wiki部署方案

温成济
2023-12-01

MM-Wiki部署方案

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

1 安装前准备

1.1下载编译好的压缩包mm-wiki安装包

在https://github.com/phachon/mm-wiki/releases下载编译好的压缩包mm-wiki-linux-amd64.tar.gz

1.2 把下载好的压缩包上传到/home目录下

1.3 创建mm-wiki的文档保存目录

mkdir -p /opt/mm_wiki/mm_wiki_data

1.4 防火墙开启端口并重新加载,其中,3306是数据库的端口,8087是mm-wiki的端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=8087/tcp --permanent# firewall-cmd --reload

2 MySQL安装与配置

2.1 系统用户创建

创建组

groupadd -g 270 mysql

创建用户

useradd -u 271 -g mysql -s /bin/bash -d /home/mysql -m mysql

2.2 创建相关目录

创建mysql目录

mkdir -p /opt/mysql/{data,binlog,5.7.18}

2.3 检查是否已有mysql或mariadb组件

rpm -qa | grep mysql# rpm -qa | grep mariadb

如已存在mysql-libs或mariadb-libs

卸载已经存在的mysql-libs或mariadb-libs

rpm -e mysql-libs-5.1.71-1.el6.x86_64 –nodeps# yum remove -y mariadb-libs-5.5.56-2.el7.x86_64

2.4 上传mysql,切换到存放目录,并解压到指定路径

tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz  -C /opt/mysql/5.7.18/ --strip-component=1

修改配置文件

vi /etc/my.cnf

输入i,进入insert状态

直接复制粘贴以下内容至配置文件中

1

[mysqld_safe]
log-error = /opt/mysql/mysqld.log
[mysqld]
basedir = /opt/mysql/5.7.18
datadir = /opt/mysql/
dataport = 3306
server_id = 1
socket = /tmp/mysqld.sock
[client]socket = /tmp/mysqld.sock

按Esc,再输入:wq保存退出

2.5 配置mysql启动服务

进入support-files目录下,将mysql.server文件复制至init.d目录下,并重命名为mysqld

cd /opt/mysql/5.7.18/support-files/# cp mysql.server /etc/init.d/mysqld

修改配置文件,进入输入i键盘进入insert状态

vi /etc/init.d/mysqld

找到对应路径修改内容,切勿将以下内容直接复制粘贴进配置文件

basedir=/opt/mysql/5.7.18
datadir=/opt/mysql/data
lockdir='/opt/mysql'
lock_file_path="$lockdir/mysqld.loc"

2.6 授权目录和文件

chown mysql.mysql -R /opt/mysql# chown mysql.mysql -R /etc/my.cnf# chown mysql.mysql -R /etc/init.d/mysqld

2.7 全局环境变量配置

vi /etc/profile

输入i键盘进入insert状态,在最后添加

 Set for mysql databaseexport MYSQL_HOME=/opt/mysql/5.7.18PATH=$PATH:$HOME/bin:$MYSQL_HOME/bin

更改完输入:wq保存退出

生效环境变量

source /etc/profile

2.8 设置开机启动MySQL

systemctl enable mysqld

2.9 配置mysql

切换账户

 su mysql

初始化数据

 mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql

记录初始化产生的临时密码,以便登陆修改账号密码。

启动mysql

/etc/init.d/mysqld start

测试登录mysql,输入临时密码登陆MySQL

mysql -uroot -hlocalhost -p

root密码修改

alter user 'root'@'localhost' identified by 'Amy66sql#6';

刷新权限

flush privileges;

添加一个新用户,并赋予最大权限、可被任何远程登录

GRANT ALL PRIVILEGES ON *.* TO 'cyphax'@'%' IDENTIFIED BY 'K*dfds5.@5A' WITH GRANT OPTION;

退出登录

\q
exit

2.10 切换mysql用户并输入密码登录mysql

su mysql
mysql -uroot -p

2.11 创建数据库

创建数据库 create database 数据库名称

create database db_mm_wiki;

2.12 创建数据库用户

create user ‘用户名称’@’%’ identified by ‘用户密码’;

create user 'ummwiki'@'%' identified by 'bori!098';

2.13 用户授权数据库

grant all privileges on 数据库名称.* to 用户名称;

grant all privileges on db_mm_wiki.* to ummwiki;

2.14 刷新权限

flush privileges;

2.15 切换创建的数据库

use 数据库名;

use db_mm_wiki;

2.16 设置MySQL的字符集

set names utf8

2.17 退出MySQL并切换root用户

exit

3 安装或配置MM-Wiki

3.1 解压指定目录

 tar -zxvf /home/mm-wiki-linux-amd64.tar.gz -C /opt/mm_wiki

3.2 进入程序安装目录

cd /opt/mm_wiki/install

3.3 执行安装程序,默认端口为 8090,指定其他端口加参数 —port=8087

./install --port=8087

3.4 浏览器访问

http://ip:8087 进入安装界面,完成安装配置

安装步骤:
1.许可协议    
勾选“我已阅读并同意使用该协议”,并点击继续
2.环境检测    
点击下一步
3.系统配置    
系统监听地址和端口         
addr:192.168.231.110        
端口:8087    
文档保存目录:/opt/mm_wiki/mm_wiki_data     
点击下一步  
4.数据库配置      
MySQL        
Host:127.0.0.1        
MySQL端口:3306        
用户名:ummwiki        
密码:bori!098        
数据库名:db_mm_wiki        
最大空闲连接数:30        
最大连接数:200    
添加超级管理员        
用户名:boriadmin        
密码:bori!098

3.5 Ctrl + C 停止 install 程序, 前台运行 MM-Wiki 系统

 cd /opt/mm_wiki/# ./mm-wiki --conf conf/mm-wiki.conf

3.6浏览器访问你监听的 ip 和端口

http://192.168.231.110:8087/

3.7 后台运行MM-Wiki

./mm-wiki –conf conf/mm-wiki.conf &

4 如果需要,可用 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;    }}

5 升级指南(Upgrade)

5.1下载新版本到部署该项目的根目录

覆盖解压(也可以下载新版本文件解压在新的目录下,需要把旧版本的配置文件 conf/mm-wiki.conf 放到新解压的 conf 目录下)

5.2执行升级命令

./mm-wiki --conf conf/mm-wiki --upgrade

5.2重新启动MM-Wiki

./mm-wiki --conf conf/mm-wiki

6 备份方案

6.1 手动备份

6.1.1 tar压缩打包/opt/mm_wiki/mm_wiki_data

tar -cvzf mm_wiki_data.bak.tar.gz /opt/mm_wiki/mm_wiki_data/

6.2 自动备份

6.2.1 编写脚本

#!/bin/bash# Author:Cyphaxhost=localhost#用户名user=ummwiki#密码password=bori!098#要备份的数据库db=db_mm_wikiname="$(date +"%Y%m%d")"#数据要保留的天数/opt/mysql/5.7.18/bin/mysqldump -h$host -u$user -p$password $db |gzip > /opt/mmwikibak/mmwikibak_db_$name.sql.gz#数据备份cd /opt/mmwikibak/tar -czf mmwikibak_data_$name.tgz -C /opt/mm_wiki/mm_wiki_data/ .

6.2.2 使用crontab创建定时任务

crontab -e

输入i,进行编辑

# 设置为每周六定时执行autobak.sh脚本
* * * * 6 /root/autobak.sh >/dev/null 2>&1

7 迁移方案

7.1 还原数据库

7.2 解压mm_wiki_data.bak.tar.gz到指定目录替换原文件

 类似资料: