CentOS7にPHP7、Laravel5.1、mariadbをインストールするまで

laravelは初期設定周りが他と比べてめんどくさいので備忘録として。

yumのupdate
$ sudo yum update
firewalld の無効化 (yum updateをするとfirewalldが有効になり、localhostアクセスできなくなる)
$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld (自動起動の停止)
epel レポジトリの追加 sudo 権限の方が楽
# yum install epel-release
remi リポジトリの追加
# wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
# sudo rpm -ivh ./remi-release-7.rpm

/* この時点で、remi-phpおよびremi-php70レポジトリも導入されています。 */

# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Vault.repo      epel-testing.repo  remi-php70.repo  remi.repo
CentOS-CR.repo    CentOS-Sources.repo    CentOS-fasttrack.repo  epel.repo          remi-safe.repo
PHP7とライブラリのインストール
# yum install --enablerepo=remi,remi-php70 php php-devel php-mbstring php-pdo
   php-gd php-mysql php-xml php-common php-mcrypt php-opcache

/*
 * laravelに必要なもの
 * OpenSSL PHP Extension
 * PDO PHP Extension
 * Mbstring PHP Extension
 * Tokenizer PHP Extension
*/
Apache / git / zip, unzipのインストール

zip unzipはcomposer create-project でインストール時にdistから展開できないと言われるので入れておく

# yum install -y httpd
# yum install -y git
# yum install -y zip unzip  
composer install
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer

$ composer config -g repositories.packagist composer https://packagist.jp
/*
 入れとかないとこんな感じのエラーに悩まされる

  ref: http://ps.zzqune.com/archives/59

  Failed to decode response: zlib_decode(): data error
  Retrying with degraded mode, check https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode for more info

  [ErrorException]
  zlib_decode(): data error


  create-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--repository REPOSITORY]
  [--repository-url REPOSITORY-URL] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress]
  [--no-secure-http] [--keep-vcs] [--no-install] [--ignore-platform-reqs] [--] [<package>] [<directory>] [<version>]

*/
mariadbインストール
$ sudo yum install -y mariadb mariadb-server
$ sudo systemctl enable mariadb.service
$ sudo systemctl start mariadb.service
laravel起動
$ php artisan serve --host 0.0.0.0  /* vagrantで動かす場合はhostの指定が必要 */

Mariadbの初期設定は、MySQLと変わらないのでこの辺りを参考に。 http://weblabo.oscasierra.net/mysql-57-init-setup/