Linux-admin-configure-php-in-centos-linux

提供:Dev Guides
移動先:案内検索

CentOS LinuxでPHPを構成する

PHPは、今日使用されている最も多機能なWeb言語の1つです。 CentOSに_LAMP_ Stackをインストールすることは、すべてのシステム管理者が実行する必要があるものであり、ほとんどの場合、後で実行する必要があります。

従来のLAMPスタックは、(L)inux(A)pache(M)ySQL(P)HPで構成されています。

CentOSの_LAMP Stack_には3つの主要なコンポーネントがあります-

  • Webサーバー
  • Web開発プラットフォーム/言語
  • データベースサーバー

注意-_LAMP Stack_という用語には、PostgreSQL、MariaDB、Perl、Python、Ruby、NGINX Webserverなどのテクノロジーも含まれます。

このチュートリアルでは、CentOS GNU Linuxの従来の_LAMP Stack_(Apache Webサーバー、MySQLデータベースサーバー、およびPHP)を使用します。

実際にMariaDBを使用します。 MySQL構成ファイル、データベース、およびテーブルはMariaDBに対して透過的です。 MariaDBは、MySQLではなく標準のCentOSリポジトリに含まれるようになりました。 これは、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を介してWebサーバーにアクセスできるようにします。

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 Webサーバーは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サーバーデーモンパッケージ。

mariadb-devel.x86_64

ファイルは、MySQL/MariaDB互換性を持つソースからコンパイルする必要があります。

mariadb.x86_64

コマンドラインからMariaDBサーバーを管理するためのMariaDBクライアントユーティリティ。

mariadb-libs.x86_64

MySQL/MariaDBサポートでコンパイルされた他のアプリケーションに必要なMariaDBの共通ライブラリ。

それでは、MariaDBサービスを開始して有効にしましょう。

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

-Apacheとは異なり、ホストベースのファイアウォール(firewalld)を介したMariaDBへの接続は有効にしません。 データベースサーバーを使用する場合、リモートソケットアクセスが特に必要でない限り、ローカルソケット接続のみを許可することがセキュリティのベストプラクティスと見なされます。

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

これは、/var/www/html/のApache webrootにあるシンプルなphpファイルです。

[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デーモンが実行されているシステムユーザーに変更しましょう。

[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は非常に人気のあるWebプログラミングテクノロジーです。 LAMPのインストールと構成は、CentOS管理者としてのニーズのリストに必ず掲載されます。 使いやすいCentOSパッケージは、ソースコードからApache、MySQL、およびPHPをコンパイルするのに多大な労力を費やしました。