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

通过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 sqlite3或sudo 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-websudo -u calibreweb python3 -m venv venvsudo -u calibreweb source venv/bin/activatesudo -u calibreweb pip install --upgrade pipsudo -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 ServerAfter=network.target
[Service]Type=simpleUser=calibrewebGroup=calibrewebWorkingDirectory=/opt/calibre-webExecStart=/opt/calibre-web/venv/bin/python /opt/calibre-web/cps.pyRestart=always
[Install]WantedBy=multi-user.target
保存后,启动并启用该服务:
sudo systemctl daemon-reloadsudo systemctl start calibre-websudo 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 -tsudo 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