moredoc魔豆文库系统搭建ubuntu
系统:ubuntu:20.04
软件:moredoc-ce:3.2.0
根据官方手册进行安装
https://www.bookstack.cn/read/moredoc/install-linux.md
安装calibre
sudo apt update
sudo apt install calibre
# 查看calibre版本,如果是3.x以上的版本,则安装正确,否则用方式2进行安装
ebook-convert --version
安装 imagemagick
sudo apt install imagemagick
安装libreoffice
# 如果要安装最新版本,则添加libreoffice官方源。建议安装最新版!
sudo add-apt-repository ppa:libreoffice/ppa
sudo apt install libreoffice
# 安装中文字体,避免可能出现的字体乱码
sudo apt install ttf-wqy-zenhei fonts-wqy-microhei
安装mupdf
sudo apt install mupdf mupdf-tools
安装配置完成之后,执行如下命令,正常输出信息即表示安装成功:
mutool --help
安装 inkscape
sudo add-apt-repository ppa:inkscape.dev/stable
sudo apt update
sudo apt install inkscape
查看版本,确认已安装正确
inkscape --version
MySQL安装及问题处理
ubuntu更新系统
apt update
apt upgrade -y
安装MySQL
apt install -y mysql-server
apt install -y libmysqlclient-dev
启动MySQL
systemctl start mysql
systemctl enable mysql
systemctl status mysql
设置root密码
mysql -u root -p
默认密码为空
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
FLUSH PRIVILEGES;
修改mysql配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf
添加一行:
sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
修改mysql认证方式,切换到 mysql_native_password 插件:
mysql -u root
SELECT user, host, plugin FROM mysql.user WHERE user = 'root';
如果显示 auth_socket 插件,则需要更改为 mysql_native_password 插件。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;
重新配置 root 权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
重启mysql
systemctl restart mysql
下载安装moredoc
下载moredoc, moredoc_ce_xxx 表示社区版,
Gitee: https://gitee.com/mnt-ltd/moredoc/releases
cd /opt
mkdir moredoc
cd moredoc
wget https://gitee.com/mnt-ltd/moredoc/releases/download/v3.2.0/moredoc_ce_v3.2.0_linux_amd64.tar.gz
tar -zxvf moredoc_ce_v3.2.0_linux_amd64.tar.gz
创建数据库
mysql -u root -p
CREATE DATABASE IF NOT EXISTS moredoc DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
show databases;
初始化数据
将app.example.toml重命名为 app.toml,并修改配置:
# 程序运行级别:debug、info、warn、error。
# 调试模式下用debug,生产环境下可用info
level="debug"
# 服务监听端口
port="8880"
# 数据库
[database]
# 此处不要动,当前只支持MySQL
driver="mysql"
# 示例这里,以数据库账号密码均为root来进行配置
dsn="root:root@tcp(localhost:3306)/moredoc?charset=utf8mb4&loc=Local&parseTime=true"
# 运行时是否输出执行的SQL。生产环境设置为false
showSQL=false
# 以下两个数值是访问MySQL时最大打开连接数和空闲连接数
maxOpen=10
maxIdle=10
# jwt配置,用户登录时信息加密使用
[jwt]
# 加密密钥,【务必修改】为其他任意字符串
secret="moredocsecret"
# 用户jwt签名有效期,这里配置为365天
expireDays=365
执行如下命令,以初始化数据库:
./moredoc syncdb
如果有以下错误,可以忽略
"Error 1146: Table 'moredoc.mnt_user' doesn't exist"
如果执行./moredoc syncdb不成功,删除已有数据库,再重新生成数据库后运行命令
DROP DATABASE IF EXISTS moredoc;
启动程序
./moredoc serve
按照上述app.toml的配置,这里可以访问8880端口打开服务: http://ip:8880
然后再登录入口登录初始管理员,账号密码分别为:
管理员:admin
密码:mnt.ltd
进入管理后台之后,面板处还可以看到需要安装哪些依赖以及依赖是否安装正确。
安装supervisor(可以不用安装使用守护程序,每次重启ubuntu后,需要手动启动moredoc)
sudo apt install supervisor
在目录 /etc/supervisor/conf.d 下面新建配置文件 vim moredoc.conf
[program:moredoc]
# 程序所在目录
directory =/opt/moredoc
# 启动命令
command =/opt/moredoc/moredoc serve
autostart = true
autorestart=true
redirect_stderr = true
stdout_logfile_maxbytes=100MB
stdout_logfile = /var/log/supervisor/moredoc-stdout.log
stderr_logfile = /var/log/supervisor/moredoc-stderr.log
stderr_logfile_maxbytes=100MB
# 对程序目录有读写权限的用户来运行程序。注意,不能是root用户,因为root用户,运行libreoffice和calibre时,会报sandbox的告警和错误!
user=ubuntu
给程序根目录添加权限
sudo chmod g+w moredoc/
sudo chmod o+w moredoc/
浙公网安备 33010602011771号