CentOS7でLaravel7の環境構築


概要

Centos7でLaravel7の開発環境をVirchalBoxで作成する。
環境はLinux(Centos7)、php(Laravel)、MariaDBApache で行う。

しないこと

  • VirchalBoxのダウンロード
  • CentOSのダウンロード・インストール
  • CentOSの設定(ネットワークなど)
  • ユーザーの作成

環境

  • VirchalBox6
  • CentoOS7(最小構成)
  • PHP 7.4.28 (cli)
  • Apache/2.4.6 (CentOS)
  • MariaDB Ver 15.1 Distrib 10.7.3-MariaDB

1. 初期設定

rootに移行(rootログインではない場合)

sudo su - 

yumのパッケージを全てアップデートする

yum -y update

SELinuxを無効化し再起動する。

vi /etc/selinux/config

#SELINUX=enforcing ←disabledに変更
SELINUX=disabled

#再起動コマンド
reboot

#SELinux確認コマンド
getenforce
Disabled ←が表示されれば反映されている

2.Apacheのインストール

Apacheをインストールする

yum -y install httpd

Apacheの起動、サービス自動起動有効化、ステータスの確認

systemctl start httpd
systemctl enable httpd
systemctl status httpd

 #Loaded: loaded (enabled)になっていることを確認
 #Active: active (running)になっていることを確認

ファイヤーウォールの設定において、httpの通信を許可する設定。

ファイアーウォールの設定の確認

firewall-cmd --list-all

public (active)
  services: dhcpv6-client ssh

httpが接続できるように80ポートを許可する。

firewall-cmd --add-service=http --zone=public

httpが追加されているかの確認

firewall-cmd --list-all

public (active)
   services: dhcpv6-client http ssh

ファイアーウォールのランタイムルールをパーマネントルールに保存し、自動起動サービス化する。

firewall-cmd --runtime-to-permanent
systemctl restart firewalld.service

ブラウザで割り当てられているIPアドレスにアクセスすると、Apatcheの初期画面が表示される。

2. PHPのインストール

PHP7のリポジトリを追加する。(php7.4を使用)

yum install -y epel-release
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install -y yum-utils
yum-config-manager --enable remi-php74

PHPをインストールする。

yum install -y php74 php74-php php74-php-mysql php74-php-mysqlnd php74-php-bcmath php74-php-ctype php74-php-json php74-php-mbstring php74-php-openssl php74-php-pdo php74-php-tokenizer php74-php-xml gcc

PHPのシンボリックリンクを設定する。

ln -s /usr/bin/php74 /usr/bin/php

PHPがインストールされたことを確認する。

php -v
PHP 7.4.28 (cli) (built: Feb 15 2022 13:23:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

モジュールを読み込むためhttpdを再起動させておく。

systemctl restart httpd.service

3.MariaDBのインストール

最新のMariaDBのリポジトリの取得とインストール

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
yum -y install MariaDB-server MariaDB-client

MariaDBの起動及び再起動時の設定をする。

systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb

mariadb-secure-installationコマンドを実行し、rootのパスワードを設定する。

mariadb-secure-installation

Enter current password for root (enter for none):Enter
Enable unix_socket authentication? [Y/n] n
Set root password? [Y/n]y 
Remove anonymous users? [Y/n]y
Disallow root login remotely? [Y/n]y
Remove test database and access to it? [Y/n]y
Reload privilege tables now? [Y/n]y

Laravel用のデータベースを作成

MySQLにログインしDBの作成及びその確認

mysql -uroot -p
(パスワード入力)

CREATE DATABASE laravel;
SHOW DATABASES;

4.Composerのインストール

LaravelのインストールのためにComposerをインストールしておく。

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

composer -V
Composer version 2.2.9 2022-03-15 22:13:37

5.GITのイントール

yum install -y git

6.Laravelのインストール

composerでLaravelのライブラリを読み込む。

composer global require laravel/installer

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

cd /var/www/
composer create-project "laravel/laravel=7.0.*" Laravel --prefer-dist

storageフォルダとbootstrap/cacheフォルダの権限の変更。

chmod -R 777 /var/www/Laravel/storage
chmod -R 777 /var/www/Laravel/bootstrap/cache

.envファイルにDBのパスワード追加

DB_PASSWORD=(新しく設定したMySQLのrootのパスワード)

artisanコマンドでLaravelの設定を行う

php artisan cache:clear
php artisan route:clear
php artisan config:clear
php artisan migrate

7.Apacheの設定ファイルの変更

初めに設定ファイルのコピーを取っておく

cd /etc/httpd/conf
cp httpd.conf httpd.conf_bkup

DocumentRootの設定

DocumentRoot "/var/www/Laravel/public"

AllowOverrideをNoneからAllへ変更

<Directory "/var/www">
    #AllowOverride None ←Allに変更
    AllowOverride All
    # Allow open access:
    Require all granted
</Directory>

再起動

systemctl restart httpd

一般画面にアクセスする

参考

CentOS7にLaravel(PHP)開発環境を作成する
apache配下でLaravelを動かしてみる
Laravel 7.x インストール