JavaScript required
We’re sorry, but Coda doesn’t work properly without JavaScript enabled.
Skip to content
Gallery
บันทึกการทำ
Systems
Application
Network
Life Style
More
Share
Explore
Application
ติดตั้ง PIMCORE
PIMCORE เป็นระบบที่มากกว่าการเป็น Product Information Management (PIM)
Chookiat J
Last edited 214 days ago by System Writer
การย้าย PIMCORE Server
PIMCORE เป็นระบบที่มากกว่าการเป็น Product Information Management (PIM) เพราะการที่จะมี PIM ได้นั้น ต้องมีการบริหารจัดการหลังบ้านอย่าง Digital Asset Management (DAM) และ Master Data Management (MDM) อีกทั้งยังสามารถเชื่อมต่อกับระบบอื่นๆ ได้โดยผ่าน API ไม่ว่าจะเป็น GraphQL หรือ REST API หรือแม้แต่จะพัฒนาต่อยอดด้วย PHP + Symfony
Pimcore นั้นเป็น Opensource และมี 2 editions หลัก คือ Community และ Enterprise สามารถศึกษาความแตกต่างได้จากบนหน้าเวปของ Pimcore
การติดตั้ง
อ้างอิงการติดตั้งจาก
Pimcore Development Documentation
และติดตั้งตัว Community edition
ในการติดตั้งนี้ใช้ personal preference จึงกล่าวอ้างเฉพาะระบบ หรือ software ที่ต้องใช้ ดังนี้
debian 11 bulleye
nginx
php 8.1
แบ่งการติดตั้งออกเป็น 2 ส่วน คือ ส่วนของ system และ application
System
เนื่องด้วยการทดสอบติดตั้งนั้นทำบน Raspberry Pi และ GCP จึงขอไม่ขอกล่าวถึงการติดตั้ง Debian ซึ่งสามารถอ่านได้จากบทความนี้
การติดตั้ง Debian
แต่ขอกล่าวถึงการตั้งค่าพื้นฐานเบื้องต้น และการติดตั้ง software/tool ต่างๆ ดังนี้
เรื่องเวลาของระบบ แนะนำว่าควรตั้งค่าตาม timezone ที่อยู่ เพราะเวลาอ่าน log ต่างๆ จะได้ไม่ต้องมาแปลงเวลา
# echo Asia/Bangkok > /etc/timezone
# rm /etc/localtime
# ln -s /usr/share/zoneinfo/Asia/Bangkok /etc/localtime
.
ทำการ update/upgrade software package และ ติดตั้ง systems tools ต่างๆ
# apt update && apt upgrade -y
# apt install -y wget curl lsb-release ca-certificates apt-transport-https software-properties-common gnupg2 git unzip cron vim neofetch inxi htop
.
ติดตั้ง NGINX และ MariaDB
# apt install -y nginx mariadb-server
.
เนื่องด้วย PHP 8.1 นั้น ไม่มี package บน Debian repository ดังนั้นจึงต้องทำการเพิ่ม repo ของ sury.org ก่อน แล้วจึงทำการติดตั้ง PHP 8.1 พร้อมกับ library ที่ต้องใช้ใน Pimcore
# echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
# wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
# apt update && sudo apt upgrade -y
# apt install -y php8.1-fpm php8.1-gd php8.1-mbstring php8.1-xml php8.1-exif php8.1-zip php8.1-curl php8.1-mysql php8.1-cli php8.1-intl php8.1-imagick php8.1-redis
.
ทำการติดตั้ง Composer ซึ่งจะใช้ในการติดตั้ง Pimcore
# cd ~
# curl -sS https://getcomposer.org/installer -o composer-setup.php
# php composer-setup.php --install-dir=/usr/local/bin --filename=composer
.
Pimcore Community Edition
เมื่อเตรียมความพร้อมของระบบเป็นที่เรียบร้อย ก็มาเริ่มการติดตั้งส่วนของ Pimcore และการตั้งค่าระบบต่างๆ
เริ่มต้นด้วยการกำหนดว่าจะติดตั้งไว้ที่ directory ใดแล้วทำการ download source code ด้วย git ในกรณีนี้จะติดต้้งไว้ที่
/srv/pimcore
โครงสร้างไฟล์ระบบ อันนี้ขึ้นอยู่กับแต่ละคน แต่ละองค์กร บางที่อาจจะใช้
/var/www
บางที่อาจจะใช้
/app/pimcore
แล้วแต่ความชอบและมาตรฐานขององค์กร
# cd /srv
# git clone https://github.com/pimcore/pimcore.git
ทำการสร้าง database, user, password และ grant สิทธิ
# mysql
MariaDB [(none)]> CREATE DATABASE pimcore;
MariaDB [(none)]> CREATE USER 'pimcore'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL ON pimcore.* TO 'pimcore'@'localhost';
ทำการติดตั้ง Pimcore project ด้วย composer หากต้องการติดตั้งระบบ demo ให้เปลี่ยนตรงคำว่า skeleton เป็น demo ก็จะได้ระบบพร้อมข้อมูลตัวอย่าง ในส่วนของ pimcore-install นั้น จะมีการสร้าง admin account พร้อม password และกำหนด database, user, password ที่สร้างไว้ในขั้นตอนด้านบน
# cd /srv/pimcore
# COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/skeleton ./my-project
# cd ./my-project
# ./vendor/bin/pimcore-install
เมื่อสร้าง project เป็นที่เรียบร้อย จะได้ folder ชื่อตาม project ที่กำหนด ภายใต้
/srv/pimcore
ให้ทำการกำหนดสิทธิให้กับ folder นั้น โดยให้ owner:group เป็น web service account ในกรณีที่ใช้ nginx จะเป็น www-data:www-data
# cd /srv/pimcore
# chown -R www-data:www-data my-project
มาถึงขั้นตอนส่วนของ web ที่ต้องตั้งค่า nginx ให้รู้จัก pimcore สร้างไฟล์ .conf ขึ้นมา แล้วคัดลอกตัวอย่าง Development Environment จาก
https://pimcore.com/docs/pimcore/current/Development_Documentation/Installation_and_Upgrade/System_Setup_and_Hosting/Nginx_Configuration.html
ทำการแก้ไขให้สอดคล้องกับความต้องการ
# cd /etc/nginx/sites-available
# vi pimcore.conf
# cd ../sites-enable
# ln -s ../sites-enable/pimcore.conf
# nginx -t
# nginx -s reload
ตัวอย่างไฟล์ pimcore.conf ที่ให้เข้าผ่าน LAN IP ที่ port 5000
# mime types are already covered in nginx.conf
#include mime.types;
types {
image/avif avif;
}
upstream php-pimcore10 {
server unix:/var/run/php/php8.1-fpm.sock;
}
map $args $static_page_root {
default /var/tmp/pages;
"~*(^|&)pimcore_editmode=true(&|$)" /var/nonexistent;
"~*(^|&)pimcore_preview=true(&|$)" /var/nonexistent;
"~*(^|&)pimcore_version=[^&]+(&|$)" /var/nonexistent;
}
server {
listen 5000;
listen [::]:5000;
server_name _;
root /srv/pimcore/my-project/public;
index index.php;
# Filesize depending on your data
client_max_body_size 100m;
# It is recommended to seclude logs per virtual host
access_log /var/log/access.log;
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
Ctrl
P
) instead.