Định cấu hình PHP trong CentOS Linux

PHP là một trong những ngôn ngữ web được sử dụng phổ biến nhất hiện nay. Cài đặt LAMP Stack trên CentOS là điều mà mọi quản trị viên hệ thống sẽ cần phải thực hiện, rất có thể sớm hơn muộn.

Một LAMP Stack truyền thống bao gồm (L) inux (A) pache (M) ySQL (P) HP.

Có ba thành phần chính đối với LAMP Stack trên CentOS -

  • Máy chủ web
  • Nền tảng / ngôn ngữ phát triển web
  • Máy chủ cơ sở dữ liệu

Note- Thuật ngữ LAMP Stack cũng có thể bao gồm các công nghệ sau: PostgreSQL, MariaDB, Perl, Python, Ruby, NGINX Webserver.

Đối với hướng dẫn này, chúng tôi sẽ gắn bó với LAMP Stack truyền thống của CentOS GNU Linux: máy chủ web Apache, Máy chủ cơ sở dữ liệu MySQL và PHP.

Chúng tôi thực sự sẽ sử dụng MariaDB. Các tệp cấu hình MySQL, cơ sở dữ liệu và bảng là minh bạch với MariaDB. MariaDB hiện được đưa vào kho lưu trữ CentOS tiêu chuẩn thay vì MySQL. Điều này là do những hạn chế trong việc cấp phép và tuân thủ mã nguồn mở, vì Oracle đã tiếp quản việc phát triển MySQL.

Điều đầu tiên chúng ta cần làm là cài đặt 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]#

Hãy cấu hình dịch vụ httpd .

[root@CentOS]# systemctl start httpd && systemctl enable httpd

Bây giờ, hãy đảm bảo máy chủ web có thể truy cập được thông qua 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#

Như bạn có thể thấy bằng đầu dò dịch vụ nmap, máy chủ web Apache đang lắng nghe và phản hồi các yêu cầu trên máy chủ CentOS.

Cài đặt máy chủ cơ sở dữ liệu MySQL

[root@CentOS rdc]# yum install mariadb-server.x86_64 && yum install mariadb-
devel.x86_64 && mariadb.x86_64 && mariadb-libs.x86_64

Chúng tôi đang cài đặt các gói kho lưu trữ sau cho MariaDB -

mariadb-server.x86_64

Gói daemon Máy chủ MariaDB chính.

mariadb-devel.x86_64

Các tệp cần phải biên dịch từ nguồn với khả năng tương thích MySQL / MariaDB.

mariadb.x86_64

Các tiện ích máy khách MariaDB để quản trị Máy chủ MariaDB từ dòng lệnh.

mariadb-libs.x86_64

Các thư viện chung cho MariaDB có thể cần cho các ứng dụng khác được biên dịch với hỗ trợ MySQL / MariaDB.

Bây giờ, hãy bắt đầu và kích hoạt Dịch vụ MariaDB.

[root@CentOS]# systemctl start mariadb 
[root@CentOS]# systemctl enable  mariadb

Note- Không giống như Apache, chúng tôi sẽ không cho phép kết nối với MariaDB thông qua tường lửa dựa trên máy chủ của chúng tôi (firewalld). Khi sử dụng máy chủ cơ sở dữ liệu, phương pháp bảo mật tốt nhất được coi là chỉ cho phép các kết nối ổ cắm cục bộ, trừ khi cần đặc biệt truy cập ổ cắm từ xa.

Hãy đảm bảo rằng Máy chủ MariaDB đang chấp nhận các kết nối.

[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]#

Như chúng ta có thể thấy, MariaDB đang nghe trên cổng 3306 tcp. Chúng tôi sẽ để tường lửa dựa trên máy chủ (firewalld) chặn các kết nối đến cổng 3306.

Cài đặt và cấu hình 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

Tôi khuyên bạn nên cài đặt các gói php sau để có khả năng tương thích chung -

  • 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

Đây là tệp php đơn giản của chúng tôi nằm trong webroot Apache của / 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]#

Hãy thay đổi nhóm sở hữu trang của chúng ta thành người dùng hệ thống daemon http của chúng ta đang chạy.

[root@CentOS]# chgrp httpd /var/www/html/index.php && chmod g+rx /var/www/html/index.php
---

Khi được yêu cầu thủ công qua 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 và LAMP là những công nghệ lập trình web rất phổ biến. Cài đặt và cấu hình LAMP chắc chắn sẽ xuất hiện trong danh sách các nhu cầu của bạn với tư cách là Quản trị viên CentOS. Các gói CentOS dễ sử dụng đã tốn rất nhiều công sức từ việc biên dịch Apache, MySQL và PHP từ mã nguồn.