Test webshares¶
Sometimes it can be useful to have a clone of your website or database in order to test version upgrades or as a staging environment for development.
Server setup and conditions¶
The web and database server are hosted separately from the production servers, which is also used by us (ISG) as testing environment and for regular OS upgrade tests of the production servers. This will also enhance synergies between us and users willing to invest in testing to get their websites up and running more quickly after OS upgrades.
Conditions:
- There is no backup. Use git + gitlab to track/store your changes
- The servers can be destroyed/re-deployed at any time without notice
- All untracked changes/data will be lost
- Join Matrix room #web:phys.ethz.ch and be online
- Announcements only via Matrix room on very short notice
Requesting a new test webshare¶
Test webshares use the identical setup as documented for webshares.
We will create a complete initial clone of your existing production site, with the following changes:
- test web share name: identical to your production
www<name>
- domain name:
test-<your_production_domain>
- database server: see
private/database.yml
on test webshare - no NFS/SMB access possible
Please provide:
- SSH access: D-PHYS username(s) + ssh keys
- anything else that should be different?
SSH Access¶
The webshare data of the test webshare is accessible by SSH only. See ssh access but connect using:
ssh www<name>@test-<your_production_domain>
Access the database¶
Use the same webinterface but select the server test-sqlweb
and connect using the credentials in private/database.yml
on the test webshare.
We recommend directly including the credentials from the file mentioned above in your code, which will allow to share identical website configuration between production and testing.
The database hostname is test-sqlweb.phys.ethz.ch
.
To re-sync (dump + restore) the database from production to testing connect to the production site using ssh and use the cli tools:
wwwuser@server:~$ mysqldump ${USER} | mysql -h test-sqlweb.phys.ethz.ch
This will dump all tables from production and overwrite the test database.