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.