概要
Centos7でLaravel10の開発環境をvirtualBoxで作成する。
環境はLinux(Centos7)、php8(Laravel)、MariaDB、Nginx で行う。
しないこと
- virtualBoxのダウンロード
- CentOSのダウンロード・インストール
- CentOSの設定(ネットワークなど)
- ユーザーの作成
環境
- virtualBox6
- CentoOS7(最小構成)
- Laravel10
- PHP 8.2
- Nginx 1.20.1
- 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.Nginxのインストール
epelをインストールする
yum install -y epel-release
Nginxをインストールする
yum install -y nginx
Nginxの起動、サービス自動起動有効化、ステータスの確認
systemctl start nginx
systemctl enable nginx
systemctl status nginx
#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アドレスにアクセスすると、Nginxの初期画面が表示される。
2. PHPのインストール
PHP8のリポジトリを追加する。(php8.2を使用)
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install -y yum-utils
yum-config-manager --enable remi-php82
PHPをインストールする。
yum install -y php82 php82-php php82-php-mysql php82-php-mysqlnd php82-php-bcmath php82-php-ctype php82-php-json php82-php-mbstring php82-php-openssl php82-php-pdo php82-php-tokenizer php82-php-xml gcc php-fpm
PHPのシンボリックリンクを設定する。
ln -s /usr/bin/php82 /usr/bin/php
PHPがインストールされたことを確認する。
php -v
PHP 8.2.13 (cli) (built: Nov 21 2023 09:55:59) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.13, Copyright (c) Zend Technologies
php-fpmを起動させておく。
systemctl php-fpm start
systemctl enable php-fpm
nginxの設定ファイルを編集する
vim /etc/nginx/conf.d/nginx.conf
server {
listen 80;
listen [::]:80;
server_name example.com;
root /var/www/Laravel/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
php-fpmの設定ファイルを編集する
vim /etc/php-fpm.d/www.conf
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
user = nginx
group = nginx
nginxとphp-fpmを再起動する
systemctl restart nginx
systemctl restart php-fpm
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=10.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
一般画面にアクセスする
参考