- 1. 概要
- 2. composer インストール
- 3. モジュールインストール
- 4. ディレクトリ作成
- 5. 所有権の設定
1. 概要
「Laravel」のモジュールインストールに関して述べます。
「Laravel」は、「PHP」のフレームワークですので、この時点で「PHP」のインストールと基本的な設定は、終わっているものとします。
終わっていない場合は、前の方の節をご参照ください。
2. composer インストール
「laravel」のモジュールは、「PHP」の「composer」を通して、インストールします。
なので、まずは、「composer」のインストールから・・・。
ただし、「composer」の「ports」は存在しておるのですが、「composer2」を使わないと怒られちゃいますので、「composer2」をインストールします。
「root」ユーザ権限で。
cd /usr/ports/devel/php-composer2
make config
オプションはデフォルトのままで、一気にインストールします。
cd /usr/ports/devel/php-composer2
make
make install clean
この時点の「composer」のバージョンは、下記のとおりです。
$ composer --version
Composer version 2.2.4 2022-01-08 12:30:42
3. モジュールインストール
「Laravel」のモジュールをインストールします。
これは、「root」ユーザ権限でやると怒られますので、ログインユーザ権限で実行します。
composer global require laravel/installer
下記のようなログが出力され、すんなり、インストールできました。
Changed current directory to /home/hogehoge/.composer
Using version ^4.2 for laravel/installer
./composer.json has been updated
Running composer update laravel/installer
Loading composer repositories with package information
Updating dependencies
Lock file operations: 10 installs, 0 updates, 0 removals
- Locking laravel/installer (v4.2.10)
・・・ 略 ・・・
- Locking symfony/string (v6.0.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 10 installs, 0 updates, 0 removals
- Downloading symfony/process (v6.0.2)
- Downloading symfony/polyfill-mbstring (v1.24.0)
・・・ 略 ・・・
- Installing laravel/installer (v4.2.10): Extracting archive
4 package suggestions were added by new dependencies, use 'composer suggest' to see details.
Generating autoload files
8 packages you are using are looking for funding.
Use the 'composer fund' command to find out more!
「Laravel」のモジュールのパスを通しておきます。
わたしは、「tcsh」を使用していますので、「tcsh」を例にとりますが・・・。
vi ~/.cshrc
下記の1行を適切な位置に挿入します。
set path = ($path ~/.composer/vendor/bin )
編集したら、即時反映。
source ~/.cshrc
この時点の「Laravel」のバージョンは、下記のとおりです。
$ composer --version
Composer version 2.2.4 2022-01-08 12:30:42
4. ディレクトリ作成
「Laravel」を展開するディレクトリを作成します。
/usr/local/www/mine
の下に「Laravel」ディレクトリを作成するものとして。
「root」ユーザ権限で。
mkdir -pv /usr/local/www/mine
chown -R グループID:ユーザID /usr/local/www/mine
次に、ログインユーザで。
cd /usr/local/www/mine
composer create-project laravel/laravel laravel --prefer-dist
Creating a "laravel/laravel" project at "./laravel"
Installing laravel/laravel (v8.6.10)
- Downloading laravel/laravel (v8.6.10)
- Installing laravel/laravel (v8.6.10): Extracting archive
Created project in /usr/local/www/mine/laravel
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies
Lock file operations: 110 installs, 0 updates, 0 removals
- Locking asm89/stack-cors (v2.1.1)
・・・ 略 ・・・
- Locking webmozart/assert (1.10.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 110 installs, 0 updates, 0 removals
- Downloading doctrine/inflector (2.0.4)
・・・ 略 ・・・
- Downloading phpunit/phpunit (9.5.13)
- Installing doctrine/inflector (2.0.4): Extracting archive
・・・ 略 ・・・
- Installing phpunit/phpunit (9.5.13): Extracting archive
74 package suggestions were added by new dependencies, use 'composer suggest' to see details.
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
77 packages you are using are looking for funding.
Use the 'composer fund' command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
No publishable resources for tag [laravel-assets].
Publishing complete.
> @php artisan key:generate --ansi
Application key set successfully.
これで、元となるものは展開できました。
5. 所有権の設定
「Laravel」を動作させる上で、ログやキャッシュのフォルダは、「www」の所有権にしておかないと権限エラーになるものがあります。
「root」ユーザ権限で、下記の設定を行います。
chown -R www:www /usr/local/www/mine/laravel/bootstrap/cache
chown -R www:www /usr/local/www/mine/laravel/storage/framework
chown -R www:www /usr/local/www/mine/laravel/storage/logs
|