Cách cài đặt Wallabag trên Rocky Linux 9

theanh

Administrator
Nhân viên
Wallabag là một loại dịch vụ đọc sau. Nó cho phép bạn lưu các trang web để bạn có thể đọc chúng sau theo tốc độ rảnh rỗi của riêng bạn. Có rất nhiều dịch vụ cho phép bạn làm điều đó như Pocket, Instapaper, v.v. nhưng việc cài đặt một dịch vụ trên máy chủ của riêng bạn sẽ tốt hơn nhiều. Thứ nhất, nó sẽ không phá sản và kéo theo các liên kết xuống.

Hướng dẫn này sẽ hướng dẫn cài đặt và thiết lập Wallabag trên máy chủ chạy Rocky Linux 9. Hướng dẫn cũng sẽ hướng dẫn cách thiết lập Nginx, MySQL, Composer và PHP, tất cả đều là những yêu cầu bắt buộc để Wallabag chạy.

Điều kiện tiên quyết​


  • Máy chủ chạy Rocky Linux 9.

  • Người dùng không phải root có quyền sudo.

  • Tên miền đủ điều kiện (FQDN) như wallabag.example.com.

  • Đảm bảo mọi thứ đều đã cập nhật.
Mã:
$ sudo dnf update
[*]
Một số gói mà hệ thống của bạn cần.
Mã:
$ sudo dnf install wget curl nano unzip yum-utils -y
Một số gói này có thể đã được cài đặt trên hệ thống của bạn.

Bước 1 - Cấu hình Tường lửa​

Bước đầu tiên là cấu hình tường lửa. Rocky Linux sử dụng Tường lửa Firewalld. Kiểm tra trạng thái của tường lửa.
Mã:
$ sudo firewall-cmd --state
running
Tường lửa hoạt động với nhiều vùng khác nhau và vùng công cộng là vùng mặc định mà chúng ta sẽ sử dụng. Liệt kê tất cả các dịch vụ và cổng đang hoạt động trên tường lửa.
Mã:
$ sudo firewall-cmd --permanent --list-services
Nó sẽ hiển thị đầu ra sau.
Mã:
cockpit dhcpv6-client ssh
Wallabag cần các cổng HTTP và HTTPS để hoạt động. Mở chúng ra.
Mã:
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Tải lại tường lửa để áp dụng các thay đổi.
Mã:
$ sudo firewall-cmd --reload
Liệt kê lại tất cả các dịch vụ.
Mã:
$ sudo firewall-cmd --permanent --list-services
Bạn sẽ nhận được kết quả sau.
Mã:
cockpit dhcpv6-client http https ssh

Bước 2 - Cài đặt PHP và các tiện ích mở rộng của nó tiện ích mở rộng​

Chúng ta cần cài đặt PHP 8.1 để Wallabag hoạt động. Bước đầu tiên là lấy kho lưu trữ Epel.
Mã:
$ sudo dnf install epel-release -y
Tiếp theo, cài đặt kho lưu trữ Remi.
Mã:
$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
Kiểm tra PHP có sẵn luồng.
Mã:
$ dnf module list php -y
Name Stream Profiles Summary
php 8.1 common [d], devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 9 - x86_64
Name Stream Profiles Summary
php remi-7.4 common [d], devel, minimal PHP scripting language
php remi-8.0 common [d], devel, minimal PHP scripting language
php remi-8.1 common [d], devel, minimal PHP scripting language
php remi-8.2 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Phiên bản mặc định là 8.1. Bật kho lưu trữ PHP 8.1 của Remi.
Mã:
$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.1
Cài đặt PHP và các tiện ích mở rộng bắt buộc theo yêu cầu của Wallabag.
Mã:
$ sudo dnf install php-fpm php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-intl php-cli php-opcache
Xác minh cài đặt.
Mã:
$ php --version
PHP 8.1.16 (cli) (built: Feb 14 2023 18:59:41) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.16, Copyright (c) Zend Technologies with Zend OPcache v8.1.16, Copyright (c), by Zend Technologies
Mở tệp /etc/php-fpm.d/www.conf.
Mã:
$ sudo nano /etc/php-fpm.d/www.conf
Tìm user=apachegroup=apache dòng trong tệp và thay đổi chúng thành sau.
Mã:
...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
...
Tiếp theo, bỏ ghi chú ở dòng chủ sở hữu tệp socket, nhóm và quyền mặc định rồi thay đổi chúng như hiển thị bên dưới.
Mã:
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server.
; Default Values: user and group are set as the running user
; mode is set to 0660
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Tiếp theo, hãy bình luận dòng sau như minh họa bằng cách đặt dấu chấm phẩy trước dòng đó.
Mã:
;listen.acl_users = apache,nginx
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Cấp quyền thích hợp cho phiên PHP thư mục.
Mã:
$ sudo chown -R nginx:nginx /var/lib/php/session/
Bật và khởi động dịch vụ PHP-FPM.
Mã:
$ sudo systemctl enable php-fpm --now

Bước 3 - Cài đặt Composer​

Composer là một công cụ quản lý phụ thuộc cho PHP và là công cụ cần thiết để cài đặt Wallabag.

Chạy các lệnh sau để tải xuống tệp nhị phân Composer. Wallabag chỉ hoạt động với Composer 2.2 LTS nên chúng tôi đã sửa đổi lệnh cho phù hợp.
Mã:
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php composer-setup.php --2.2
$ php -r "unlink('composer-setup.php');"
Cài đặt Composer bằng cách di chuyển tệp nhị phân đến /usr/local/bin thư mục.
Mã:
$ sudo mv composer.phar /usr/local/bin/composer
Xác minh cài đặt bằng cách kiểm tra phiên bản của nó.
Mã:
$ composer --version
Composer version 2.2.21 2023-02-15 13:07:40

Bước 4 - Cài đặt MySQL​

Rocky Linux 9 được tích hợp phiên bản MySQL mới nhất. Bạn có thể cài đặt nó bằng một lệnh duy nhất.
Mã:
$ sudo dnf install mysql-server
Kiểm tra phiên bản MySQL.
Mã:
$ mysql --version
mysql Ver 8.0.30 for Linux on x86_64 (Source distribution)
Bật và khởi động MySQL service.
Mã:
$ sudo systemctl enable mysqld --now
Chạy tập lệnh cài đặt bảo mật MySQL.
Mã:
$ sudo mysql_secure_installation
Bạn sẽ được yêu cầu cài đặt Thành phần Xác thực Mật khẩu. Thành phần này kiểm tra độ mạnh của mật khẩu được sử dụng trong MySQL. Nhấn Y để cài đặt. Tiếp theo, bạn sẽ được yêu cầu đặt mức chính sách xác thực mật khẩu. Chọn 2 vì đây là mật khẩu mạnh nhất.
Mã:
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: Y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Using existing password for root.
Estimated strength of the password: 100
Tiếp theo, bạn sẽ được yêu cầu đặt mật khẩu root mới. Nhập mật khẩu theo các yêu cầu được đặt ở trên. Nhập Y khi được nhắc tiếp tục với mật khẩu gốc đã chọn.
Mã:
Please set the password for root here.
New password:
Re-enter new password:
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
Tiếp theo, nhập Y để xóa người dùng ẩn danh, không cho phép đăng nhập gốc từ xa, xóa cơ sở dữ liệu thử nghiệm và tải lại bảng đặc quyền.
Mã:
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y - Dropping test database...
Success. - Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.
All done!

Bước 5 - Cấu hình MySQL​

Đăng nhập vào shell MySQL. Nhập mật khẩu gốc của bạn khi được nhắc.
Mã:
$ sudo mysql -u root -p
Tạo một cơ sở dữ liệu mẫu.
Mã:
mysql> CREATE DATABASE wallabag;
Tạo một người dùng SQL tài khoản.
Mã:
mysql> CREATE USER 'wallabaguser'@'localhost' IDENTIFIED BY 'Your_password2';
Cấp tất cả các quyền trên cơ sở dữ liệu cho người dùng.
Mã:
mysql> GRANT ALL PRIVILEGES ON wallabag.* TO 'wallabaguser'@'localhost';
Xóa người dùng quyền.
Mã:
mysql> FLUSH PRIVILEGES;
Thoát khỏi shell.
Mã:
mysql> exit

Bước 6 - Cài đặt Nginx​

Rocky Linux 9 đi kèm với phiên bản Nginx cũ hơn. Bạn cần tải xuống kho lưu trữ Nginx chính thức để cài đặt phiên bản mới nhất.

Tạo và mở tệp /etc/yum.repos.d/nginx.repo để tạo kho lưu trữ Nginx chính thức.
Mã:
$ sudo nano /etc/yum.repos.d/nginx.repo
Dán mã sau vào nó.
Mã:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Cài đặt máy chủ Nginx.
Mã:
$ sudo dnf install -y nginx
Xác minh cài đặt.
Mã:
$ nginx -v
nginx version: nginx/1.22.1
Bật và khởi động máy chủ Nginx.
Mã:
$ sudo systemctl enable nginx --now
Kiểm tra trạng thái của máy chủ.
Mã:
$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2023-02-28 08:01:34 UTC; 5s ago Docs: http://nginx.org/en/docs/ Process: 1489 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 1490 (nginx) Tasks: 2 (limit: 5873) Memory: 1.9M CPU: 8ms CGroup: /system.slice/nginx.service ??1490 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf" ??1491 "nginx: worker process"

Bước 7 - Cài đặt SSL​

Chúng ta cần cài đặt Certbot để tạo chứng chỉ SSL.

Chúng ta sẽ sử dụng trình cài đặt gói Snapd cho việc đó. Vì Rocky Linux không đi kèm với nó, hãy cài đặt trình cài đặt Snapd. Nó yêu cầu kho lưu trữ EPEL hoạt động mà chúng tôi đã cài đặt trước đó cho PHP để chúng tôi có thể bỏ qua bước này.

Cài đặt Snapd.
Mã:
$ sudo dnf install -y snapd
Bật và khởi động dịch vụ Snap.
Mã:
$ sudo systemctl enable snapd --now
Cài đặt gói lõi Snap và đảm bảo rằng phiên bản Snapd của bạn là ngày.
Mã:
$ sudo snap install core && sudo snap refresh core
Tạo các liên kết cần thiết để Snapd hoạt động.
Mã:
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Phát hành lệnh sau để cài đặt Certbot.
Mã:
$ sudo snap install --classic certbot
Sử dụng lệnh sau để đảm bảo lệnh Certbot có thể chạy được bằng cách tạo liên kết tượng trưng đến thư mục /usr/bin.
Mã:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Xác minh cài đặt.
Mã:
$ certbot --version
certbot 2.3.0
Chạy lệnh sau để tạo SSL Chứng chỉ.
Mã:
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d wallabag.example.com
Lệnh trên sẽ tải chứng chỉ xuống thư mục /etc/letsencrypt/live/wallabag.example.com trên máy chủ của bạn.

Tạo nhóm Diffie-Hellman chứng chỉ.
Mã:
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Kiểm tra dịch vụ lập lịch gia hạn Certbot.
Mã:
$ sudo systemctl list-timers
Bạn sẽ tìm thấy snap.certbot.renew.service là một trong những dịch vụ được lên lịch chạy.
Mã:
NEXT LEFT LAST PASSED UNIT ACTIVATES
.....
Sun 2023-02-28 06:32:00 UTC 9h left Sat 2023-02-28 18:04:05 UTC 2h 59min ago snap.certbot.renew.timer snap.certbot.renew.service
Sun 2023-02-28 06:43:20 UTC 9h left Sat 2023-02-28 10:49:23 UTC 10h ago apt-daily-upgrade.timer apt-daily-upgrade.service
Sun 2023-02-28 09:00:06 UTC 11h left Sat 2023-02-28 20:58:06 UTC 5min ago apt-daily.timer apt-daily.service
Thực hiện chạy thử quy trình để kiểm tra xem việc gia hạn SSL có hoạt động không tốt.
Mã:
$ sudo certbot renew --dry-run
Nếu bạn không thấy lỗi nào, bạn đã hoàn tất. Chứng chỉ của bạn sẽ tự động gia hạn.

Bước 8 - Cài đặt Wallabag​

Tạo thư mục /var/www/wallabag/html.
Mã:
$ sudo mkdir /var/www/html/wallabag -p
Tải xuống phiên bản mới nhất của Wallabag.
Mã:
$ wget https://wllbg.org/latest-v2-package
Giải nén tệp lưu trữ.
Mã:
$ tar xzf latest-v2-package
Di chuyển các tệp từ thư mục đã giải nén sang thư mục đã tạo trước đó. Sửa đổi lệnh bằng số phiên bản chính xác. Bạn có thể kiểm tra phiên bản mới nhất của Wallabag từ trang phát hành GitHub. Phiên bản mới nhất tại thời điểm viết hướng dẫn này là 2.5.4.
Mã:
$ sudo mv wallabag-2.5.4/* /var/www/html/wallabag
Tạo thư mục tài sản.
Mã:
$ sudo mkdir /var/www/html/wallabag/data/assets
Thay đổi quyền của /var/www/html/wallabagthư mục đến người dùng hiện đang đăng nhập.
Mã:
$ sudo chown -R $USER:$USER /var/www/html/wallabag
Chuyển sang thư mục.
Mã:
$ cd /var/www/html/wallabag
Tạo tệp parameters.yml bằng cách sao chép ví dụ file.
Mã:
$ cp app/config/parameters.yml.dist app/config/parameters.yml
Trước khi bắt đầu cấu hình Wallabag, hãy tạo một khóa bí mật. Ghi lại khóa để sử dụng sau.
Mã:
$ openssl rand -base64 32
QLV/GpZwDobQbyQZQ15FkM1Hvt+ZFJZXw8GW9F4KR3o=
Mở tệp tham số để chỉnh sửa.
Mã:
$ nano app/config/parameters.yml
Tìm phần sau và điền thông tin đăng nhập cơ sở dữ liệu. Cổng cơ sở dữ liệu là 3306 cho MySQL.
Mã:
.......... database_driver: pdo_mysql database_host: 127.0.0.1 database_port: 3306 database_name: wallabag database_user: wallabaguser database_password: Your_password2
Điền vào mô tả máy chủ và tên miền.
Mã:
domain_name: https://wallabag.example.com server_name: "Howtoforge Wallabag"
Điền vào thông tin SMTP của bạn. Trong trường hợp của chúng tôi, chúng tôi đang sử dụng dịch vụ Amazon SES.
Mã:
mailer_transport: smtp mailer_user: YOUR_AES_USERNAME mailer_password: YOUR_AES_PASSWORD mailer_host: email-smtp.us-west-2.amazonaws.com mailer_port: 587 mailer_encryption: tls
Điền khóa bí mật đã tạo trước đó. Nếu bạn muốn giữ nguyên xác thực hai yếu tố, hãy đảm bảo các cài đặt sau được áp dụng. Nếu bạn muốn tắt đăng ký người dùng, hãy đặt giá trị của fouser_registration thành false. Biến fouser_confirmation được đặt thành true, nghĩa là mọi đăng ký của người dùng sẽ cần được xác nhận qua email. Thay đổi giá trị của biến from_email thành ID email theo lựa chọn của bạn.
Mã:
# A secret key that's used to generate certain security-related tokens secret: QLV/GpZwDobQbyQZQ15FkM1Hvt+ZFJZXw8GW9F4KR3o= # two factor stuff twofactor_auth: true twofactor_sender: [emailprotected] # fosuser stuff fosuser_registration: true fosuser_confirmation: true
..... from_email: [emailprotected]
.....
Có nhiều sentries liên quan đến cài đặt Redis, RabbitMQ và Sentry. Bạn có thể cấu hình chúng theo nhu cầu của mình sau khi cài đặt các gói đã nói.

Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Sử dụng Composer để tải xuống và cài đặt các dependency mà Wallabag yêu cầu.
Mã:
$ SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist
Hoàn tất cài đặt bằng dòng lệnh Wallabag tool.
Mã:
$ php bin/console wallabag:install --env=prod
Bạn sẽ được nhắc nếu bạn muốn đặt lại cơ sở dữ liệu và lược đồ của nó. Nhập no làm phản hồi cả hai lần. Tiếp theo, bạn sẽ được hỏi nếu bạn muốn tạo tài khoản quản trị viên. Nhập yes để tiếp tục và nhập tên người dùng, mật khẩu và ID email cho tài khoản.
Mã:
wallabag installer
==================
Step 1 of 4: Checking system requirements.
------------------------------------------ ------------------------ -------- ---------------- Checked Status Recommendation ------------------------ -------- ---------------- PDO Driver (pdo_mysql) OK! Database connection OK! Database version OK! curl_exec OK! curl_multi_init OK! ------------------------ -------- ---------------- [OK] Success! Your system can run wallabag properly.
Step 2 of 4: Setting up database.
--------------------------------- It appears that your database already exists. Would you like to reset it? (yes/no) [no]: > no Seems like your database contains schema. Do you want to reset it? (yes/no) [no]: > no Clearing the cache... Database successfully setup.
Step 3 of 4: Administration setup.
---------------------------------- Would you like to create a new admin user (recommended)? (yes/no) [yes]: > yes Username [wallabag]: > navjot Password [wallabag]: > Email [[emailprotected]]: > [emailprotected] Administration successfully setup.
Step 4 of 4: Config setup.
-------------------------- Config successfully setup. [OK] wallabag has been successfully installed. [OK] You can now configure your web server, see https://doc.wallabag.org
Chuyển lại quyền thư mục thành Nginx.
Mã:
$ sudo chown -R nginx:nginx /var/www/html/wallabag

Bước 9 - Cấu hình SELinux​

Thay đổi ngữ cảnh bảo mật tệp cho Wallabag và các thư mục con của nó.
Mã:
$ sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html/wallabag(/.*)?"
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/wallabag/data(/.*)?"
$ sudo semanage fcontext -a -t httpd_log_t "/var/www/html/wallabag/var/logs(/.*)?"
$ sudo semanage fcontext -a -t httpd_cache_t "/var/www/html/wallabag/var/cache(/.*)?"
Áp dụng chính sách.
Mã:
$ sudo restorecon -R -v /var/www/html/wallabag
Áp dụng chính sách để cho phép Nginx cấp quyền truy cập vào MySQL.
Mã:
$ sudo setsebool -P httpd_can_network_connect_db 1

Bước 10 - Cấu hình Nginx và PHP​

Cấu hình PHP-FPM​

Mở tệp /etc/php/8.1/fpm/pool.d/www.conf.
Mã:
$ sudo nano /etc/php/8.1/fpm/pool.d/www.conf
Chúng ta cần đặt người dùng/nhóm Unix của các quy trình PHP thành nginx. Tìm các dòng user=www-datagroup=www-data trong tệp và thay đổi chúng thành nginx.
Mã:
...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
...
Tiếp theo, bỏ ghi chú ở dòng chủ sở hữu tệp socket, nhóm và quyền mặc định rồi thay đổi chúng như hình minh họa bên dưới.
Mã:
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server.
; Default Values: user and group are set as the running user
; mode is set to 0660
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Tiếp theo, hãy bình luận dòng sau như được hiển thị bằng cách đặt dấu chấm phẩy trước dòng đó.
Mã:
;listen.acl_users = apache,nginx
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Tăng thời gian thực thi cho PHP-FPM và PHP-CLI lên 60 giây.
Mã:
$ sudo sed -i 's/max_execution_time = 30/max_execution_time = 60/' /etc/php/8.1/fpm/php.ini
$ sudo sed -i 's/max_execution_time = 30/max_execution_time = 60/' /etc/php/8.1/cli/php.ini
Tăng giới hạn bộ nhớ cho PHP-FPM từ 128MB lên 256MB.
Mã:
$ sudo sed -i 's/memory_limit = 128M/memory_limit = 256M/' /etc/php/8.1/fpm/php.ini
Khởi động lại dịch vụ PHP-FPM.
Mã:
$ sudo systemctl restart php8.1-fpm
Thay đổi nhóm thư mục phiên PHP thành Nginx.
Mã:
$ sudo chgrp -R nginx /var/lib/php/sessions

Cấu hình Nginx​

Tạo và mở tệp /etc/nginx/conf.d/wallabag.conf cho chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/conf.d/wallabag.conf
Dán mã sau vào đó.
Mã:
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name wallabag.example.com; access_log /var/log/nginx/wallabag.access.log; error_log /var/log/nginx/wallabag.error.log;	# SSL ssl_certificate /etc/letsencrypt/live/wallabag.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/wallabag.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/wallabag.example.com/chain.pem; ssl_session_timeout 5m; ssl_session_cache shared:MozSSL:10m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; resolver 8.8.8.8; root /var/www/html/wallabag/web; location / { try_files $uri /app.php$is_args$args; } # Pass PHP Scripts To FastCGI Server location ~ ^/app\.php(/|$) { fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_pass unix:/run/php/php8.1-fpm.sock; # Depends On The PHP Version fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; include fastcgi_params; internal; } location ~ \.php$ { return 404; }
}
# enforce HTTPS
server { listen 80; listen [::]:80; server_name wallabag.example.com; return 301 https://$host$request_uri;
}
Lưu ý thư mục gốc được sử dụng trong cấu hình Nginx là /var/www/html/wallabag/public/.

Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.

Mở tệp /etc/nginx/nginx.conf để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/nginx.conf
Thêm dòng sau vào trước dòng include /etc/nginx/conf.d/*.conf;.
Mã:
server_names_hash_bucket_size 64;
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.

Xác minh tệp cấu hình Nginx cú pháp.
Mã:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Khởi động lại dịch vụ Nginx.
Mã:
$ sudo systemctl restart nginx

Bước 11 - Truy cập Wallabag​

Mở URL https://wallabag.example.com trong trình duyệt của bạn và bạn sẽ nhận được màn hình đăng nhập sau.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22577%22%20height=%22684%22%3E%3C/svg%3E


Nhập thông tin đăng nhập đã tạo trong quá trình cài đặt và nhấn nút ĐĂNG NHẬP để tiếp tục. Bạn sẽ được chào đón bằng bảng điều khiển Wallabag.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22461%22%3E%3C/svg%3E


Wallabag cung cấp cho bạn nhiều ứng dụng cho mọi trình duyệt, thiết bị di động hoặc trình đọc sách điện tử, mà bạn có thể sử dụng để thêm liên kết. Và nếu không có gì khác làm bạn thích, bạn thậm chí có thể sử dụng Bookmarklet, thông tin chi tiết về Bookmarklet mà bạn có thể truy cập từ phần How to bằng cách nhấp vào biểu tượng người dùng ở góc trên bên phải của bảng điều khiển.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22423%22%20height=%22682%22%3E%3C/svg%3E


Bạn sẽ được cung cấp liên kết đến tiện ích mở rộng trình duyệt, ứng dụng di động và Wallabag bookmarklet.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22485%22%3E%3C/svg%3E


Vậy là xong. Bạn có thể bắt đầu sử dụng Wallabag để lưu các bài viết để đọc sau.

Kết luận​

Đây là phần kết thúc hướng dẫn cài đặt Wallabag trên máy chủ Rocky Linux 9. Nếu bạn có bất kỳ câu hỏi nào, hãy đăng chúng trong phần bình luận bên dưới.
 
Back
Bên trên