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 onionv3 address is http://eh5esdnd6fkbkapfc6nuyvkjgbtnzq2is72lmpwbdbxepd2z7zbgzsqd.onion/
@@ -24,28 +29,39 @@ The onionv3 address is http://eh5esdnd6fkbkapfc6nuyvkjgbtnzq2is72lmpwbdbxepd2z7z
## 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.
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)
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
1. Login to `survey-01`, stop Apache2 using `systemctl stop apache2
puppet-run.timer` (no maintenance mode in LimeSurvey)
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`
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
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
...
...
@@ -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.
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.