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.
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.
Kiểm tra cả trạng thái nữa.
Bạn sẽ thấy thông báo như thế này
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.
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.
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.
Bây giờ hãy nhập các lệnh sau để tắt xác thực plugin.
Sau đó, hãy khởi động lại dịch vụ MariaDB của bạn.
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
Và bạn sẽ được yêu cầu nhập mật khẩu root mà bạn đã đặt ban đầu.
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.
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.
Tiếp theo, gán quyền sở hữu thư mục cho www-data được Nginx sử dụng.
Đảm bảo các quyền chính xác được thiết lập.
Tiếp theo, tạo máy chủ ảo cho trang web.
Dán cấu hình sau đây hoạt động với wallabag.
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.
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
Tìm chỉ thị
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.
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.
Đ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.
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
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
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.
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
Cài đặt gói Certbot Nginx từ kho lưu trữ.
Lấy chứng chỉ cho tên miền example.com của bạn.
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.
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ử.
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.
Nhập thông tin đăng nhập mà bạn đã chọn trong quá trình
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
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
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.
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
Mã:
$ sudo ufw allow "Nginx HTTP"
Mã:
$ sudo ufw status
Mã:
Trạng thái: activeTo Action From-- ------ ----OpenSSH ALLOW AnywhereNginx HTTP ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)Nginx HTTP (v6) ALLOW Anywhere (v6)
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
Mã:
$ sudo mysql_secure_installation
Để 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
Mã:
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit
Mã:
$ sudo systemctl restart mariadb.service
Mã:
$ sudo mysql -u root -p
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
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
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
Mã:
$ sudo chown -R www-data:www-data /var/www/example.com/html
Mã:
$ sudo chmod -R 755 /var/www/example.com
Mã:
sudo nano /etc/nginx/sites-available/example.com
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;}
Mã:
$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Mã:
$ sudo nano /etc/nginx/nginx.conf
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;
Mã:
$ sudo nginx -t
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
Mã:
$ cd html$ make install
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
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
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
Mã:
$ sudo apt install python-certbot-nginx
Mã:
$ sudo certbot --nginx -d example.com -d www.example.com
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):
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
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