1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[メモ]GentooにH2O + PHP7.0.0RC4をインストールする。

Last updated at Posted at 2015-10-11

GentooをVMから起動する。

下記からVMを作成する。
http://qiita.com/igara/items/989ea37805f0db85b2f2

VMのネットワークをブリッジにして実行

H2Oをインストールする前の準備

Gentooにsshで接続したら下記コマンドたちを実行する。

Gitをインストール

$ sudo emerge git

libyamlをインストール

$ sudo emerge libyaml

H2Oのインストール

下記を参考
https://h2o.examp1e.net/install.html

# H2Oをダウンロード
$ wget https://github.com/h2o/h2o/archive/v1.5.0.tar.gz
# 解凍
$ tar zxf v1.5.0.tar.gz

# 解凍して作成したディレクトリに移動する
$ cd h2o-1.5.0/
# -DWITH_BUNDLED_SSLフラグというのがあるのだそうだ
$ cmake -DWITH_BUNDLED_SSL=on .

# build
$ cmake .
$ make h2o
$ sudo make install

H2Oの設定ファイル作成

h2o.conf
user: vagrant

listen: 80

hosts:
 "example.com":
   paths:
    /:
     file.dir: /home/vagrant/public_html

file.custom-handler:
 extension: .php
 fastcgi.connect:
  host: 127.0.0.1
  port: 9000
  type: tcp

access-log: /home/vagrant/access-log
error-log: /home/vagrant/error-log
pid-file: /home/vagrant/pid-file

public_htmlの作成とindex.htmlの作成

# public_htmlというディレクトリを作成する
$ mkdir /home/vagrant/public_html

public_htmlにindex.htmlとindex.phpを作成する

index.html
Hello H2O!
index.php
<?PHP
    phpinfo();

H2Oの起動と終了

# 起動
$ sudo h2o -m daemon -c h2o.conf
# 終了
$ sudo kill -TERM `cat /home/vagrant/pid-file`

PHPを使えるようにする

phpenvのインストール

これは
https://blog.sus-happy.net/201506/h2o_php7/#php7-boot
を参照に

$ git clone https://github.com/CHH/phpenv.git
$ cd phpenv/bin/
$ sh phpenv-install.sh
~/.bashrc
export PATH="/home/vagrant/.phpenv/bin:$PATH"
eval "$(phpenv init -)"
$ source ~/.bashrc

php-buildのインストール

これも
https://blog.sus-happy.net/201506/h2o_php7/#php7-boot
を参照に

$ git clone https://github.com/CHH/php-build.git
$ cd php-build/
$ sudo sh install.sh

PHP7インストール

$ php-build --definitions
5.2.17
↑
省略
↓
5.6.14
5.6snapshot
7.0.0alpha1
7.0.0alpha2
7.0.0beta1
7.0.0beta2
7.0.0beta3
7.0.0RC1
7.0.0RC2
7.0.0RC3
7.0.0RC4
7.0snapshot
master

PHPに必要なライブラリを入れる

# libjpegをインストール
$ wget http://www.ijg.org/files/jpegsrc.v9a.tar.gz
$ tar xzf jpegsrc.v9a.tar.gz
$ ./configure --enable-shared
$ make
$ make install

# libpngをインストール
$ wget http://prdownloads.sourceforge.net/libpng/libpng-1.6.18.tar.gz
$ tar xzf libpng-1.6.18.tar.gz
$ cd libpng-1.6.18
$ ./configure --enable-shared
$ make
$ sudo make install

$ cd

# まだ足りないのがあるかも
USE="tidy" emerge php
USE="fpm" emerge php

7.0.0RC4をビルド

$ sudo php-build 7.0.0RC4 ~/.phpenv/versions/7.0.0RC4

インストールしたことがあるPHPバージョン確認

$ phpenv versions
$ php-fpm -v
# 現在のバージョンを確認する

PHPバージョンを切り替える

$ phpenv global 7.0.0RC4
$ php-fpm -v
# 現在のバージョンを確認する

PHP Config

# php-fpm.confを更新
$ cp ~/.phpenv/versions/7.0.0RC4/etc/php-fpm.conf.default ~/.phpenv/versions/7.0.0RC4/etc/php-fpm.conf
# php-fpm.d/www.confも更新
cp ~/.phpenv/versions/7.0.0RC4/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/7.0.0RC4/etc/php-fpm.d/www.conf 

# php-fpmを実行
~/.phpenv/versions/7.0.0RC4/sbin/php-fpm &
# エラーが出なければ問題無し

H2Oを起動してindex.htmlとindex.phpを見てみる

スクリーンショット 2015-10-12 23.01.28.png

laravelのプロジェクトを作成する

# composerのインストール
$ curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
$ composer global require "laravel/installer=~1.1"
$ laravel new slack_rack_php

h2oのpathsをlaravelのpublicフォルダに変更させる

h2o.conf
user: vagrant

listen: 80

hosts:
 "example.com":
   paths:
    /:
     file.dir: /home/vagrant/slack_rack_php/public

file.custom-handler:
 extension: .php
 fastcgi.connect:
  host: 127.0.0.1
  port: 9000
  type: tcp

access-log: /home/vagrant/access-log
error-log: /home/vagrant/error-log
pid-file: /home/vagrant/pid-file
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?