icon Laravel インストール&起動 (2019/04/29)

Linux PHPパッケージの用意

通常PHP環境(PDO, JSON, LAMP & LAPP...)で最低限入れておけば動作しそうだが、laravel プロジェクト作成のバージョンによって異なる
Installation(5.8)
# aptitude install php-zip php7.3-pdo php7.3-pgsql php7.3-mysql php7.3-mbstring php7.3-ssh2 php7.3-gd php7.3-curl php7.3-tokenizer php7.3-bcmath php7.3-ctype

composer の用意

PHP7.3 で環境を作成するため、ソースでインストールした。
(Debian9系パッケージの composer だとエラーになる)
PHP7.3 で compser install できない
composer -V
Composer version 1.8.5

Laravel インストール & プロジェクト作成

composer で Laravel をインストールし、~/.config/composer/vendor/ にコマンドパスを通す
$ composer global require "laravel/installer"
$ export PATH="~/.config/composer/vendor/bin:$PATH"
この時点でエラーになる場合は、ライブラリが不足せいている可能性がある
ライブラリが膨大なため、まぁまぁ時間がかかる
$ laravel new project_name
...
- Installing symfony/translation (v4.2.7): Downloading (100%)
- Installing nesbot/carbon (2.17.1): Downloading (100%)
- Installing monolog/monolog (1.24.0): Downloading (100%)
- Installing league/flysystem (1.0.51): Downloading (100%)
- Installing laravel/framework (v5.8.14): Downloading (100%)
...
Package manifest generated successfully.
Application ready! Build something amazing.
$ chmod -R 777 storage
$ chmod -R 777 bootstrap/cache
ここら辺は、コマンド自動化した方が良い
またlaravel のパスが利用できない場合は、以下のコマンドで作成(こっちが正規か?)
$ composer create-project laravel/laravel --prefer-dist project_name 5.8

Laravelサーバ起動

個人環境では、Mac上にVirtualBox(Debian)サーバを別IPでルーティングしているため、IPの指定(--host)が必要
$ php artisan serve --host=192.168.11.56
Laravel

リダイレクト設定

artisan serve でなく普通にアクセスするには汎用Webフレームワークでよくある、public のリダイレクト設定が必要
以下を「.htacess」に記述し、public をルートとみなす
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} -d [OR]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ ^$1 [N]

    RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
    RewriteRule ^(.*)$ public/$1
</IfModule>