Shopware เป็น free open-source e-commerce ที่มีองค์ประกอบในการสร้างเว็บไซต์ e-commerce เพื่อการใช้งาน
ส่วนตัวหรือสร้างเว็บไซต์ธุรกิจออนไลน์ที่มีประสิทธิภาพและสมบูรณ์แบบ เช่นเดียวกับกับ CMS ตัวอื่นๆ ซึ่ง Shopware 
นับได้ว่าเป็น open-source ที่ทรงพลังและยืดหยุ่นมากๆ ด้วยความที่ตัว Shopware นั้นใช้งานค่อนข้างง่าย 
หากท่านกำลังใช้แพลตฟอร์ม e-commerce อาทิเช่น Magento หรือ PrestaShop อยู่และรู้สึกมันมีการจัดการค่อนข้างยาก 
ทางเราแนะนำให้ท่านทดลองใช้งาน Shopware CMS ซึ่งทางเลือกที่ยอดเยี่ยมสำหรับระบบการจัดการเนื้อหาที่ใช้ PHP 
ในบทช่วยสอนนี้เราจะแสดงวิธีการติดตั้ง Shopware บน Nginx ที่ใช้ CentOS 7 

สิ่งที่จะต้องมีในการติดตั้ง Shopware มีดังนี้
  • ระบบปฏิบัติการบน Linux CentOS 7 ที่ติดตั้งเว็บเซิร์ฟเวอร์ NGINX
  • PHP 7.2.x + PHP extension หรือสูงกว่า
  • lonCube Loader เวอร์ชัน 5.0.0 หรือสูงกว่า
  • พื้นที่ว่าสำหรับการติดตั้ง 4 GB ขึ้นไป
------------------------------------------------------------------------
ขั้นตอนที่ 1 - Login ในฐานะผู้ใช้งาน root และทำการอัพเดตระบบต่างๆให้เป็นปัจจุบัน
# ssh IP_Address 
# yum -y update
ขั้นตอนที่ 2 - ติดตั้งแพคเกจที่จำเป็นสำหรับการจัดการพื้นฐานของระบบปฏิบัติการ CentOS :
# yum install -y curl wget vim unzip socat screen epel-release

ขั้นตอนที่ 3 - ติดตั้ง PHP และ PHP extension
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

จากนั้นให้ทำการติดตั้ง PHP และ PHP extension ที่จำเป็นสำหรับ Shopware :
# yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-mysql php72w-curl 
php72w-json php72w-zip php72w-gd php72w-xml php72w-mbstring php72w-opcache

ท่านสามารถใช้คำสั่งในการแสดง PHP ที่คอมไพล์ในโมดูลได้ดังนี้ :
# php -m
[PHP Modules]
bz2
calendar
Core
. . .
. . .

และเรียกดูเวอร์ชั่นของ PHP ที่ติดตั้งดังคำสั่ง 'PHP -v' :
# php -v
PHP 7.2.19 (cli) (built: Jun  2 2019 09:49:05) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.19, Copyright (c) 1999-2018, by Zend Technologies

ทำการ start service PHP-FPM :
# systemctl start php-fpm.service
# systemctl enable php-fpm.service

ขั้นตอนที่ 4 - ติดตั้ง IonCube Loader (optional)
ทำการดาวน์โหลดไฟล์ IonCube มาไว้ที่ /tmp จากนั้นให้ใช้คำสั่ง 'wget' เพื่อดาวน์โหลดไฟล์มาไว้ที่ path ดังกล่าว :
# cd /tmp && wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_
lin_x86-64.tar.gz

ทำการแตกไฟล์ zip ที่ดาวน์โหลดมา :
# tar xfz ioncube_loaders_lin_*.gz

ทำการค้นหาไดเรกทอรี PHP extension บนระบบโดยใช้คำสั่งดังต่อไปนี้:



จากนั้นให้ทำการ copy ionCube Loader ไปยัง directory ของ PHP extension และทำการแก้ไขไฟล์ config 
ของ PHP ดังนี้ :
# cp /tmp/ioncube/ioncube_loader_lin_7.2.so /usr/lib64/php/modules

กำหนดค่า config ของ php.ini เพิ่มเติมดังนี้ :
# vi /etc/php.ini
memory_limit = 256M 
upload_max_filesize = 6M
allow_url_fopen = On

และเพิ่มค่าที่บรรทัดสุดท้ายของไฟล์ :
# zend_extension = /usr/lib64/php/modules/ioncube_loader_lin_7.2.so

เมื่อเพิ่ม config เรียบร้อย ให้ทำการ restart PHP-FPM :
# systemctl restart php-fpm.service

ขั้นตอนที่ 5 - ติดตั้ง MariaDB (ตรวจสอบเวอร์ชั่นล่าสุดที่ http://yum.mariadb.org/)
หากดำเนินการ yum install เลย จะได้ MariaDB 5.5 ซึ่งเก่าแล้ว ให้ทำการสร้าง repo ขึ้นมา เพื่อจะติดตั้ง MariaDB 10.3 :
# vi /etc/yum.repos.d/MariaDB.repo
วางค่า
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

ให้ทำการติดตั้ง mariadb โดยใช้คำสั่งต่อไปนี้ : 
# yum -y install mariadb mariadb-server
# systemctl start mariadb
# systemctl enable mariadb

เรียกใช้สคริปต์การติดตั้ง mysql_secure เพื่อความปลอดภัยของ MariaDB และตั้งรหัสผ่านสำหรับผู้ใช้ root
ของ MariaDB :
# mysql_secure_installation

ดำเนินการตอบคำถามในแต่ละข้อ โดยพิมพ์เพียง 'y' or 'no' จากนั้นให้ใส่รหัสผ่านสำหรับ root :
Would you like to setup VALIDATE PASSWORD plugin? N
New password: 
your_secure_password 
Re-enter new password: 
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

ทำการเชื่อมต่อ MariaDB ในฐานะผู้ใช้ root :
# mysql -u root -p
# Enter password

สร้างฐานข้อมูล MariaDB และผู้ใช้สำหรับ Shopware :
















ขั้นตอนที่ 6 - ติดตั้ง Nginx และ กำหนดค่า Nginx ทำการติดตั้ง service nginx ด้วยคำสั่งต่อไปนี้ :
# yum install -y nginx

ทำการตรวจสอบเวอร์ชั่นของ Nginx และ start & enable Nginx :
# nginx -v
# systemctl start nginx.service
# systemctl enable nginx.service

กำหนดค่า NGINX สำหรับ Shopware โดยการแก้ไขไฟล์ vi /etc/nginx/conf.d/shopware.conf
และเพิ่มการกำหนดค่าต่อไปนี้ :

server {
    listen 80;
    
    server_name example.com;
    root /var/www/shopware;
    index shopware.php index.php;

    location / {
        try_files $uri $uri/ /shopware.php$is_args$args;
    }

    location /recovery/install {
      index index.php;
      try_files $uri /recovery/install/index.php$is_args$args;
    }

    location ~ \.php$ {
        include fastcgi.conf;
        fastcgi_pass 127.0.0.1:9000;
    }
}

ทำการกำหนดค่า PHP-FPM ให้ใช้งานร่วมกันกับ Nginx ดังนี้ :
# vi /etc/php-fpm.d/www.conf

แก้ไขโดยการเปลี่ยน user และ group ให้เป็น nginx
# user = nginx
# group = nginx

ตรวจสอบการกำหนดค่าสำหรับ Nginx ว่ามี error ใดๆหรือไม่ :
# nginx -t

หากไม่พบ error สามารถทำการ restart Nginx และ PHP-FPM ได้ด้วยคำสั่งต่อไปนี้ :
# systemctl restart nginx.service
# systemctl restart php-fpm.service

ขั้นตอนที่ 7 - ติดตั้ง Shopware
สร้าง directory สำหรับ Shopware ที่ path /var/www/shopware ดังนี้ :
# mkdir -p /var/www/shopware

เปลี่ยนสิทธิ์ความเป็นเจ้าของของไดเรกทอรี /var/www/shopware เป็น user ของเราที่ตั้งไว้ {your_user}: 
# chown -R {your_user}:{your_user} /var/www/shopware

เข้าไปยัง directory shopware 
# cd /var/www/shopware

ทำการดาวน์โหลด software Shopware พร้อมกับแตกไฟล์ zip :
# wget https://releases.shopware.com/install_5.5.8_d5bf50630eeaacc6679683e0ab0dcba89
498be6d.zip?_ga=2.141661361.269357371.1556739808-1418008019.1556603459 -O shopware.zip
# unzip shopware.zip
# rm -rf shopware.zip

ทำการเปลี่ยนสิทธิ์ความเป็นเจ้าของของไดเรกทอรี /var/www/shopware ให้เป็น nginx ด้วยคำสั่งดังนี้ :
# chown -R nginx:nginx /var/www/shopware

ทำการสร้าง directory session ภายใต้/var/lib/php/ และเปลี่ยนความเป็นเจ้าของเป็นผู้ใช้ nginx ด้วยคำสั่งดังนี้ : 
# mkdir -p /var/lib/php/session && sudo chown -R nginx:nginx /var/lib/php/session

ขั้นตอนที่ 8 - ตั้งค่า Shopware ให้เสร็จสมบูรณ์

 - เริ่มต้นด้วยการเลือกใช้งานภาษาของ Shopware



- ถัดไป ให้ตรวจสอบคุณสมบัติให้ตรงตามที่ Shopware ต้องการ


 

- เลือก 'ยอมรับ' แล้วกดถัดไป





- กรอก user & database และ password ที่ดำเนินการสร้างไว้ในขั้นตอนที่ 5



 - เริ่มการติดตั้งเพื่อสร้างตารางฐานข้อมูล



 

- เลือก license และกด 'ถัดไป'



 

- กรอกการตั้งค่าพื้นฐานเพื่อเสร็จสิ้นการตั้งค่าและคลิกถัดไป



 

- เมื่อทำการติดตั้งเรียบร้อยให้ไปที่ URL : http://example.com/backend/ เพื่อ Login เข้าสู่ระบบหลังบ้าน




หากท่านต้องการใช้งาน letsencrypt ก็สามารถติดตั้งเพิ่มเติมได้ดังลิงค์นี้ วิธีติดตั้ง letsencrypt บน Nginx

HostPacific หวังเป็นอย่างยิ่งว่าในบทความนี้จะเป็นอีกทางเลือกหนึ่งในการติดตั้งและใช้งาน open-source 
e-commerce ได้อย่างถูกต้องและใช้งานได้ หากท่านสนใจสามารถเปิดบริการ Cloudnode-M และทำการติดตั้งได้ทันทีค่ะ