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 และทำการติดตั้งได้ทันทีค่ะ