1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

シンボリックリンクについて

Last updated at Posted at 2025-09-11

シンボリックリンクとは?

シンボリックリンク(symbolic link, symlink)は 「ファイルやフォルダへのショートカット」 のようなものです。
実体(本物のファイルやフォルダ)とは別に、「ここにその実体があるよ」と示す案内板を作るイメージです。
実体(オリジナル):本物のファイルやフォルダ

シンボリックリンク:実体への「案内板」

リンクを開けば、あたかもそこに本物があるかのように見えます。

たとえ話でイメージ

🏠 家とポストのたとえ

あなたの家(=本物のファイル)が「東京都新宿区○○」にあるとします。

でも、友達は「渋谷区」にしか来られない。

そこで、渋谷区の道端に「新宿区○○はこちら →」という 案内板(シンボリックリンク) を立てます。
友達がその案内板をたどれば、結局は新宿の本物の家にたどり着けるわけです。

📂 書類棚とインデックスのたとえ

会社に巨大な書類棚があって、重要な契約書が「5階・右奥・棚の3段目」にあります。
でも毎回そこに取りに行くのは面倒。

そこで机の引き出しに「契約書 → 棚の場所」という インデックスカード(シンボリックリンク) を置いておく。
カードを見れば、本物の契約書にすぐアクセスできるのです。

シンボリックリンクの特徴

実体が消えると困る
案内板だけ残っても、本物がなければ「行き先がありません」となる。

実体と同じように扱える
リンクを開くと、本物のファイルと同じように読んだり編集したりできる。

複数作れる
一つの実体に対して、いくつでも案内板を設置できる。

実用例

  • 長いパスにあるフォルダを、すぐアクセスできる場所にリンクを作る
  • 同じファイルを複数の場所から参照したいときに使う
  • システム設定ファイルを、共通の1つを参照させたいときに使う

💡まとめると:
「シンボリックリンクは、本物のファイルやフォルダへ案内する“ショートカット”のような存在」
です。

Laravelのシンボリックリンクの設定

php artisan storage:link

実際の確認

ls -l /var/www/local-mojiokoshi/public | grep storage

結果例:

user@DESK-F-X-001:/var/www/local-mojiokoshi$ ls -l /var/www/local-mojiokoshi/public | grep storage
lrwxrwxrwx 1 user user     44  9月 11 11:23 storage -> /var/www/local-mojiokoshi/storage/app/public
user@DESK-F-X-001:/var/www/local-mojiokoshi$ 
  1. URL でアクセス
    これで storage/app/public にあるファイルは
    http://your-domain/storage/xxxxxx.wav
    のように参照できます。

まとめ

Laravel で storage/app/public を公開ディレクトリ public/storage にリンクさせる手順をまとめます。

Laravel シンボリックリンク設定手順まとめ

1. 公開したいディレクトリを確認

Laravel が public/storage から参照できるようにしたいのは以下:
/var/www/local-mojiokoshi/storage/app/public

ここに音声ファイルなどを保存すると、
http://your-domain/storage/... でアクセス可能になります。

2. Artisan コマンドでリンク作成

プロジェクトのルートで以下を実行:

php artisan storage:link

成功すると:
The [public/storage] directory has been linked.
と表示されます。

3. リンクが正しく作成されたか確認

次のコマンドで確認します:

ls -l /var/www/local-mojiokoshi/public | grep storage

出力例:

lrwxrwxrwx 1 user user 44  9月 11 11:23 storage -> /var/www/local-mojiokoshi/storage/app/public

✅ lrwxrwxrwx で始まっていればシンボリックリンクができています。

  1. アクセス確認

保存済みファイルがある場合:

/var/www/local-mojiokoshi/storage/app/public/processed/test.wav

なら、ブラウザからは:

で参照できます。

5. トラブルシューティング

既に public/storage ディレクトリが存在している場合
→ 一旦削除してから再リンクする:

rm -rf public/storage
php artisan storage:link

パーミッションエラーが出る場合
→ storage ディレクトリに適切な権限を付与:

chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data storage bootstrap/cache

👉 これで storage/app/public 以下のファイルがブラウザ経由で安全に公開できます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?