【2019】el7+phpenv+nginx(php-fpm)で開発環境を作り直した話 その1
あけましておめでとうございます。
2019年も引き続き、よろしくお願いいたします。
去年の大晦日から元旦にかけ、MacOSをMojaveにアップグレードしたついでに、
Vagrantの開発環境も新しくしたので、備忘録程度に残していきたいと思います。
旧環境を取っておけば一発だったと思いますが、実際にコマンド叩いて環境構築していくのも楽しいし、理解が深まるので久しぶりにやってみました。
まずは作業ディレクトリとCentOS7のBoxを使う前提のVagrantfileを生成します。
$ mkdir vagrant-dev $ cd vagrant-dev $ vagrant init centos/7
環境のサーバIPを設定 (好きなように変更)
$ vim Vagrantfile
# Create a private network, which allows host-only access to the machine # using a specific IP. config.vm.network "private_network", ip: "192.168.33.10"
結構便利なプラグインも入れておく
$ vagrant plugin install vagrant-vbguest
お立ち上げからsshログイン
$ vagrant up $ vagrant ssh
これでベースができたので、ここからサーバの設定とphpenv(rbenv), nginxなどなどを入れます。
rootに移動 $ sudo su - SELinuxを無効にする # vi /etc/sysconfig/selinux
disabled に変更して保存
SELINUX=disabled
timezoneをAsia/Tokyo にOverwrite
# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ここでsshログアウト後、 $ vagrant reload
をしてVMを再起動
あらためて $vagrant ssh
ログイン後、rootに移動する $ sudo su -
TimezoneがJSTになってることを確認 # date EPELリポジトリと、phpenv等で必要になるパッケージをインストール # yum install epel-release openssl-devel readline-devel zlib-devel libxml2-devel bzip2-devel curl-devel libjpeg-devel libpng-devel libicu-devel gcc-c++ libtidy-devel libxslt-devel autoconf bison-devel wget unzip perl-ExtUtils-MakeMaker
gitをインストール ※yumでも入りますが、新しいVersionを使う
# wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz # tar vfx git-2.9.5.tar.gz # cd git-2.9.5 # make configure # ./configure --prefix=/usr # make all # make install インストールできたか確認 # git --version 不要なファイルを削除 # cd ../ && rm -rf git-*
phpenv をシステムワイドに入れる
# git clone https://github.com/CHH/phpenv.git # phpenv/bin/phpenv-install.sh # mv .phpenv/ /usr/local/phpenv # chmod 775 -R /usr/local/phpenv # git clone https://github.com/php-build/php-build.git /usr/local/phpenv/plugins/php-build # exec $SHELL # phpenv
rbenv も必要になるので同様に入れる
# git clone http://github.com/sstephenson/rbenv.git .rbenv # mv .rbenv/ /usr/local/rbenv # chmod 775 -R /usr/local/rbenv # git clone https://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build # exec $SHELL # rbenv
rbenvのprofileを修正して保存
# vi /etc/profile.d/rbenv.sh
export RBENV_ROOT="/usr/local/rbenv" export PATH="$RBENV_ROOT/bin:/usr/local/phpenv/bin:$PATH" eval "$(rbenv init -)" eval "$(phpenv init -)"
リロード
# exec $SHELL
rubyインストール
# rbenv install 2.6.0 # rbenv global 2.6.0 # rbenv versions # ruby -v
phpenv をちょっと修正
# vi /usr/local/phpenv/bin/phpenv
#!/usr/bin/env bash export PHPENV_ROOT=${PHPENV_ROOT:-'/usr/local/phpenv'} export RBENV_ROOT="$PHPENV_ROOT" exec "$RBENV_ROOT/libexec/rbenv" "$@"
リロード
# exec $SHELL
やっと、phpインストール
5.6 / 7.1 / 7.2 を入れます
# phpenv install 7.1.25 # phpenv install 7.2.13 # phpenv install 5.6.39 確認 (このときはまだバージョン指定がされていない状態) # phpenv versions * system (set by /usr/local/phpenv/version) 5.6.39 7.1.25 7.2.13 コマンド無いよ!となる # php -v rbenv: php: command not found The `php' command exists in these PHP versions: 5.6.39 7.1.25 7.2.13
システムのphpバージョンを7.2に切り替える (バージョンはインストールしたものを指定)
# phpenv global 7.2.13 確認 # phpenv versions system 5.6.39 7.1.25 * 7.2.13 (set by /usr/local/phpenv/version) 生きた...!!! ちゃっかりXdebugもある素敵 # php -v PHP 7.2.13 (cli) (built: Jan 9 2019 20:17:32) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.13, Copyright (c) 1999-2018, by Zend Technologies with Xdebug v2.6.1, Copyright (c) 2002-2018, by Derick Rethans
ついでにcomposerも入れましょう
# curl -sS https://getcomposer.org/installer | php # mv composer.phar /usr/local/bin/composer ※ 以下でも可 # yum install composer 確認(rootで動かすなや!といわれてます。実際はrootで叩かないのでOK) # composer --version Do not run Composer as root/super user! See https://getcomposer.org/root for details Composer version 1.8.0 xxxxx
長くなりましたので、この辺にしておきます!
次回は php-fpm + nginx の設定を書こうと思います。
※追記 書いたのでリンク