Cách cài đặt Wallabag trên Ubuntu 18.04 LTS

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 lại sau theo tốc độ rảnh rỗi của mình. 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 bạn sẽ có lợi. Thứ nhất, nó sẽ không phá sản và xóa các liên kết. Và bạn có thể giữ dữ liệu duyệt web của mình ở chế độ riêng tư.

Hướng dẫn này sẽ trình bày cách cài đặt và thiết lập Wallabag trên máy chủ chạy Ubuntu 18.04 trở lên. Nó cũng sẽ trình bày cách thiết lập Nginx, MariaDB, Git, Postfix, 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​

Bạn sẽ cần những điều sau trước khi tiếp tục với hướng dẫn của chúng tôi.

  • Máy chủ chạy Ubuntu 18.04 có người dùng không phải root có quyền sudo.

  • Bạn cũng sẽ cần công cụ Make. Để cài đặt, chỉ cần sử dụng lệnh sau
Mã:
$ sudo apt install make

Cài đặt git​

Bước đầu tiên là cài đặt Git mà chúng ta sẽ sử dụng sau này để sao chép các tệp cài đặt wallabag từ kho lưu trữ git của nó. Git thường được cài đặt trên hầu hết các máy chủ web hiện nay. Nếu không, hãy tiếp tục với các lệnh sau.
Mã:
$ sudo apt install git
$ git config --global user.name "Tên của bạn"
$ git config --global user.email "[emailprotected]"

Cài đặt Nginx​

Mã:
$ sudo apt install nginx
Nếu bạn đang sử dụng tường lửa của Ubuntu, hãy thêm các quy tắc sau vào danh sách của tường lửa.
Mã:
$ sudo ufw allow "Nginx HTTP"
Kiểm tra cả trạng thái nữa.
Mã:
$ sudo ufw status
Bạn sẽ thấy thông báo như thế này
Mã:
Trạng thái: activeTo Action From-- ------ ----OpenSSH ALLOW AnywhereNginx HTTP ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)Nginx HTTP (v6) ALLOW Anywhere (v6)
Thử truy cập địa chỉ IP của máy chủ trong trình duyệt. Bạn sẽ thấy trang Nginx mặc định sau đây xác nhận rằng Nginx đã được cài đặt thành công.


Cài đặt MariaDB​

MariaDB là một sự thay thế trực tiếp cho MySQL, có nghĩa là các lệnh để chạy và vận hành MariaDB giống như các lệnh dành cho MySQL. Để cài đặt MariaDB, hãy đưa ra các lệnh sau
Mã:
$ sudo apt install mariadb-server
Chạy lệnh sau để thực hiện cấu hình mặc định như cung cấp mật khẩu gốc, xóa người dùng ẩn danh, không cho phép đăng nhập gốc từ xa và xóa các bảng thử nghiệm. Nhấn yes cho mọi thứ và thiết lập mật khẩu gốc.
Mã:
$ sudo mysql_secure_installation
Có một cảnh báo khi thiết lập mật khẩu gốc. Theo mặc định, MariaDB cho phép người dùng gốc hệ thống đăng nhập vào MariaDB mà không cần mật khẩu. Nhưng nếu bạn định sử dụng ứng dụng của bên thứ 3 để truy cập thông qua root thì mật khẩu là bắt buộc, nếu không các ứng dụng như PHPMyAdmin sẽ không hoạt động. Để thực hiện việc này, bạn cần tắt xác thực dựa trên plugin, đây là tùy chọn mặc định trên MariaDB.

Để tắt xác thực plugin và khôi phục mật khẩu gốc, trước tiên hãy nhập dấu nhắc MySQL bằng lệnh sau.
Mã:
$ sudo mysql -u root
Bây giờ hãy nhập các lệnh sau để tắt xác thực plugin.
Mã:
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit
Sau đó, hãy khởi động lại dịch vụ MariaDB của bạn.
Mã:
$ sudo systemctl restart mariadb.service
Vậy là xong. Lần tới khi bạn muốn đăng nhập vào MySQL, hãy sử dụng lệnh sau
Mã:
$ sudo mysql -u root -p
Và bạn sẽ được yêu cầu nhập mật khẩu root mà bạn đã đặt ban đầu.

Cấu hình MariaDB cho Wallabag​

Bây giờ chúng ta cần thiết lập một cơ sở dữ liệu để sử dụng cho ứng dụng wallabag. Để thực hiện điều đó, hãy đăng nhập vào dấu nhắc MySQL. Chúng tôi sẽ giả định rằng bạn đang sử dụng phương thức xác thực mặc định của MariaDB (tức là không sử dụng mật khẩu root) cho phần còn lại của hướng dẫn.
Mã:
$ sudo mysql -u root
Khi đến dấu nhắc, hãy nhập các lệnh sau để thiết lập cơ sở dữ liệu có tên wallabag và người dùng cơ sở dữ liệu có tên wallabaguser và cấp quyền truy cập vào cơ sở dữ liệu.
Mã:
create database wallabag;create user wallabaguser@localhost;set password for wallabaguser@localhost= password("yourpassword");grant all privileges on wallabag.* to wallabaguser@localhost defined by "yourpassword";flush privileges;exit

Install PHP and composer​

Bây giờ máy chủ của chúng ta đã hoạt động, đã đến lúc cài đặt PHP và Composer. Vì chúng ta đang sử dụng Nginx, chúng ta cần cài đặt gói PHP-FPM. Cùng với nó, chúng ta sẽ cần một số tiện ích mở rộng PHP khác như mbstring, mysql, gd, bc-math, curl, zip và xml.
Mã:
$ sudo apt install php-fpm php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-gettext php-tokenizer
$ sudo apt install composer
Vậy là xong. Chúng ta sẽ đến phần cấu hình PHP và composer sau. Hãy chuyển sang bước tiếp theo.

Cấu hình Nginx​

Đã đến lúc cấu hình cài đặt Nginx của chúng ta trước khi tiến hành cài đặt thực tế. Giả sử tên miền bạn đang sử dụng cho wallabag là example.com, hãy tạo một thư mục nơi bạn sẽ lưu trữ cài đặt của mình. Wallabag sẽ được cài đặt trong thư mục html.
Mã:
$ sudo mkdir -p /var/www/example.com/html
Tiếp theo, gán quyền sở hữu thư mục cho www-data được Nginx sử dụng.
Mã:
$ sudo chown -R www-data:www-data /var/www/example.com/html
Đảm bảo các quyền chính xác được thiết lập.
Mã:
$ sudo chmod -R 755 /var/www/example.com
Tiếp theo, tạo máy chủ ảo cho trang web.
Mã:
sudo nano /etc/nginx/sites-available/example.com
Dán cấu hình sau đây hoạt động với wallabag.
Mã:
server { server_name example.com www.example.com; root /var/www/example/html/web; location / { try_files $uri /app.php$is_args$args; } location ~ ^/app\.php(/|$) { # thay thế php7.2-fpm bằng bất kỳ phiên bản php 7.x nào bạn đang sử dụng fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT $realpath_root; internal; } location ~ \.php$ { return 404; } error_log /var/log/nginx/wallabag_error.log; access_log /var/log/nginx/wallabag_access.log;}
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc. Tiếp theo, chúng ta cần bật cấu hình này. Để thực hiện, hãy tạo liên kết từ tệp đến thư mục sites-enabled.
Mã:
$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Bạn có thể gặp sự cố về bộ nhớ phát sinh do tên máy chủ bổ sung. Để khắc phục điều đó, hãy mở tệp nginx.conf
Mã:
$ sudo nano /etc/nginx/nginx.conf
Tìm chỉ thị server_names_hash_bucket_size và xóa ký hiệu # để bỏ chú thích cho dòng:
Mã:
server_names_hash_bucket_size 64;
Lưu tệp. Tiếp theo, hãy đảm bảo không có lỗi nào trong cấu hình Nginx.
Mã:
$ sudo nginx -t
Nếu không có vấn đề gì, hãy khởi động lại Nginx để kích hoạt các thay đổi mới.
Mã:
$ sudo systemctl restart nginx

Cài đặt Wallabag​

Đầu tiên, hãy sao chép wallabag từ kho lưu trữ GitHub của nó. Vì chúng tôi đã cấp quyền cho thư mục html cho người dùng www-data, chúng tôi sẽ cần chuyển sang thư mục đó để chạy cài đặt.
Mã:
$ sudo -u www-data /bin/bash$ cd /var/www/example.comgit clone https://github.com/wallabag/wallabag.git html
Điều này sẽ sao chép các tệp cài đặt wallabag vào thư mục html. Cài đặt Wallabag bằng lệnh make.
Mã:
$ cd html$ make install
Bạn sẽ được hỏi một số câu hỏi trong quá trình cài đặt.

Nếu bạn muốn sử dụng http, hãy nhập http://example.com khi được yêu cầu nhập Tên miền và bỏ qua phần HTTPS của hướng dẫn.
Mã:
database_driver (pdo_mysql): pdo_mysqldatabase_driver_class (null): Nhấn Enterdatabase_host (127.0.0.1): 127.0.0.1database_port (null): 3306database_name (wallabag): wallabagdatabase_user (root): wallabaguserdatabase_password (null): wallabagpassworddatabase_path (null): Nhấn Enterdatabase_table_prefix (wallabag_): Tiền tố bạn chọn hoặc Nhấn Enter để mặc định.database_socket (null): Nhấn Enterdatabase_charset (utf8mb4): Nhấn Enterdomain_name ('https://your-wallabag-url-instance.com'): http://example.com
Bạn cũng sẽ được yêu cầu cung cấp thông tin chi tiết về SMTP để nhận email liên quan đến mật khẩu đã quên hoặc xác thực hai yếu tố. Nếu bạn muốn sử dụng dịch vụ SMTP của bên thứ 3 như Mailgun hoặc Sendgrid, bạn có thể điền các giá trị còn lại hoặc chỉ cần nhấn Enter để nhập các giá trị đó.Nhập no vào tham số fosuser_registration nếu bạn không muốn bất kỳ ai đăng ký trên trang web của mình. Ngoài ra, hãy thay đổi giá trị của tham số secret. Nếu bạn có dữ liệu lớn để nhập, hãy cài đặt RabbitMQ hoặc Redis và nhập các giá trị khi được yêu cầu.

Khi được nhắc có muốn đặt lại cơ sở dữ liệu hiện tại của bạn không, hãy nhấn Enter để sử dụng tùy chọn mặc định (không). Bạn cũng sẽ được yêu cầu tạo người dùng Quản trị.

Chuyển về thông tin đăng nhập người dùng Ubuntu mặc định của bạn khi hoàn tất.
Mã:
$ exit

Cấu hình SMTP​

Nếu bạn muốn thiết lập máy chủ SMTP cơ bản và không sử dụng dịch vụ SMTP của bên thứ 3, hãy cài đặt Mailutils.
Mã:
$ sudo apt install mailutils
Trong quá trình cài đặt, bạn sẽ được yêu cầu chọn loại cấu hình cho Postfix. Chọn Internet Site và tiếp tục. Nhập example.com khi được yêu cầu nhập trường Tên thư hệ thống. Vậy là xong.

Cấu hình HTTPS​

Chúng tôi sẽ sử dụng Let's Encrypt để thiết lập HTTPS cho cài đặt wallabag của mình. Thêm kho lưu trữ sau cho công cụ Certbot.
Mã:
$ sudo add-apt-repository ppa:certbot/certbot
Cài đặt gói Certbot Nginx từ kho lưu trữ.
Mã:
$ sudo apt install python-certbot-nginx
Lấy chứng chỉ cho tên miền example.com của bạn.
Mã:
$ sudo certbot --nginx -d example.com -d www.example.com
Nếu đây là lần đầu tiên bạn sử dụng công cụ Certbot, bạn sẽ được yêu cầu cung cấp email và đồng ý với các điều khoản dịch vụ. Bạn cũng sẽ được hỏi xem bạn có muốn chia sẻ email của mình với EFF (Electronic Frontier Foundation) hay không. Chọn N nếu bạn không muốn EFF gửi email cho bạn về tin tức và chiến dịch của họ.

Nếu thành công, Certbot sẽ hỏi bạn muốn định cấu hình cài đặt HTTPS như thế nào.
Mã:
Vui lòng chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP.----------------------------------------------------------------------------------1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin tưởng rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tácthay đổi này bằng cách chỉnh sửa cấu hình máy chủ web của mình.----------------------------------------------------------------------------------Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy):
Chọn 2 vì chúng tôi muốn tất cả các yêu cầu đến tên miền của bạn được chuyển hướng đến https.

Vậy là xong. Tên miền HTTPS của bạn đã hoạt động. Certbot sẽ tự động gia hạn tên miền của bạn sau mỗi 90 ngày. Để kiểm tra quy trình gia hạn, hãy chạy thử.
Mã:
$ sudo certbot renew --dry-run
Nếu bạn không thấy lỗi nào, điều đó có nghĩa là mọi thứ đều hoàn hảo.

Cấu hình Wallabag​

Bây giờ chúng ta đã thiết lập wallabag, hãy mở tên miền wallabag của bạn. Bạn sẽ thấy màn hình sau.



Nhập thông tin đăng nhập mà bạn đã chọn trong quá trình make ở trên. Sau khi đăng nhập, bạn sẽ thấy màn hình sau.



Bạn nên bật xác thực hai yếu tố. Để thực hiện việc đó, hãy nhấp vào nút Config ở bên trái và chọn tab USER INFORMATION từ màn hình sau. Đánh dấu kiểm Xác thực hai yếu tố để bật.



Bạn có thể nhập dữ liệu của mình từ Pockets, Instapaper, Pinboard và dấu trang từ trình duyệt Firefox và Chrome.

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 Cách thực hiện trong cài đặt của mình.


Nâng cấp Wallabag​

Để nâng cấp Wallabag lên phiên bản mới nhất, chỉ cần đưa ra các lệnh sau.
Mã:
$ sudo -u www-data /bin/bash$ cd /var/www/example.com/html$ make update
Vậy là xong phần hướng dẫn này. Bây giờ bạn có thể lưu và đọc các bài viết từ máy chủ của mình mà không ảnh hưởng đến quyền riêng tư của dữ liệu.
 
Back
Bên trên