NAS に laravel 12

(2025-12-21)

セミリタイヤしてから当然ながら収入が激減したので、家計簿を付けようと思い立ちました。今更ですが。

例によって chatGPT の力を借りてどうにかプロジェクトを作成したのですが、それを NAS で動かすことができません。

chatGPT は迷路に入ってしまい、こうなると同じことを延々と繰り返すので、 自分でネット検索したところなんと 自分の wordpress のブログ記事がヒットしました。

こういうことをする人はあまりいないようです。

ローカルでプロジェクトを作成して NAS にアップ

ローカルで chatGPT に手伝ってもらってプロジェクトを作成しました。

最も苦労したのが、csv をデータベースに書き込むプロセスです。今回の記事とは関係ないのであまり書きませんが、csv は全部で 5 種類あって文字コードも異なっており、 もちろんカラムの形式もすべて違います。

それらを、あるボタンを押すことによって全自動でデータベースに書き込むのは大変でした。

ようやくある程度完成したところで NAS に scp でアップします。NAS の /volume1/web 直下に置きます。

/volume1/web
└── laravel_project

php を 8.4 に

ssh ログインして php のバージョンを確認すると 8.1 でした。この状態で

php artisan cache:clear
php artisan route:clear

してもエラーになります。php 8.4 以上が必要なようです。

いろいろやったのですが失敗したので、以下のようにして強制的に 8.4 に変更しました。

sudo mv /usr/bin/php /usr/bin/php8.1_backup
sudo ln -s /volume1/@appstore/PHP8.4/usr/local/bin/php84 /usr/bin/php
php -v # 8.4 になっているか確認

.env の設定

ポイントは、「DB_HOST=localhost」です。

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=user
DB_PASSWORD=pass

バックエンドサーバーを apache に

webstation の web サービスでバックエンドサーバーを apache にします。

写真1

Call to undefined function Illuminate\Encryption\openssl_cipher_iv_length()

でも上のようなエラーで動きません。このエラーは初めて見るものです。

混乱している chatGPT に質問したのですが、おかしな回答ばかりするので自分で検索しました。

ネット上の情報では php.ini の「;extension=openssl」を有効化するように書いてあるのですが、NAS の php.ini にはそういう部分がありません。

webstation の設定で以下のように「openssl」にチェックを入れて有効にすれば、このエラーは消失します。

写真1

こうしてやっと NAS 上に laravel 12 のプロジェクトが稼働するようになり、すべてのデータを閲覧することができるようになりました。

ただし、ローカルに比べるとスピードがちょっと遅いです。

もし、このプロジェクトを xserver にアップすると桁違いの速度で閲覧できると思いますが、NAS ではしょうがないかと思います。

シンボリックリンクとか .htaccess を設定していないので、「https://192.168.0.20/my_kakeibo/public/」という感じでアクセスします。