การติดตั้ง Laravel 5.6 แบบสมบูรณ์

Save Pongsiri
Apr 25, 2018 · 2 min read

เซิร์ฟเวอร์ต้องมีอะไรบ้าง?

Laravel เป็นเฟรมเวิร์คที่ไม่ต้องการทรัพยากรสูงมาก ยิ่งถ้าติดตั้งกับ Laravel Homestead เซิร์ฟเวอร์จำลองที่สร้างมาเพื่อ Laravel ก็แทบไม่ต้องการอะไรเพิ่มเลย ทาง Laravel เองก็ค่อนข้างเชียร์ให้เราใช้ Homestead เป็นเซิร์ฟเวอร์จำลองสำหรับพัฒนาในเครื่องของเรา

แต่ถ้าเราไม่ได้ใช้ Homestead ล่ะ? คำตอบคือ เราก็ต้องเตรียมเซิร์ฟเวอร์ของเราให้มีทรัพยากรพื้นฐานเลยตามนี้

  • - PHP เวอร์ชั่นตั้งแต่ 7.1.3 ขึ้นไป
  • - OpenSSL PHP Extension
  • - PDO PHP Extension
  • - Mbstring PHP Extension
  • - Tokenizer PHP Extension
  • - XML PHP Extension
  • - Ctype PHP Extension
  • - JSON PHP Extension

(ซึ่งส่วนใหญ่ก็มีมาให้กับเซิร์ฟทั่วไปอยู่แล้ว)

เริ่มติดตั้ง

Laravel ใช้ Composer เป็นตัวจัดการเรื่อง Dependencies ดังนั้นก่อนใช้งาน Laravel ก็ควรต้องติดตั้ง Composer ลงในเรื่องของเราก่อนด้วย

ติดตั้งด้วย Laravel Installer
เริ่มจากดาว์นโหลด Laravel Installer ด้วย Composer

composer global require "laravel/installer"

เมื่อติดตั้งเรียบร้อยแล้ว เราก็สามารถใช้คำสั่ง laravel new ตามด้วยชื่อโปรเจค เพื่อสร้างโปรเจคใหม่ได้เลยแบบนี้

laravel new [ชื่อโปรเจคใหม่]

หรือติดตั้งด้วยคำสั่ง Composer Create-Project
เป็นอีกวิธีนึงหากวิธีแรกใช้ไม่ได้ คือติดตั้งด้วยคำสั่ง create-project บน Terminal

composer create-project --prefer-dist laravel/laravel [ชื่อโปรเจคใหม่]

รันเซิร์ฟเวอร์ของเรากัน
เมื่อเราติดตั้ง Laravel ได้แล้วต่อไปเราก็มาลองรันเซิร์ฟเวอร์ ด้วยคำสั่ง PHP ในการสร้างเซิร์ฟเวอร์สำหรับพัฒนาให้กับเว็บของเราได้เลย

php artisan serve

เว็บจะรันที่ http://localhost:8000 ตามค่าเริ่มต้น ถ้าอยากใช้ port อื่นก็พ่วง option ไปแบบนี้

php artisan serve --port=1234

สิ่งที่ต้องตั้งค่าก่อนเริ่มเขียนเว็บ

Public Directory ตั้งค่าเว็บเซิร์ฟเวอร์ web root ให้เปิดจาก ไดเรคทอรี่ public ของเว็บเรา ไฟล์ public/index.php เป็นไฟล์ที่ใช้รันเว็บของเรา

ตั้งค่าในไฟล์ค่าตั้งค่า ในไดเรคทอรี่ที่ชื่อว่า config จะมีไฟล์สำหรับตั้งค่าหลายไฟล์ เราสามารถตั้งค่า เช่น Database, Email หรืออื่น ๆ ได้เลยที่นี่

สิทธิ์การเข้าถึงไดเรคทอรี่ มีบางไดเรคทอรี่ที่ต้องการสิทธิ์ในการเขียนข้อมูล เช่น storage และ bootstrap/cache ให้ตั้งค่า permission ให้สามารถเขียนข้อมูลได้

Application Key เรื่องคีย์นี้สำหรับมากว่าเราไม่ได้เซ็ตไว้ จะทำให้การเข้ารหัสข้อมูลของเราไม่ปลอดภัย ส่วนวิธีกำหนดคีย์ก็ไม่ยาก แค่เราเปลี่ยนชื่อไฟล์ .env.example เป็น .env แล้วรันคำสั่ง geneate ใน Terminal

php artisan key:generate

ตั้งค่าอื่น ๆ เพิ่มเติม หากต้องการความสมบูรณ์ของเว็บเพิ่มขึ้นก็ให้เขาไปตั้งค่าอื่น ๆ เช่น timezone และ locale ในไดเรคทอรี่ config/app.php

ตั้งค่าเว็บเซิร์ฟเวอร์

ตั้ง URL ให้สวยงาม

สำหรับเว็บเซิร์ฟเวอร์ที่ใช้ Apache
ในโฟลเดอร์ public จะมีไฟล์ที่ชื่อว่า .htaccess ไว้สำหรับจัดการ URL ของเราไม่ให้เป็น index.php ใน URL ไฟล์นี้จะทำงานได้ ถ้าเครื่องเรามีการติดตั้งโมดูล mod_rewrite ไว้เรียบร้อยแล้ว

แต่ถ้า .htaccess ไม่ทำงาน ให้ลองให้คำสั่งด้านล่างนี้

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

สำหรับเว็บเซิร์ฟเวอร์ที่ใช้ Nginx
ถ้าเราใช้ Nginx ง่าย ๆ แค่เพิ่มการตั้งค่าของ Site ด้วยคำสั่งด้านล่างนี้

location / {
try_files $uri $uri/ /index.php?$query_string;
}

ideagital

Idea, Digital, Technologies

ideagital

Idea, Digital, Technologies

Save Pongsiri

Written by

ศิลปินด้านพัฒนาซอฟต์แวร์ มีเป้าหมายคือพัฒนาตัวเองให้ยืดหยุ่นที่สุด ชอบความเรียบง่าย,ดนตรี,กีฬา และแมว

ideagital

Idea, Digital, Technologies