此文章是在我安装成功后整理的,可能部分配置文件中的域名和端口稍有出入,影响不大,只需要在操作过程中都改用你自己的域名和端口就行
即:将abc.com改为你的域名,端口9886改为你想用的端口即可
安装
为了数据安全,首先登录root账户给Calibre创建一个低权限的账户并切换到calibre账户
1 | useradd -m -s /bin/bash -p 密码 calibre |
到https://github.com/kovidgoyal/calibre/releases 下载软件
有两种下载方法
第一种(推荐):直接点击链接下载到本地,解压(我用的是360压缩),然后通过sftp上传到服务器
第二种:在链接上右键,复制链接地址,然后在服务器上用wget下载解压,这个txz格式真的是太少见了,需要额外安装xz-utils,解压不方便,推荐方法一
先按Ctrl + D
退出calibre用户,使用root安装xz-utils:apt install xz-utils
安装成功后再进入calibre用户:
1 | su calibre |
到这里就算解压完成,进入calibre-4.12.0就可以了:
1 | cd calibre-4.12.0 |
正常到这里使用命令./calibre-server --help
就可以看到帮助信息了,但是我用的OMV系统(openmediavault)报错了:
1 | ImportError: libGL.so.1: cannot open shared object file: No such file or directory |
这时候得再返回root用户,安装依赖
1 | Ctrl + D |
再进入calibre用户su calibre
这个时候再运行./calibre-server --help
,成功显示帮助信息
但是还不能直接运行服务器,因为默认运行网页是英文
参考我之前的《Linux搭建Calibre内容服务器修改中文语言》
把语言改为中文就可以了
导入Windows中现有书库
我准备把书库放到/home/calibre/Lib下,所以新建一个文件夹
1 | mkdir /home/calibre/Lib |
通过ftp把windows下的calibre库上传到Lib里
这里必须上传一个库现有库,不然无法运行服务器。暂时没找到用命令创建书库的方法。
上传时尽量用calibre用户上传,如果是用root账号上传的,需要修改书库的权限
以root身份进入/home/calibre/Lib
下
1 | ls -all |
查看权限:
可以看到所属用户和所属组都是root
修改所属用户和所属组:
1 | chown -R calibre * |
再次查看权限:
ok
运行测试:
1 | cd /home/calibre/calibre-4.12.0/ |
浏览器访问http://服务器IP:9886
访问成功,Ctrl + C停止服务器,继续设置开机后台运行
创建服务
新建文件:
1 | vim /etc/systemd/system/calibre-server.service |
将以下内容粘贴进去
1 | [Unit] |
运行测试:
1 | service calibre-server start |
再次访问成功
添加用户名密码认证:
1 | service calibre-server stop #停止服务器 |
根据提示操作
返回root用户,再次编辑calibre-server.service
1 | vim /etc/systemd/system/calibre-server.service |
在ExecStart
中加入 --enable-auth
1 | [Unit] |
再次启动服务
1 | service calibre-server start |
网页刷新,要求用户名密码,成功
通过nginx反向代理:
1 | vim /etc/nginx/sites-available/calibre |
粘贴以下内容
1 | server { |
修改server_name
为你的域名
重启nginx
1 | service nginx restart |
既然代理成功,calibre服务器的9880端口就不要监听外网了
将/etc/systemd/system/calibre-server.service
中的ExecStart
改为如下内容
1 | ExecStart=/home/calibre/calibre-4.12.0/calibre-server --enable-auth --listen-on=127.0.0.1 --port=9886 "/home/calibre/Lib" |
现在就只能通过nginx反向代理登陆了。
在nginx中添加SSL证书以开启https协议
1 | vim /etc/nginx/sites-available/calibre |
修改以下内容
1 | #server { |
重启nginx后,通过访问https://books.abc.com
即可成功访问Calibre服务器。