ติดตั้ง DC7 API
DC7 API เป็นระบบที่พัฒนาขึ้นด้วย Yii Framework 2.0 และรันอยู่บน Docker เพื่อให้สามารถติดตั้งใช้งานได้ง่ายและลดปัญหาความแตกต่างระหว่าง Hardward ที่ไม่เหมือนกันในแต่ละที่ซึ่งจะช่วยให้ผู้ดูแลระบบสามารถติดตั้งและดูแลรักษาระบบได้ง่ายยิ่งขึ้น

Source code ของระบบทั้งหมดถูกเก็บไว้ที่ GitHub เป็น private repository ที่ https://github.com/dixonsatit/newborn_api_clien เราจะไม่สามารถเข้าไปดูได้เพราะเป็น private จะต้องถูกเชิญเข้าไปก่อนถึงจะเห็น source code นี้
- สมัคร account GitHub และยืนยันอีเมล์ให้เรียบร้อย
- ส่ง username ที่สมัครใน GitHub มาที่ email
[email protected]หรือที่ Line IDikkdev - หลักจากที่ถูกเชิญเรียบร้อยคุณจะสามารถเข้าไปที่ https://github.com/dixonsatit/newborn_api_clien นี้ได้และสามารถเห็นข้อมูลทั้งหมด
ดาวน์โหลด Source Code
เมื่อเตรียม server เรียบร้อย ให้ดาวน์โหลดไฟล์จาก https://github.com/dixonsatit/newborn_api_client โดยใช้คำสั่ง git clone และระบุ username & password ที่สมัครจาก github เข้าไป
https://<username>:<password>@github.com/dixonsatit/newborn_api_client.git
เช่น
git clone https://dixon:[email protected]/dixonsatit/newborn_api_client.git
เมื่อรันคำสั่งแล้วจะได้ไฟล์เดอร์ newborn_api_client มา
ตั้งค่า config
cd เข้าไปที่ newborn_api_client และทำการสร้างไฟล์ config .env จากไฟล์ .env-dist โดยใช้คำสั่ง mv เพื่อเปลี่ยนชื่อไฟล์เป็น .env
mv .env-dist .env
DB_HOST ไม่ต้องเปลี่ยนนะครับ
จะได้ไฟล์ .env มาให้ทำการเปิดขึ้นมาเพื่อตั้งค่าและกำหนด username, password
# ----------------------------------------------------------------
# ====================== Database Config =========================
# ----------------------------------------------------------------
MYSQL_ROOT_PASSWORD=123132123
MYSQL_DATABASE=nb_db
MYSQL_USER=newborn
MYSQL_PASSWORD=123456
MYSQL_PORT=3306
DB_HOST=db
# ----------------------------------------------------------------
# ======================= Allow Origin ===========================
# ----------------------------------------------------------------
ALLOW_ORIGIN=http://dc7.healtharea.net
ALLOW_ORIGIN คือการตั้งค่ายอมให้ domain อะไรบ้างเข้ามาอ่าน api ของเรา
สั่ง Build และ รัน DC7 API
DC7 API นั้นรันบน docker ค่า default port ที่ตั้งไว้ให้รันบนเว็บคือ 7070 หลังจากที่ git clone มาแล้วจะได้โฟล์เดอร์ newborn_api_client มาให้เราทำตามขึ้นตอนต่อไปนี้
- cd เข้าไปที่ newborn_api_client
รันคำสั่งเพื่อ build และรัน DC7 API ด้วยคำสั่ง
docker-compose up -ddocker จะโหลด image และทำการ build เพื่อสร้าง image และสร้าง container เพื่อใช้รันระบบ รอซักครู่ (ขั้นตอนนี้อาจใช้เวลาราวๆ 15-20 นาที)docker-compose up -d ..... Creating network "newbornapiclient_nb_api_backend" with driver "bridge" Creating nb_api_mariadb Creating nb_api_php-fpm Creating nb_api_phpmyadmin Creating nb_api_nginxเมื่อรันเสร็จเรียบร้อยให้รันคำสั่ง
docker-compose psเพื่อตรวจสอบสถานะ servic ทั้งหมด 4 ตัวคือ- nb_api_mariadb คือฐานข้อมูล Mariadb
- nb_api_nginx คือตัว web server
- nb_api_php-fpm คือตัว PHP FPM
- nb_api_phpmyadmin คือ PhpMyAdmin
docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------------------
nb_api_mariadb docker-entrypoint.sh mysqld Up 3306/tcp
nb_api_nginx nginx -g daemon off; Up 443/tcp, 0.0.0.0:7070->80/tcp
nb_api_php-fpm php-fpm Up 9000/tcp
nb_api_phpmyadmin /run.sh phpmyadmin Up 0.0.0.0:7000->80/tcp
สถานะ state จะต้องเป็น Up ทั้งหมด
ติดตั้ง packet Yii
ติดตั้งด้วยคำสั่ง
docker-compose run --rm php composer install
รอติดตั้งจนกว่าจะเสร็จ
docker-compose run --rm php composer install
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
- Installing yiisoft/yii2-composer (2.0.4)
Downloading: 100%
หลังจากเสร็จหากพบ error Script php yii migrate/up ... error code 1 ให้ข้ามไปทำขั้นตอนตั้งค่า api ดูก่อน หากยังไม่ได้ให้ดูที่นี่
กรณีที่เป็น windows แล้ว error Interactive mode is not yet supported on Windows.
หากใน windowns ไม่สามารถรันคำสั่ง docker-compose run --rm php composer install ได้ให้ใช้วิธี ssh เข้าไปใน container แล้วสั่งรัน composer install อีกที
docker exec -it nb_api_php-fpm sh
จากนั้นมันจะ ssh เข้าไปใน container nb_api_php-fpm จะเจอ terminal แบบนี้
/var/www/html #
ให้รันคำสั้ง
composer install