Android

วิธีการติดตั้ง magento 2 บน Ubuntu 18.04

Install Magento 2.1.2 with sample data on Linux Ubuntu use XAMPP 7.0.4

Install Magento 2.1.2 with sample data on Linux Ubuntu use XAMPP 7.0.4

สารบัญ:

Anonim

Magento เป็นผู้นำในด้านอี - คอมเมิร์ชระดับองค์กรที่สร้างขึ้นบนเทคโนโลยีโอเพ่นซอร์สที่รวมคุณสมบัติที่มีประสิทธิภาพเข้ากับความยืดหยุ่นและส่วนต่อประสานที่ใช้งานง่าย

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

ในบทช่วยสอนนี้เราจะแสดงวิธีการติดตั้ง Magento 2.3 บนเครื่อง Ubuntu 18.04 เราจะใช้ Nginx เป็นเว็บเซิร์ฟเวอร์ PHP 7.2 และ MySQL / MariaDB ล่าสุดเป็นเซิร์ฟเวอร์ฐานข้อมูล

ข้อกำหนดเบื้องต้น

ตรวจสอบให้แน่ใจว่าคุณได้ทำตามข้อกำหนดเบื้องต้นต่อไปนี้ก่อนที่จะดำเนินการกับบทช่วยสอนนี้:

  • มีชื่อโดเมนที่ชี้ไปที่ IP เซิร์ฟเวอร์สาธารณะของคุณ เราจะใช้ example.com .ginx ได้รับการติดตั้งบนเซิร์ฟเวอร์ Ubuntu ของคุณโดยทำตามคำแนะนำเหล่านี้ใบรับรอง SSL ที่ติดตั้งสำหรับโดเมนของคุณเพื่อเข้ารหัสข้อมูลของผู้ใช้ คุณสามารถติดตั้งใบรับรอง Let's Encrypt SSL ฟรีโดยทำตามคำแนะนำเหล่านี้

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

อัพเดตแพ็กเกจระบบเป็นเวอร์ชันล่าสุดและติดตั้งยูทิลิตี unzip:

sudo apt update && sudo apt upgrade sudo apt install unzip

สร้างฐานข้อมูล MySQL

หากคุณมี MySQL หรือ MariaDB ติดตั้งอยู่บนเซิร์ฟเวอร์ของคุณคุณสามารถข้ามขั้นตอนนี้ได้หากไม่ใช่คุณสามารถติดตั้งแพ็คเกจเซิร์ฟเวอร์ MySQL 5.7 จากแหล่งเก็บข้อมูลเริ่มต้นของ Ubuntu โดยพิมพ์:

sudo apt install mysql-server mysql-client สำหรับการติดตั้ง MySQL ใหม่แนะนำให้รันคำสั่ง mysql_secure_installation เพื่อปรับปรุงความปลอดภัยของเซิร์ฟเวอร์ MySQL ของคุณ

ล็อกอินเข้าสู่เชลล์ MySQL โดยใช้คำสั่งต่อไปนี้:

sudo mysql

จากภายใน MySQL shell ให้รันคำสั่ง SQL ต่อไปนี้เพื่อสร้างฐานข้อมูลใหม่ชื่อ magento :

CREATE DATABASE magento;

จากนั้นสร้างบัญชีผู้ใช้ MySQL ชื่อ magento และให้สิทธิ์ที่จำเป็นแก่ผู้ใช้โดยเรียกใช้คำสั่งต่อไปนี้:

GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password'; ตรวจสอบให้แน่ใจว่าคุณเปลี่ยน change-with-strong-password มีการคาดเดายากด้วยรหัสผ่านที่คาดเดายาก

เมื่อเสร็จแล้วให้ออกจากคอนโซล MySQL โดยพิมพ์:

EXIT;

การสร้างผู้ใช้ระบบ

สร้างผู้ใช้และกลุ่มใหม่ซึ่งจะเป็นเจ้าของระบบไฟล์วีโอไอพีเพื่อความง่ายเราจะตั้งชื่อ magento ผู้ใช้:

sudo useradd -m -U -r -d /opt/magento magento

เพิ่มผู้ใช้ www-data ไปยังกลุ่ม magento และเปลี่ยนการอนุญาตไดเรกทอรี /opt/magento เพื่อให้ Nginx สามารถเข้าถึงการติดตั้ง Magento ได้:

sudo usermod -a -G magento www-data sudo chmod 750 /opt/magento

การติดตั้งและกำหนดค่า PHP

PHP 7.2 ซึ่งเป็นเวอร์ชัน PHP เริ่มต้นใน Ubuntu 18.04 ได้รับการสนับสนุนอย่างสมบูรณ์และแนะนำสำหรับ Magento 2.3 เนื่องจากเราจะใช้ Nginx เป็นเว็บเซิร์ฟเวอร์เราจะติดตั้งแพ็คเกจ PHP-FPM

รันคำสั่งต่อไปนี้เพื่อติดตั้ง PHP และโมดูล PHP ที่จำเป็นทั้งหมด:

sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap

บริการ PHP-FPM จะเริ่มต้นโดยอัตโนมัติหลังจากกระบวนการติดตั้งเสร็จสมบูรณ์คุณสามารถตรวจสอบได้โดยพิมพ์สถานะบริการ:

sudo systemctl status php7.2-fpm

ผลลัพธ์ควรระบุว่าบริการ fpm นั้นทำงานและทำงานอยู่

● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-12-12 15:47:16 UTC; 5s ago Docs: man:php-fpm7.2(8) Main PID: 16814 (php-fpm7.2) Status: "Ready to handle connections" Tasks: 3 (limit: 505) CGroup: /system.slice/php7.2-fpm.service

ตั้งค่าตัวเลือก PHP ที่จำเป็นและแนะนำโดยแก้ไข php.ini ด้วย sed ::

sudo sed -i "s/memory_limit =.*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/upload_max_filesize =.*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/zlib.output_compression =.*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/max_execution_time =.*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

ต่อไปเราต้องสร้างพูล FPM สำหรับผู้ใช้ magento

เปิดโปรแกรมแก้ไขข้อความของคุณและสร้างไฟล์ต่อไปนี้:

sudo nano /etc/php/7.2/fpm/pool.d/magento.conf /etc/php/7.2/fpm/pool.d/magento.conf

user = magento group = www-data listen.owner = magento listen.group = www-data listen = /var/run/php/php7.2-fpm-magento.sock pm = ondemand pm.max_children = 50 pm.process_idle_timeout = 10s pm.max_requests = 500 chdir = /

เริ่มบริการ PHP-FPM เพื่อให้การเปลี่ยนแปลงมีผล:

systemctl restart php7.2-fpm

ตรวจสอบว่าซ็อกเก็ต PHP สร้างขึ้นสำเร็จหรือไม่โดยการรันคำสั่ง ls ต่อไปนี้:

ls -al /var/run/php/php7.2-fpm-magento.sock

ผลลัพธ์ควรมีลักษณะดังนี้:

srw-rw---- 1 magento www-data 0 Dec 12 16:07 /var/run/php/php7.2-fpm-magento.sock=

การติดตั้งนักแต่งเพลง

นักแต่งเพลงเป็นผู้จัดการพึ่งพาสำหรับ PHP และเราจะใช้มันเพื่อดาวน์โหลดวีโอไอพีคอร์และติดตั้งส่วนประกอบวีโอไอพีที่จำเป็นทั้งหมด

หากต้องการติดตั้งผู้แต่งทั่วโลกให้ดาวน์โหลดตัวติดตั้งนักแต่งเพลงด้วย curl และย้ายไฟล์ไปยัง /usr/local/bin :

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

ตรวจสอบการติดตั้งโดยพิมพ์เวอร์ชั่นผู้แต่ง:

composer --version

ผลลัพธ์ควรมีลักษณะดังนี้:

Composer version 1.8.0 2018-12-03 10:31:16

การติดตั้ง Magento

มีหลายวิธีในการติดตั้ง Magento 2 หลีกเลี่ยงการติดตั้ง Magento จากที่เก็บ Github เพราะรุ่นนั้นมีไว้สำหรับการพัฒนาและไม่ใช่สำหรับการติดตั้งที่ใช้งานจริง

ในขณะที่เขียนบทความนี้ Magento รุ่นเสถียรล่าสุดคือรุ่น 2.3.0 ในบทช่วยสอนนี้เราจะติดตั้ง Magento จากที่เก็บของพวกเขาโดยใช้ผู้แต่ง

สลับไปที่ magento ผู้ใช้โดยพิมพ์:

sudo su - magento

เริ่มการติดตั้งโดยการดาวน์โหลดไฟล์ magento ไปยังไดเรกทอรี / opt / magento / public_html:

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html

คุณจะได้รับแจ้งให้ป้อนรหัสการเข้าถึงคัดลอกกุญแจจากบัญชีตลาดวีโอไอพีของคุณและเก็บไว้ในไฟล์ auth.json ดังนั้นในภายหลังเมื่ออัปเดตการติดตั้งคุณไม่ต้องเพิ่มคีย์เดิมอีก

Authentication required (repo.magento.com): Username: e758ec1745d190320ca246e4e832e12c Password: Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? Y

คำสั่งด้านบนจะดึงแพ็คเกจ PHP ที่จำเป็นทั้งหมด กระบวนการอาจใช้เวลาสองสามนาทีและถ้าสำเร็จการสิ้นสุดของเอาต์พุตควรมีลักษณะดังนี้:

Writing lock file Generating autoload files

เมื่อโครงการถูกสร้างขึ้นเราสามารถเริ่มการติดตั้ง Magento เราสามารถติดตั้ง Magento ได้ทั้งจากบรรทัดคำสั่งหรือใช้วิซาร์ดการตั้งค่าเว็บ ในบทช่วยสอนนี้เราจะติดตั้ง Magento โดยใช้บรรทัดคำสั่ง

เราจะใช้ตัวเลือกต่อไปนี้เพื่อติดตั้งร้านค้า Magento:

  • URL พื้นฐานและ URL ที่ปลอดภัยถูกตั้งค่าเป็น https://example.com ให้เปลี่ยนด้วยโดเมนของคุณผู้ดูแลระบบ Mento:
    • John Doe เป็นชื่อและนามสกุล [email protected] เป็นอีเมล john เป็นชื่อผู้ใช้และ j0hnP4ssvv0rD เป็นรหัสผ่าน
    ชื่อฐานข้อมูล magento ชื่อผู้ใช้ magento change-with-strong-password รหัสผ่าน change-with-strong-password และเซิร์ฟเวอร์ฐานข้อมูลอยู่ในโฮสต์เดียวกันกับเว็บเซิร์ฟเวอร์ en_US , US English เป็นภาษาเริ่มต้น ดอลลาร์สหรัฐเป็นสกุลเงินเริ่มต้น America/Chicago เป็นเขตเวลา
คุณสามารถค้นหาตัวเลือกการติดตั้งทั้งหมดได้ที่นี่

เปลี่ยนเป็นไดเร็กทอรี Magento ~/public_html :

cd ~/public_html

รันคำสั่งต่อไปนี้เพื่อเริ่มการติดตั้ง:

php bin/magento setup:install --base-url=https://example.com/ \ --base-url-secure=https://example.com/ \ --admin-firstname="John" \ --admin-lastname="Doe" \ --admin-email="[email protected]" \ --admin-user="john" \ --admin-password="j0hnP4ssvv0rD" \ --db-name="magento" \ --db-host="localhost" \ --db-user="magento" \ --currency=USD \ --timezone=America/Chicago \ --use-rewrites=1 \ --db-password="change-with-strong-password" อย่าลืมเปลี่ยนรหัสผ่าน ( j0hnP4ssvv0rD ) เป็นสิ่งที่ปลอดภัยยิ่งขึ้น

กระบวนการนี้อาจใช้เวลาสักครู่และเมื่อเสร็จแล้วคุณจะได้รับข้อความที่มี URI ไปยังแผงควบคุมของผู้ดูแลระบบ Magento

: Magento installation complete.: Magento Admin URI: /admin_13nv5k Nothing to import.

การสร้าง Magento crontab

Magento ใช้ cron jobs เพื่อกำหนดตารางงานเช่นการจัดทำดัชนีใหม่การแจ้งเตือนแผนผังไซต์อีเมลและอื่น ๆ

ในการสร้าง Magento crontab ให้รันคำสั่งต่อไปนี้ในฐานะผู้ใช้ magento :

php ~/public_html/bin/magento cron:install

Crontab has been generated and saved

ตรวจสอบว่ามีการติดตั้ง crontab โดยพิมพ์:

crontab -l

#~ MAGENTO START adc062915d7b30804a2b340095af072d * * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log * * * * * /usr/bin/php7.2 /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log * * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log #~ MAGENTO END adc062915d7b30804a2b340095af072d

การกำหนดค่า Nginx

ถึงตอนนี้คุณควรมี Nginx พร้อมติดตั้งใบรับรอง SSL บนเซิร์ฟเวอร์ Ubuntu ของคุณแล้วหากไม่ได้ตรวจสอบข้อกำหนดเบื้องต้นสำหรับบทช่วยสอนนี้

เราจะรวมการกำหนดค่าเริ่มต้นของ Nginx ที่จัดส่งพร้อมกับวีโอไอพี

สลับไปที่ผู้ใช้ sudo ของคุณเปิดโปรแกรมแก้ไขข้อความและสร้างไฟล์ต่อไปนี้:

sudo nano /etc/nginx/sites-available/example.com /etc/nginx/sites-available/example.com

upstream fastcgi_backend { server unix:/var/run/php/php7.2-fpm-magento.sock; } server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; set $MAGE_ROOT /opt/magento/public_html; set $MAGE_MODE developer; # or production access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.com-error.log; include /opt/magento/public_html/nginx.conf.sample; } อย่าลืมแทนที่ example.com ด้วยโดเมน Magento ของคุณและกำหนดเส้นทางที่ถูกต้องไปยังไฟล์ใบรับรอง SSL ตัวอย่างข้อมูลที่ใช้ในการกำหนดค่านี้สร้างขึ้นในคู่มือนี้

ก่อนที่จะเริ่มบริการ Nginx ทำการทดสอบเพื่อให้แน่ใจว่าไม่มีข้อผิดพลาดทางไวยากรณ์:

sudo nginx -t

หากไม่มีข้อผิดพลาดเอาต์พุตควรมีลักษณะดังนี้:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

สุดท้ายให้เริ่มบริการ Nginx อีกครั้งโดยพิมพ์:

sudo systemctl restart nginx

การตรวจสอบการติดตั้ง

เปิดเบราว์เซอร์ของคุณพิมพ์โดเมนของคุณและสมมติว่าการติดตั้งสำเร็จหน้าจอคล้ายกับที่ปรากฏต่อไปนี้จะปรากฏขึ้น

ตอนนี้คุณสามารถไปที่ Magento Admin URI ล็อกอินในฐานะผู้ใช้ผู้ดูแลระบบและเริ่มปรับแต่งการติดตั้ง Magento ใหม่ของคุณ

ข้อสรุป

ยินดีด้วยคุณติดตั้ง Magento 2.3 บนเซิร์ฟเวอร์ Ubuntu 18.04 เรียบร้อยแล้ว ตอนนี้คุณสามารถเริ่มปรับแต่งร้านค้าของคุณได้แล้ว

Magento 2.3 Developer Documentation เป็นจุดเริ่มต้นที่ดีในการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีจัดการการติดตั้ง Magento ของคุณ

อูบุนตูวีโอไอพี mysql mariadb php nginx นักแต่งเพลงอีคอมเมิร์ซ