実施日: 2023/01/15
何をする?
Ubuntu22.04のLXC(Linux container)にLaravelのテストプロジェクトを作成してみる。
手順
laravelのdocumentには、laravelを入れる前にcomposerとphpをインストールしておいてくれと書いてあるので、まず
apt install php
でphpを入れる。この時に入ったのはphp8.1。
次にcomposerを入れる。composerの入れ方はここを参考にした(下にコードがありますがコピペでは動きません。下記ページの同様のコードをコピペしてください)。
https://getcomposer.org/download/
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'please check original site') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
続いて以下をした(これもcomposerのdocsにある)。
sudo mv composer.phar /usr/local/bin/composer
これでphpとcomposer入ったかなぁと思って、Laravelのdocumentを見ながらプロジェクトを作成しようと、以下をした。
composer create-project laravel/laravel example-app
するとエラーが出て、最初は「issue」と書かれたのが2つほど出たが、まずは
apt install php-xml
して、最初のcreate-project
で出来たものをrm -r example-app
で消してから再度プロジェクトの作成をした。
すると次は、
Problem 1
- spatie/laravel-ignition[1.0.0, ..., 1.6.4] require ext-curl * -> it is missing from your system. Install or enable PHP's curl extension.
- Root composer.json requires spatie/laravel-ignition ^1.0 -> satisfiable by spatie/laravel-ignition[1.0.0, ..., 1.6.4].
というエラーが出たので、php8.1-curl
を入れた
apt install php8.1-curl
で、example-appを削除し、プロジェクトをつくり直すと、画面には
The zip extension and unzip/7z commands are both missing, skipping.
という黄色いエラーがいっぱい出たものの、何故かうまく行った(行っているように見えてるだけかもしれない)。
最後に
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?
と聞かれたので、とりあえず今回はテストなのでY
と答えた。すると
INFO Application key set successfully.
と出て、良さげな雰囲気で処理が終了した。
で、自分はufwをenableにしているので8000ポートを解放する。
ufw allow 8000/tcp
その後にプロジェクトのディレクトリに移動しサーバーを起動した。
cd example-app
php artisan serve --host 0.0.0.0
すると、http://IP address:8000
でこのページが出た。
めでたし!