วิธีติดตั้งและปรับแต่ง Apache บน macOS Sierra ผ่าน homebrew

มีเพื่อนหลายคน สอบถามมาทาง facebook fanpage, http://facebook.com/appdikrub ของผม เกี่ยวกับการทำ Web Server บน macOS Sierra เพื่อทดสอบเขียนโปรแกรม  PHP ไม่ว่าจะเป็น Wordpress หรือ PHP Framework 

ความจริงแล้ว ผมต้องบอกตามตรงว่าเป็นอะไรที่ผมไม่ค่อยอยากเขียนมากนัก เพราะผมจำทุกขั้นตอนในการติดตั้งและปรับแต่งไม่ได้ทั้งหมด นั่นหมายความว่า ผมต้องค่อย ๆ ติดตั้งและปรับแต่ง บนเครื่องผม แล้วจึงเขียนทีละขั้นตอน แต่ผมเองนั้นเคยมีปัญหาเรื่องนี้เหมือนกัน ตอนใช้ macOS ที่มี Apache ติดมาใหม่ ๆ

 

ทำไมถึงเป็นแนะนำเฉพาะ macOS อย่างเดียว ?

เหตุผลแรกผม คือ ผมใช้ macOS และ อีกเหตุผลหนึ่งคือ การติดตั้งและปรับตั้งค่า บน Windows OS นั้นง่ายแสนง่าย ส่วนเรื่องการตั้งค่า Apache และ PHP นั้นทั้งสองระบบเหมือนกัน สามารถนำไปปรับใช้ได้เลย โดยการปรับแต่งทั้งหมดเป็นการปรับแต่งแบบพื้นฐาน โดยเราอาจต้องปรับแต่งเพิ่มเติมตาม Application ที่เราเขียนตามความเหมาะสมต่อไป

เครื่องมือทำ Web Server บนเครื่องที่เราใช้งาน เพื่อทดสอบโปรแกรม PHP ที่เราเขียนขึ้นบน macOS นั้น มีหลายค่าย ไม่ต่างจาก Windows OS ไม่ว่าจะเป็น MAMP Pro หรือ XAMPP  การติดตั้งนั้นไม่ยาก แต่จากประสบการณ์ที่ผมเคยใช้ มันชอบงองแง บางทีช้าแบบหาเหตุผลไม่เจอ เพราะต้องทำงานภายใต้โปรแกรมจัดการที่เป็น UI บางทีมัน check update และ บางทีมันก็ชนกับ Apache ที่มีมาให้ในเครื่อง และอื่น ๆ

 

homebrew and apache

 

Homebrew การติดตั้ง Web Server บน macOS อีกทางเลือกหนึ่ง ที่คุณอาจถูกใจ

Homebrew คือ macOS package manager ผมอึ้งไปแปบนึง ตอนได้ยินในครั้งแรก แล้วมันคืออะไรกันนะ สรุปง่าย ๆ มันคือ ตัวติดตั้งโปรแกรมเพิ่มเติมบน macOS นั่นเอง ซึ่ง package ที่ว่านี้ เช่น Apache, PHP, MySQL หรือ OpenCV นั่นเอง คือ เราสั่งผ่าน Homebrew ไปมันก็เปิดวาร์ป (ภาษา facebook แหะ ๆ) ไปดึงมาติดให้ ไม่ต้องวิ่งไปเว็บนั้น เว็บนี้แล้ว download และมาติดตั้งเอง

จะใช้ homebrew เราต้องทำงการติดตั้ง homebrew เสียก่อน เปิด Terminal ขึ้นมา ไม่บอกนะครับอยู่ตรงไหน ไม่รู้ก้อพิมพ์หาที่ Spotlight เอาเลยครับ เปิด Terminal ขึ้นมาแล้ว copy ไปวางที่ Terminal ได้เลย พิมพ์เองเดี๋ยวผิดอีกครับ

 

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

 

พอ Terminal ถาม Password เราก็ใส่ไปครับ การติดตั้ง Homebrew นี้ต้องการ XCode Command Line Tools มาใช้ร่วมด้วยนะครับ ถ้าเครื่องไม่มี (ปกติถ้าไม่ติดตั้งจะไม่มี) macOS จะโหลด เหมือนดาวน์โหลดแอพจาก App Store เราก็ปล่อยให้มัน download แล้วรอไป เสร็จแล้วมันจะติดตั้งเอง เราก็นั่งมองมันไป จน Terminal คืน Command shell มาให้เรา (คือมันไม่โหลดอะไรแล้ว หรือ shell command พร้อมให้เราพิมพ์ต่อได้)

จากนั้นพิมพ์ หรือจะ copy ก็ได้ครับ แล้วแต่สะดวก

 

$ brew --version

 

Terminal จะตอบกลับมาเป็น

 

Homebrew 1.2.0
Homebrew/homebrew-core (git revision 2d9a; last commit 2017-05-09)

 

อันนี้คือเครื่องผมนะ ถ้าเป็น version ใหม่กว่าท่านไม่ต้องตกใจ ถ้าขึ้นอย่างนี้แสดงว่าเราได้ติดตั้ง homebrew สำเร็จแล้ว

จากนั้นพิมพ์

 

$ brew doctor

 

มันจะ check ว่ามีอะไรเสียหายหรือป่าว ถ้าผ่านปกติไม่ฟ้อง error ก็ไม่มีอะไรต้องห่วง

ติดต้อง extra brew taps มาให้งงอีกแล้วครับท่าน เข้าใจง่าย ๆ คือ มันเพิ่มการค้นหา link ที่จะ download เข้าไปในระบบ ทำให้ brew ค้นหา ตรวจสอบ เลือกใช้ repository ได้มากยิ่งขึ้น โดยไม่ถูกกำหนดโดย version นั้น ๆ

 

$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/php
$ brew tap homebrew/apache

 

จากนั้นทำการ update โดยพิมพ์คำสั่งข้างล่างที่ Terminal

 

$ brew update

 

เป็นอันเสร็จพิธีในส่วนของการติดตั้ง homebrew

 

ติดตั้ง homebrew เสร็จเรียบร้อยแล้ว เราก็มาติดตั้ง Apache กันต่อเลยครับ

macOS Sierra เค้าจะติดตั้ง Apache มาให้ด้วย ซึ่งอันที่จริงแล้ว ใครอยากใช้สามารถใช้ได้เลย แต่ผมปรับแต่งทีไร สับสนเรื่องตำแหน่งไฟล์ทุกทีสิน่า อย่ากระนั้นเลย ปิดของเก่าลงของใหม่ จะได้ควบคุมได้ง่ายขึ้นกันดีกว่า โดยทำการพิมคำสั่งเหล่านี้บน Terminal ของเรา

 

$ sudo apachectl stop
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null
$ brew install httpd24 --with-privileged-ports --with-http2

 

จากนั้น Terminal จะคืนค่ากลับมาเป็น ตำแหน่งติดตั้งและ Version ที่เราได้ทำการติดตั้งให้มา

 

/usr/local/Cellar/httpd24/2.4.23_2: 212 files, 4.8M, built in 1 minute 42 seconds

 

ถ้าขึ้นมา version อื่น เราก็ไม่ต้องตกใจ ถ้า *** 2.4.23_2: 212 จะไม่เหมือนกัน เพราะต้องใหม่กว่าของผมแน่นอน แต่ต้องจำนะครับ version ไหน จะจำไว้ หรือจะ copy ไว้ก้อได้

ตอนนี้เราได้ติดตั้ง Apache เสร็จเรียบร้อยแล้ว จากนี้เราจะมาปรับแต่ง Apache บนเครื่องของเรา ให้สามารถรัน Website จำลองของเราได้ โดย *** ที่ผมให้จำหรือ copy เอามาใส่ในคำสั่งในหัวข้อนี้ แนะนำให้ copy คำสั่งด้านล่างลง text editor ก่อนแล้วทำการตัดแปะ version ให้เรียบร้อยก่อน แล้วค่อย copy ลง Terminal ไม่งั้นงานอาจเข้า เพราะพิมพ์ผิด แล้วมาตามแก้จะเสียอารมณ์เปล่า

 

$ sudo cp -v /usr/local/Cellar/httpd24/ ***เปลี่ยน version ตรงนี้/homebrew.mxcl.httpd24.plist /Library/LaunchDaemons
$ sudo chown -v root:wheel /Library/LaunchDaemons/homebrew.mxcl.httpd24.plist
$ sudo chmod -v 644 /Library/LaunchDaemons/homebrew.mxcl.httpd24.plist
$ sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.httpd24.plist

 

หลังจากนั้นมันจะไปที่ browser พิมพ์ localhost หรือ 127.0.0.1 ถ้าขึ้นคำว่า It’s work เป็นอันเสร็จพิธีในการติดตั้ง Apache ครับ แต่ถ้าขึ้นอันอื่น ก็ตัวใครตัวมันครับ ขึ้นไปทำตามใหม่ตั้งแต่เริ่มต้น เฝ้าดูมันฟ้อง error อะไร หาวิธีแก้ แก้ไม่ได้ก็ส่งมาถามได้ครับ อย่ารีบส่งมาถามเกินไป เพราะเราจะไม่ได้ฝึกแก้ปัญหานะครับ

 

It's work หมายถึง apache ของเราพร้อมใช้งานแล้วครับ

 

ถ้าผ่านเรียบร้อยขึ้น It’s work เรียบร้อยแล้ว เราทดลองควบคุม apache ของเราหน่อย ควบคุมได้มั้ย รีสตาร์ทได้หรือเปล่า ถ้าได้แสดงว่าผ่านครับ

 

$ sudo apachectl start
$ sudo apachectl stop
$ sudo apachectl -k restart

 

ตอนนี้เราได้ติดตั้ง Apache ผ่าน homebrew เรียบร้อยแล้ว ในบทต่อไปจะแนะนำเรื่องการปรับแต่ให้เครื่องเราทดสอบการทำงาน ได้มากกว่าหนึ่ง Website และโหมดที่จำเป็นในการพัฒนาเว็บไซต์ด้วย Wordpress หรือ PHP Framework กันนะครับ
 

Link: ที่เกี่ยวข้อง