Selfoss RSS Reader là trình đọc đa năng dựa trên web hostig mã nguồn mở miễn phí, live stream, mashup, (RSS / Atom) ….. Bạn có thể sử dụng Selfoss để phát trực tiếp và thu thập tất cả các bài đăng, tweet, podcast và nguồn cấp dữ liệu của mình dễ dàng truy cập từ bất kỳ máy tính để bàn hoặc thiết bị di động nào.
Trong hướng dẫn này,mình sẽ cài đặt Selfoss RSS Reader 2.17 trên VPS Debian 9 LAMP sử dụng máy chủ web Apache, PHP 7.1 và cơ sở dữ liệu MariaDB.
Lưu ý: Bạn cần có VPS Debian và quyền truy cập root, SSH
1: Thêm người dùng Sudo
Chúng tôi sẽ bắt đầu bằng cách thêm một sudo
người dùng mới .
Đầu tiên, hãy đăng nhập vào máy chủ của bạn bằng root
:
ssh root@YOUR_VULTR_IP_ADDRESS
Cài đặt sudo
:
apt-get -y install sudo
Bây giờ, hãy thêm một người dùng mới được gọi là user1
(hoặc tên người dùng ưa thích của bạn):
adduser user1
Khi được nhắc, hãy nhập mật khẩu an toàn và dễ nhớ. Bạn cũng sẽ được nhắc nhập “Tên đầy đủ” và một số chi tiết khác, nhưng bạn chỉ cần để trống bằng cách nhấn Enter
.
Bây giờ hãy kiểm tra /etc/sudoers
tệp để đảm bảo rằng sudoers
nhóm đã được bật:
visudo
Tìm một phần như thế này:
%sudo ALL=(ALL:ALL) ALL
Dòng này cho chúng ta biết rằng người dùng là thành viên của sudo
nhóm có thể sử dụng sudo
để đạt được root
. Tiếp theo, chúng ta cần thêm user1
vào sudo
nhóm:
usermod -aG sudo user1
kiểm tra xem usermod
có hoạt động với groups
= lệnh:
groups user1
Bây giờ sử dụng su
để chuyển sang user1
người dùng sudo mới :
su - user1
Dấu nhắc lệnh sẽ cập nhật để cho biết rằng bạn hiện đã đăng nhập vào user1
. Bạn có thể xác minh điều này bằng whoami
:
whoami
Bây giờ hãy khởi động lại sshd
dịch vụ để bạn có thể đăng nhập ssh
bằng tài khoản người dùng sudo không phải root mới mà bạn vừa tạo:
sudo systemctl restart sshd
Thoát khỏi user1
tài khoản:
exit
Thoát khỏi root
tài khoản (sẽ ngắt kết nối ssh
phiên của bạn ):
exit
Giờ đây, bạn có thể ssh
vào phiên bản máy chủ từ máy chủ cục bộ của mình bằng user1
tài khoản người dùng sudo không phải root mới :
ssh user1@YOUR_VULTR_IP_ADDRESS
Nếu bạn muốn thực thi sudo mà không phải nhập mật khẩu mỗi lần, hãy mở lại /etc/sudoers
tệp bằng cách sử dụng visudo
:
sudo visudo
Chỉnh sửa phần cho sudo
nhóm để nó trông giống như sau:
%sudo ALL=(ALL) NOPASSWD: ALL
Bất cứ khi nào bạn muốn đăng nhập vào root
tài khoản người dùng từ bên trong sudo
, bạn có thể sử dụng một trong các lệnh sau:
sudo -i
sudo su -
Bạn có thể thoát khỏi root
tài khoản và quay lại sudo
tài khoản người dùng của mình bất kỳ lúc nào:
exit
2. Cập nhật hệ thống Debian 9
Trước khi cài đặt bất kỳ gói nào trên phiên bản máy chủ Debian, trước tiên hãy cập nhật hệ thống. Đảm bảo bạn đã đăng nhập vào máy chủ bằng người dùng sudo không phải root và chạy các lệnh sau:
sudo apt-get update
sudo apt-get -y upgrade
3. Cài đặt Máy chủ Web Apache
Cài đặt máy chủ web Apache:
sudo apt-get -y install apache2
Sau đó, sử dụng systemctl
để khởi động và cho phép Apache tự động thực thi tại thời điểm khởi động:
sudo systemctl enable apache2
sudo systemctl start apache2
Kiểm tra tệp cấu hình trang web mặc định Apache của bạn để đảm bảo rằng DocumentRoot
chỉ thị trỏ đến đúng thư mục:
sudo vi /etc/apache2/sites-enabled/000-default.conf
Các DocumentRoot
tùy chọn cấu hình sẽ trông như thế này:
DocumentRoot "/var/www/html"
Bây giờ chúng ta cần bật mod_rewrite
mô-đun Apache, vì vậy hãy đảm bảo rằng tệp cấu hình trang web mặc định Apache của bạn vẫn đang mở và thêm các lệnh Directory
Apache sau ngay trước </VirtualHost>
, để phần cuối tệp cấu hình của bạn trông giống như sau:
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Bây giờ lưu và thoát khỏi các tập tin, và cho phép mod_rewrite
, mod_authz_core
và mod_headers
module Apache:
sudo a2enmod rewrite authz_core headers
Chúng tôi sẽ khởi động lại Apache ở phần cuối của hướng dẫn này, nhưng việc khởi động lại Apache thường xuyên trong quá trình cài đặt và cấu hình chắc chắn là một thói quen tốt, vì vậy hãy thực hiện ngay bây giờ:
sudo systemctl restart apache2
4. Cài đặt PHP 7.0
Bây giờ chúng ta có thể cài đặt PHP 7.0 cùng với tất cả các mô-đun PHP cần thiết mà Selfoss RSS Reader yêu cầu:
sudo apt-get -y install php php-gd php-mbstring php-common php-mysql php-imagick php-xml libapache2-mod-php php-curl php-tidy php-zip
5: Cài đặt máy chủ MariaDB (MySQL)
Debian 9 mặc định sử dụng máy chủ cơ sở dữ liệu MariaDB, đây là một trình thay thế nâng cao, hoàn toàn nguồn mở, do cộng đồng phát triển, thay thế cho máy chủ MySQL.
Cài đặt máy chủ cơ sở dữ liệu MariaDB:
sudo apt-get -y install mariadb-server
Khởi động và kích hoạt máy chủ MariaDB:
sudo systemctl enable mariadb
sudo systemctl start mariadb
Bảo mật cài đặt máy chủ MariaDB của bạn:
sudo mysql_secure_installation
Các root
mật khẩu sẽ được để trống, vì vậy chỉ đơn giản là nhấn enter khi được nhắc cho root
mật khẩu.
Khi được nhắc tạo root
người dùng MariaDB / MySQL , hãy chọn “Y” (cho có) và sau đó nhập root
mật khẩu an toàn . Chỉ cần trả lời “Y” cho tất cả các câu hỏi có / không khác vì các đề xuất mặc định là các tùy chọn an toàn nhất.
6. Tạo cơ sở dữ liệu cho Selfoss RSS Reader
Đăng nhập vào MariaDB shell với tư cách root
người dùng MariaDB bằng cách chạy lệnh sau:
sudo mariadb -u root -p
Để truy cập dấu nhắc lệnh MariaDB, chỉ cần nhập root
mật khẩu MariaDB khi được nhắc.
Chạy các truy vấn sau để tạo cơ sở dữ liệu MariaDB và người dùng cơ sở dữ liệu cho Selfoss RSS Reader:
CREATE DATABASE selfoss_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'selfoss_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON selfoss_db.* TO 'selfoss_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Bạn có thể thay thế tên cơ sở dữ liệu selfoss_db
và tên người dùng selfoss_user
bằng một cái gì đó khác theo ý thích của bạn, nếu bạn muốn. Ngoài ra, hãy đảm bảo rằng bạn thay thế “UltraSecurePassword” bằng một mật khẩu thực sự an toàn.
7. Cài đặt tệp RSS Reader của Selfoss
Thay đổi thư mục làm việc hiện tại của bạn thành thư mục web mặc định:
cd /var/www/html/
Nếu bạn nhận được thông báo lỗi có nội dung như 'No such file or directory'
sau, hãy thử lệnh sau:
cd /var/www/ ; sudo mkdir html ; cd html
Thư mục làm việc hiện tại của bạn bây giờ sẽ là: /var/www/html/
. Bạn có thể kiểm tra điều này bằng lệnh pwd
(print working directory):
pwd
Bây giờ, hãy sử dụng wget
để tải xuống gói cài đặt Selfoss RSS Reader:
sudo wget --content-disposition https://github.com/SSilence/selfoss/archive/2.17.zip
Xin lưu ý: Bạn chắc chắn nên kiểm tra phiên bản mới nhất bằng cách truy cập trang tải xuống Selfoss RSS Reader .
Liệt kê thư mục hiện tại để kiểm tra xem bạn đã tải xuống tệp thành công chưa:
ls -la
Loại bỏ index.html
:
sudo rm index.html
Hãy nhanh chóng cài đặt unzip
để giải nén tệp:
sudo apt-get -y install unzip
Bây giờ giải nén tệp nén zip:
sudo unzip selfoss-2.17.zip
Di chuyển tất cả các tệp cài đặt vào thư mục gốc của web:
sudo mv -v selfoss-2.17/* selfoss-2.17/.* /var/www/html 2>/dev/null
Thay đổi quyền sở hữu các tệp web để tránh mọi vấn đề về quyền:
sudo chown -R www-data:www-data * ./
Khởi động lại Apache một lần nữa:
sudo systemctl restart apache2
8. Cài đặt và chạy Composer
Selfoss RSS Reader yêu cầu chúng tôi sử dụng composer
để tải xuống một số plugin, vì vậy hãy cài đặt composer
:
sudo apt-get -y install composer
Bây giờ hãy đảm bảo rằng bạn đang ở trong thư mục webroot:
cd /var/www/html
Chạy trình soạn nhạc bằng www-data
người dùng:
sudo -u www-data composer install
Bạn sẽ thấy một số thông báo cảnh báo composer
về việc không thể ghi vào bộ nhớ đệm, nhưng đừng quá lo lắng về điều đó vì mọi thứ vẫn sẽ cài đặt tốt.
Bây giờ chúng ta đã sẵn sàng để chuyển sang bước cuối cùng.
9. Hoàn thành cài đặt Selfoss RSS Reader
- Trước tiên, chúng tôi cần cập nhật tệp cấu hình Selfoss RSS Reader
config.ini
với cài đặt cơ sở dữ liệu chính xác để đảm bảo rằng bạn vẫn ở trong thư mục webroot và sao chépdefaults.ini
vàoconfig.ini
:sudo cp -iv defaults.ini config.ini
- Tiếp theo, mở
config.ini
tệp cấu hình và thêm các giá trị cơ sở dữ liệu sau:[globals] db_type=mysql db_host=localhost db_database=selfoss_db db_username=selfoss_user db_password=UltraSecurePassword db_port=3306
- Bây giờ cần thêm một mật khẩu vào
config.ini
, vì vậy hãy truy cập URL sau trong trình duyệt của bạn:http://YOUR_VULTR_IP_ADDRESS/password
Sau đó, nhập mật khẩu mong muốn của bạn vào
Password
và nhấp vàoGenerate
.Chỉ cần sao chép giá trị kết quả vào tùy chọn mật khẩu trong
config.ini
để phần mật khẩu bây giờ trông giống như sau:username=admin password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a salt=<long string of random chracters>
- Xóa tất cả các tùy chọn chưa được chỉnh sửa khác khỏi
config.ini
để tệp cấu hình hoàn chỉnh của bạn trông giống như sau:[globals] db_type=mysql db_host=localhost db_database=db1 db_username=u1 db_password=usecpass1 db_port=3306 username=admin password=b729a37c34ff9648c33d67de3b289b58b7486dd71236343a6c2c275c2cc0477bd1d254eb92248bfa753169547d4bd2e81c2c9e460ba5bba822af1e87722dd12a salt=<long string of random chracters>
Lưu ý: Nếu bạn muốn thay đổi bất kỳ
defaults.ini
tùy chọn nào, bạn có thể chỉ cần thêm chúng vào danh sách các tùy chọn ở trên. Khi bạn đã hoàn thành việc chỉnh sửa tệp cấu hình, bạn có thể lưu và thoát tệp. - Bây giờ bạn có thể đăng nhập vào Selfoss RSS Reader bằng cách truy cập trang chủ và nhập tên người dùng và mật khẩu của bạn:
http://YOUR_VULTR_IP_ADDRESS/
- Nếu bạn muốn người đọc tự động cập nhật nguồn cấp dữ liệu của mình, bạn sẽ cần chỉnh sửa crontab của mình:
sudo crontab -e
Thêm dòng sau để làm mới nguồn cấp dữ liệu của bạn hàng giờ:
0 * * * * www-data cd /var/www/html && php cliupdate.php
Nếu bạn chưa định cấu hình cài đặt DNS Vultr của mình, bạn có thể thực hiện việc này bằng bảng điều khiển Vultr DNS. Bạn cũng nên định cấu hình trang web của mình để sử dụng SSL vì hầu hết các trình duyệt sẽ đưa ra cảnh báo khi các trang web không bật SSL và chứng chỉ SSL hiện có sẵn miễn phí.
OK như vậy là xong các bạn có thể tự do thêm nguồn cấp dữ liệu và tùy chỉnh thêm nếu muốn.
Leave a Reply