Skip to content

[Documentation:Developer] Ansible Install Script Documentation #600

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Apr 27, 2024
Merged
89 changes: 89 additions & 0 deletions _docs/sysadmin/installation/ansible.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
title: Installing with Ansible
category: System Administrator > Installation
redirect_from:
---

These are the instructions for install Submitty using Ansible.

Getting Started:

**Note**: We assume that you're installing Submitty on a dedicated machine.

1. [Install Ubuntu 22.04 server edition (or other supported distro)](/sysadmin/installation/server_os)

Note: If you are duplicating an existing Submitty installation onto a new server, you should
synchronize `/etc/passwd`, `/etc/shadow`, `/etc/group`, and `/etc/gshadow` before installing
the rest of Submitty to avoid mismatched UIDs and GIDs of the Submitty users.

2. Install Ansible:

Installing Ansible on your local environment is required. Below is a link for more help.

https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html


3. Edit Inventory and Add Server IP:

An example has been given to you in the inventory file. Update localhost with your server ip address.
This will allow access to your web interface.

4. Edit playbook variables with your server properties(`ansible/playbooks/submitty_install.yml`):

Note: Configure your playbook with your Submitty settings. See
`ansible/roles/app_submitty/defaults/main.yml` for default installation parameters.

**Important**: Any variables defined in the playbook will take precedence over the default values.
This allows for fine-tuning and customization of your Submitty installation.

5. SSL Configuration

Note: If you use SSL, follow steps to configure. If not, skip to step 6.

Secure Sockets Layer (SSL) is a protocol for establishing authenticated and encrypted links between
networked computers. It's necessary for secure data transmission, such as user login credentials.

To configure SSL for your Submitty installation, you'll need to obtain an SSL certificate. This can
be from a Certificate Authority (CA) or a self-signed certificate if it's for development purposes.

Once you have your certificate and key, place them in the appropriate directory (usually
`/etc/ssl/certs/` for the certificate and `/etc/ssl/private/` for the key).

Then, update your server's SSL configuration file with the paths to your certificate and key.
The relevant lines might look something like this:

```
SSLCertificateFile /etc/ssl/certs/mycert.pem
SSLCertificateKeyFile /etc/ssl/private/mykey.pem
```

Save your changes and proceed to run the Ansible script.

6. Run Ansible Script

To initiate the installation process, first navigate to the 'ansible' directory.
Execute the following command:

```
cd ansible
```

Once you are in the `ansible` directory, you can proceed with the installation by running the
Ansible playbook:

```
ansible-playbook -i inventory/submitty playbooks/submitty_install.yml
```

This command initiates the Ansible playbook, which orchestrates the comprehensive installation
process for Submitty. For a detailed understanding of the installation steps, refer to
`ansible/roles/app_submitty/tasks/main.yml`.

7. Review Installation Log on VM

Navigate to `/usr/local/submitty/install.log` on your machine(or VM) to see the output of the
install process.

8. Navigate to Web Interface

Navigate to your domain name in a web browser.
4 changes: 4 additions & 0 deletions _docs/sysadmin/installation/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ will be able to read/execute it.

_Note: These instructions should be run under root/sudo._

We have two methods for installing Submitty. The first method is running the bootstrap
script which follows the set of instructions listed below. The second installation method uses Ansible.
You can use these [instructions](/sysadmin/installation/ansible).


1. [Install Ubuntu 22.04 server edition (or other supported distro)](/sysadmin/installation/server_os)

Expand Down
Loading