Do it yourself
 
How to Install Apache, PHP, MySQL & phpMyAdmin on macOS (Thai)

 

How to Install Apache, PHP, MySQL & phpMyAdmin on macOS


วิธีการติดตั้ง web service Apache , PHP ,MySQL , phpMyAdmin บนระบบปฏิบัติการ macOS


 

web อ้างอิง

https://vinodpandey.com/installing-apache-php-mysql-phpmyadmin-mac-os-x

https://jasonmccreary.me/articles/install-apache-php-mysql-mac-os-x-sierra/



วันที่ 7 มีนาคม 2562 ขอนำเสนอการติดตั้ง web บนระบบปฏิบัติการ osx ครับ เลยเขียนไว้ เผื่อใครหลายๆ คน ที่คิดจะทำ หรือทำเป็นอยู่แล้ว จะได้อ้างอิงได้นะครับ
สำหรับคนที่อยากจะทำการติดตั้ง php,mysql,phpmyadimn,apache นั้น ส่วนบน windows ผมไม่ขอกล่าวถึงนะครับ



ก่อนอื่น หากเพื่อนๆ อยากจะ download pdf ที่ผมทำไว้ อาจจะไม่สวย เพราะว่า ผมทำการติดตั้งไปด้วย และ capture ภาพบน เครื่อง mac และ เขียนแบบไม่ได้แต่งสวยอะไรนะ แต่คิดว่าอาจจะเป็นประโยชน์ไม่มากก็น้อยครับสำหรับใครหลายๆคน ที่อยากจะเรียนรู้
สิ่งใหม่ๆ เพราะว่าผมเองก็พึ่งติดตั้ง บนเครื่อง mac ครับ ไม่ว่าจะเป็น mac mini ,mabook mac air สามารถทำได้เหมือนกันครับ

อ้างอิง ที่ผมไปเจอมา

https://drive.google.com/file/d/15zGOIHtuCQ6QQp55Hdu4JCG6NiL73WNy/view?usp=sharing

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


เริ่มกันเลยดีกว่านะครับ ตรวจสอบ spec เครื่อง บางคนอาจจะรุ่น เก่า รุ่นใหม่ แต่หลักการทำงานต่างๆ หรือขั้นตอนก็คงไม่แตกต่างกันมากครับ








การติดตั้ง apache บน osx ทั้งหมดนี้ คือติดตั้ง บนระบบปฏิบัติการ osx นะครับ


เปิด  browser พวก safari ,firefox ,chrome  แล้ว

พิมพ์ https://localhost

ตรวจสอบว่าเครื่องมีการ run apache อยู่หรือไม่ ถ้าไม่มีให้ดำเนินการตามขั้นตอนดังนี้



เปิด  terminal 
หากใครไม่ได้เป็น root ก็ต้องแปลงตัวเองให้เป็น root ก่อนนะครับ

พิมพ์  $sudo su  -
หลังจากนั้น ใส่รหัส admin ของเครื่อง mac ครับ
 

พิมพ์

#sudo apachectl start





หลังจากนั้น  เปิด browser แล้วพิมพ์
https://localhost





ภาพบน หากขึ้นภาพด้านบน ก็หมายความว่า apache ได้เริ่มทำงานเรียบร้อยแล้ว เป็นอันเสร็จ เรียบร้อยสำหรับการติดตั้ง apache บน osx mac ง่ายมั้ยครับ



เย้ๆ ...  สามารถใช้งานได้แล้ว :)

 

คำถามต่อแล้วพวก file index.html แล้ว path file index อยู่ที่ไหน ตามด้านล่างเลยครับ

/Library/WebServer/Documents

 

เราสามารถรสร้าง index.html หรือ file อื่น เพื่อวางไว้ใน folder สำหรับ แสดงข้อมูลได้เลยภายใน folder  /Library/WebServer/Documents

แต่ก่อนอื่น ต้องสร้าง permission ให้กับ folder  ก่อนเพื่อจะสามารถเอา file ต่างๆ ไปวางไว้ได้และแก้ไขข้อมูลภายใน document ได้






แก้ไขตามนี้ครับ

#sudo chmod -R o+w /Library/WebServer/Documents

 

เมื่อติดตั้ง apache แล้วต่อไป ก็ทำการติดตั้ง php + mysql เพื่อที่จะทำให้ เครื่องสามารถเก็บข้อมูลประเภท mysql ได้ และอ่านข้อมูล php ได้

ทำการเขียน code เพื่อทดสอบ

#vi index.php


แล้วทำการ save ที่ Library/WebServer/Documents



      phpinfo();

?>

 

แล้วทำการ save index.php




 

หมายความว่า php ยังไม่ทำงาน เราต้องไปเปิดให้ osx ทำงานเพราะว่า osx มี php มาให้อยู่แล้ว

#sudo nano /etc/apache2/httpd.conf


กด Control + w

เพื่อค้นหาคำว่า php



 

เอาเครื่องหมาย 

# ออกบรรทัดที่ LoadModule php7_module

แล้ว กด keyboard ปุ่ม

Ctrl+o เพื่อ save

Ctrl+x เพื่อ ออก



พิมพ์

#sudo apachectl restart

เข้าไปใน folder 

/Library/WebServer/Documents

 

# cp index.html index.php   ทำการ copy  file index.html เป็น index.php หรือใครจะ  rename  ก็ตามสะดวกนะครับ

# mv index.html   ทำการลบ file index.html ทิ้ง





 

ตอนนี้ php สามารถทำงานได้แล้ว

..........................................................................
 

****** ขั้นตอนต่อไปติดตั้ง mysql server

 

https://dev.mysql.com/downloads/mysql/

 




 

เลือก file และ download เพื่อพร้อมการติดตั้ง







 

ก็ กด continue ไปเรื่อยๆ




 

ภาพบนใส่รหัสผ่าน ของเครื่อง





เลือก Use Legacy Password Encryption ครับ



หากเลือก strong password Eccrytion จะติดหลายๆ อย่างตอน remote dump ข้อมูลจากเครื่องอื่น แต่ก็มีวิธีแก้ครับ เอาไว้ว่างๆ จะเขียนทิ้งไว้นะครับ









ภาพบน คือ ใส่รหัสผ่าน ของ database mysql อันนี้สำคัญนะครับ ว่าต้องจำได้









 

สุดท้าย จะเก็บไว้หรือจะลบก็เลือกเอาครับ

ทำการเปิด 
 

system Preference









 

เป็นอันเรียบร้อย แล้วเราจะสามารถทำงาน หรือรู้ได้อย่างไรว่า mysql ทำงาน เราก็ต้องดำเนินการตรวจสอบ

ด้วยโปรแกรม หรือ command ง่ายๆ เพื่อทดสอบครับ

 

#/usr/local/mysql/bin/mysql -u root -p



mysql>select User from mysql.user;








 

ภาพบน แสดงข้อมูล ของระบบ user ที่มีอยู่ในระบบ

 

mysql>use mysql;

mysql>create user ‘admin’@‘%’;






mysql>create database db;





 

mysql>grant all on db.* to ‘admin’@‘%’;

mysql>flush privileges;





 

mysql>select User from mysql.user;





 

จะเห็นได้ว่ามี admin ในระบบแล้ว

ใส่รหัสผ่านให้กับ user : admin


mysql> alter user 'admin'@'%' indentified by 'admin';
 





 

mysql>  update user set authentication_string = 'admin',password_expired='N' where User='admin';


 


mysql>flush privileges;





 

#sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

#sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

 

กรณีหากจะใช้ programe พวก HeidiSQL จาก เครื่อง windows เพื่อ remote manager MySQL ก็สามารถทำเอง

 

#grant all on db.* to 'admin’@‘192.168.1.3’;  <- หมายเลข ip ที่ต้องการเข้าไป manage

#flush privileges;




สร้าง shortcut สำหรับเรียก mysql

คำสั่งนี้ไม่จำเป็นต้องสร้างก็ได้นะครับ เพราะว่า mysql ที่เราติดตั้งทำ link ให้แล้ว
โดยเรียกจากคำสั่ง

/usr/local/mysql/bin/mysql -u root -p

ก็ใช้งานได้เช่นเดียวกัน ดังนั้นไม่ต้องสร้าง ln เพิ่ม







เพราะว่า มี link ที่สร้างจากการติดตั้งแล้ว

cd /usr/local/mysql
ls -l mysql






////////////////////////////////////////////////////////////////////////////////////////////////////

หมายเหตุ

#sudo ln -sfn /usr/local/mysql/bin/mysql /usr/local/mysql

แต่ถ้าไม่มี link เราก็สามารถสร้าง link ได้นะครับ





แต่จากการตรวจสอบ

/usr/local/mysql  มี link ในการเรียกใช้ mysql แล้วครับ เลยข้ามไปเลยนะครับ

////////////////////////////////////////////////////////////////////////////////////////////////////




เป็นอันเรียบร้อยสำหรับการติดตั้ง mysql ครับ
ส่วนการเรียกใช้ก็

#/usr/local/mysql -u root -p





สำหรับใครเรียกใช้งานแล้วใช้งานไม่ได้ ตามรูป แก้ไขตามนี้ครับ





เรียกใช้งาน

#/usr/local/mysql -u root -p
-sh: /usr/local/mysql: is a directory

แก้ไข

#cd /var/mysql

หากไม่มี folder mysql ให้ทำการสร้าง ซึ่งปัญหาของผม ไม่มี ทำให้ระบบไม่ทำงานนั้นเอง





#mkdir /var/mysql

ต่อด้วย

#ln -s /tmp/mysql.sock /var/mysql/mysql.sock




เรียบร้อย มี /tmp/mysql.sock มาแล้ว

................................................................



ติดตั้ง phpmyadmin

ก่อนอื่นเลยไป download programe สำหรับ phpmyadmin ตาม link


https://www.phpmyadmin.net/downloads/








 

เลือก download

https://files.phpmyadmin.net/phpMyAdmin/4.8.5/phpMyAdmin-4.8.5-all-languages.zip


จะเป็น zip  file แล้วทำการ แตก file ครับ






หลังจากนั้น ก็ เปลี่ยนชื่อเป็น folder เป็น  phpmyadmin 

หรือ move folder ที่ แตก file ไปไว้ folder ใหม่เป็น phpmyadmin



#mv phpMyAdmin-4.8.5-all-languages /Library/WebServer/Documents/phpmyadmin




ภาพบน คือ ทำการ move จาก folder หนึ่ง ไปอีก ที่หนึ่งพร้อมเปลี่ยนเป็นชื่อ folder phpmyadmin



ภาพบน จะเห็นได้ว่า มี folder เพิ่มเป็น phpmyadmin
 

หรือจะ 

copy หรือ move ไปไว้ใน folder ภายใน document

/Library/WebServer/Documents/phpmyadmin




 

หลังจากนั้น เปิด browser ขึ้นมาพิมพ์
 

https://localhost/phpmyadmin/setup/





เลือก สร้าง new server 





เลือกเป็น

server host -> localhost

Server port ->  3306

server port -> /tmp/mysql.sock


หลังจากนั้น กด authentication





ภาพบนก็ใส่ รหัสผ่าน root เข้าไปในระบบ 




 

ทำการ apply save file และ download file ให้เก็บ file config.inc.php เราก็เอาไปเก็บไว้




หรือ path

/Library/Webserver/Document/phpmyadmin/config.inc.php

หลังจากนั้นตรวจสอบว่า config.inc.php มีอยู่ใน folder phpmyadmin 

ตรวจสอบ

#more /Library/Webserver/Document/phpmyadmin/config.inc.php 




เปิด browser ขึ้นมาเลือก localhost/phpmyadmin 

หากเปิดแล้วเจอแบบนี้

Wrong permissions on configuration file, should not be word writable




หมายเหตุ

ให้แก้ไขโดยใช้คำสั่ง

#chmod 755 config.inc.php




หลังจากนั้น พิมพ์

https://localhost/phpmyadmin อีกครั้ง





 

หลังจากติดตั้งเรียบร้อยแล้วเราสามารถที่สร้าง user สำหรับ จัดการ database ได้แล้ว





 

เป็นอันเรียบร้อย แล้วเราจะทำการ  connect จากเครื่อง windows ได้อย่างไร ?

 

ก็ติดตั้ง programe HeidiSQL เป็นฟรี ใช้งานได้ดี ไม่เสียเงินครับ

https://www.heidisql.com/download.php





เลือก download และ ติดตั้ง ซึ่งไม่ขอกล่าวถึง เพราะว่าการติดตั้งก็กด next จนติดตั้งสำเร็จ






 

Hostname /IP : ใส่ ip ของเครื่อง mac หรือ server ที่เป็น mac osx

user : root
passowrd : รหัสผ่าน


หลังจากนั้นกด Open ได้เลยครับ




ภาพบนหากสามารถ connect ได้ก็จะแสดงข้อมูล mysql database ทั้งหมดครับ




////////////////////


หมายเหตุ


อันนี้  มันสำคัญเลยทีเดียวในการสร้าง user ในการเข้าไปอ่านข้อมูลใน mysql ของ mac osx ครับ มันเกียวกับ permission หรือ สิทธิ ต่างๆ ในการอ่าน เขียน ลบ สร้าง เพิ่ม นั่น นี่

เพิ่มเติมนะครับ หลังจาก เข้าไปใน phpmyadmin แล้วจำเป็นต้องสร้าง user เพื่อเข้ามาอ่าน database เราต้องสร้าง user ตามนี้ครับ






- เลือก User accounts



 

เลือก Add user account 






ภาพบน


- User name  ใส่ชื่อที่ต้องการเข้ามาในระบบ
- Host name ใส่ หมายเลข ip ก็ได้นะครับ เช่น 192.168.0.107 นั้นก็หมายความว่า ต้องการให้เครื่อง ip 192.168.0.107 เข้ามาอ่าน mysql ได้ หรือ กำหนด % ก็หมายความว่า เครื่องไหนก็ได้
- Password ใส่รหัสผ่าน อย่างน้อย 8 ตัวอักษรหรือกี่ตัวแล้วแต่ เราจะกำหนดเองครับ

ยังๆ ๆ ๆ ยังไม่เสร็จ อย่าพึ่งกด enter save นะครับ



 

ภาพบน คือการกำหนด สิทธ์ ครับ ว่าจะทำงานอะไรได้บ้าง บังเอิญผม เอาหมดเลย จริงๆ หากระบบใหญ่ ๆ หรือ มี user เข้ามาอ่านข้อมูล ก็ควรกำหนดให้อ่าน หรือ สร้าง ลบ แล้วแต่เราจะเลือกนะครับ
หลังจากนั้น กด 

OK ครับ



 

หากขึ้นข้อมูลข้างบน ก็หมายความว่า ได้สร้าง user เรียบร้อยแล้ว

ตรวจสอบว่า user ที่เราสร้างมีสิทธิ์มากน้อยเพียงใดก็ตรวจสอบได้ที่ User accounts นี่หละครับ






เราจะกำหนดสิทธิ์ให้อ่าน ให้เขียน ให้ดู แล้วแต่เราจะกำหนดครับ เป็นอันว่าเรียบร้อยแล้วครับ

จากตัวอย่างด้านล่าง 




ภาพบน กำหนดสิทธิ์ เลือก อ่าน update delete ส่วนโครงสร้างทำได้หมดรับ




////////////////////


แถมให้อีกนิดนะครับ หลังจาก ติดตั้งทั้งหมดแล้ว เราจะ manage mysql ง่ายๆ บน mac ได้อย่างไร ???

ผมก็มี programe ฟรี ให้ใช้ครับ จริงๆ มีหลายตัว ลอง search ดูนะครับ แต่ผมเลือกใช้ตัว นี้


https://tableplus.io/






เลือก  download เลยครับ




หลังจากติดตั้ง (ข้ามการติดตั้งนะครับ)





ภาพบน หลังจากเปิด โปรแกรมขึ้นมา



เลือก คลิกขวา เลือก connection



เราเลือก mysql ครับ




ภาพบน ก็ตั้งชื่อ (ไม่สำคัญ) แต่เราก็ให้สื่อว่าเราจะ ติดต่อ mysql ใส่ user และ รหัสผ่านของ user mysql ที่เราสร้างไว้




ภาพบน หลังจาก ทดสอบ และ save โปรแกรมจะมี icon ให้เราเลือก ตามที่เราตั้งชื่อไว้




ภาพบน เราเลือก mysql เข้ามาในโปรแกรม แล้ว





ภาพบน จะเห็นข้อมูล database ที่เราได้สร้างไว้








ทั้งหมดก็เป็นแบบคร่าวๆ อาจจะอ่านแล้วเข้าใจบ้าง (หรือเปล่า) ก็ประมาณนี้สำหรับ โปรแกรมสำหรับจัดการ mysql หรือจะใช้ phpmyadmin ที่เราติดตั้งก่อนหน้านั้น ก็ตามสะดวกครับ

หลังจากนั้นทดสอบเขียน php ทดสอบการเชื่อมต่อ database







ผลที่ได้ error mysqli_connect(); ประมาณว่าไม่รู้จักคำสั่ง function mysqli_connect ซึ่งเราได้ติดตั้งไปแล้ว



จากภาพ แสดงข้อความ
Warning: mysqli_connect(): (HY000/2002): No such file or directory in /Library/WebServer/Document/


วิธีแก้ไขตามนี้ครับ

cd /var
mkdir mysql
ln -s /tmp/mysql.sock mysql.sock


หลังจากนั้นทดสอบ load กด F5 บน browser อีกครั้ง




ในการแก้ไข file php.ini ทำตามขั้นตอนดังนี้

sudo cp /private/etc/php.ini.default /private/etc/php.ini
แล้วถึงจะแก้ไข file php.ini

ในการแก้ไขเกี่ยวกับ web service apache2 จะอยู่ที่
/etc/apache2/httpd.conf
หลังจากแก้ไขทุกครั้ง

sudo apachectl restart


วันนี้คงพอแค่นี้ก่อนนะครับ เอาไว้โอกาสดีๆ มีอะไรใหม่ๆ มีประโยชน์ จะเอามาเขียนให้เพื่อน สมช. ได้รับอ่าน รับชม อย่างน้อยๆ ผมหวังเป็นอย่างยิ่งว่า เป็นประโยชน์ไม่มากก็น้อย ส่วนมากก็งานที่ทำครับ

วันนี้สวัสดีครับ :)

















 


Create Date : 07 มีนาคม 2562
Last Update : 20 กรกฎาคม 2562 21:49:15 น. 0 comments
Counter : 4504 Pageviews.  
 
Name
Opinion
*ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก

mrter2012
 
Location :


[Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 11 คน [?]





ผม..สนใจและศึกษาด้านคอมพิวเตอร์ ,network, มือถือ ,ซ่อมแซมบ้าน ซ่อมรถยนต์,เครื่องยนต์,กลไกต่างๆ เครื่องมือช่าง electronic

ว่างๆ ก็จะหาอ่าน ศึกษา หาทำงาน หาซ่อมเป็นงานอดิเรก ฯลฯ

ชอบลงมือทำเอง หากไม่เกิน หรือไม่คิดว่าเกินความสามารถก็จะลงมือทำเลยครับ
หากไม่มีอุปกรณ์ หรือเกินที่เราจะมีได้ ก็ศึกษา หาวิธีที่จะทำ จนสุดก่อน

หากคิดว่าไม่ได้ ทุกอย่างมันก็จะไม่ได้ครับ ดังนั้น เราต้องมั่นใจว่าทำได้ และลงมือเลยครับ

และอยากให้เพื่อนๆ ที่อ่านลงมือทำ อาจจะไม่เหมือนผม แต่อาจจะทำอย่างที่ตัวเองถนัด
แล้วมาบอกเล่าให้เพื่อนๆ ฟังเป็นความรู้ประสบการณ์ เป็นวิทยาทานให้กับคนอื่นๆ รุ่นต่อรุ่น

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


ขอบคุณครับ สุดท้าย บทความต่างๆ ที่ผมเขียนคิดว่าคงเป็นประโยชน์ไม่มากก็น้อยสำหรับใครบางคนที่ยังไม่รู้ .. ทุกคนไม่รู้ และไม่เก่งกันทุกคนครับ เอาที่ความถนัดมาเขียนบอกเล่ากันครับ... :)



New Comments
[Add mrter2012's blog to your web]

 
pantip.com pantipmarket.com pantown.com