Home

Setup Ubuntu for Web Development in One Command (and some config)

If you repeat tasks over and over to setup new Ubuntu web development machines, perhaps you'll find some use in a script I wrote to solve this issue.

I don't manage a ton of servers, but I've set up enough to get tired of going through the long process over and over. I wanted a better solution.

Most of my servers are hosted by Digital Ocean (which is a fantastic service), and they let you create images. This worked for me for awhile, but every once in awhile you need new software, and an image creates a point in time that an update to that software won't necessarily fix.

So I created Ripen -- a one-command script that will install essentially anything you need. It's a little more involved than that, but it does get you up and running quickly.

Here's a quick reiteration of the usage section of the README.

First, make sure you are running as root.

$ sudo su -

This should switch you to the root home directory. Next, install and edit the config file.

$ wget https://raw.githubusercontent.com/rocktree/ripen/master/ripen.conf
$ vim ripen.conf

I've added a handful of installation options. They are all relevant when I create a blank Digital Ocean droplet. But if I install Ubuntu Server on a machine at home, then I already have a lot of the items shown here. For example, I might change all of these items:

ripen.conf

# -------------------------------------- User Account

# ...

add_user=false

# ...

# -------------------------------------- Bash Config

# ...

adjust_bash_config=false

# ...

add_bash_profile=false

# -------------------------------------- PostgreSQL

# ...

install_postgresql=false

# -------------------------------------- Swapfile

# ...

add_swapfile=false

And, of course, don't forget to fill in the rest of the options for your specific configuration. This is just one example.

And, last, make sure you delete your config file - it contains plain text passwords.

$ rm ripen.conf

If you have changes or want options added, I am accepting pull requests, or you can create a feature request.

Let's Connect

Keep Reading

WTF is Continuous Integration?

Continuous integration was coined as an extreme programming practice, but is used more loosely today.

Jun 15, 2021

Compile ES6 Code with Gulp and Babel, Part 3

In the third of five parts on compiling multiple ES6 files into a minified bundle, you will learn how to use a configuration file to build multiple dynamic manifest bundles.

Dec 19, 2018

Make Smarter Decisions by Ignoring Sunk Costs

Making decisions about money or time you've already spent is illogical. Learn how to make smarter, more logical decisions.

Feb 27, 2016