Currently seeking new career opportunities in web development, particularly with Laravel, Hire Me

Setting up development environment on Ubuntu

David Carr

Development Ubuntu

Table of Contents

I've switched to Ubuntu, this post documents the development tools I'm using and how to install them.


Instead of using the default terminal I'm using Terminator

Terminator supports multiple instances within the same window, this allows you to spit both vertically and horizontally.


sudo apt install terminator



Install PHP 7.2

sudo apt install php7.2

Install Curl

sudo apt install php curl

Install PDO

sudo apt install php7.2-mysql

Install MB String

sudo apt install php-mbstring


GIT and Composer

Install Git

sudo apt install git

Install composer

sudo apt install composer

Composer will need adding to your $PATH to do this open .bash_profile I'll use nano for this

nano ~/.bash_profile

Next, add:

export PATH=~/.composer/vendor/bin:$PATH

Save and exit, you may need to refresh the profile for it to take effect:

source ~/.bash_profile

Installing MySQL

sudo apt install mysql-server

Then run the following to set the password:


i prefer not to have a password for local development in which case you can follow these steps:

Open terminal and type

sudo mysql -u root -p

It will prompt you in MySQL, here you can fire any MySQL commands.
Use MySQL table for change table type so we can use empty password. Bellow is command for it

USE mysql;

Now we change type of table by following command

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

Now we have to flush the privileges because we have used UPDATE. If you use INSERT, UPDATE or DELETE on grant tables directly you need use FLUSH PRIVILEGES in order to reload the grant tables.


Now exit from MySQL by the following command


Now restart MySQL server by the following command

service mysql restart

Source -

For a MySQL client, I'm using DBeaver



Valet has been ported to Linux. It can be installed using composer:

composer global require cpriego/valet-linux

Followed by:

valet install

The default domain for valet is .test I prefer to use .localhost this can be changed like this:

valet domain localhost


Laravel Modules Your Logo Your Logo Your Logo

Become a sponsor

Help support the blog so that I can continue creating new content!


My Latest Book

Modular Laravel Book - Laravel: The Modular way

Learn how to build modular applications with Laravel Find out more

Subscribe to my newsletter

Subscribe and get my books and product announcements.

Learn Laravel with Laracasts

Faster Laravel Hosting

© 2006 - 2024 DC Blog. All code MIT license. All rights reserved.