Create VM and PHPmyadmin on Google cloud platform Ubuntu 14.0

C4psLOcks’z
May 25, 2018 · 5 min read

ต่อจากบทความที่แล้วนะครับ ในการสร้าง

ถ้ายังไม่ได้อ่านบนความก่อนหน้าก็จะ งงๆ หน่อยนะครับ แนะนำให้ไปอ่านก่อนนะ ครับ

เริ่มต้นด้วยการ เปิด VM SSH เราขึ้นมา

หรือ ทำอีกแบบได้ที่นี้

sudo apt-get update

Install MySQL on your instance

Install MySQL and related PHP components:

Ubuntu

sudo apt-get install mysql-server
กรอก username
กรอก password

เช่น

username: root

Password:root

หลังจากเสร็จขั้นตอนนี้มาถึงการติดตั้ง phpmyadmin

Install phpMyAdmin

พิมคำสั่ง

sudo apt-get install phpmyadmin
กด spacebar เพื่อเลือก Apache2
กด yes
กรอก password
กรอก password
กรอก password

เช่น

username: root

Password:root

จากนั้นทดสอบ Apache and PHP

  1. เปิด VM Instances ในหน้า Cloud Platform Console.
http://[YOUR_EXTERNAL_IP_ADDRESS]

ขั้นตอนต่อมาทดสอบ phpmyadmin

จากนั้น ลอง ใช่ IPhost ตามด้วย /phpmyadmin ในการเข้าใช้งาน

http://YOUR_EXTERNAL_IP_ADDRESS]/phpmyadmin

ทำการ Login

หลังจากเสร็จให้ ทำการ allow port 3306 ให้ mysql ของเราเชื่อมต่อเข้ามาได้จากที่อื่น

ตัวอย่างบทความในการ alllow นะครับ สำหรับ ubuntu 16.0 นะครับ

เริ่มกันที่พิม command

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

เมื่อเห็นผลตามรูปแล้ว ให้ทำการพิมคำสั่งนี้ครับ

1.เข้าไปที่ sudo cd /etc/mysql

2.ถ้าหาไม่เจอให้ ทำการ แก้ไข โดยใช้ คำสั่ง sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

คำเตือน ถาติด premission ให้ ทำงานพิมพ์ sudo ก่อน vim
  • ****คำเตือน ถ้าติด premission ให้ ทำงานพิมพ์ sudo ก่อน vim ไม่งั้นไม่สามารถ save ได้ ถ้า save ไม่ได้ให้ทำตามที่บอกนะครับ****
  • จากนั้นก็ทำตามขั้นตอนต่อไป
  1. กดปุ่ม insert บนคีย์บอร์ท
  2. แล้วลงมาที่ bind-address 127.0.0.1
  3. จากนั้น เปลี่ยนให้เป็น 0.0.0.0
  4. จากนั้น กด ESC
  5. แล้วกด Shift+Q
  6. แล้วพิม w
  7. จากนั้นพิม q เพื่อทำการออก
  8. ทำการ restart โดยใช้คำสั่ง
  9. sudo /etc/init.d/mysql restart

How to create a new user and grant permissions in MySQL

บนความนี้เป็นตัวอย่างในการ สร้าง ลบ และ แก้ไข user นะครับ

เริ่มต้นเปิด command แล้วใช้คำสั่ง

ก่อนอื่นต้องเข้าไปเช็คก่อนว่า ใน phpmyadmin ของเรานั่นมี user กี่ user

เมื่อเราเข้า ไปที่ http://IP Host/phpmyadmin จะพบว่า password ของเรายังไม่ได้ตั้ง ให้ทำการตั้ง

จะเห็นได้ว่า ตรง root สีแดงๆ เรายัง ไม่มี Password เพราะมันขึ้นมา NO

ให้เราใช้คำสั่ง

โดยให้สิทธิ์ ว่าเป็น ALL PRIVILEGES ที่ user: root โดยกำหนดให้ password คือ password ครับ ใครจะกำหนด password เป็นอะไรก็ได้แล้วแต่เราครับ

ในการตั้ง password ถ้าเกิด error Your password does not satisfy the current policy requirements. แบบนี้ให้พิมคำสั่งนี้เพื่อ เช้คเงื่อนไขการตั้ง password นะครับ

SHOW VARIABLES LIKE 'validate_password%';

การสร้าง user นั้นมีได้หลากหลายครับแล้วแต่ความเข้าใจของแต่ล่ะคน

สามารถ สร้าง user ก่อน แล้วก็กำหนด password เลยก็ได้ครับ จากนั้นค่อยให้ สิทธิ์ ALL PRIVILEGES กับ user นั่นอีกที

จากนั่นก็พิมคำสั่งนี้ลงไป เพื่อยืนยัน

หรืออีกวิธี ครับ จะเห็นว่ายังไม่ได้ตั้ง

ตั้งโดยการโดยการใช้คำสั่ง

เลือกไปที่ user ที่มีอยู่แล้ว ให้สิทธิกับตั้ง password

จะได้แบบนี้

ส่วนการ remove user ให้เราใช้คำสั่งนี้นะครับ

ทุกวิ๊ที่กล่าวมาทั้งหมด เราสามารถประยุกต์ใช้ในแบบของเราได้ เช่น เรามี user ที่ถูกสร้างมาอยู่แล้ว ตั้งแต่แรก แต่ไม่มี password และมีสิทธิการเข้าถึง เราก็ไปทำการ ให้สิทธิและตั้ง password .ให้ user นั้นได้เลยครับ

****************************************************************

ที่สำคัญที่สุด ครับ อย่าลืม ทำให้ Grant นั้นเป็น Yes เพราะไม่อย่างนั่น user เราจะไม่สามารถสร้าง db ที่คงอยู่ได้ตลอดไป เมื่อเวลาผ่านไป db จะถูกลบออก เพราะ ไม่มีสิทธิในการสร้างนะครับบบบ อย่าลืมเปลี่ยนให้เป็น Yes นะครับบบ *****************************************************************

ลอง เข้าไปที่ http://IP Host/phpmyadmin แล้วทำการสร้าง database ของเราขึ้นมาแล้ว ทดลอง connect ดูครับ

ถ้าเชื่อมต่อ ภายใน host หรือ เครื่อง server เดียวกันให้ใช้ localhost แต่ถ้า ใช้ database บน host นีัแล้วฝากเว็บไว้ที่อื่นก็ควรใช ้IP Host นี้ ในการเชื่อมต่อ เป็นอันเรียบร้อยครับ

ต่อไปเป็นการแก้ปัญหานีนะครับ ถ้า phpmyadmin ใครแดงๆแบบนี้ให้ทำตามนี้

Connection for controluser as defined in your configuration failed.

ให้ไปที่ cd/etc/phpmyadmin

จากนั้น เปิดไฟล์ nano config.inc.php

ทำการแก้ไขตามรูป

จากนั้นสร้าง แอคเค้า ขึ้นมา นะครับ

ให้ชื่อว่า phpmyadmin@localhost ส่วน password ให้ใช้ password หลักเดียวกับ root ของ db เลยครับ

ขั้นตอนต่อมา เป็นการ ให้สิทธิ์ในการอับ ไฟล์โดยใช้ SFTP

sudo chmod -R 777 /var/www/html

เท่านี้เราก็จะอับไฟล์ได้แล้วครับ

  • * ในส่วนของการ login SFTP ให้ใช้ file ที่เรา save SSH ใช้ในการเข้าใช้งานนะครับ เพราะ google cloud จะไม่เห็น พวก server ทั่วไป
  • tools ที่ผมใช้ อัพไฟล์คู่กับ putty นะครับ จะง่ายมากๆสำหรับ google cloud เพราะใช้ ssh key อันเดียวก็เข้าได้เลยครับ

โปรแกรมนี้เลยครับ

ผมหวังว่าบทความนี้จะเกิดประโยชน์กับผู้ที่ศึกษาหรือกำลังศึกษาอยู่ไม่มากก็น้อยนะครับ แล้วพบกันใหม่ ครับบบบบ

apt-get remove --purge phpmyadmin
sudo service apache2 restart

Educate's Blog

Share More, Learn More ! IT | Maker | DIY | STARTUP