Conoha WINGでドメインルートにシンボリックリンクを張る
Conoha WINGにおいて、例えばabc.example.comというドメインでサイトを公開するときは~/public_html/abc.example.comというディレクトリがドキュメントルートになる。
公開したいファイルがそこではなく~/hoge/publicというディレクトリにあって動かせず、abc.example.comではそれを公開したいとする。そうした場合のやり方。
~/public_html/abc.example.com -> ~/hoge/public というシンボリックリンクが張れればいいのだが、それには1つ問題がある。
Conoha WINGにおけるドメインのルートディレクトリ(さっきの例で言えば~/public_html/abc.example.com)は自動生成される。シンボリックリンクを作るには自動生成されたこのディレクトリを消さないといけない。
しかしパーミション設定で~/public_htmlの権限は555(r-xr-xrr-x)になっており、これではその下のディレクトリを消すことなど出来ずシンボリックリンクを作成することもできない…
のだが、実は所有権があるので普通にchmodが出来る。(2020年12月現在の仕様)
chmod 755 ~/public_htmlしておけばいくらでもその下の自動生成されたディレクトリは消せるし、ln -sで普通にリンクが張れる。
多分初期設定で555になっているのは単なる間違い防止以上の意味は特にない。
まとめると、最初に説明した例は
chmod 755 ~/public_html<br>rmdir ~/public_html/abc.example.com<br>ln -s ~/hoge/public ~/public_html/abc.example.com
で解決できる。