Cài đặt bằng tệp nhị phân
Hướng dẫn này cho biết cách cài đặt ReputeCast trên Linux dưới dạng một tệp nhị phân duy nhất do systemd chạy, bên cạnh một máy chủ PostgreSQL. Tệp nhị phân chứa ứng dụng web và mọi migration cơ sở dữ liệu; bạn không cần cài thêm gì khác.
Trước khi bắt đầu
Phần tiêu đề “Trước khi bắt đầu”- Một máy chủ Linux
amd64hoặcarm64có systemd, và PostgreSQL 16, 17 hoặc 18 (xem yêu cầu hệ thống). - Quyền
sudovà một reverse proxy cho TLS trên cùng máy chủ (reverse proxy và TLS). - Tệp nhị phân cũng chạy được trên macOS và Windows, nhưng hướng dẫn này dùng systemd.
Cài đặt ReputeCast
Phần tiêu đề “Cài đặt ReputeCast”-
Tải tệp nén cho nền tảng của bạn (
linux_amd64hoặclinux_arm64) vàchecksums.txttừ trang phát hành, kiểm tra tệp rồi cài tệp nhị phân:Terminal window sha256sum --ignore-missing -c checksums.txttar -xzf reputecast_*_linux_amd64.tar.gz reputecastsudo install -m 0755 reputecast /usr/local/bin/reputecastreputecast version -
Tạo cơ sở dữ liệu, người dùng của nó và role cho phân khúc SQL (PostgreSQL):
Terminal window sudo -u postgres psql -c "CREATE ROLE reputecast LOGIN PASSWORD 'change-me'" \-c "CREATE DATABASE reputecast OWNER reputecast" \-c "CREATE ROLE reputecast_segments NOLOGIN" \-c "GRANT reputecast_segments TO reputecast" -
Tạo một tài khoản hệ thống Linux cho dịch vụ. systemd tạo thư mục dữ liệu của nó,
/var/lib/reputecast, ở bước 6:Terminal window sudo useradd --system --no-create-home --shell /usr/sbin/nologin reputecast -
Tạo thư mục
/etc/reputecast(sudo mkdir -p /etc/reputecast) và ghi cấu hình vào đó dưới dạng tệp biến môi trường, chỉ root và dịch vụ đọc được:/etc/reputecast/env REPUTECAST_DATABASE__URL=postgres://reputecast:change-me@localhost:5432/reputecast?sslmode=disableREPUTECAST_HTTP__PUBLIC_URL=https://news.example.comREPUTECAST_HTTP__ADDR=127.0.0.1:8080REPUTECAST_HTTP__TRUSTED_PROXIES=127.0.0.1REPUTECAST_SECRETS__KEY_FILE=/var/lib/reputecast/secret.keyREPUTECAST_LOG__FORMAT=jsonTerminal window sudo chown root:reputecast /etc/reputecast/env && sudo chmod 0640 /etc/reputecast/envNếu không có
REPUTECAST_SECRETS__KEY_FILE, tệp khóa sẽ làdata/secret.keytrong thư mục làm việc. Mọi khóa cấu hình được mô tả trong cấu hình ReputeCast. -
Áp dụng migration và tạo Chủ sở hữu đầu tiên:
Terminal window sudo sh -c 'set -a && . /etc/reputecast/env && reputecast install --email [email protected] --name "Your Name"'Đầu ra ReputeCast is installed.Sign in at https://news.example.comEmail [email protected]Password HAwc-PKEn-jSXh-EE9w (temporary: you'll replace it at first sign-in)installchỉ ghi vào cơ sở dữ liệu. Lệnh dừng vớiReputeCast is already installed: users existkhi cơ sở dữ liệu đã có người dùng. -
Tạo dịch vụ:
/etc/systemd/system/reputecast.service [Unit]Description=ReputeCastAfter=network-online.target postgresql.serviceWants=network-online.target[Service]Type=simpleUser=reputecastGroup=reputecastEnvironmentFile=/etc/reputecast/envExecStart=/usr/local/bin/reputecast serveRestart=on-failureStateDirectory=reputecastWorkingDirectory=/var/lib/reputecast[Install]WantedBy=multi-user.targetStateDirectory=reputecastkhiến systemd tạo/var/lib/reputecastthuộc sở hữu của người dùng dịch vụ. Ở lần khởi động đầu tiên, ReputeCast ghi khóa bí mật vào đó và lưu tệp tải lên trong/var/lib/reputecast/files. -
Khởi động dịch vụ:
Terminal window sudo systemctl daemon-reloadsudo systemctl enable --now reputecast -
Trỏ reverse proxy đến
127.0.0.1:8080, mở URL công khai và hoàn tất lần đăng nhập đầu tiên.
Kiểm tra kết quả
Phần tiêu đề “Kiểm tra kết quả”systemctl status reputecasthiệnactive (running).journalctl -u reputecastcó một dònghttp listeningkèm địa chỉ, URL công khai và các vai trò.curl http://127.0.0.1:8080/readyztrả vềready.sudo sh -c 'set -a && . /etc/reputecast/env && reputecast migrate status'không liệt kê migration nào làpending.
Khắc phục sự cố
Phần tiêu đề “Khắc phục sự cố”Error: http.public_url must be an absolute URL, got "…": hãy viết địa chỉ kèm scheme,https://news.example.com.- Log cảnh báo
database has pending migrations:servekhông chạy migration trừ khi bạn truyền--auto-migrate. Hãy chạyreputecast migrate upvới cùng môi trường, hoặc thêm--auto-migratevàoExecStart. connect to postgres: …: hãy kiểm tra URL, mật khẩu vàpg_hba.confbằngpsqlvới cùng URL.- Lỗi permission denied khi đọc khóa bí mật:
/var/lib/reputecastphải thuộc về người dùng dịch vụ; hãy giữStateDirectory=reputecasttrong unit. - Mất mật khẩu tạm thời:
reputecast user reset-password --email [email protected]in ra một liên kết dùng một lần (khôi phục quyền truy cập).