阿里云部署Calibre-Web私家图书馆完整方案

在开始部署Calibre-Web之前,您需要准备一个阿里云ECS实例。建议选择Ubuntu 20.04 LTSCentOS 8操作系统,以确保软件兼容性。实例规格推荐使用至少2核4GB内存,以确保应用流畅运行。您还需要一个已解析到该服务器IP地址的域名,这对于后续通过浏览器访问至关重要。

阿里云部署Calibre-Web私家图书馆完整方案

通过SSH连接到您的阿里云服务器。然后,更新系统软件包以确保所有组件都是最新的。

对于Ubuntu系统,使用命令:sudo apt update && sudo apt upgrade -y。对于CentOS系统,使用命令:sudo dnf update -y

接下来,您需要配置阿里云的安全组规则,这是允许外部访问服务的关键一步。请确保在安全组中放行以下端口:

  • 端口 22:用于SSH远程连接管理。
  • 端口 80:用于HTTP协议访问。
  • 端口 443:用于HTTPS加密访问(如果计划配置SSL证书)。
  • 端口 8083:Calibre-Web应用默认使用的端口。

安装必要的软件环境

Calibre-Web的运行依赖于Python 3和特定的数据库。我们将使用Python的虚拟环境来隔离项目依赖,并选择SQLite作为数据库,以简化部署过程。

安装Python 3和 pip 包管理工具:

  • 在Ubuntu上:sudo apt install python3 python3-pip python3-venv -y
  • 在CentOS上:sudo dnf install python3 python3-pip -y

接着,安装并配置数据库。虽然Calibre-Web支持SQLite和MySQL,但对于个人使用,SQLite是更轻量便捷的选择。

  • 安装SQLite:sudo apt install sqlite3sudo dnf install sqlite

然后,创建一个专用的系统用户来运行Calibre-Web,这有助于提升安全性。

执行命令:sudo useradd -r -s /bin/false calibreweb

部署与配置Calibre-Web

现在进入核心的部署环节。我们将把Calibre-Web的源代码克隆到服务器上,并配置其运行环境。

切换至一个有权限的目录,例如/opt,然后克隆项目。

cd /opt && sudo git clone https://github.com/janeczku/calibre-web.git

更改项目目录的所有权,让之前创建的calibreweb用户拥有权限。

sudo chown -R calibreweb:calibreweb /opt/calibre-web

接下来,创建并激活Python虚拟环境,然后安装项目依赖。

cd /opt/calibre-web
sudo -u calibreweb python3 -m venv venv
sudo -u calibreweb source venv/bin/activate
sudo -u calibreweb pip install --upgrade pip
sudo -u calibreweb pip install -r requirements.txt

关键的配置步骤是设置数据库。您需要将您的主Calibre书库(即metadata.db文件)上传到服务器,并修改Calibre-Web的配置文件以指向它。

编辑配置文件:sudo -u calibreweb nano /opt/calibre-web/app.db(如果不存在,启动一次程序后会生成)。您需要在Web界面初始化设置中指定metadata.db的路径。

配置系统服务与反向代理

为了让Calibre-Web在后台稳定运行并在系统启动时自动开启,我们需要将其配置为一个系统服务。

创建一个新的systemd服务文件:

sudo nano /etc/systemd/system/calibre-web.service

将以下内容写入该文件:

[Unit]
Description=Calibre Web Server
After=network.target

[Service]
Type=simple
User=calibreweb
Group=calibreweb
WorkingDirectory=/opt/calibre-web
ExecStart=/opt/calibre-web/venv/bin/python /opt/calibre-web/cps.py
Restart=always

[Install]
WantedBy=multi-user.target

保存后,启动并启用该服务:

sudo systemctl daemon-reload
sudo systemctl start calibre-web
sudo systemctl enable calibre-web

为了通过域名访问并使用安全的HTTPS协议,我们使用Nginx作为反向代理。首先安装Nginx:

  • Ubuntu: sudo apt install nginx -y
  • CentOS: sudo dnf install nginx -y

然后,为您的站点创建一个Nginx配置文件。

sudo nano /etc/nginx/sites-available/calibre-web (在CentOS上,路径通常是/etc/nginx/conf.d/calibre-web.conf)

配置文件内容示例如下:

server {
listen 80;
server_name your-domain.com; # 替换为您的域名
location / {
proxy_pass http://127.0.0.1:8083;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

创建软链接启用该配置并测试:

sudo ln -s /etc/nginx/sites-available/calibre-web /etc/nginx/sites-enabled/ (Ubuntu)
sudo nginx -t
sudo systemctl reload nginx

安全加固与优化访问

部署完成后,安全性和可用性是需要重点关注的方面。

启用HTTPS:使用Certbot免费工具为您的域名申请并安装SSL证书。

sudo apt install certbot python3-certbot-nginx -y (Ubuntu)
sudo certbot --nginx -d your-domain.com

Calibre-Web后台配置:首次通过域名访问您的Calibre-Web界面时,系统会引导您进行初始化设置。

  • 在“基本配置”中,指定您上传的metadata.db文件的完整路径。
  • 在“功能配置”中,强烈建议启用“启用上传”设置“管理员权限”
  • 在“安全配置”中,为管理员账户设置一个强密码。

目录权限:确保您的书籍存放目录和数据库文件对calibreweb用户可读可写。

sudo chown -R calibreweb:calibreweb /path/to/your/books

完成以上所有步骤后,您就可以通过浏览器访问您的域名,安全地使用私家图书馆了。您可以上传新书、在线阅读、管理元数据,享受完全由自己掌控的数字阅读体验。

内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。

本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/135678.html

(0)
上一篇 2025年11月27日 下午1:34
下一篇 2025年11月27日 下午1:35
联系我们
关注微信
关注微信
分享本页
返回顶部