目的
自分の備忘録
前提条件
1 app / lxc container
であること
こうすることで、root でアプリを作っても問題が起きない
まずベースの環境を作る
LXC を使う
# container_name cn='container_name' lxc launch ubuntu:22.04 ${cn} lxc shell ${cn}
コンテナ内の設定
# root で作業 timedatectl set-timezone Asia/Tokyo apt update apt install vim-nox update-alternatives --set editor /usr/bin/vim.nox update-alternatives --display editor | head -3 # もし確認するなら
必要に応じて lxc にインターフェースを追加するなりすること
必要パッケージインストール
PHP 周り
# root でしています # 一般ユーザーの場合は sudo をつける apt install php8.1 php8.1-{sqlite3,xml,curl}
composer install
# v2.6.2 の場合 php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');" # global で使えるようにする mv composer.phar /usr/local/bin/composer
別の方法
# 別の方法
apt install composer
Node.js
参考
https://nodejs.org/janodejs.org
# root でしています # 一般ユーザーの場合は sudo をつける apt update apt install ca-certificates curl gnupg mkdir -p /etc/apt/keyrings curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | \ sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg # Major version を指定する NODE_MAJOR=18 echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | \ tee /etc/apt/sources.list.d/nodesource.list # install apt update apt install nodejs
Database
とりあえず SQLite3 を使うのでそれだけ入れる
apt install sqlite3
アプリ作成
参考
Installation - Laravel 9.x - The PHP Framework For Web Artisans
プロジェクトディレクトリを作る
# project name pn='some_project_name' composer create-project laravel/laravel ${pn} composer create-project laravel/laravel:^9.0 ${pn} # version 指定? composer create-project laravel/laravel:^10.0 ${pn} # version 指定? # 配布版パッケージのみ利用する(各パッケージにドキュメントとか不要な場合こちら composer create-project --prefer-dist laravel/laravel ${pn} cd ${pn}
DB 設定
今回は sqlite3 を利用する
sed '/DB_/s/^/# /' .env -i sed '/DB_CONNECTION/i DB_CONNECTION=sqlite' .env -i touch database/database.sqlite
Jetstream インストール
参考
Installation | Laravel Jetstream
composer require laravel/jetstream php artisan jetstream:install livewire
npm 周り
npm i npm run build
テーブル作成
php artisan migrate
サーバー起動
# 127.0.0.1:8000 で起動 php artisan serve # 任意の IP / Port で起動 php artisan serve --host=192.168.1.10 --port=8080
2023-09-26 追記
必要に応じてパッケージを追加する
sudo apt install php8.1-{dom,mbstring,tokenizer,xml,xmlwriter} sudo apt install php-json