|
| 1 | +--- |
| 2 | +title: Installing with Ansible |
| 3 | +category: System Administrator > Installation |
| 4 | +redirect_from: |
| 5 | +--- |
| 6 | + |
| 7 | +These are the instructions for install Submitty using Ansible. |
| 8 | + |
| 9 | +Getting Started: |
| 10 | + |
| 11 | +**Note**: We assume that you're installing Submitty on a dedicated machine. |
| 12 | + |
| 13 | +1. [Install Ubuntu 22.04 server edition (or other supported distro)](/sysadmin/installation/server_os) |
| 14 | + |
| 15 | + Note: If you are duplicating an existing Submitty installation onto a new server, you should |
| 16 | + synchronize `/etc/passwd`, `/etc/shadow`, `/etc/group`, and `/etc/gshadow` before installing |
| 17 | + the rest of Submitty to avoid mismatched UIDs and GIDs of the Submitty users. |
| 18 | + |
| 19 | +2. Install Ansible: |
| 20 | + |
| 21 | + Installing Ansible on your local environment is required. Below is a link for more help. |
| 22 | + |
| 23 | + https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html |
| 24 | + |
| 25 | + |
| 26 | +3. Edit Inventory and Add Server IP: |
| 27 | + |
| 28 | + An example has been given to you in the inventory file. Update localhost with your server ip address. |
| 29 | + This will allow access to your web interface. |
| 30 | + |
| 31 | +4. Edit playbook variables with your server properties(`ansible/playbooks/submitty_install.yml`): |
| 32 | + |
| 33 | + Note: Configure your playbook with your Submitty settings. See |
| 34 | + `ansible/roles/app_submitty/defaults/main.yml` for default installation parameters. |
| 35 | + |
| 36 | + **Important**: Any variables defined in the playbook will take precedence over the default values. |
| 37 | + This allows for fine-tuning and customization of your Submitty installation. |
| 38 | + |
| 39 | +5. SSL Configuration |
| 40 | + |
| 41 | + Note: If you use SSL, follow steps to configure. If not, skip to step 6. |
| 42 | + |
| 43 | + Secure Sockets Layer (SSL) is a protocol for establishing authenticated and encrypted links between |
| 44 | + networked computers. It's necessary for secure data transmission, such as user login credentials. |
| 45 | + |
| 46 | + To configure SSL for your Submitty installation, you'll need to obtain an SSL certificate. This can |
| 47 | + be from a Certificate Authority (CA) or a self-signed certificate if it's for development purposes. |
| 48 | + |
| 49 | + Once you have your certificate and key, place them in the appropriate directory (usually |
| 50 | + `/etc/ssl/certs/` for the certificate and `/etc/ssl/private/` for the key). |
| 51 | + |
| 52 | + Then, update your server's SSL configuration file with the paths to your certificate and key. |
| 53 | + The relevant lines might look something like this: |
| 54 | + |
| 55 | + ``` |
| 56 | + SSLCertificateFile /etc/ssl/certs/mycert.pem |
| 57 | + SSLCertificateKeyFile /etc/ssl/private/mykey.pem |
| 58 | + ``` |
| 59 | + |
| 60 | + Save your changes and proceed to run the Ansible script. |
| 61 | + |
| 62 | +6. Run Ansible Script |
| 63 | + |
| 64 | + To initiate the installation process, first navigate to the 'ansible' directory. |
| 65 | + Execute the following command: |
| 66 | + |
| 67 | + ``` |
| 68 | + cd ansible |
| 69 | + ``` |
| 70 | + |
| 71 | + Once you are in the `ansible` directory, you can proceed with the installation by running the |
| 72 | + Ansible playbook: |
| 73 | + |
| 74 | + ``` |
| 75 | + ansible-playbook -i inventory/submitty playbooks/submitty_install.yml |
| 76 | + ``` |
| 77 | + |
| 78 | + This command initiates the Ansible playbook, which orchestrates the comprehensive installation |
| 79 | + process for Submitty. For a detailed understanding of the installation steps, refer to |
| 80 | + `ansible/roles/app_submitty/tasks/main.yml`. |
| 81 | + |
| 82 | +7. Review Installation Log on VM |
| 83 | + |
| 84 | + Navigate to `/usr/local/submitty/install.log` on your machine(or VM) to see the output of the |
| 85 | + install process. |
| 86 | + |
| 87 | +8. Navigate to Web Interface |
| 88 | + |
| 89 | + Navigate to your domain name in a web browser. |
0 commit comments