Skip to content

Commit 36db6e0

Browse files
committed
Refactor documentation for install
Removes CONFIGURE_SUBMTITY references, adds instructiosn to edit files
1 parent a70fdb3 commit 36db6e0

10 files changed

Lines changed: 76 additions & 80 deletions

File tree

_docs/developer/development_instructions/automated_grading.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ number:
6060
```
6161

6262
_NOTE: If you delete the `autograding_workers.json` file and re-run
63-
`CONFIGURE_SUBMITTY.py`, the file will be re-created with the
63+
`generate_configs.py`, the file will be re-created with the
6464
default settings._
6565

6666
---

_docs/developer/development_instructions/index.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -207,17 +207,10 @@ autograding configuration, you'll probably need to:
207207
## System Re-Configuration
208208

209209
If recent development changes include modifications to files affecting
210-
the system installation process (e.g., changes to
211-
`CONFIGURE_SUBMITTY.py`, `install_system.sh`, `Vagrantfile`), you will
210+
the system installation process (e.g., changes to `install_system.sh` or `Vagrantfile`), you will
212211
need to either re-provision or re-build your VM from scratch to test
213212
these changes.
214213

215-
* To re-run the initial configuration step of Submitty, use this command:
216-
217-
```
218-
sudo python3 /usr/local/submitty/GIT_CHECKOUT/Submitty/.setup/CONFIGURE_SUBMITTY.py
219-
```
220-
221214
* To update existing databases:
222215

223216
```

_docs/developer/development_instructions/miscellaneous.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ category: Developer > Development Instructions
99
Our vagrant environment defaults to PAM authentication, but is also
1010
setup to easily use any of the other supported authentication methods.
1111

12-
To switch, either re-run CONFIGURE_SUBMITTY.py or edit
12+
To switch, edit
1313
`/usr/local/submitty/config/authentication.json` and change the
1414
authentication method to any of the methods. You should be able
1515
to leave all other settings to the default.
@@ -29,7 +29,6 @@ For `LdapAuthentication`, the default settings are:
2929
When using DatabaseAuthentication, Submitty allows users to
3030
[change their password](/student/account/password) from the home screen.
3131

32-
3332
#### SAML
3433

3534
To easily setup SAML authentication locally: You can run the following

_docs/sysadmin/configuration/email_configuration.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,7 @@ First, the Submitty server must be configured to send email:
3030
(currently set to send a maximum of 100 email messages per minute).
3131

3232

33-
2. Run `sudo python3 /usr/local/submitty/GIT_CHECKOUT/Submitty/.setup/CONFIGURE_SUBMITTY.py` and enter each email field.
34-
35-
`/usr/local/submitty/config/email.json` should now contain:
36-
33+
2. Edit `/usr/local/submitty/config/email.json`, and add your specific values.
3734
```
3835
{
3936
"email_enabled": true,

_docs/sysadmin/configuration/rainbow_grades.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Submitty includes the ability for instructors to automatically generate rainbow
1212
For this feature to work correctly:
1313

1414
1. The ```<submitty install dir>/config/submitty_admin.json``` file must contain credentials for a submitty admin user.
15-
Usually this file will be configured automatically as part of the inputs for the ```CONFIGURE_SUBMITTY.py``` script. The
15+
This file will be generated automatically as part of the inputs for the ```generate_configs.py``` script. You must edit that file to add your Submitty admin user. The
1616
credentials in this file are for a submitty *course* user, not a *linux* user.
1717

1818
1. The submitty admin user must exist as an instructor of the course for which the rainbow grades are going to be automatically

_docs/sysadmin/configuration/saml_authentication.md

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -90,29 +90,13 @@ To configure your system:
9090
attribute is the field from the return object that contains the
9191
user's username.
9292
93-
* Re-run `CONFIGURE_SUBMITTY.py` to enable SAML, specify the SAML
94-
username attribute, and customize login message.
95-
96-
```
97-
python3 /usr/local/submitty/GIT_CHECKOUT/Submitty/.setup/CONFIGURE_SUBMITTY.py
98-
```
99-
100-
You can press `return` to keep the current settings for most of
101-
the settings, except:
102-
103-
```
104-
What authentication method to use:
105-
1. PamAuthentication
106-
2. DatabaseAuthentication
107-
3. LdapAuthentication
108-
4. SamlAuthentication
109-
Enter number?: [1] 4
110-
111-
Enter name you would like shown to user for authentication?: <YOUR CUSTOM MESSAGE E.g., "Login with your University ID via Duo">
112-
113-
Enter SAML username attribute?: <ENTER THE SAML username attribute>
114-
```
115-
93+
* Edit `/<submitty install dir>/config/authentication.json` to add your information.
94+
```json
95+
"saml_options": {
96+
"name": "",
97+
"username_attribute": ""
98+
}
99+
```
116100
* Reinstall Submitty, run:
117101

118102
```
@@ -280,7 +264,7 @@ To configure your system:
280264
TRUNCATE TABLE sessions;
281265
```
282266
283-
* Or, by running CONFIGURE_SUBMITTY.py. It will clear the jwt secret
267+
* Or, by running generate_configs.py. It will clear the jwt secret
284268
and invalidate all current sessions.
285269
286270

_docs/sysadmin/configuration/self_account_creation.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ title: Self Account Creation
66
The feature of User Account Creation (a.k.a. Self Account Creation) is
77
only available on systems that use DatabaseAuthentication.
88

9-
To change authentication types, either re-run `CONFIGURE_SUBMITTY.py`
10-
or manually edit `/usr/local/submitty/config/authentication.json` and
9+
To change authentication types, manually edit `/usr/local/submitty/config/authentication.json` and
1110
change the authentication method to `DatabaseAuthentication`.
1211

1312
See also [Managing Enrollment](/instructor/course_management/managing_enrollment)

_docs/sysadmin/installation/index.md

Lines changed: 61 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ You can use these [instructions](/sysadmin/installation/ansible).
3434
synchronize `/etc/passwd`, `/etc/shadow`, `/etc/group`, and `/etc/gshadow` before installing
3535
the rest of Submitty to avoid mismatched UIDs and GIDs of the Submitty users.
3636

37-
2. Run the bootstrap script:
37+
1. Run the bootstrap script:
3838
```
3939
bash -c "$(curl -s https://raw.githubusercontent.com/Submitty/Submitty/master/.setup/bootstrap.sh)"
4040
```
@@ -48,31 +48,68 @@ You can use these [instructions](/sysadmin/installation/ansible).
4848
bash ./.setup/install_system.sh
4949
```
5050

51-
Note: During installation, you will be asked several questions by the
52-
[CONFIGURE_SUBMITTY.py](https://github.com/Submitty/Submitty/blob/master/.setup/CONFIGURE_SUBMITTY.py)
53-
script. Pressing enter will select the default option. These questions are:
54-
1. **Database Host / Port**. If you already have your database server installed and set up, you
55-
will most likely just specify `localhost` for the Database Host and
56-
`5432` for the Database Port, or just `/var/run/postgresql` for
57-
Database Host.
58-
2. **Submitty Database User/Role and Password**. This is *not* a Linux user, just a user/role within the database server. If you don't already have a role for the submitty database user/role, the script will create that for you with the specified name & password.
59-
3. **Timezone**. Pick from the list of [PHP timezones](https://www.php.net/manual/en/timezones.php).
60-
4. **Main Site URL**.
61-
5. **Version Control System (VCS) URL**. This is used mostly to allow students to submit their homework through private repositories hosted on the submitty server. See [Facilitating Student Submissions via GIT](/instructor/managing_git).
62-
6. **Institution Name**.
63-
7. **Authentication Method**. PAM and LDAP authentication requires the sysadmin to make accounts ahead of time for students and give them a password. Database authentication lets students create their own passwords.
51+
Note: During installation, if you have pre-configured JSON config files, put them in `/usr/local/submitty/config/`. Otherwise, the install will generate default configs that you can edit, and will be found in the same path.
6452

6553

66-
67-
3. Run installations specific to your university.
54+
1. Run installations specific to your university.
6855
For example: [RPI Computer Science specific installations](https://github.com/Submitty/Submitty/blob/master/.setup/distro_setup/ubuntu/rpi.sh)
6956

7057
```
7158
sudo bash /usr/local/submitty/GIT_CHECKOUT/Submitty/.setup/distro_setup/ubuntu/rpi.sh
7259
```
7360

74-
75-
4. Edit PHP Settings
61+
1. Update Config values
62+
```json
63+
{
64+
"submitty_install_dir": "/usr/local/submitty", // Installation dir (created in the steps above)
65+
"submitty_repository": "/usr/local/submitty/GIT_CHECKOUT/Submitty", // Where Submitty is cloned
66+
"submitty_data_dir": "/var/local/submitty", // Directory where Submitty courses are stored
67+
"autograding_log_path": "/var/local/submitty/logs/autograding",
68+
"sys_admin_email": "sysadmin@example.com", // Sysadmin email
69+
"sys_admin_url": "https://example.com",
70+
"site_log_path": "/var/local/submitty/logs",
71+
"submission_url": "http://localhost:1511", // URL where students will submit homework
72+
"vcs_url": "", // If using VCS, the URL where students students push to
73+
"cgi_url": "http://localhost:1511/cgi-bin", // Should be the <submission_url>/cgi-bin
74+
"websocket_port": 8443, // Only change if required
75+
"institution_name": "", // Name of your institution (e.x. Rensselaer Polytechnic Institute)
76+
"institution_homepage": "", // The homepage of your institution (e.x. rpi.edu)
77+
"timezone": "America/New_York", // Your time zone TZ identifier
78+
"default_locale": "en_US",
79+
"duck_special_effects": false, // Allow special effects
80+
"course_material_file_upload_limit_mb": "100",
81+
// Allow users to create their own accounts (Only works with DatabaseAuthentication), see documentation for how to use
82+
"user_create_account": false,
83+
"user_id_requirements": {
84+
"any_user_id": true,
85+
"require_name": false,
86+
"min_length": 6,
87+
"max_length": 25,
88+
"name_requirements": {
89+
"given_first": false,
90+
"given_name": 2,
91+
"family_name": 4
92+
},
93+
"require_email": false,
94+
"email_requirements": {
95+
"whole_email": false,
96+
"whole_prefix": false,
97+
"prefix_count": 6
98+
},
99+
"accepted_emails": [
100+
"gmail.com"
101+
]
102+
},
103+
"worker": false // Is Submitty being run as a worker
104+
}
105+
```
106+
For switching authentication methods, edit
107+
`<submitty_install_dir>/config/authentication.json` and change the
108+
authentication method to any of the methods. You should be able
109+
to leave all other settings to the default.
110+
111+
112+
1. Edit PHP Settings
76113

77114
We recommend for security that you modify your PHP installation and disable certain PHP functions.
78115
To do this, edit `/etc/php/8.2/fpm/php.ini` and find the entry for `disable_functions` and make sure the list of
@@ -84,7 +121,7 @@ You can use these [instructions](/sysadmin/installation/ansible).
84121

85122
_Note: Depending on your version of Ubuntu, your version of php fpm will be different._
86123

87-
5. Setup Apache
124+
1. Setup Apache
88125

89126
To access Submitty's web interface, you will need to setup Apache for it.
90127
To help you along, we provide an annotated apache configuration for Submitty at
@@ -145,7 +182,7 @@ You can use these [instructions](/sysadmin/installation/ansible).
145182
At this point, you should be able to access the site by going to `your_domain`
146183
through a browser.
147184

148-
6. Configure NGINX
185+
1. Configure NGINX
149186

150187
Submitty uses a NGINX server to proxy the websocket server. By default
151188
the websocket server will run without HTTPS. If Apache is configured with
@@ -229,7 +266,7 @@ You can use these [instructions](/sysadmin/installation/ansible).
229266
```
230267
231268
232-
7. We recommend that you should leave the PostgreSQL setup unless you know what
269+
1. We recommend that you should leave the PostgreSQL setup unless you know what
233270
you're doing. If you are running PostgreSQL on the same server as Submitty,
234271
we recommend using the UNIX socket, and to disable TCP if unused. By default,
235272
the socket is found at `/var/run/postgresql`, and disabling TCP is done through
@@ -239,19 +276,19 @@ You can use these [instructions](/sysadmin/installation/ansible).
239276
as it prevents anyone from attempting to get into the DB from the outside
240277
world. To disable TCP, you would comment out all the lines that start with `host`
241278
and `hostssl` in the `pg_hba.conf` file. Setting the socket to be used for
242-
Submitty is done by running `.setup/CONFIGURE_SUBMITTY.py` and setting the
279+
Submitty is done by editing `<submitty install dir>/config/database.json` and setting the
243280
database host to the socket (e.g. `/var/run/postgresql`).
244281
245282
NOTES:
246283
- If you intend to run the [Student Registration Feed](/sysadmin/configuration/registration_feed), do not
247284
disable TCP.
248285
249-
8. Test apache config with: `apache2ctl -t`
286+
1. Test apache config with: `apache2ctl -t`
250287
251288
If everything looks ok, restart apache with: `service apache2 restart'
252289
253290
254-
9. We suggest reviewing [Additional System Customizations](/sysadmin/installation/system_customization)
291+
1. We suggest reviewing [Additional System Customizations](/sysadmin/installation/system_customization)
255292
that might be appropriate for your installation.
256293
257294

_docs/sysadmin/installation/update_submitty.md

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -110,16 +110,7 @@ Please also see [Update GNU/Linux Server](update_server) and [Installation Versi
110110
will automatically call...
111111
112112
113-
5. ```
114-
sudo python3 /usr/local/submitty/GIT_CHECKOUT/Submitty/.setup/CONFIGURE_SUBMITTY.py
115-
```
116-
117-
This script will ask you to interactively confirm some system
118-
configuration settings. Pressing `enter/return` at each prompt
119-
will keep your current configurations.
120-
121-
122-
6. Now your system state has been updated to early June 2018.
113+
5. Now your system state has been updated to early June 2018.
123114
124115
You're ready to continue with steps 2 & 3 in the previous section
125116
to automatically apply _migrations_ for Submitty changes from

_docs/sysadmin/installation/worker_installation.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,6 @@ _Note: These instructions should be run under root/sudo._
4848
bash ./.setup/install_system.sh --worker
4949
```
5050

51-
You will be asked to provide the name of your submitty user by the
52-
[CONFIGURE_SUBMITTY.py script](https://github.com/Submitty/Submitty/blob/master/.setup/CONFIGURE_SUBMITTY.py).
53-
54-
5551
6. Add the submitty user to the ```submitty_daemon```, ```submitty_daemonphp```, and ```docker```
5652
groups. And add the ```submitty_daemon``` user to the ```docker``` group.
5753

0 commit comments

Comments
 (0)