OpenMediaVault (OMV) – Hướng dẫn cài đặt Web Server Nginx (Docker)

Phần 12/13 trong loạt bài: Hướng dẫn dùng OpenMediaVault

Để cài Web Server trên OpenMediaVault (OMV) thì không có plugin hỗ trợ chính thức, nhưng bạn hoàn toàn có thể cài được qua một vài câu lệnh… Vì OMV thực chất là OS Linux với distro là Debian. Nếu cài đặt như vậy sẽ dễ ảnh hưởng đến hệ thống OMV của bạn. Nhưng bạn vẫn muốn tận dụng OMV của bạn tạo một máy chủ web (web server) để thiết lập blog cá nhân chẳng hạn… Note này mình sẽ hướng dẫn cài đặt Web Server trên Docker thông qua Portainer. Áp dụng cho hệ thống OpenMediaVault (OMV) hoặc các hệ thống khác có cài Docker.

Trên Docker có vô vàn “hình ảnh” để thiết lập Web Server, với bài viết này mình chọn cài Nginx của Linuxserver. Mình lại chọn bản của Linuxserver, mà không chọn Nginx “chính chủ” vì bản Linuxserver dễ dàng cài đặt, cấu hình, tích hợp sẵn PHP 7.4 và được cập nhật thường xuyên. Đã có trên 50 triệu lượt tải về cho hình ảnh linuxserver/nginx.

Bước 1. Tạo thư mục lưu trữ cấu hình và mã nguồn cho Nginx.

Bạn có thể dùng File browser (Docker) để tạo mục lưu trữ cấu hình, mã nguồn cho Nginx và sao chép đường dẫn của thư mục.

OpenMediaVault (OMV) – Nginx

Bước 2. Thiết lập Nginx trên Docker.

  • Tuy cập vào Portainer => Containers => Add Container.

OpenMediaVault (OMV) – Nginx

  • Name: Tên của container, mình đặt là Nginx
  • Image: “Hình ảnh” của Nginx ở docker.io. Trên docker.io “hình ảnh” để cài Nginx rất nhiều, mình chọn dùng của Linux Server có tên linuxserver/nginx có hơn 50 triệu lượt tải 😀 (xem thêm tại đây).
  • Manual network port publishing: bạn thêm 2 cổng mới có giá trị như sau.
      • host4430 (tùy biến theo ý bạn, miễn là không trùng với cổng đang có) – container443 (bắt buộc).
      • host8080 (tùy biến theo ý bạn, miễn là không trùng với cổng đang có) – container: 80 (bắt buộc).

OpenMediaVault (OMV) – Nginx

  • Kéo xuống dưới… mục Advanced container settings vào tab Volumes. Tick map additional volume với trường như sau:
    • container : /config (chế độ Bind) – host : đường dẫn thư mục Nginx (đã tạo ở trên).

OpenMediaVault (OMV) – Nginx

OpenMediaVault (OMV) – Nginx

  • Tab Env. Thêm mới 3 trường sau.
    • name : PUID – value : 998 (UID của tài khoản admin)
    • name : PGID – value : 100 (GID của tài khoản admin)
    • name : TZ – value : Asia/Ho_Chi_Minh

OpenMediaVault (OMV) – Nginx

  • Tab Restart policy. Tick chọn Unless stopped.

OpenMediaVault (OMV) – Nginx

  • Nhấn Deploy the container để hoàn thành…

OpenMediaVault (OMV) – Nginx

OpenMediaVault (OMV) – Nginx

Lưu ý: mặc dù container đang chạy running nhưng vẫn phải mất một vài phút để hệ thống chạy được. Bạn có thể vào Log của container, báo done là oke…

OpenMediaVault (OMV) – Nginx

  • Bạn truy cập vào địa chỉ https://<IP-NAS>:4430 hoặc http://<IP-NAS>:8080 để kiểm tra.. hiện như hình dưới là thành công…

OpenMediaVault (OMV) – Nginx

Một số cấu hình, thiết lập Nginx.

Bạn có thể dùng File browser (Docker) để truy cập vào thư mục lưu trữ cấu hình, mã nguồn cho Nginx vừa tạo ở trên…

OpenMediaVault (OMV) – Nginx

  • Mình thì cũng không thạo về món Nginx cho lắm, nhưng về cơ bản thì ở đây bạn quan tâm đến 3 thư mục khoanh đỏ như hình trên.
    • nginx – đây là thư mục lưu trữ, tạo và chỉnh sửa các file cấu hình, tạo virtual host… của Nginx (Google để biết chi tiết :d )
    • php – đây là thư mục lưu trữ, tạo và chỉnh sửa file cấu hình của PHP.
    • www – đây là thư mục lưu trữ code web của bạn…

VD: Mình cấu hình để chạy một site Wordpress.

  • Bạn vào thư mục nginx => site-confs tại đây bạn chỉnh sửa file default thành như sau:
server {
    listen 80 default_server;

    listen 443 ssl;

    root /config/www;
    index index.html index.htm index.php;

    server_name _;
    ssl_certificate /config/keys/cert.crt;
    ssl_certificate_key /config/keys/cert.key;
    client_max_body_size 0;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ ^(.+\.php)(.*)$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;
    }
    include /config/www/nginx.conf;
}
  • Bạn vào thư mục php chỉnh sửa file php-local.ini thành như sau:
; Edit this file to override php.ini directives and restart the container

date.timezone = Asia/Ho_Chi_Minh
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 1024M
max_execution_time = 600
max_input_vars = 1000
max_input_time = 600
  • Bạn vào thư mục www copy code Wordpress vào đây…

OpenMediaVault (OMV) – Nginx

Giờ bạn có thể tiến hành tạo trang Wordpress của mình…

Dùng Nginx Proxy Manager để gán tên miền truy cập.

Bạn truy cập vào trang quản lý Nginx Proxy Manager tiến hành thêm Proxy Host mới và thiết lập như sau.

  • Domain Names: Bạn điền tên miền để truy cập.
  • Schemehttps
  • Forward Hostname / IP: nhập địa chỉ IP trong mạng LAN của OMV.
  • Forward Port4430 (số cổng của Nginx, đã thiết lập ở trên).
  • Tick Websockets Support.

OpenMediaVault (OMV) – Nginx

OpenMediaVault (OMV) – Nginx

Chúc các bạn thành công !

Vinh Nguyễn

Vinh Nguyễn

Mình thì không học về chuyên môn IT, chính vì vậy mình hiểu thế nào thì viết thế, và viết cũng toát hết được. Bạn nào có đọc các bài viết cần hỏi thêm hoặc đóng góp gì thêm thì có thể để lại comment ở dưới hoặc qua phần liên hệ.

Subscribe
Notify of
0 Bình luận
Inline Feedbacks
Xem toàn bộ bình luận

Có thể bạn quan tâm...

0
Viết bình luận...x