Josh Mountain

web dev & nerdy things

Installing Laravel and Composer on a cPanel server

2 years ago
#Laravel 

So, you want to start developing with the Laravel framework for PHP but don’t have a dedicated server or the desire to use something like Digital Ocean and Laravel Forge. Maybe you already have a cPanel account on a shared server and don’t want to pay for another environment to develop in. Well guess what? You can setup Laravel inside your cPanel environment fairly easily!


First things first, we need to make sure we have shell access enabled on our cPanel account. If you don’t have this, you will need to contact your host and have them enable it for you.

Next we need to SSH into our cPanel server and install Composer. Start by changing your directory to /bin and downloading Composer.

cd /bin
wget https://getcomposer.org/installer

Note: Depending on your server configuration, you may need to use sudo wget https://getcomposer.org/installer instead

Before installing let’s check our compatibility:

php installer --check
All settings correct for using Composer

If everything looks good let’s install Composer:

php installer

Downloading...

Composer successfully installed to: /bin/composer.phar
Use it: php composer.phar

Now that Composer is installed, we can delete the installer file:

rm -f installer

Note: If you logged in as root to install Composer make sure you switch back on the cPanel user account before continuing.

Now that Composer is installed we will use it to install Laravel. cd into your cPanel user’s directory (one level above public_html) and run the following:

php /bin/composer.phar create-project laravel/laravel --prefer-dist

Composer should now download and install Laravel for you. The last step is to tell the server that incoming traffic should be directed to the public directory instead of the public_html directory. We will accomplish this by removing our old public_html directory and creating a symbolic link. Keep in mind this will permanently remove all the content in your public_html directory:

rm -rf public_html
ln -s laravel/public/ public_html

If everything went according to plan you should now be able to visit your site and see the Laravel welcome screen.

···

Did this post help you?

All the content on my site is provided for free with the intention of helping others. If you feel like this post helped you, please consider shopping using using my Amazon link. There is no additional charge to you and I get a small kickback from any purchase.

comments powered by Disqus


© 2017 Josh Mountain.
Powered by Canvas & Laravel. Served up with DigitalOcean.