Tor Project runs a self-hosted instance of [LimeSurvey](https://www.limesurvey.org/) CE (community edition) to conduct user research and collect feedback.
Tor Project runs a self-hosted instance of
[LimeSurvey](https://www.limesurvey.org/) CE (community edition) to conduct
user research and collect feedback.
The URL for this service is https://survey.torproject.org/
The URL for this service is https://survey.torproject.org/
The onionv3 address is http://eh5esdnd6fkbkapfc6nuyvkjgbtnzq2is72lmpwbdbxepd2z7zbgzsqd.onion/
@@ -24,28 +29,39 @@ The onionv3 address is http://eh5esdnd6fkbkapfc6nuyvkjgbtnzq2is72lmpwbdbxepd2z7z
...
@@ -24,28 +29,39 @@ The onionv3 address is http://eh5esdnd6fkbkapfc6nuyvkjgbtnzq2is72lmpwbdbxepd2z7z
## Upgrades
## Upgrades
We don't use the paid [ComfortUpdate][] extension that is promoted and sold by LimeSurvey.
We don't use the paid [ComfortUpdate][] extension that is promoted and sold by
LimeSurvey.
Instead, we deploy from the latest stable zip-file release using Puppet.
Instead, we deploy from the latest stable zip-file release using Puppet.
The steps to upgrade LimeSurvey are:
The steps to upgrade LimeSurvey are:
1. Login to `survey-01`, stop Apache2 using `systemctl stop apache2 puppet-run.timer` (no maintenance mode in LimeSurvey)
1. Login to `survey-01`, stop Apache2 using `systemctl stop apache2
2. Open the [LimeSurvey latest stable release page][] and note the version number and sha256 checksum
puppet-run.timer` (no maintenance mode in LimeSurvey)
3. In the `tor-puppet` repository, edit `hiera/roles/survey.yaml` and update the version and checksum keys with above info
2. Open the [LimeSurvey latest stable release page][] and note the version
number and sha256 checksum
3. In the `tor-puppet` repository, edit `hiera/roles/survey.yaml` and update
the version and checksum keys with above info
4. Run the puppet agent on `survey-01`
4. Run the puppet agent on `survey-01`
5. Puppet will unpack the new archive under `/srv/www/survey.torproject.org/${version}`, update the Apache vhost config and run the database update script
5. Puppet will unpack the new archive under
`/srv/www/survey.torproject.org/${version}`, update the Apache vhost config
and run the database update script
6. Login to the [admin interface][] and validate the new version is running
6. Login to the [admin interface][] and validate the new version is running
Because LimeSurvey does not make available previous release zip-files, the old code installation directory is kept on the server, along with prevously downloaded release archives. This is intentional, to make rolling back easier in case of problems during an upgrade.
Because LimeSurvey does not make available previous release zip-files, the old
code installation directory is kept on the server, along with prevously
downloaded release archives. This is intentional, to make rolling back easier
In case of a disaster restoring both `/srv` and the PostgreSQL database on a new server should be sufficient to get back up and running.
In case of a disaster restoring both `/srv` and the PostgreSQL database on a
new server should be sufficient to get back up and running.
# Reference
# Reference
...
@@ -53,4 +69,5 @@ In case of a disaster restoring both `/srv` and the PostgreSQL database on a new
...
@@ -53,4 +69,5 @@ In case of a disaster restoring both `/srv` and the PostgreSQL database on a new
This service runs on a standard Apache/PHP/PostgreSQL stack.
This service runs on a standard Apache/PHP/PostgreSQL stack.
Self-hosting a LimeSurvey instance allows us to better safeguard user-submitted data as well as allowing us to make it accessible through an onion service.
Self-hosting a LimeSurvey instance allows us to better safeguard user-submitted
data as well as allowing us to make it accessible through an onion service.