/ubuntu

Shell scripts for automated Ubuntu server setup.

Primary LanguageShellOtherNOASSERTION

Ubuntu

Circle CI Status

This project contains a set of shell scripts for installing and configuring a fresh Ubuntu operating system. It is assumed that the base Ubuntu install is a server install and not a client install.

Features

  • A configurable shell script for applying default settings and installing necessary software packages.

Requirements

Setup

To install, run:

git clone https://github.com/bkuhlmann/ubuntu.git
cd ubuntu
git checkout 4.0.0

Usage

Edit the setup.sh file and adjust the settings as you see fit, namely the following variables:

  • SERVER_IP

  • SERVER_HOSTNAME

  • USER_LOGIN

  • USER_PASS

You may want to tweak the .sh files in the scripts folder as well.

Run the following to use on your server:

  1. ssh to your server or VM.

  2. Switch to the root user.

  3. Create the a /root/.ssh/authorized_keys file with your public key.

  4. chmod -R 600 /root/.ssh.

  5. mkdir /root/ubuntu.

  6. Copy the files of this project to the /root/ubuntu folder. Example: scp -r - root@10.0.1.50:/root/ubuntu.

  7. Run the /root/ubuntu/bin/run script in the root of this project.

  8. Delete the /root/ubuntu folder.

  9. Delete the /root/.ssh folder.

Development

To contribute, run:

git clone https://github.com/bkuhlmann/ubuntu.git
cd ubuntu

Versioning

Read Semantic Versioning for details. Briefly, it means:

  • Major (X.y.z) - Incremented for any backwards incompatible public API changes.

  • Minor (x.Y.z) - Incremented for new, backwards compatible, public API enhancements/fixes.

  • Patch (x.y.Z) - Incremented for small, backwards compatible, bug fixes.

Code of Conduct

Please note that this project is released with a CODE OF CONDUCT. By participating in this project you agree to abide by its terms.

Contributions

Read CONTRIBUTING for details.

License

Read LICENSE for details.

History

Read CHANGES for details.

Credits

Engineered by Brooke Kuhlmann.