はらぺこらいおん

日々、思ったことを。

CentOS7.4にLaravel5.5をインストール

CentOS7.3にLaravel5.4をインストールした際の、記録を残しておきます。
前回の記事でセットアップした、CentOS7.3にLaravel5.4をインストールします。 CentOS7.4、Laravel5.5LTSにアップデートした内容を記載します。(2018/04/07)

pictzzz.hatenablog.com

セットアップ方法

基本的には公式ドキュメントに従って作業していきます。

laravel.com

PHPのバージョンは、PHP >= 5.6.4となっていますが、せっかくなのでPHP7をインストールしてみたいと思います。
データベースにはMariaDBを使いたいと思います。

PHP >= 7.0.0が必須となりました。

PHPインストール

remi 追加

$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

PHP7 インストール

$ sudo yum install --enablerepo=remi,remi-php72 php php-devel php-mbstring php-pdo php-xml php-zip

MariaDBインストール&自動起動を設定

$ sudo yum install mariadb mariadb-server
$ sudo yum install --enablerepo=remi,remi-php72 php-mysql

$ sudo systemctl enable mariadb.service
$ sudo systemctl start mariadb.service

$ mysql_secure_installation

MariaDBユーザーの作成

> create user 'user_name'@'localhost' identified by 'password';
> grant all privileges on *.* to 'user_name'@'localhost';
> flush privileges;

Composerインストール

$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer

プロジェクト作成

$ composer create-project --prefer-dist laravel/laravel _project_name_ "5.5.*"

Firewall設定

$ sudo firewall-cmd --add-service=http --zone=public --permanent
$ sudo firewall-cmd --reload

開発用サーバー起動

$ cd _project_name_
$ php artisan serve --host=0.0.0.0 --port=80

Nginxインストール

$ sudo yum install nginx

PHP-FPMインストール

$ sudo yum install --enablerepo=remi-php72 php-fpm

PHP-FPM設定

$ sudo vi /etc/php-fpm.d/www.conf
user = apache
↓
user = nginx

group = apache
↓
group = nginx

listen = 127.0.0.1:9000
↓
listen = /var/run/php-fpm/php-fpm.sock

;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0660
↓
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

PHP-FPM起動&自動起動を設定

$ sudo systemctl start php-fpm
$ sudo systemctl enable php-fpm.service

Nginx設定

$ sudo vi /etc/nginx/conf.d/laravel.conf
server {
   root   /var/www/_project_name_/public;

   location / {     
        index  index.php;
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

Nginx起動&自動起動を設定

$ sudo systemctl start nginx
$ sudo systemctl enable nginx.service