Konfigurieren Sie PHP unter CentOS Linux

PHP ist eine der produktivsten Web-Sprachen, die heute verwendet werden. Die Installation eines LAMP- Stacks unter CentOS muss jeder Systemadministrator durchführen, höchstwahrscheinlich früher als später.

Ein traditioneller LAMP-Stapel besteht aus (L) Inux (A) Pache (M) ySQL (P) HP.

Ein LAMP-Stack unter CentOS besteht aus drei Hauptkomponenten :

  • Webserver
  • Web Development Platform / Sprache
  • Datenbankserver

Note- Der Begriff LAMP Stack kann auch die folgenden Technologien umfassen: PostgreSQL, MariaDB, Perl, Python, Ruby, NGINX Webserver.

In diesem Tutorial bleiben wir beim traditionellen LAMP-Stack von CentOS GNU Linux: Apache-Webserver, MySQL-Datenbankserver und PHP.

Wir werden tatsächlich MariaDB verwenden. MySQL-Konfigurationsdateien, Datenbanken und Tabellen sind für MariaDB transparent. MariaDB ist jetzt anstelle von MySQL im Standard-CentOS-Repository enthalten. Dies ist auf die Einschränkungen der Lizenzierung und Open Source-Konformität zurückzuführen, da Oracle die Entwicklung von MySQL übernommen hat.

Als erstes müssen wir Apache installieren.

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

Lassen Sie uns den httpd- Dienst konfigurieren .

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

Stellen wir nun sicher, dass der Webserver über die Firewall zugänglich ist.

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#

Wie Sie an der nmap-Dienstprüfung sehen können, lauscht der Apache-Webserver und antwortet auf Anforderungen auf dem CentOS-Host.

Installieren Sie MySQL Database Server

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

Wir installieren die folgenden Repository-Pakete für MariaDB -

mariadb-server.x86_64

Das Hauptpaket des MariaDB Server-Dämons.

mariadb-devel.x86_64

Dateien müssen aus der Quelle mit MySQL / MariaDB-Kompatibilität kompiliert werden.

mariadb.x86_64

MariaDB-Client-Dienstprogramme zum Verwalten von MariaDB Server über die Befehlszeile.

mariadb-libs.x86_64

Allgemeine Bibliotheken für MariaDB, die für andere Anwendungen benötigt werden könnten, die mit MySQL / MariaDB-Unterstützung kompiliert wurden.

Starten und aktivieren Sie jetzt den MariaDB-Dienst.

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

Note- Im Gegensatz zu Apache werden wir keine Verbindungen zu MariaDB über unsere hostbasierte Firewall (firewalld) aktivieren. Bei Verwendung eines Datenbankservers wird davon ausgegangen, dass nur lokale Socket-Verbindungen zugelassen werden, es sei denn, der Remote-Socket-Zugriff wird speziell benötigt.

Stellen wir sicher, dass der MariaDB-Server Verbindungen akzeptiert.

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

Wie wir sehen können, lauscht MariaDB Port 3306 TCP. Wir werden unsere hostbasierte Firewall (firewalld) verlassen, um eingehende Verbindungen zu Port 3306 zu blockieren.

Installieren und konfigurieren Sie 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

Ich würde empfehlen, die folgenden PHP-Pakete für die allgemeine Kompatibilität zu installieren -

  • 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

Dies ist unsere einfache PHP-Datei im Apache-Webroot von / 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]#

Lassen Sie uns die Eigentümergruppe unserer Seite in den Systembenutzer ändern, unter dem unser http-Daemon ausgeführt wird.

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

Auf manuelle Anfrage über 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 und LAMP sind sehr beliebte Webprogrammiertechnologien. Die Installation und Konfiguration von LAMP wird sicher als CentOS-Administrator auf Ihrer Liste der Anforderungen aufgeführt. Die benutzerfreundlichen CentOS-Pakete haben viel Arbeit beim Kompilieren von Apache, MySQL und PHP aus dem Quellcode gekostet.