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.
[*]
Một số gói mà hệ thống của bạn cần.
Một số gói này có thể đã được cài đặt trên hệ thống của bạn.
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.
Nó sẽ hiển thị đầu ra sau.
Wallabag cần các cổng HTTP và HTTPS để hoạt động. Mở chúng ra.
Tải lại tường lửa để áp dụng các thay đổi.
Liệt kê lại tất cả các dịch vụ.
Bạn sẽ nhận được kết quả sau.
Tiếp theo, cài đặt kho lưu trữ Remi.
Kiểm tra PHP có sẵn luồng.
Phiên bản mặc định là 8.1. Bật kho lưu trữ PHP 8.1 của Remi.
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.
Xác minh cài đặt.
Mở tệp
Tìm
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.
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 đó.
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.
Bật và khởi động dịch vụ PHP-FPM.
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.
Cài đặt Composer bằng cách di chuyển tệp nhị phân đến
Xác minh cài đặt bằng cách kiểm tra phiên bản của nó.
Kiểm tra phiên bản MySQL.
Bật và khởi động MySQL service.
Chạy tập lệnh cài đặt bảo mật MySQL.
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.
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
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.
Tạo một cơ sở dữ liệu mẫu.
Tạo một người dùng SQL tài khoản.
Cấp tất cả các quyền trên cơ sở dữ liệu cho người dùng.
Xóa người dùng quyền.
Thoát khỏi shell.
Tạo và mở tệp
Dán mã sau vào nó.
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.
Xác minh cài đặt.
Bật và khởi động máy chủ Nginx.
Kiểm tra trạng thái của máy chủ.
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.
Bật và khởi động dịch vụ Snap.
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.
Tạo các liên kết cần thiết để Snapd hoạt động.
Phát hành lệnh sau để cài đặt 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
Xác minh cài đặt.
Chạy lệnh sau để tạo SSL Chứng chỉ.
Lệnh trên sẽ tải chứng chỉ xuống thư mục
Tạo nhóm Diffie-Hellman chứng chỉ.
Kiểm tra dịch vụ lập lịch gia hạn Certbot.
Bạn sẽ tìm thấy
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.
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.
Tải xuống phiên bản mới nhất của Wallabag.
Giải nén tệp lưu trữ.
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.
Tạo thư mục tài sản.
Thay đổi quyền của
Chuyển sang thư mục.
Tạo tệp
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ở tệp tham số để chỉnh sửa.
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.
Điền vào mô tả máy chủ và tên miền.
Đ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.
Đ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
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.
Hoàn tất cài đặt bằng dòng lệnh Wallabag tool.
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
Chuyển lại quyền thư mục thành Nginx.
Áp dụng chính sách.
Áp dụng chính sách để cho phép Nginx cấp quyền truy cập vào MySQL.
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
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.
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 đó.
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.
Tăng giới hạn bộ nhớ cho PHP-FPM từ 128MB lên 256MB.
Khởi động lại dịch vụ PHP-FPM.
Thay đổi nhóm thư mục phiên PHP thành Nginx.
Dán mã sau vào đó.
Lưu ý thư mục gốc được sử dụng trong cấu hình Nginx là
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
Thêm dòng sau vào trước dòng
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.
Khởi động lại dịch vụ Nginx.
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
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.
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
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
Mã:
$ sudo firewall-cmd --permanent --list-services
Mã:
cockpit dhcpv6-client ssh
Mã:
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Mã:
$ sudo firewall-cmd --reload
Mã:
$ sudo firewall-cmd --permanent --list-services
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
Mã:
$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
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
Mã:
$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.1
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
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
/etc/php-fpm.d/www.conf
.
Mã:
$ sudo nano /etc/php-fpm.d/www.conf
user=apache
và group=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
...
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
Mã:
;listen.acl_users = apache,nginx
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/
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');"
/usr/local/bin
thư mục.
Mã:
$ sudo mv composer.phar /usr/local/bin/composer
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
Mã:
$ mysql --version
mysql Ver 8.0.30 for Linux on x86_64 (Source distribution)
Mã:
$ sudo systemctl enable mysqld --now
Mã:
$ sudo mysql_secure_installation
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
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
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
Mã:
mysql> CREATE DATABASE wallabag;
Mã:
mysql> CREATE USER 'wallabaguser'@'localhost' IDENTIFIED BY 'Your_password2';
Mã:
mysql> GRANT ALL PRIVILEGES ON wallabag.* TO 'wallabaguser'@'localhost';
Mã:
mysql> FLUSH PRIVILEGES;
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
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
Cài đặt máy chủ Nginx.
Mã:
$ sudo dnf install -y nginx
Mã:
$ nginx -v
nginx version: nginx/1.22.1
Mã:
$ sudo systemctl enable nginx --now
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
Mã:
$ sudo systemctl enable snapd --now
Mã:
$ sudo snap install core && sudo snap refresh core
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
Mã:
$ sudo snap install --classic certbot
/usr/bin
.
Mã:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Mã:
$ certbot --version
certbot 2.3.0
Mã:
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d wallabag.example.com
/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
Mã:
$ sudo systemctl list-timers
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
Mã:
$ sudo certbot renew --dry-run
Bước 8 - Cài đặt Wallabag
Tạo thư mục/var/www/wallabag/html
.
Mã:
$ sudo mkdir /var/www/html/wallabag -p
Mã:
$ wget https://wllbg.org/latest-v2-package
Mã:
$ tar xzf latest-v2-package
Mã:
$ sudo mv wallabag-2.5.4/* /var/www/html/wallabag
Mã:
$ sudo mkdir /var/www/html/wallabag/data/assets
/var/www/html/wallabag
thư mục đến người dùng hiện đang đăng nhập.
Mã:
$ sudo chown -R $USER:$USER /var/www/html/wallabag
Mã:
$ cd /var/www/html/wallabag
parameters.yml
bằng cách sao chép ví dụ file.
Mã:
$ cp app/config/parameters.yml.dist app/config/parameters.yml
Mã:
$ openssl rand -base64 32
QLV/GpZwDobQbyQZQ15FkM1Hvt+ZFJZXw8GW9F4KR3o=
Mã:
$ nano app/config/parameters.yml
Mã:
.......... database_driver: pdo_mysql database_host: 127.0.0.1 database_port: 3306 database_name: wallabag database_user: wallabaguser database_password: Your_password2
Mã:
domain_name: https://wallabag.example.com server_name: "Howtoforge Wallabag"
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
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]
.....
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
Mã:
$ php bin/console wallabag:install --env=prod
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
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(/.*)?"
Mã:
$ sudo restorecon -R -v /var/www/html/wallabag
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
user=www-data
và group=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
...
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
Mã:
;listen.acl_users = apache,nginx
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
Mã:
$ sudo sed -i 's/memory_limit = 128M/memory_limit = 256M/' /etc/php/8.1/fpm/php.ini
Mã:
$ sudo systemctl restart php8.1-fpm
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
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;
}
/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
include /etc/nginx/conf.d/*.conf;
.
Mã:
server_names_hash_bucket_size 64;
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
Mã:
$ sudo systemctl restart nginx
Bước 11 - Truy cập Wallabag
Mở URLhttps://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.