กำหนดค่า PHP ใน CentOS Linux
PHP เป็นหนึ่งในภาษาเว็บที่มีการใช้งานมากที่สุดในปัจจุบัน การติดตั้งLAMP Stack บน CentOS เป็นสิ่งที่ผู้ดูแลระบบทุกคนจะต้องดำเนินการซึ่งส่วนใหญ่จะเร็วกว่าในภายหลัง
LAMP Stack แบบดั้งเดิมประกอบด้วย (L) inux (A) pache (M) ySQL (P) HP
LAMP Stackบน CentOS มีส่วนประกอบหลักอยู่สามองค์ประกอบ-
- เว็บเซิร์ฟเวอร์
- แพลตฟอร์ม / ภาษาการพัฒนาเว็บ
- เซิร์ฟเวอร์ฐานข้อมูล
Note- คำว่าLAMP Stackยังสามารถรวมเทคโนโลยีต่อไปนี้: PostgreSQL, MariaDB, Perl, Python, Ruby, NGINX Webserver
สำหรับบทช่วยสอนนี้เราจะใช้LAMP Stackแบบดั้งเดิมของ CentOS GNU Linux: เว็บเซิร์ฟเวอร์ Apache, เซิร์ฟเวอร์ฐานข้อมูล MySQL และ PHP
เราจะใช้ MariaDB จริงๆ ไฟล์คอนฟิกูเรชันฐานข้อมูลและตาราง MySQL นั้นโปร่งใสสำหรับ MariaDB ขณะนี้ MariaDB รวมอยู่ในที่เก็บ CentOS มาตรฐานแทน MySQL เนื่องจากข้อ จำกัด ของการออกใบอนุญาตและการปฏิบัติตามโอเพนซอร์สเนื่องจาก Oracle ได้เข้ามาพัฒนา MySQL
สิ่งแรกที่เราต้องทำคือติดตั้ง Apache
[root@CentOS]# yum install httpd
Loaded plugins: fastestmirror, langpacks
base
| 3.6 kB 00:00:00
extras
| 3.4 kB 00:00:00
updates
| 3.4 kB 00:00:00
extras/7/x86_64/primary_d
| 121 kB 00:00:00
Loading mirror speeds from cached hostfile
* base: mirror.sigmanet.com
* extras: linux.mirrors.es.net
* updates: mirror.eboundhost.com
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-45.el7.centos will be installed
--> Processing Dependency: httpd-tools = 2.4.6-45.el7.centos for package:
httpd-2.4.6-45.el7.centos.x86_64
--> Processing Dependency: /etc/mime.types for package: httpd-2.4.645.el7.centos.x86_64
--> Running transaction check
---> Package httpd-tools.x86_64 0:2.4.6-45.el7.centos will be installed
---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed
--> Finished Dependency Resolution
Installed:
httpd.x86_64 0:2.4.6-45.el7.centos
Dependency Installed:
httpd-tools.x86_64 0:2.4.6-45.el7.centos
mailcap.noarch 0:2.1.41-2.el7
Complete!
[root@CentOS]#
มากำหนดค่าบริการhttpd
[root@CentOS]# systemctl start httpd && systemctl enable httpd
ตอนนี้ตรวจสอบให้แน่ใจว่าเว็บเซิร์ฟเวอร์สามารถเข้าถึงได้ผ่าน firewalld
bash-3.2# nmap -sS -p 1-1024 -T 5 -sV 10.211.55.1
Starting Nmap 7.30 ( https://nmap.org ) at 2017-01-28 02:00 MST
Nmap scan report for centos.shared (10.211.55.1)
Host is up (0.00054s latency).
Not shown: 1022 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.6.1 (protocol 2.0)
80/tcp open http Apache httpd 2.4.6 ((CentOS))
Service detection performed. Please report any incorrect results at
https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 10.82 seconds bash-3.2#
ดังที่คุณเห็นโดยโพรบบริการ nmap เว็บเซิร์ฟเวอร์ Apache กำลังรับฟังและตอบสนองคำขอบนโฮสต์ CentOS
ติดตั้งเซิร์ฟเวอร์ฐานข้อมูล MySQL
[root@CentOS rdc]# yum install mariadb-server.x86_64 && yum install mariadb-
devel.x86_64 && mariadb.x86_64 && mariadb-libs.x86_64
เรากำลังติดตั้งแพ็คเกจที่เก็บต่อไปนี้สำหรับ MariaDB -
mariadb-server.x86_64
แพ็กเกจ MariaDB Server daemon หลัก
mariadb-devel.x86_64
ไฟล์ต้องคอมไพล์จากต้นทางที่เข้ากันได้กับ MySQL / MariaDB
mariadb.x86_64
โปรแกรมอรรถประโยชน์ไคลเอ็นต์ MariaDB สำหรับการจัดการเซิร์ฟเวอร์ MariaDB จากบรรทัดคำสั่ง
mariadb-libs.x86_64
ไลบรารีทั่วไปสำหรับ MariaDB ที่อาจจำเป็นสำหรับแอปพลิเคชันอื่นที่คอมไพล์ด้วยการสนับสนุน MySQL / MariaDB
ตอนนี้มาเริ่มและเปิดใช้งานบริการ MariaDB
[root@CentOS]# systemctl start mariadb
[root@CentOS]# systemctl enable mariadb
Note- ไม่เหมือนกับ Apache เราจะไม่เปิดใช้งานการเชื่อมต่อกับ MariaDB ผ่านไฟร์วอลล์ที่ใช้โฮสต์ (firewalld) เมื่อใช้เซิร์ฟเวอร์ฐานข้อมูลถือเป็นแนวทางปฏิบัติด้านความปลอดภัยที่ดีที่สุดในการอนุญาตการเชื่อมต่อซ็อกเก็ตภายในเท่านั้นเว้นแต่จำเป็นต้องใช้การเข้าถึงซ็อกเก็ตระยะไกลโดยเฉพาะ
ตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ MariaDB ยอมรับการเชื่อมต่อ
[root@CentOS#] netstat -lnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
[root@CentOS rdc]#
อย่างที่เราเห็น MariaDB กำลังฟังบนพอร์ต 3306 tcp เราจะปล่อยให้ไฟร์วอลล์ที่ใช้โฮสต์ (firewalld) บล็อกการเชื่อมต่อขาเข้าไปยังพอร์ต 3306
ติดตั้งและกำหนดค่า PHP
[root@CentOS#] yum install php.x86_64 && php-common.x86_64 && php-mysql.x86_64
&& php-mysqlnd.x86_64 && php-pdo.x86_64 && php-soap.x86_64 && php-xml.x86_64
ฉันขอแนะนำให้ติดตั้งแพ็คเกจ php ต่อไปนี้เพื่อความเข้ากันได้ทั่วไป -
- php-common.x86_64
- php-mysql.x86_64
- php-mysqlnd.x86_64
- php-pdo.x86_64
- php-soap.x86_64
- php-xml.x86_64
[root@CentOS]# yum install -y php-common.x86_64 php-mysql.x86_64 php-
mysqlnd.x86_64 php-pdo.x86_64 php-soap.x86_64 php-xml.x86_64
นี่คือไฟล์ php ง่ายๆของเราที่อยู่ใน Apache webroot ของ / var / www / html /
[root@CentOS]# cat /var/www/html/index.php
<html>
<head>
<title>PHP Test Page</title>
</head>
<body>
PHP Install
<?php
echo "We are now running PHP on GNU Centos Linux!<br />"
?>
</body>
</html>
[root@CentOS]#
มาเปลี่ยนกลุ่มการเป็นเจ้าของเพจของเราเป็นผู้ใช้ระบบ http daemon ของเรากำลังทำงานอยู่
[root@CentOS]# chgrp httpd /var/www/html/index.php && chmod g+rx /var/www/html/index.php
---
เมื่อร้องขอด้วยตนเองผ่าน ncat
bash-3.2# ncat 10.211.55.1 80
GET / index.php
HTTP/1.1 200 OK
Date: Sat, 28 Jan 2017 12:06:02 GMT
Server: Apache/2.4.6 (CentOS) PHP/5.4.16
X-Powered-By: PHP/5.4.16
Content-Length: 137
Connection: close
Content-Type: text/html; charset=UTF-8
<html>
<head>
<title>PHP Test Page</title>
</head>
<body>
PHP Install
We are now running PHP on GNU Centos Linux!<br />
</body>
</html>
bash-3.2#
PHP และ LAMP เป็นเทคโนโลยีการเขียนโปรแกรมบนเว็บที่ได้รับความนิยมมาก การติดตั้งและการกำหนดค่า LAMP จะปรากฏในรายการความต้องการของคุณในฐานะผู้ดูแลระบบ CentOS แพคเกจ CentOS ที่ใช้งานง่ายได้รับงานจำนวนมากจากการรวบรวม Apache, MySQL และ PHP จากซอร์สโค้ด