4 min read

Calibre 开启网页共享服务器

Calibre 是一个多平台电子书管理软件,可以用来管理 epubmobi 或者 txt 等格式的电子书......

总之 Calibre 是 macOS 上为数不多的电子书管理软件之一,用过的人对这款软件评价褒贬不一,有的人觉得这软件由于是 qt (原以为是 Java 写的来着)写的跨平台程序界面太丑了,也有人说这软件运行太慢了,其他的还包括太重了之类的评价,不过我倒觉得还好,毕竟只是拿来管理电子书文件的,真正要阅读电子书和展示~~(装逼)~~还得靠 iBooks。

直到最近我才知道这软件可以开一个供分享的网页服务器[1],而且还有一套已经写好了的网页界面(虽然 UI 跟不上潮流,不过嘛还行)。这里顺便也记录一下搭建 calibre-server 的方法。(这里只提供 Ubuntu 系统环境的安装方法。

首先是在服务器上安装 Calibre(命令有一点长注意请复制完整):

sudo -v && wget -nv -O- https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"

这里需要注意的一点是,因为是直接在服务器上运行的没有 GUI,安装过程中会出现一些错误或者是警告,不要紧的,因为原本是应该安装在本地桌面版 Ubuntu 系统上的。

接下来需要安装一些依赖包:

sudo apt-get update

# Install xvfb:
sudo apt-get install xvfb

# Install ImageMagick:
sudo apt-get install ImageMagick

这里建议在本地维护一份 Calibre 书库。将本地需要分享的 Calibre 书库文件夹上传到服务器的任意目录。推荐使用 FileZilla 来上传整个书库目录,如果有重复覆盖选择如果文件大小不同则覆盖文件。

接下来输入以下命令来运行 Calibre:

calibre-server --with-library /path/to/calibre-library

之后你就可以访问地址 http://your_server_ip:8080 来查看分享的电子书了。

关于这个命令,更多的可以查看 Calibre 用户手册[2]。你可以看到有很多参数可选,比如自定义运行端口以及用户名密码认证之类的。

想要方便一点的话可以使用 Supervisor 或者直接写成 service 的方式来运行 calibre-server,可以通过以下方法来创建一个 service:

首先创建一个配置文件:

sudo vim /etc/init/calibre-server.conf

配置文件里的内容:

description "Calibre 电子书分享服务器"

start on runlevel [2345]
stop on runlevel [^2345]

respawn

env USER='myusername'
env PASSWORD='mypassword'
env LIBRARY_PATH='/home/user/calibre-library'
env MAX_COVER='600x800'
env PORT='7777'

script
    exec /usr/bin/calibre-server --with-library $LIBRARY_PATH --auto-reload \
                                 --max-cover $MAX_COVER --port $PORT \
                                 --username $USER --password $PASSWORD
end script

之后就可以通过 service 的方式来运行停用 calibre server 了:

sudo service calibre-server stop
sudo service calibre-server start
sudo service calibre-server restart

另外 Calibre content server 的网页模板是可以更换的,在网络上找到一个用 Boostrap 写的网页模板 CalibreBootstrap
,将项目文件夹里的 content_server 拷贝至 /opt/calibre/resources/ 目录下重启 calibre server 即可。(最好是备份一下原始模板文件)更多的自定义可以参考官方文档[3]

除此之外还发现一个项目 calibre-web[4],这套项目独立于 Calibre,自己写了一套方法读取 Calibre 的数据库。可用性比 Calibre 自带的 content server 要高,还有用户系统,在线阅读的功能,推荐。

自己也搭建了一个分享网站 https://book.moeoverflow.com ,有收藏一些自己维护的电子书,不过用户名密码就不公开了。如果你也喜欢电子书制作,可以找我私聊。

我个人比较喜欢电子书,虽说在多看阅读上也买了有将近 600 本电子书,但有些日本轻小说没有电子版,也只好自己到处找盗版资源了,比如某国度。之前分享的那个链接分享的一些电子书也只限于自己很小的朋友圈了,不希望公开分享。而且由于我个人洁癖原因,别人制作好的电子书我拿到也会一一删除制作信息的,也算不方便公开吧。


  1. https://manual.calibre-ebook.com/generated/en/calibre-server.html ↩︎

  2. https://www.digitalocean.com/community/tutorials/how-to-create-a-calibre-ebook-server-on-ubuntu-14-04 ↩︎

  3. https://manual.calibre-ebook.com/customize.html ↩︎

  4. https://github.com/janeczku/calibre-web ↩︎