Cài đặt wallabag lên Ubuntu Server
Giới thiệu
wallabag là một ứng dụng mã nguồn mở để lưu các bài viết trên web và cho phép đọc chúng sau. Sử dụng được trên điện thoại thông minh, máy tính bảng hoặc máy đọc sách của bạn.
Ưu điểm
- Có ứng dụng cho di động. Hỗ trợ Offline.
- Có extension cho trình duyệt.
- Miễn phí, miễn phí và miễn phí,
- Mã nguồn mở.
- Self Hosted.
Mình khoái chú này vì chạy khá nhanh, hỗ trợ Offline trên điện thoại nên khi có bài nào hay, mình cứ lưu lại để rảnh rang đọc sau, cực kỳ tiện.
Yêu cầu hệ thống
- Ubuntu Server.
- PHP.
- Nginx để làm Reverse Proxy.
- Tên miền với chứng chỉ SSL đã được lấy miễn phí từ Let's Encrypt.
- Cơ sở dữ liệu MariaDB (cũng có thể dùng Sqlite hoặc PortgreSQL).
Cài đặt
Tạo cơ sở dữ liệu
Đăng nhập vào tài khoản root
sudo mysql -u root -p
Tạo cơ sở dữ liệu wallabag và tài khoản wallabagdb, tên cơ sở dữ liệu và tài khoản cũng như mật khẩu tùy bạn
CREATE USER 'wallabag' IDENTIFIED BY 'password';
CREATE DATABASE wallabagdb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
GRANT ALL PRIVILEGES ON bookstackdb.* TO 'wallabag';
FLUSH PRIVILEGES;
exit;
Cài cái gói cần thiết
Ngoài PHP đã cài sẵn, cần cài thêm một số gói như sau
php-session, php-ctype, php-dom, php-hash, php-simplexml, php-json, php-gd, php-mbstring, php-xml, php-tidy, php-iconv, php-curl, php-gettext, php-tokenizer, php-bcmath, php-intl, php-fpm
tùy thuộc loại cơ sở dữ liệu mà thêm một trong ba gói
pdo_mysql, pdo_pgsql, pdo_sqlite
Tiến hành cài đặt
Clone git repo
git clone https://github.com/wallabag/wallabag.git
Chuyển toàn bộ về thư mục var/www
sudo mv wallabag /var/www/wallabag.com
Truy cập vào thư mục đó và cài đặt.
cd /var/www/wallabag
make install
Trong quá trình cài đặt, ứng dụng sẽ yêu cầu bạn nhập vào thông tin về cơ sở dữ liệu đã tạo ở trên, thông tin về tài khoản đăng nhập (email, tên đăng nhập, mật khẩu ...). Ngoài ra, nếu phát sinh thiếu gói nào thì hãy cài gói đó vào.
Chỉnh sửa file permissions
sudo chown -R www-data:www-data wallabag.com
sudo chmod -R 755 wallabag.com
Cấu hình Nginx
Tạo file cấu hình cho Nginx
sudo nano /etc/nginx/sites-available/wallabag.com
Và nhập vào nội dung sau
server {
listen 80;
server_name wallabag.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name wallabag.com;
root /var/www/wallabag.com/web;
location / {
try_files $uri /app.php$is_args$args;
}
location ~ ^/app\.php(/|$) {
fastcgi_pass unix:/run/php/php8.1-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;
}
ssl_certificate /etc/letsencrypt/live/wallabag.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wallabag.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
error_log /var/log/nginx/wallabag_error.log;
access_log /var/log/nginx/wallabag_access.log;
}
Ánh xạ, kiểm tra cấu hình không lỗi thì khởi động lại Nginx
sudo ln -s /etc/nginx/sites-available/wallabag.com /etc/nginx/sites-enabled/wallabag.com
sudo nginx -t
sudo systemctl restart nginx
Xong, giờ chúng ta truy cập vào Tên miền, đăng nhập với tài khoản đã nhập lúc cài đặt. Chúc các bạn thành công.
Đổi mật khẩu khi quên
Khi mình cài, gõ nhầm mật khẩu nên sau đó không thể đăng nhập được. Để đổi mật khẩu, chúng ta làm như sau.
Trong thư mục /var/www/wallabag gõ lệnh
bin/console --env=prod fos:user:change-password
sau đó gõ tài khoản cần đổi mật khẩu và mật khẩu mới là xong.