Konfigurasi PHP di CentOS Linux

PHP adalah salah satu bahasa web paling produktif yang digunakan saat ini. Menginstal LAMP Stack di CentOS adalah sesuatu yang harus dilakukan oleh setiap administrator sistem, kemungkinan besar lebih cepat daripada nanti.

Tumpukan LAMP tradisional terdiri dari (L) inux (A) pache (M) ySQL (P) HP.

Ada tiga komponen utama untuk LAMP Stack di CentOS -

  • Server Web
  • Platform / Bahasa Pengembangan Web
  • Server Database

Note- Istilah LAMP Stack juga dapat mencakup teknologi berikut: PostgreSQL, MariaDB, Perl, Python, Ruby, NGINX Webserver.

Untuk tutorial ini, kita akan tetap menggunakan LAMP Stack tradisional CentOS GNU Linux: web server Apache, MySQL Database Server, dan PHP.

Kami sebenarnya akan menggunakan MariaDB. File konfigurasi MySQL, database, dan tabel transparan ke MariaDB. MariaDB sekarang termasuk dalam repositori CentOS standar, bukan MySQL. Ini karena keterbatasan lisensi dan kepatuhan open-source, karena Oracle telah mengambil alih pengembangan MySQL.

Hal pertama yang perlu kita lakukan adalah menginstal 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]#

Mari konfigurasikan layanan httpd .

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

Sekarang, pastikan server web dapat diakses melalui 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#

Seperti yang Anda lihat di probe layanan nmap, server web Apache sedang mendengarkan dan menanggapi permintaan pada host CentOS.

Instal Server Database MySQL

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

Kami sedang menginstal paket repositori berikut untuk MariaDB -

mariadb-server.x86_64

Paket daemon utama MariaDB Server.

mariadb-devel.x86_64

File perlu dikompilasi dari sumber dengan kompatibilitas MySQL / MariaDB.

mariadb.x86_64

Utilitas klien MariaDB untuk mengelola MariaDB Server dari baris perintah.

mariadb-libs.x86_64

Pustaka umum untuk MariaDB yang mungkin diperlukan untuk aplikasi lain yang dikompilasi dengan dukungan MySQL / MariaDB.

Sekarang, mari mulai dan aktifkan Layanan MariaDB.

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

Note- Tidak seperti Apache, kami tidak akan mengaktifkan koneksi ke MariaDB melalui firewall berbasis host (firewalld). Saat menggunakan server database, dianggap praktik keamanan terbaik untuk hanya mengizinkan koneksi soket lokal, kecuali jika akses soket jarak jauh diperlukan secara khusus.

Mari pastikan Server MariaDB menerima koneksi.

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

Seperti yang bisa kita lihat, MariaDB sedang mendengarkan pada port 3306 tcp. Kami akan membiarkan firewall berbasis host (firewalld) memblokir koneksi masuk ke port 3306.

Instal dan Konfigurasi 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

Saya akan merekomendasikan menginstal paket php berikut untuk kompatibilitas umum -

  • 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

Ini adalah file php sederhana kami yang terletak di webroot Apache di / 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]#

Mari kita ubah grup pemilik halaman kita menjadi pengguna sistem daemon http kita berjalan di bawah.

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

Saat diminta secara manual melalui 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 dan LAMP adalah teknologi pemrograman web yang sangat populer. Instalasi dan konfigurasi LAMP pasti akan muncul di daftar kebutuhan Anda sebagai Administrator CentOS. Paket CentOS yang mudah digunakan telah mengambil banyak pekerjaan dari kompilasi Apache, MySQL, dan PHP dari kode sumber.