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:
Mục lục
- 1. Cài đặt Nginx và MariaDB
- 2. Cài đặt PHP 8.1 và các module cần thiết
- 3. Cài đặt phpMyAdmin
- 4. Tạo một tài khoản MariaDB mới để sử dụng với phpMyAdmin
- 5. Cấu hình Nginx để sử dụng PHP 8.1 và phục vụ trang web cho example.com
- 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í
- 8. Mở cổng 80 và 443
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
2 Responses
[…] 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 […]
[…] 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 […]