skip to Main Content

I’m trying deploy my project to Hostinger with git, but I can’t deploy direct to root folder (/home/uXXXXXXXX). The path in cPanel is directly to /home/uXXXXXXX/public_html.

Is there anyway to deploy to root folder? My project is in Laravel. What is the best way to deploy to shared host? Because part of the folders need to be in the root and others in /public_html. Will I have always move folders manualy in my hosting?

I’m a little confused in this part. I’ll appreciate any help

3

Answers


  1. Step 1: configuration

    • Install Laravel locally.
    • Rename public folder to public_html
    • add Schema::defaultStringLength(191); to boot function in App/Providers/AppServiceProvider.php.
    • Initialize git and commit.

    Step 2: push to GitHub

    • create a repo in github

    • push local repo just created moments ago to GitHub.

    step 3: server management

    • Login with SSH from your local terminal

    • change directory to correct domain (if you have many domains)

    • run ls command it should return public_html (only if there are no other files in root directory, if any backup and delete them)

    • backup and delete public_html directory. rm -rf public_html

      basically all your data is located in public_html/ directory

    • run git clone YOUR-REPO@git ./

    useful links:

    Login or Signup to reply.
  2. you can actually clone it using ssh access.

    open ur ssh for a particular domain. go to the root folder. u can clone it there.

    you can keep your project files there. even though u have top copy the contents of puclic folder inside your laravel project to public_html folder, and also edit the index.php so that all resources must be pointed to the project folder outside public_html

    Inorder to update your project you will have to clone it from ssh again

    Login or Signup to reply.
  3. The other answers might work but there’s no way am complicating something so basic.
    What if you have the website working locally in a public folder rather than public_html and then you have to make changes to your local branch and re-deploy to git? You’ll face errors when your local branch is not in sync with your remote branch.

    The best way to do is:

    1. create a new .htaccess file inside public_html directory
    2. Add these codes
      RewriteCond %{HTTP_HOST} ^your-domain.com$ [NC,OR]
      RewriteCond %{HTTP_HOST} ^www.your-domain.com$
      RewriteCond %{REQUEST_URI} !your-laravel-folder/public/
      RewriteRule (.*) /your-laravel-folder/public/$1 [L]
    

    In the above lines you should replace the following:
    your-domain.com – Type your own domain name and also replace your-laravel-folder
    with your folder name.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search