概要
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 インストール