ติดตั้ง 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 ID ikkdev
  • หลักจากที่ถูกเชิญเรียบร้อยคุณจะสามารถเข้าไปที่ 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 -d docker จะโหลด 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

results matching ""

    No results matching ""