現在 xserver 上で快適に動いている、画像も保存できるカード型データベースを自宅の NAS に設定します。
当分の間 xserver から引っ越すつもりはないのですが、数日前にできるはずと思いやってみたものの全くうまくいかず、ちょっと悔しいのでしつこく挑戦してみました。
朝から夕方まで数時間かかりましたが、何とか設定できました。
でも、実際には当分使うことはないんですけどね。
NAS 上で composer からのインストールはやめた方がいい
最初は local ( linux mint ) で作成したものを NAS にアップロードして挑戦したのですが全然うまくいかないので、NAS 上で以下のようにやってみたのですが、この方法はやめた方がいいと思います。
わけのわからないエラーが出ます。
やはり local で作成したものをアップロードするのがいいと思います。
データベース設定
.env のデータベース設定で、「DB_HOST=localhost」にする必要があります。
NAS の php バージョンに関する疑問
Synology の NAS、DS 720+ には、DSM から php 8.2 を設定できるのですが、ssh で NAS に入って「php –version」とするとなぜか php 8.1.9 です。
最初はうまくいかない原因がこれかと思い、php 8.2 に変更しようとしたのですがどうにもできません。
以前からずっと、DSM と ssh ログインした php のバージョンが違う理由がわからないのですが、これに関してはこのままでいいようです。
DDNS にはルーターのポート開放が必要
まあ当然なのですが、DDNS 設定して外からアクセスするためにはポートの開放が必要かと思います。
おそらく、NAS の IP address を固定にしているためかと思いますが、NAS の IP address は固定しておきたいものです。

シンボリックリンクの作成
NAS に WebStation をインストールすると、/volume1/web が作成されてそこに index.html が作成され、アドレスバーに「synology DDNS」を入力すると以下の画面が表示されます。

例によって、これを sample/public にリンクさせるためにシンボリックリンクを作成します。
シンボリックリンクがわかりにくいのは、第一引数がターゲットであることです。
直感的には逆のように思えるので混乱します。
結果的には「/volume1/web」に以下のようなシンボリックリンクが作成されます。
これで、「synology_DDNS/public」で最初の設定画面が表示されるはずです。
public の削除
例によって public を削除したいので、「/volume1/web」に .htaccess を作成します。
/volume1/web/.htaccessなぜか nginx では動かない
なぜか nginx にするとプログラムが動きません。
以下のようにしました。

数時間ハマっていたので、この他にもポイントがあった気もしますが、いくつか脱落し思い出せるのはこれくらいかと思います。