Getting Started with Laravel on Ubuntu

| programming | php | ubuntu |

I’ve really been digging Laravel lately. Especially due to the wonderful documentation and amazing resources provided by Laracasts. Below are some notes on getting going on a local Ubuntu install. I am running Ubuntu 16.10 and these notes assume a fresh install.

Install PHP 7.0 and additional dependencies

sudo apt install php7.0 php7.0-zip php7.0-mbstring phpunit

Install Composer (Globally)

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Install the Laravel CLI (Globally)

composer global require "laravel/installer"

Add globally installed composer commands to the PATH

Add the following to the end of your ~/.bashrc file
# Add Composer to the PATH
export PATH=$HOME/.config/composer/vendor/bin:$PATH
You can either source the ~/.bashrc file or open a new terminal window.

Verify everything works

You can do this by running laravel new test_project. Then go to the directory where the new test_project is created with cd test_project. Once you are in the new project directory install all local dependencies with composer install and then run it with php artisan serve. I ran into an issue right away that had to do with the APP_KEY. The error manifested itself as:
The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.
A great explanation is shown here but the steps to get a fully functional base install going are:
# Copy the .env.example file to .env
cp .env.example .env

Generate App Key

php artisan key:generate

Now if you run php artisan serve you will see a fully running Laravel app. Happy Hacking!

Thank you for reading! Share your thoughts with me on mastodon or via email.

Check out some more stuff to read down below.

Most popular posts this month

Recent Favorite Blog Posts

This is a collection of the last 8 posts that I bookmarked.

Articles from blogs I follow around the net

Ozempic For Sleep

Thanks for key conversations & early feedback: Andrew Payne, Luke Piette, George Church, Michael Retchin, Flora Guo, Merrick Smela, Misha Yagudin, Tyler Cowen, Helena Rosengarten. My favorite family in the world — the Johnsons from Utah. Many of them c…

via Isaak.net November 11, 2024

Navigations on the Web

When trying to define the difference between a link (<a>) and a button (<button>), a general rule of thumb is: links are for navigation, buttons are not. That can take you pretty far. However, like most things, there’s nuance and that mental mo…

via Jim Nielsen’s Blog November 11, 2024

Too much therapy at work

Many years ago, Jason and I hired a COO at 37signals, but ended up letting them go after just a year (many reasons, another story). This happened not long before one of our company meet-ups, so we thought it fitting to discuss the matter in-person. What…

via David Heinemeier Hansson November 11, 2024

Generated by openring