Score:0

การติดตั้ง Magento ในโฟลเดอร์ย่อย เช่น example.com/magento

ธง de
Abe

ข้อกำหนดเบื้องต้น ติดตั้งสำเร็จแล้ว ฉันติดตั้ง Elastic Stack บน Ubuntu 20.04 LTS ฉันทำตามขั้นตอนทั้งหมด ในลิงค์นี้ (ถึง #2 ติดตั้งและกำหนดค่า Kibana บน Ubuntu ที่ฉันไม่ต้องการ) ไม่มีปัญหาแต่อย่างใด

หลังจากการติดตั้งเสร็จสิ้น ฉันไปที่: example.com/magento และฉันได้รับ 403 Forbidden ฉันเข้าใจว่านี่เป็นปัญหาเกี่ยวกับการอนุญาต แต่ก่อนฉันจะติดตั้ง Magento ฉันทำตามคำแนะนำนี้และตั้งค่า สิทธิ์ อย่างถูกต้องตามที่ไฮไลท์ไว้ด้านล่าง:

cd /var/www/html/<ไดเร็กทอรีการติดตั้ง magento>
ค้นหา var ที่สร้างจากผู้ขาย pub/static pub/media app/etc -type f -exec chmod g+w {} +
ค้นหา var ที่สร้างจากผู้ขาย pub/static pub/media app/etc -type d -exec chmod g+ws {} +
chown -R :www-ข้อมูล #อูบุนตู
chmod u+x bin/magento

เมื่อฉันติดตั้ง Magento 2 เป็นครั้งแรก ฉันสามารถดูได้ในโดเมนหลักที่ไม่มี https และในไดเร็กทอรี example/Magento ฉันคิดว่าปัญหาอยู่ในไฟล์การกำหนดค่า Nginx ของฉัน และโดยเฉพาะอย่างยิ่งใน SSL/พอร์ต ซึ่งมีดังนี้:

## กำหนดค่า nginx สำหรับ Magento 2
ต้นน้ำ fastcgi_backend {

   เซิร์ฟเวอร์ยูนิกซ์:/var/run/php/php7.4-fpm.sock;
}


เซิร์ฟเวอร์ {

    รูท /var/www/example.com/html/directory;

    # เพิ่ม index.php ในรายการหากคุณใช้ PHP
    ดัชนี index.php index.html index.htm index.nginx-debian.html;

    server_name example.com www.example.com;

    ที่ตั้ง / {
        # ความพยายามครั้งแรกในการให้บริการคำขอเป็นไฟล์ จากนั้น
        # เป็นไดเร็กทอรี จากนั้นถอยกลับไปแสดง 404
        try_files $uri $uri/ /index.php?$args; 
    }

    # ส่งสคริปต์ PHP ไปยังเซิร์ฟเวอร์ FastCGI
        ตำแหน่ง ~ \.php$ {
        รวมตัวอย่าง/fastcgi-php.conf;
        fastcgi_pass ยูนิกซ์:/var/run/php/php7.4-fpm.sock;
    }

    # ปฏิเสธการเข้าถึงไฟล์ .htaccess ถ้ารูทเอกสารของ Apache
    # เห็นด้วยกับของ nginx
    #
    ตำแหน่ง ~ /\.ht {
        ปฏิเสธทั้งหมด
    }

    ฟัง [::]:443 ssl ipv6only=เปิด; # จัดการโดย Certbot
    ฟัง 443 ssl; # จัดการโดย Certbot
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # จัดการโดย Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # จัดการโดย Certbot
    รวม /etc/letsencrypt/options-ssl-nginx.conf; # จัดการโดย Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # จัดการโดย Certbot

} #ปิดแท็กเซิร์ฟเวอร์

## บล็อกใหม่สำหรับวีโอไอพี
เซิร์ฟเวอร์ {
ฟัง 8080; 
    server_name example.com www.example.com;

    ตั้ง $MAGE_ROOT /var/www/example.com/html/directory/magento;

# ตั้งค่าเริ่มต้น $MAGE_MODE;
    ตั้งค่าการผลิต $MAGE_MODE;

    รวม /var/www/example.com/html/directory/magento/nginx.conf.sample; 
}

#ตั้งค่าตัวแทน
# ที่มา: https://devdocs.magento.com/guides/v2.4/install-gde/prereq/es-config-nginx.html 
รวม /etc/nginx/conf.d/*.conf;


เซิร์ฟเวอร์ {
    ถ้า ($host = www.example.com) {
        ส่งคืน 301 https://$host$request_uri;
    } # จัดการโดย Certbot


    ถ้า ($host = example.com) {
        ส่งคืน 301 https://$host$request_uri;
    } # จัดการโดย Certbot


    ฟัง 80 ;
    ฟัง [::]:80 ;

    server_name example.com www.example.com;
    กลับ 404; # จัดการโดย Certbot




}

รวม /etc/nginx/conf.d/*.conf; เชื่อมโยงกับไฟล์ใหม่ /etc/nginx/conf.d/magento_es_auth.conf โดยมีเนื้อหาดังนี้

เซิร์ฟเวอร์ {
   ฟัง 8080;
   ตำแหน่ง /_คลัสเตอร์/สุขภาพ {
      proxy_pass http://localhost:9200/_cluster/health;
   }
}

sudo nginx -t

ผลตอบแทน:

nginx: [warn] ชื่อเซิร์ฟเวอร์ที่ขัดแย้งกัน "" ใน 0.0.0.0:8080 ละเว้น
nginx: ไฟล์การกำหนดค่า /etc/nginx/nginx.conf ไวยากรณ์ใช้ได้
nginx: การทดสอบไฟล์การกำหนดค่า /etc/nginx/nginx.conf สำเร็จ

การต่ออายุใบรับรอง SSL sudo certbot ต่ออายุ --dry-run ผ่านไป! nginx.conf.sample

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา