0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

virtualBoxでLaravel10+Nginx+CentOS7の環境構築

Posted at

概要

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

nginx.png

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

.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

.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

一般画面にアクセスする

laravel10.png

参考

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?