iku8log

Webエンジニア、SEO、Web解析等々しております。タダのメモ。

CentOS7で「Apache2.4」と「PHP7」をソースからインストールしphp-fpm経由で起動する

現在時点で最新のバージョンを使うことにします。

環境・各種バージョン

  • CentOS7
  • Apache2.4.29
  • APR 1.6.3
  • apr-util-1.6.1
  • PHP7.1.10

インストール・ソース置き場所

インストール場所は→/opt/app/local ソースは→/opt/app/local/src

Apacheのインストール

apr, apr-util,pcre等々インストールしておかなくてはなりません。そのうち追記します。

上記インストール後Apacheのソースをダウンロードして回答してインストールを実行します。

PHPのインストール

事前に必要なものをインストール

sudo yum install libxml2-devel

sudo yum install bzip2-devel

sudo yum install curl-devel

sudo yum install libjpeg-devel

sudo yum install libpng-devel

sudo yum install libXpm-devel

sudo yum install -y freetype-devel

sudo yum install gmp-devel -y

yum install epel-release

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm


sudo yum install libmcrypt

sudo yum install libmcrypt-devel

sudo yum install aspell-devel

sudo yum install aspell-devel.x86_64

sudo yum install recode-devel

ソース取得

sudo wget -O php-7.1.10.bz2 http://jp2.php.net/get/php-7.1.10.tar.bz2/from/this/mirror

インストールの準備

./configure \
    --prefix=/opt/app/local/php-7.1.10 \
    --enable-mbstring \
    --enable-zip \
    --enable-bcmath \
    --enable-pcntl \
    --enable-ftp \
    --enable-exif \
    --enable-calendar \
    --enable-sysvmsg \
    --enable-sysvsem \
    --enable-sysvshm \
    --enable-wddx \
    --with-curl \
    --with-mcrypt \
    --with-iconv \
    --with-gmp \
    --with-pspell \
    --with-gd \
    --with-jpeg-dir=/usr \
    --with-png-dir=/usr \
    --with-zlib-dir=/usr \
    --with-xpm-dir=/usr \
    --with-freetype-dir=/usr \
    --enable-gd-native-ttf \
    --enable-gd-jis-conv \
    --with-openssl \
    --with-gettext=/usr \
    --with-zlib=/usr \
    --with-bz2=/usr \
    --with-recode=/usr \
    --with-mysqli=mysqlnd \
    --enable-mysqlnd \
    --with-pdo-mysql=mysqlnd \
    --with-readline \
    --enable-fpm

php.ini設定

/opt/app/local/src/php-7.1.10/php.ini-productionをコピー↓

/opt/app/local/php-7.1.10/lib/php.ini

php-fpm設定

php-fpm.conf.defaultをコピー↓

/opt/app/local/php-7.1.10/etc/php-fpm.conf

[global]
pid = /opt/app/local/php-7.1.10/var/run/php-fpm.pid



include=/opt/app/local/php-7.1.10/etc/php-fpm.d/*.conf

/opt/app/local/php-7.1.10/etc/php-fpm.d/www.conf


user = nobody
group = nobody

listen = 127.0.0.1:9000

listen.allowed_clients = 127.0.0.1
pm = static

pm.max_children = 5

pm.start_servers = 2

pm.min_spare_servers = 1

pm.max_spare_servers = 3

composerインストール

sudo /opt/app/local/php-7.1.10/bin/php php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo /opt/app/local/php-7.1.10/bin/php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
sudo /opt/app/local/php-7.1.10/bin/php composer-setup.php
sudo /opt/app/local/php-7.1.10/bin/php ./composer.phar --version

phpとパスをとうしておくと、sudo /opt/app/local/php-7.1.10/bin/php 指定しなくて良い(最後の行)

Laravelでもインストールしてみる

sudo /opt/app/local/php-7.1.10/bin/php create-project --prefer-dist laravel/laravel=5.5 myApp

バーチャルホスト設定

以下のように設定してみた。php-fpmを使うと*.phpにマッチするまで見てくれないので、index.phpを指定した。

<VirtualHost *:80>
    DocumentRoot "/home/vagrant/myAp/public"
    ServerName myapp
    DirectoryIndex index.php

    <Directory "/home/vagrant/myAp/public">
        AllowOverride All
    </Directory>
</VirtualHost>