Find a more up to date version of this howto on our Forum, including a new automated tool!
How to make a Mirror for Elive
Requirements & Notes
- Reboots: It is very important that your server is a untouched one that will never (or almost) have a reboot or a restart of the service, because every time this happen will cause a broken download to every user that is downloading Elive on that moment
- Size: The actual size used for the ISOs are around 10 GB of disk space, let's say we don't reach 20GB, but it is good to have at least 20GB of disk space available, we have some bursts when syncing the ISOs.
- Method: The synchronization of the ISO repository is automatically managed using rsync+ssh. So we simply need an ssh user login access and to have rsync installed.
- Web link: It is also required, to have a sub-domain created that points to a specific directory (the dir of your choice), like https://isos.elive.yourdomain.com, it is not really important what name you use for it, just make sure that it works and that it points to the specific directories where we will put the ISOs.
- Server type: Apache
The selection of the Mirror from our website is automatically based in your IP location and balanced, unfortunately if you want to have a Thanks To message we don't have it any more since the Download button gives the ISO automatically, but if it is something you really want and we should really included it, let us know and we will try to create a specific page for that.
When you have all this ready or you have any question, just send an email to #Thanatermesis 4t gmail with the details (ssh login details, subdomain, etc). After the completion of the first sync test the repository will be synced to your mirror :)
- Security: We moved to httpS (ssl) so the mirror should have it enabled, if your hosting doesn't configure it automatically we suggest to use letsencrypt / certbot which is a very automated process, see https://certbot.eff.org/
- Bandwith Limit: The server should not have any bandwith limitation set by the hosting service, otherwise you can be overbilled if there's too much downloads, please make sure that it is not your case
- It is very important the server is up 24/7 without reboots of the server, otherwise it will give broken downloads to the users that are downloading on that moment
- Create an user for the elive isos mirror
- Have a subdomain / web link that points to this user "public_html" directory
- Make sure that rsync is installed and ssh enabled for this user (ssh is required to send the files automatically with rsync in a secured way)
- Install an auto-renewable SSL (httpS) certificate, to automate the process we suggest Letsencrypt / Certbot, fast instructions at: https://certbot.eff.org/
- Run these commands to add the elive server's key:
ssh-keygen # just press enter until it finishes mkdir -p "$HOME/.ssh" echo 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAk45j0yfCnHcyi6EKy/tnUOfUKMMeVf1rc/nRPratslLwVVr+bCqjS/KVc5si+8yGsCxQzow2TC3hlymvyxVZhA0Q17G87UQb61nLeG9sl45LyPg5gqLYZUoxaxjT/L/T5XkqpfXhXle5ix0metdSh0sZHMnfhRvMXOAkQHY7YBWMkh9TOLu45GiUW2XKDSZjEWV0NeR06r66KspqsV5jR6HCZ9iQDMoya/6HdTqNDqpza+qqAcHvXCWAbAgr95PXDbSM1KIS9KCRebHVka1437kCU3vrwXKBIb0OF0Rnseqs4icTu2xnu74H2/+uM/C+o4f2QFjJM/CwlQ0w2kL2+Q== elivewebsites@zatara' >> "$HOME/.ssh/authorized_keys" chmod 744 "$HOME/.ssh" chmod 600 "$HOME/.ssh/authorized_keys" mkdir -p "$HOME/public_html"
- Ready! Send an email to thanatermesis 4# gmail with the details of:
- user login and pass
- web link url for the isos
- an email of contact in case that something fails (automated system)
- the country & city where the mirror is located