title: L5.5 Create symlink between storage and public directories on shared hosting using SSH
body: <p>I've setup my production server on a shared hosting my directory structure looks like this (my project is placed at same level as public):</p>
  
  <pre><code>/home/user/my-laravel-project/
  /home/user/public_html
  </code></pre>
  
  <p>This is how I'm storing my data in <code>Storage &gt; Public Disc</code></p>
  
  <pre><code>$data-&gt;store('path/to/data', 'public');
  </code></pre>
  
  <p>On production, using SSH, when I run this command <code>php artisan storage:link</code>.
  It creates a symlink between <code>storage/app/public</code> and <code>my-laravel-project/public</code>
  I want this link to be created between <code>storage/app/public</code> and <code>/home/user/public_html</code></p>
  
  <p><strong>What I've tried</strong></p>
  
  <ul>
  <li>Tried removing <code>my-laravel-project/public</code> then tried <code>php artisan
  storage:link</code> .. it failed with an error <code>No file or directory</code></li>
  <li>I tried changing storage path from <code>storage_path('app/public)</code> to
  <code>public_path()</code> under <code>config/filesystem.php</code> but no success</li>
  <li>I've also tried to create symlink using shell command <code>ln -nsf
  /home/user/my-laravel-project/storage/app/public
  /home/user/public_html</code> but no success</li>
  </ul>
  
  <p>Tried many other little tweaks but nothing works for me .. I'm looking for a proper solution to create a symlink between <code>storage/app/public</code> and <code>/home/user/public_html</code> on my shared server</p>
  
  <p><strong>Note</strong> I don't want to change paths in <code>config/filesystems.php</code> as that's not a proper solution</p>
  
  <p>My current server is setup on Siteground with php version 7.0.32 and Laravel 5.5.43</p>