みなさん、こんにちは。どんぶラッコです。
今回はCentOSをミニマムインストールした状態でNginxを導入し、Laravelを動かせるようにするまでの手順をご紹介します!
Laradockなど便利なDockerイメージの登場で1からセットアップする機会も少なくなってきたかもしれませんが、一度チャレンジしてみてはいかがでしょうか?
今回は既にCentOS7を利用できる環境があるという前提で解説します!
目次
yumコマンドのアップデート
yumが最新状態かを確認する
yum check-update
sudo yum updatenginxインストール
https://www.nginx.com/resources/wiki/start/topics/tutorials/install/
yumの参照先を作成
yum の参照先を作成してからインストールする必要がある。viで nginx.repo を作成
sudo vi /etc/yum.repos.d/nginx.repo[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1その後、yum経由で nginx をインストール
sudo yum install nginx
nginx -v
# 自動起動設定 & 起動
sudo systemctl enable nginx
sudo systemctl start nginxphpのセットアップ
参考: CentOS7にPHP7.3をインストールする – suzu6
phpバージョン確認。初期状態なら入っていない。
php -v
-bash: php: コマンドが見つかりませんEPELリポジトリを追加
EPELとは… https://qiita.com/charon/items/f5732694515d174851b3
Extra Packages for Enterprise Linux の略。エンタープライズ用の高機能なパッケージが提供されているとざっくり理解しておけばOKです
sudo yum install epel-release
sudo yum updateRemiリポジトリを追加
公式のウィザードを使うと適切なインストール方法を提示してくれる。
https://rpms.remirepo.net/wizard/
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum updatesudo yum repolist を入力して、こんな表示が出ればOKです
[centos@ip-***]$ sudo yum repolist
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
* base: d36uatko69830t.cloudfront.net
* epel: nrt.edge.kernel.org
* extras: d36uatko69830t.cloudfront.net
* remi-safe: ftp.riken.jp
* updates: d36uatko69830t.cloudfront.net
リポジトリー ID リポジトリー名 状態
base/7/x86_64 CentOS-7 - Base 10,070
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,266
extras/7/x86_64 CentOS-7 - Extras 392
nginx/7/x86_64 nginx repo 186
remi-safe Safe Remi's RPM repository for Enterprise Linux 7 - x86_64 3,801
updates/7/x86_64 CentOS-7 - Updates 245
repolist: 27,960ここまで設定をしたら、PHPのパッケージをインストールします。今回はPHP7.3系をインストールします。
sudo yum -y install --enablerepo=epel,remi,remi-php73 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt php-fpm php-mysql php-mysqlnd改めてPHPのバージョンを確認し、PHPの情報が出てきたら成功です。
[centos@ip-*** ~]$ php -v
PHP 7.3.18 (cli) (built: May 12 2020 08:04:33) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.18, Copyright (c) 1998-2018 Zend Technologiesphp-fpmの設定
nginx用に www.conf 内設定を変更します。
sudo vi /etc/php-fpm.d/www.conf;listen = 127.0.0.1:9000 を書き換える
listen = /var/run/php-fpm/php-fpm.sock
[中略]
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server.
; Default Values: user and group are set as the running user
; mode is set to 0660
; オーナー・グループを nginxに変更
listen.owner = nginx
listen.group = nginx
listen.mode = 0660もし既に /var/run/php-fpm/php-fpm.sock が作られている場合は削除するか、オーナーと権限を nginx に書き換えてあげます。
sudo chown nginx /var/run/php-fpm/php-fpm.sock
sudo chgrp nginx /var/run/php-fpm/php-fpm.sockgit をインストール
yumでインストールするとversion 1系がインストールされてしまうので、version2系をインストールするための方法が方々で紹介されています。
https://www.digitalocean.com/community/tutorials/how-to-install-git-on-centos-7
ここでは簡単に yumを使って入手してしまいましょう。
sudo yum install gitzip, unzipをインストール
Laravelなどでcomposerを使う場合、 zipの解凍ができないと怒られるので両パッケージ をインストールします。
sudo yum install zip unzipSELinux をオフにする
Laravelを使っているとSELinuxが原因で permission deniedが出てしまいます。Permissiveモードに変更しましょう。
getenforce
# enforcing と出たら起動してる
sudo setenforce 0
# permissive に変更



















