Linux Server simple login system with mysql
Operating System Subject
VMware Ubuntu Server - phpmyadmin - mysql
Change to root (เปลี่ยนสิทธิ์เป็น root)
sudo su
after install your linux-server (ทำการอัพเดตแพคเกจต่างๆ)
apt update
apt upgrade -y
install apache2 (ทำการติดตั้ง apache2)
install php
apt install php php-cgi libapache2-mod-php php-common php-pear php-mbstring
a2enconf php7.4-cgi
systemctl reload apache2.service
systemctl restart apache2
make sure the service is running
Check IP addresses
ลองพิมพ์ ip ที่ได้จากคำสั่ง hostname -I ใน url ของ browser
192.168.xx.xxx
ถ้าปรากฎหน้า apache แสดงว่าใช้งานได้ครับ
install mysql (ทำการติดตั้ง mysql)
apt install mysql-server -y
check mysql server is running
mysql_secure_installation
1. yes : y

2. select low : 0

3. after you enter password then : y

4. remove anonymous user : y

5. disallow root remote : y

6. remove test db: y

7. reload db: y

install phpmyadmin
apt install phpmyadmin -y
1. Select Apache2

2.Select yes

3.type your password for phpmyadmin (ในที่นี้จะพิมพ์ codetopanda123456789 ซึ่งยาวพอตัว เพราะถ้าพิมพ์สั้นไปมันจะ Error ซึ่งต้องแก้ไข policy จะมีวิธีบอกอยู่ด้านล่างครับ : ) )

4. confirm password (พิมพ์รหัสผ่านอีกครั้งเพื่อ confirm)

5. if not error it finished (ถ้าไม่เกิดข้อผิดพลาดใดๆ ถือว่าเสร็จสิ้น ถ้าเกิดข้อผิดพลาดลอง อ่านโค้ด Error แล้วลอง เลื่อนลงไปด้านล่าง ถ้าข้อผิดพลาดนั้นไม่ได้มี ใน tutorialนี้ ลอง Search Google เพื่อแก้ดูครับ น่าจะไม่ยากเกินความสามารถครับ :) )

จากนั้นเราจะทำการใช้ mysql
6. use mysql
mysql
Exit mysql
exit
7. เข้าไปหน้า phpmyadmin
192.168.xx.xxx/phpmyadmin
8. login phpmyadmin (เข้าสู่ระบบ phpmyadmin)
id: phpmyadmin
pass: yourpassword
Fix phpmyadmin not found (วิธีแก้หากหา phpmyadmin ไม่เจอ)
ln -s /usr/share/phpmyadmin /var/www/html
ทำการสร้าง database
use mysql
CREATE your Database
CREATE database mydatabase;
USE your DATABASE
CREATE TABLE
CREATE TABLE `member` (
`UserID` int(3) unsigned zerofill NOT NULL auto_increment,
`Username` varchar(100) NOT NULL,
`Password` varchar(100) NOT NULL,
`Name` varchar(100) NOT NULL,
`Status` enum('ADMIN','USER') NOT NULL default 'USER',
PRIMARY KEY (`UserID`),
UNIQUE KEY `Username` (`Username`)
) ENGINE=MyISAM AUTO_INCREMENT=3;
INSERT USER AND ADMIN DATA
INSERT INTO `member` VALUES (004, 'root', 'root', 'Mr Root Ubuntu', 'ADMIN');
INSERT INTO `member` VALUES (005, 'codetopanda', 'ctp123', 'MR Codetopand Portdee', 'USER');
Exit mysql
exit
Preparing site change directory to /var/www/html
เปลี่ยนโฟล์เดอร์ไปที่ path /var/www/html
check git เพื่อความชัวร์ทำการเช็คว่า linux ท่านใช้ gitได้ไหม
git (if git not install ) then
apt install git
Clone git in /var/www/html | Move all file to /var/www/html | remove simple-linux-server-mysqldb Folder |
git clone https://github.com/lacakp/simple-linux-server-mysqldb.git; mv -v ./simple-linux-server-mysqldb/* ./ ; rm -r simple-linux-server-mysqldb;

Check file (ทำการเช็คไฟล์ในโฟลเดอร์ )
ls -al

nano to config database ( เข้าไปแก้ไข เปลี่ยน ip-user-password-database)
ใน tutorial นี้ได้ตั้งไว้คือ (localhost:3306, myuser, root1234, mydatabase) MySQL default port is 3306

วิธี save
1. CTRL + x
2. y
3. Enter
เข้าไปใน 192.168.xx.xxx/login.php

FIX phpmyadmin USER can’t login ( แก้ ไม่สามารถเข้า phpmyadmin ได้)
mysql
2 Create USER And assign password
CREATE USER 'youruser'@'%' IDENTIFIED BY 'thispass';
3 Add root to youruser
GRANT ALL PRIVILEGES ON *.* TO 'youruser'@'%' WITH GRANT OPTION;
Fix ERROR 1819 (HY000) (แก้ Error policy password เราจะเปลี่ยนให้มัน low)
enable the validate_password plugin
SELECT plugin_name, plugin_status FROM information_schema.plugins WHERE plugin_name LIKE 'validate%';
install plugin validate_password SONAME 'validate_password.so';
check plugin is activated?
SELECT plugin_name, plugin_status FROM information_schema.plugins WHERE plugin_name LIKE 'validate%';
set a lower password validation policy
SET GLOBAL validate_password_policy=LOW;
SET GLOBAL validate_password.policy=LOW;
confirm the password validation policy level.
SHOW VARIABLES LIKE 'validate_password%';
Create User
create user ‘myuser’@’%’ IDENTIFIED BY ‘root1234’;
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
SHOW GRANTS FOR myuser;
FLUSH PRIVILEGES;
revert to the ‘MEDIUM’ password policy (ในกรณีอยากกลับคืนค่าของ policy กลับปเป็น MEDIUM หรือ Strong)
SET GLOBAL validate_password_policy=MEDIUM;
preview



