Cài Nginx, MariaDB, PHP 8.1 trên Ubuntu 22.04 LTS x64

Để cài đặt Nginx, MariaDB, PHP 8.1 và phpMyAdmin trên Ubuntu 22.04 LTS x64 và tạo vhost example.com, bạn có thể làm theo các bước sau đây:

1. Cài đặt Nginx và MariaDB

sudo apt update
sudo apt install nginx mariadb-server

2. Cài đặt PHP 8.1 và các module cần thiết

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip

3. Cài đặt phpMyAdmin

sudo apt install phpmyadmin

Trong quá trình cài đặt, bạn sẽ được hỏi để chọn máy chủ web. Hãy chọn apache2 vì không có tùy chọn Nginx trên Ubuntu.

Tạo một tệp cấu hình Nginx cho phpMyAdmin

sudo nano /etc/nginx/sites-available/phpmyadmin

Thêm khối máy chủ sau vào file:

server {
    listen 80;
    listen [::]:80;

    server_name phpmyadmin.example.com;

    root /usr/share/phpmyadmin;
    index index.php;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Trong chỉ thị server_name, thay phpmyadmin.example.com bằng tên miền của bạn.

Tạo liên kết tượng trưng để kích hoạt tệp cấu hình:

sudo ln -s /etc/nginx/sites-available/phpmyadmin /etc/nginx/sites-enabled/

Kiểm tra cấu hình Nginx và khởi động lại dịch vụ Nginx:

sudo nginx -t
sudo systemctl restart nginx

Bây giờ bạn có thể truy cập phpMyAdmin bằng cách truy cập http://phpmyadmin.example.com trên trình duyệt web của bạn.

4. Tạo một tài khoản MariaDB mới để sử dụng với phpMyAdmin

sudo mysql -u root -p
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'your_password_here';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Thay thế your_password_here bằng mật khẩu bạn muốn sử dụng.

5. Cấu hình Nginx để sử dụng PHP 8.1 và phục vụ trang web cho example.com

Tạo tệp /etc/nginx/sites-available/example.com với nội dung sau:

server {
    listen 80;
    listen [::]:80;
    server_name example.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name example.com;
    root /var/www/example.com;

    index index.php;

    ssl_certificate /etc/nginx/ssl/example.com.crt;
    ssl_certificate_key /etc/nginx/ssl/example.com.key;

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

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Thay thế example.com bằng tên miền của bạn và cập nhật đường dẫn tới các tệp chứng chỉ SSL của bạn nếu cần thiết. Sau đó, tạo liên kết tượng trưng từ /etc/nginx/sites-available/example.com tới /etc/nginx/sites-enabled/ để kích hoạt cấu hình này:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

6. Tạo thư mục /var/www/example.com

7. Cài đặt Let\'s Encrypt client và cấp chứng chỉ SSL miễn phí

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com

Chú ý: Nếu bạn có cấu hình khác cho tên miền của mình, hãy thay thế example.com và www.example.com bằng tên miền của bạn.

Nhập địa chỉ email của bạn khi được yêu cầu và chấp nhận các điều khoản để tiếp tục. Chọn \'1\' để chuyển hướng tất cả các yêu cầu HTTP sang HTTPS:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Chờ đợi cho quá trình hoàn thành. Sau khi hoàn thành, Nginx sẽ được tự động khởi động lại để áp dụng các thay đổi. Kiểm tra trang web của bạn để đảm bảo rằng SSL đã được kích hoạt và hoạt động đúng.

8. Mở cổng 80 và 443

Chạy lệnh sau để mở cổng 80 và 443 trên firewall của Ubuntu:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Kiểm tra trạng thái của firewall bằng lệnh sau:

sudo ufw status

https://iztuts.com/update-phpmyadmin/

Mr.Phan

KTS, KSXD, Developer

You may also like...

2 Responses

  1. 21/04/2023

    […] cài bằng commandline sudo apt install phpmyadmin trong bài trước Cài Nginx, MariaDB, PHP 8.1 trên Ubuntu 22.04 LTS x64 sẽ cài phiên bản cũ hơn phiên bản cuối cùng hiện tại, sẽ có những lỗi […]

  2. 17/09/2024

    […] viết https://iztuts.com/cai-nginx-mariadb-php-8-1-tren-ubuntu-22-04-lts-x64/ chưa giải quyết vấn đề phân quyền user _ một giải pháp cần thiết nếu chạy […]

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *