This guide is continuously being updated, as reality demands updates. If you find any errors in this guide, please let us know.

This will guide you through installing the parentNode web stack on an Ubuntu 18.04 client. The full stack includes Apache 2.4, PHP 7.2, MariaDB 10.2, Redis, Imagick and optionally FFmpeg for JIT video and audio conversion and wkhtmltopdf for PDF generation.

The installation will probably also work on other Linux distributions, but has not been tested – so please try at your own expense and report your findings back to us.

The install process will be handled by an install script. You just need to get it started.

Installation of the web stack

Open terminal and run the following command:

bash <(curl -s https://parentnode.dk/installers/install-ubuntu-stack.txt)

The setup script will guide you through the rest of the installation. Make sure you stay online during the setup process, which will take approximately 5-20 minutes, depending on your computer/internet connection.

Yup, it's that easy.

This will load a small script from this website and execute it. That, in turn, will clone the install tools and initialize the install process. Along the way, you will be asked to make some decisions and provide some relevant information.

Lean back. When the script states that the Setup is completed you are done. Congratulations. Enjoy the parentNode realm.

Read more about janitor and the parentNode stack layout.

When the script has ended successfully, you'll be given a new login command including the specified SSH port, and the server will be ready for site deployment.

And remember you can easily run several websites from the same server, so you don't have to set up a new server for each project.

What is the script doing?

The script is a shell script and essentially just a long list of commands. It will install and configure the server as you decide, by running all necessary commands using your input. Any input you make will only be used while the script is running and not be stored permanently anywhere. If you want to know what the install scripts are doing you can read through the code in the open source repository on GitHub.

Maintenance commands

The install script also includes a set of handy helper shorthand functions/aliases, which will be added to your bash profile for your convenience.<

A shorthand to controlling Apache. comes with stop,start and restart.

apache [stop|start|restart]

Update apache configuration (if using git webserver.conf layout).

update_conf

Why Ubuntu 18.04?

I have chosen Ubuntu as the Linux distribution for the parentNode stack, because of the combination of long LTS and large package availability. The LTS (Life-Time-Support) is relevant because it says something about how long into the future the current version is supported, and you don't want to have to reinstall your whole server too frequently just to keep getting updates. The large package availability means you have a very wide variation of software packages which can be added by running a simple command in the terminal.

I never access the GUI on any of my Ubuntu instances so the GUI aspect does not have any impact on my decision. 

I'm also looking into using centOS for my webservers. If anyone out there have experience or recommendations in this area, please drop me a line (martin@think.dk) or leave a comment.