読者です 読者をやめる 読者になる 読者になる

vague memory

うろ覚えを無くしていこうともがき苦しむ人の備忘録

CentOS 6 LAMP環境構築【2015年(Apache2.4)版】

Linux

CentOSyumを使ってphpをインストールします。
前回Apache2.2を使用しましたが、Apache2.4版の2015年版備忘録です。

LAMP.jpg

環境

前回とほぼ同じですので細かい部分は省きます。MySQLがインストールされているものとします。

Apache 2.4.16

外部リポジトリIUSを使用してのインストールです。

# epelリポジトリインストール
$ sudo yum install epel-release
# IUSリポジトリインストール
$ sudo rpm -Uvh "https://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/ius-release-1.0-14.ius.centos6.noarch.rpm"
# Apacheインストール
$ sudo yum install httpd24u
# 確認
$ apachectl -V
・・・略・・・
Server version: Apache/2.4.16 (CentOS)
・・・略・・・
Server MPM:     prefork
・・・略・・・

PHP 5.6.12

同様にIUSからインストールします。
尚、phpについてはhttpd2.2.15とのconflictsで失敗するので、代わりにphp-fpmをインストールします。

# phpインストール(失敗)
$ sudo yum install php56u php56u-pdo php56u-mysqlnd
・・・略・・・
Error: httpd24u conflicts with httpd-2.2.15-47.el6.centos.x86_64
Error: httpd24u-tools conflicts with httpd-tools-2.2.15-47.el6.centos.x86_64
# php-fpmインストール
$ sudo yum install php56u-fpm php56u-mysqlnd
# 確認
$ php-fpm -v
PHP 5.6.12 (fpm-fcgi) (built: Aug  8 2015 11:30:54)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

起動確認

# Listen Portの確認
$ sudo less /etc/php-fpm.d/www.conf
listen = 127.0.0.1:9000
$ sudo /etc/init.d/php-fpm start
$ sudo chkconfig php-fpm on
# php.confファイルの退避
$ sudo mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf.org
$ sudo vi /etc/httpd/conf.d/php.conf
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1
$ sudo /etc/init.d/httpd start

接続確認

phpを実行し、MySQLへ接続可能かを確認します。

# phpinfoファイル作成
$ vi /var/www/html/index.php
<?php
phpinfo();
?>
# pdoサンプルファイル作成
$ vi /var/www/html/pdo.php
<?php
try{
  $dbh = new PDO("mysql:host=localhost;dbname=mysql;charset=utf8", "root", "yourPassword");

  $stmt = $dbh->query("SELECT Host,User FROM mysql.user;");
  $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
  var_dump($rows);

  $stmt = null;
} catch(PDOException $e){
  echo $e->getMessage();
}
?>

phpinfo_5.6.12.jpg

pdophpresult.jpg