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. |
|
|
|