điều kiện tiên quyết đã được cài đặt thành công.
Tôi đã cài đặt Đàn hồi ngăn xếp trên Ubuntu 20.04 LTS. Tôi đã làm theo tất cả các bước trên liên kết này (lên đến #2. Cài đặt và Định cấu hình Kibana trên Ubuntu mà tôi không cần). Không có vấn đề gì.
Sau khi cài xong mình truy cập: example.com/magento thì bị 403 Forbidden. Tôi hiểu đây là vấn đề về quyền, nhưng trước khi cài đặt Magento, tôi đã làm theo hướng dẫn này và đặt quyền đúng như được đánh dấu dưới đây:
cd /var/www/html/<thư mục cài đặt magento>
tìm var nhà cung cấp được tạo pub/pub tĩnh/ứng dụng phương tiện/etc -type f -exec chmod g+w {} +
tìm var nhà cung cấp đã tạo pub/pub tĩnh/ứng dụng phương tiện/etc -type d -exec chmod g+ws {} +
chown -R :www-data . #Ubuntu
chmod u+x bin/magento
Khi tôi cài đặt Magento 2 lần đầu tiên, tôi có thể nhìn thấy nó trên tên miền chính không có https và trong thư mục example/Magento. Tôi nghĩ vấn đề nằm ở tệp cấu hình Nginx của tôi và cụ thể hơn là ở SSL/cổng như sau:
## Cấu hình nginx cho Magento 2
ngược dòng fastcgi_backend {
máy chủ unix:/var/run/php/php7.4-fpm.sock;
}
người phục vụ {
thư mục gốc /var/www/example.com/html/directory;
# Thêm index.php vào danh sách nếu bạn đang sử dụng PHP
chỉ mục index.php index.html index.htm index.nginx-debian.html;
server_name example.com www.example.com;
địa điểm / {
# Lần đầu tiên cố gắng phục vụ yêu cầu dưới dạng tệp, sau đó
# làm thư mục, sau đó quay lại hiển thị lỗi 404.
try_files $uri $uri/ /index.php?$args;
}
# truyền tập lệnh PHP tới máy chủ FastCGI
vị trí ~ \.php$ {
bao gồm đoạn trích/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
# từ chối quyền truy cập vào tệp .htaccess, nếu tài liệu gốc của Apache
# đồng tình với nginx
#
vị trí ~ /\.ht {
Phủ nhận tất cả;
}
lắng nghe [::]:443 ssl ipv6only=on; # được quản lý bởi Certbot
nghe 443 ssl; # được quản lý bởi Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # được quản lý bởi Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # được quản lý bởi Certbot
bao gồm /etc/letsencrypt/options-ssl-nginx.conf; # được quản lý bởi Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # được quản lý bởi Certbot
} #đóng thẻ máy chủ
## Khối mới cho magento
người phục vụ {
nghe 8080 ;
server_name example.com www.example.com;
đặt $MAGE_ROOT /var/www/example.com/html/directory/magento;
# đặt $MAGE_MODE mặc định;
đặt sản xuất $MAGE_MODE;
bao gồm /var/www/example.com/html/directory/magento/nginx.conf.sample;
}
# Thiết lập proxy
# nguồn: https://devdocs.magento.com/guides/v2.4/install-gde/prereq/es-config-nginx.html
bao gồm /etc/nginx/conf.d/*.conf;
người phục vụ {
nếu ($host = www.example.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nếu ($host = example.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nghe 80 ;
nghe [::]:80 ;
server_name example.com www.example.com;
trả lại 404; # được quản lý bởi Certbot
}
bao gồm /etc/nginx/conf.d/*.conf;
được liên kết với một tập tin mới /etc/nginx/conf.d/magento_es_auth.conf
với các nội dung sau:
người phục vụ {
nghe 8080 ;
vị trí /_cluster/sức khỏe {
proxy_pass http://localhost:9200/_cluster/health;
}
}
Sudo nginx -t
Trả lại:
nginx: [cảnh báo] xung đột tên máy chủ "" trên 0.0.0.0:8080, bị bỏ qua
nginx: cú pháp file cấu hình /etc/nginx/nginx.conf là ok
nginx: file cấu hình /etc/nginx/nginx.conf kiểm tra thành công
Gia hạn chứng chỉ SSL sudo certbot gia hạn --dry-run
đi qua!
nginx.conf.sample