🐙 https://github.com/edsperanto/AutoConfig

Overview

This project was created for HackSU 2019 along with Melissa McClure and Jack Joseph. The theme of the hackathon was Simplicity. AutoConfig aims to automate the process of setting up a new Linux server.

What I learned

How to run

To use this utility, a user simply has to paste the following line into their terminal after logging in to a new server:

sudo apt-get install wget; wget <https://raw.githubusercontent.com/edsperanto/AutoConfig/master/client.sh>; bash client.sh

This script installs the necessary command-line utilities, downloads AutoConfig, and runs it.

Features

At launch, the utility asks if you have a saved config file from a previous run. This makes it easy to replicate settings across multiple servers. The config file follows the syntax of INI files.

At the main menu, you can configure various aspects of the server via the GUI, and apply them when you are satisfied.

Options 1 through 5 opens up a window for the user to configure the details. For example, opening option 1 (Configure users) shows the following window:

The available options are as follows:

  1. Configure users: Sets up the first user (other than root) on the server. It is by default the admin user, who is a sudoer.