How to change the main website
The Tor website is managed via its git repository.
It is usually advised to get changes validated via a merge request on the project.
Once changes are merged to the main branch, , if the changes pass validation checks they get deployed automatically to staging.
If after the auto-deploy to staging everything looks as expected, changes can
be deployed to prod by manually launching the CI job deploy prod.
How to change other static websites
A handful of other static websites -- like extra.tp.o, dist.tp.o, and more -- are hosted at several computers for redundancy, and these computers are together called "the www rotation".
How do you edit one of these websites? Let's say you want to edit extra.
-
First you ssh in to
staticiforme(using an ssh jump host if needed) -
Then you make your edits as desired to
/srv/extra-master.torproject.org/htdocs/ -
When you're ready, you run this command to sync your changes to the www rotation:
sudo -u mirroradm static-update-component extra.torproject.org
Example: You want to copy image.png from your Desktop to your blog
post indexed as 2017-01-01-new-blog-post:
scp /home/user/Desktop/image.png staticiforme.torproject.org:/srv/extra-master.torproject.org/htdocs/blog/2017-01-01-new-blog-post/
ssh staticiforme.torproject.org sudo -u mirroradm static-update-component extra.torproject.org
Which sites are static?
The complete list of websites served by the www rotation is not easy to figure out, because we move some of the static sites around from time to time. But you can learn which websites are considered "static", i.e. you can use the above steps to edit them, via:
ssh staticiforme cat /etc/static-components.conf
How does this work?
If you're a sysadmin and wondering how that stuff work or do anything back there, look at howto/static-component.