PHP フレームワーク「Laravel 8」インストール

PHP フレームワーク Laravel 8 をインストール。PHP の MVC フレームワーク Laravel 8 でシステム開発する

PHP開発環境がない場合は「 AlmaLinux8.5, Apache2.4, MySQL8.0, PHP8.1 」で LAMP 環境を構築後に実施。



練習1 : composer インストール

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.2.1 2021-12-22 22:21:31

インストール手順(https://getcomposer.org/download/)参照


▼ composer インストーラーファイルをダウンロード

# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

▼ 正しいインストーラーファイルか確認(正しくない場合はファイル削除)

# php -r "if (hash_file('sha384', 'composer-setup.php') === file_get_contents('https://composer.github.io/installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

▼ composer インストール

# php composer-setup.php

▼ ファイル削除

# php -r "unlink('composer-setup.php');"

▼ composer を実行パスディレクトリに移動

# mv composer.phar /usr/local/bin/composer

▼ composer バージョン確認

# composer -V
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? y
Composer version 2.2.1 2021-12-22 22:21:31


練習2 : Laravel 8 インストール

▼ openssl 秘密鍵作成

# openssl genrsa -out laravel.sunabird.local.key 2048


▼ openssl CSR 作成(緑文字は入力項目)

# openssl req -new -key laravel.sunabird.local.key -out laravel.sunabird.local.csr
You are about to be asked to enter information that will be incorporated
....
-----
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Kanagawa
Locality Name (eg, city) [Default City]:Yokohama
Organization Name (eg, company) [Default Company Ltd]:sunabird
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:laravel.sunabird.local
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:


▼ openssl 自己署名サーバー証明書作成

# openssl x509 -req -in laravel.sunabird.local.csr -signkey laravel.sunabird.local.key -sha256 -days 3650 -out laravel.sunabird.local.crt


▼ 鍵と証明書を移動

# mv laravel.sunabird.local.key /etc/pki/tls/private/
# mv laravel.sunabird.local.crt /etc/pki/tls/certs/


▼ laravel 用のディレクトリ作成

# mkdir /var/www/laravel.sunabird.local


▼ VirtualHost 設定(https に自動リダイレクト)

# vi /etc/httpd/conf.d/laravel.sunabird.local.conf

全て記載

<VirtualHost *:80>
  ServerName laravel.sunabird.local

  RewriteEngine on
  RewriteCond %{HTTP_HOST} ^laravel\.sunabird\.local
  RewriteRule ^/(.*)$ https://laravel.sunabird.local/$1 [R=301,L]
</VirtualHost>

<VirtualHost *:443>
  DocumentRoot /var/www/laravel.sunabird.local/public/
  ServerName laravel.sunabird.local:443

  ErrorLog "/var/log/httpd/laravel.sunabird.local.error.log"
  TransferLog "/var/log/httpd/laravel.sunabird.local.access.log"

  SSLEngine on
  SSLProtocol TLSv1.2 +TLSv1.3
  SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
  SSLCertificateKeyFile /etc/pki/tls/private/laravel.sunabird.local.key
  SSLCertificateFile /etc/pki/tls/certs/laravel.sunabird.local.crt

  <Directory "/var/www/laravel.sunabird.local/public/">
    AllowOverride All
  </Directory>
</VirtualHost>


▼ Larabel プロジェクト(laravel.sunabird.local)生成

# composer create-project laravel/laravel=8.* /var/www/laravel.sunabird.local
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? y
Creating a "laravel/laravel" project at "/var/www/laravel.sunabird.local"
...
...
Application key set successfully.


▼ Larabel プロジェクトバージョン確認

# php artisan -V
Laravel Framework 8.77.1

artisan コマンドは Laravel プロジェクトディレクトリで実行


▼ Laravel 初期設定

config/app.php

// 'debug' => (bool) env('APP_DEBUG', false),
'debug' => (bool) env('APP_DEBUG', true),

// 'timezone' => 'UTC',
'timezone' => 'Asia/Tokyo',

// 'locale' => 'en',
'locale' => 'ja',


▼ Apache 再起動

# systemctl restart httpd


▼ Windows の hosts ファイル(C:\Windows\System32\drivers\etc\hosts)の編集

追加

192.168.56.107 laravel.sunabird.local


▼ ブラウザからアクセス(https://laravel.sunabird.local/)


ポイント

  • Laravel のドキュメントルートは Laravel プロジェクト内 public ディレクトリを VirtualHost で指定