Xserver ( レンタルサーバー ) に laravel 環境 を 構築してみた
今回構築する環境は Laravel 11 + Breeze ( React/TypeScript + Vite ) という 環境を 構築する方法を紹介します
使用した環境
今回使用したサーバーは sv16001.xserver.jp 以降のサーバーです
このサーバーでは Node.js の導入が 比較的簡単に行えます
sv16001.xserver.jp 以降のサーバーのサービス仕様について │ エックスサーバー
https://www.xserver.ne.jp/spec_sv16001.php
sv16000.xserver.jp 以前のサーバー では 新しい バージョンの Node.js が nodebrew では 導入 できません
この場合 unofficial-builds を 使って インストール する必要があります
Node.js unofficial-builds project - GitHub
https://github.com/nodejs/unofficial-builds
bashrc 作成
~/<ドメイン名>/deploy/<公開ドメイン名>/.bashrc
に ファイル を 作成
( すでにあれば作成不要 )
export PATH=$HOME/<ドメイン名>/.bin:$PATH
export NODEBREW_ROOT=$HOME/<ドメイン名>/.bin/nodebrew
export PATH=$HOME/<ドメイン名>/.bin/nodebrew/current/bin:$PATH
php 8.3 導入
~/<ドメイン名>/.bin
に ディレクトリ を 作成
( すでにあれば作成不要 )
source ~/<ドメイン名>/deploy/<公開ドメイン名>/.bashrc
cd ~/<ドメイン名>/.bin/
ln -s /opt/php-8.3/bin/php .
Composer 導入
~/<ドメイン名>/.bin
に ディレクトリ を 作成
( すでにあれば作成不要 )
source ~/<ドメイン名>/deploy/<公開ドメイン名>/.bashrc
cd ~/<ドメイン名>/.bin/
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar composer
nodebrew 導入
~/<ドメイン名>/.bin
に ディレクトリ を 作成
( すでにあれば作成不要 )
source ~/<ドメイン名>/deploy/<公開ドメイン名>/.bashrc
cd ~/<ドメイン名>/.bin/
export NODEBREW_ROOT=$HOME/<ドメイン名>/.bin/nodebrew
curl -L git.io/nodebrew | perl - setup
node 導入 ( nodebrew 導入済み )
source ~/<ドメイン名>/deploy/<公開ドメイン名>/.bashrc
nodebrew ls-remote
nodebrew install v22.11.0
nodebrew use v22.11.0
上記の例では nodebrew ls-remote
で 最新バージョン が v22.11.0 だったので そちらを インストールしました
最新バージョンがリリースされていれば そちらを使用する事を おすすめします
最後に
~/<ドメイン名>/deploy/<公開ドメイン名>/.bashrc
の位置について「ちょっと変じゃない?」と思った方もいるかもしれません
私の場合 ~/<ドメイン名>/deploy/<公開ドメイン名>/
以下に シェルスクリプトを記述しており
そのシェルスクリプトを実行することで 公開に必要な一連の手順を 一度に実行できるようにしています
( source
を読み込み git pull
をして ライブラリ の インストール や マイグレーション ビルド など )
この方法を使えば Circle CI や Jenkins に 自動で実行させることもできますし
他の方と スクリプトのパスを共有すれば 決まった手順で デプロイできるので 非常に便利です
そのため ビルドに必要なファイルとして この場所に bashrc を 配置しています