I maintain the website for the Intermountain Suzuki String Institute (ISSI), a summer music institute that my kids attend.
I also create the daily schedules for 500+ students and 90 faculty into 100+ classes across 9 periods and 110 rooms.
This is a complex, interactive process where I use Python scripts to sort all the students and faculty into various classes, getting feedback from staff and faculty along the way.
In the past, students were given a printed copy of their schedule on the first day of the institute. This worked ok, but many parents and students had trouble interpreting the schedule and often request changes when they discover problems.
This year, we'll be sending a copy of each student's schedule in advance, so that we can process these parent requests early and make the first day of institute less chaotic.
So I provisioned https://data.issisuzuki.org/ to facilitate sending these schedules and reports.
The main issi site is a Wordpress site hosted by Dreamhost.
I added this DNS record in the Dreamhost admin panel:
Type | Hostname | Value | TTL (seconds) |
---|---|---|---|
A | data.issisuzuki.org | directs to 143.198.58.139 | 1800 |
My server is running an Apache webserver. Here's how I configured it to serve data.issisuzuki.org.
I created the /var/www/data.issisuzuki.org
directory.
cd /var/www
sudo mkdir data.issisuzuki.org
sudo chown -R schaubj:schaubj data.issisuzuki.org
I added /etc/apache2/sites-available/data.issisuzuki.org.conf
with this:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName data.issisuzuki.org
ServerAlias www.data.issisuzuki.org
DocumentRoot /var/www/data.issisuzuki.org
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
then checked and restarted Apache:
sudo apachectl configtest
sudo systemctl restart apache2
I simply ran
sudo certbot --apache
After this completed successfully, I modified
/etc/apache2/sites-available/data.issisuzuki.org.conf
file to redirect to the secure port.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName data.issisuzuki.org
ServerAlias www.data.issisuzuki.org
Redirect permanent / https://data.issisuzuki.org/
</VirtualHost>
and a new file was created and enabled /etc/apache2/sites-available/data.issisuzuki.org-le-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName data.issisuzuki.org
ServerAlias www.data.issisuzuki.org
DocumentRoot /var/www/data.issisuzuki.org
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/jeremyschaub.us/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/jeremyschaub.us/privkey.pem
</VirtualHost>
</IfModule>