Saturday, December 16, 2017

การติดตั้ง LAMP บน CentOS Linux 7

การติดตั้ง LAMP บน CentOS Linux 7

ขั้นตอน
1. ติดตั้ง REMI และ  EPEL repository

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

2. ติดตั้ง Apache และ PHP
yum --enablerepo=remi,remi-php71 install httpd php php-common -y
yum --enablerepo=remi,remi-php71 install php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml -y


3. ทำการสต๊าทบริการ Web Server
systemctl start httpd.service
systemctl enable httpd.service

4. เปิดให้ Apache สามารถใช้งานผ่าน Firewall ได้
ตรวจสอบโซน
firewall-cmd --get-active-zones
ผลลัพธ์
public
  interfaces: enp0s3

เพิ่มกฎให้ http สามารถผ่านโซน public ได้
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd –reload
หรือ
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload

5. ทดสอบสร้างไฟล์ test.php
nano /var/www/html/test.php

<?php
 echo "PHP Hello World <hr>";
 phpinfo();
?>

6. ทำการรีสต๊าทบริการ Apache

systemctl restart httpd

7. ทดสอบเว็บไซต์ ฝั่งเครื่องคอมพิวเตอร์ลูกข่าย
รูปแบบ
http://IP_or_Domain/file.php

ตัวอย่าง 
http://192.168.1.5/test.php



8. ติดตั้งแพ็กเกจ MySQL YUM repository

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm -y

9. ติดตั้งแพ็กเกจ MySQL-Community

yum install mysql-community-server -y


10. กำหนดให้สต๊าทฐานข้อมูล

systemctl start mysqld.service
systemctl enable mysqld.service

11. ตรวจสอบรหัสผ่าน

grep 'temporary password' /var/log/mysqld.log
หรือ
grep 'A temporary password is generated for root@localhost' /var/log/mysqld.log |tail -1   
ผลลัพธ์ที่ได้
2017-12-05T15:47:32.674809Z 1 [Note] A temporary password is generated for root@localhost: 0;G7l,*D#&Px
ในที่นี้ได้รหัสผ่านเป็น :  0;G7l,*D#&Px

12. ทำการกำหนดรหัสผ่านใหม่
mysql_secure_installation

ผลลัพธ์
Securing the MySQL server deployment.

Enter password for user root:  0;G7l,*D#&Px   < รหัสผ่านเก่า
The existing password for the user account root has expired. Please set a new password.
New password:  Huntra1234#   < รหัสผ่านใหม่
Re-enter new password:  Huntra1234#  < ยืนยันรหัสผ่านใหม่

The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y
... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!
[root@huntra ~]#

13. ทดสอบเชื่อมต่อฐานข้อมูล
mysql -u root -p
หรือ
mysql -h localhost -u root -p

ผลลัพธ์
Enter password:  รหัสผ่าน
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.20 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

14. ตรวจสอบเวอร์ชั่นของ MySQL
mysqladmin -u root -p version

ผลลัพธ์
mysqladmin  Ver 8.42 Distrib 5.7.20, for Linux on x86_64
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version          5.7.20
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /var/lib/mysql/mysql.sock
Uptime:                 27 min 55 sec

Threads: 2  Questions: 18  Slow queries: 0  Opens: 120  Flush tables: 1  Open tables: 113  Queries per second avg: 0.010

15. ทดสอบสร้างฐานข้อมูล
DB_NAME = huntradb
USER_NAME = user01
REMOTE_IP = 10.0.2.15
PASSWORD = love1234
PERMISSIONS = ALL

CREATE DATABASE huntradb;
CREATE USER 'user01'@'10.0.2.15' IDENTIFIED BY 'passwd1234';
GRANT ALL ON huntradb.* TO 'user01'@'10.0.2.15';
FLUSH PRIVILEGES;




สร้างฐานข้อมูล

16. กำหนดให้ MySQL สามารถผ่าน Firewall ได้

firewall-cmd --permanent --zone=public --add-service=mysql
firewall-cmd --reload
หรือ
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload

17. ทดสอบเข้าใช้งานแบบ Remote
mysql -h 10.0.2.15 -u  user01  -p


No comments:

Post a Comment