Laravel on Bluehost Shared Hosting

Project Code

Create new directory at root called “laravel” and put entire project minus the public folder there. Create a new .env file and call it .env.production. Change the values inside that file to reflect the production environment. Upload that file to the production server and rename it to .env.

Public Code: Subdomain

Do this if you want to put the public folder into a subdomain (like for testing). Create your subdomain through cPanel and your directory structure will be /public_html/subdomain. Clear out the “subdomain” folder.

In the public folder, create a new file and call it bluehost.index.php or whatever – just so you know it’s the index file only for the live site. Copy the contents of index.php into it.

Then, change

`require __DIR__.'/../bootstrap/autoload.php';`


`require __DIR__.'/../../laravel/bootstrap/autoload.php';`


`$app = require_once __DIR__.'/../bootstrap/app.php';`


`$app = require_once __DIR__.'/../../laravel/bootstrap/app.php';

// set the public path to this directory
// so that public_path() still works
$app->bind('path.public', function() {
    return __DIR__;

Now upload the contents of your public folder to the subdomain directory. Rename bluehost.index.php to index.php.

Set up Laravel Environment on Elementary OS

Install Apache, PHP, MySQL

You can probably skip this part if you’re going to only use Homestead. Just skip down to Install Composer.


Add Apache respository

sudo add-apt-repository ppa:ondrej/apache2

Install Apache

sudo apt-get update
sudo apt-get install apache2

Continue reading “Set up Laravel Environment on Elementary OS”