LoginSignup
2
2

More than 1 year has passed since last update.

CentOS7でLaravel7の環境構築

Posted at

概要

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の初期画面が表示される。
apache.png

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

一般画面にアクセスする

laravel7.png

参考

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

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2