Primeiro, para quem usa/baixa deles: o endereço http://ftpmirror.gnu.org/ multiplexa entre os espelhos ("mirrors"), tentando escolher um que está por perto e atualizado. Por exemplo, http://ftpmirror.gnu.org/emacs/ vai para o diretório de um espelho do GNU Emacs. Recomendamos o uso deste endereço genérico ftpmirror.gnu.org sempre que possível em links, documentação, etc., para reduzir a carga no servidor GNU principal.
Espelhar o servidor FTP da GNU requer aproximadamente 63 GB de espaço em disco (em fevereiro de 2017). Você pode fazer um rsync diretamente do ftp.gnu.org:
rsync -rltpHS --delete-excluded rsync://ftp.gnu.org/gnu/ /seu/dir/
No entanto, considere espelhar a partir de outro site, para, novamente, reduzir a carga no servidor GNU. Esses sites fornecem acesso a todo o material em ftp.gnu.org. Eles atualizam de nós todas as noites (pelo menos) e você pode acessá-los via rsync com as mesmas opções acima:
Você pode manter seu espelho privado, mas ficaremos muito gratos se você apoiasse o software livre tornando-o público. No entanto, seu espelho precisa seguir as diretrizes a seguir para serem aceitos em nossa lista de espelhos públicos:
Para adicionar o seu espelho à lista de espelhos públicos, exigimos (e recomendamos) uma frequência de atualização diária. Depois de estabelecer seu espelho, entre em contato com <webmasters@gnu.org> para que possamos analisá-lo. Por favor, forneça o seguinte:
É muito útil disponibilizar seu espelho para os usuários via HTTP ou HTTPS, então, por favor, apoiem essa ideia, se puderem. Recomendamos fortemente que novos espelhos tenham suporte a HTTPS como a opção mais segura.
Prepare a configuração do seu servidor web para evitar o envio de arquivos .gz.sig (assinaturas de arquivos compactados, dos quais existem muitos em nossos servidores) como codificados em gzip. Para o Apache, isso significa:
AddType application/pgp-signature .sig # evita arquivos .sig _não_ sejam enviados com "Content-Encoding: gzip". <Files *.gz.sig> RemoveEncoding .gz </Files> <Files *.tgz.sig> RemoveEncoding .tgz </Files>
Variação: se suas linhas AddEncoding não tiverem um ponto inicial para a extensão, por exemplo, assim:
AddEncoding x-gzip gz tgz
então as linhas RemoveEncoding também não devem ter um ponto inicial.
Por fim, recomendamos a configuração a seguir, para que os usuários possam ver nomes de arquivos completos nas listagens geradas, em vez de serem truncados:
IndexOptions NameWidth=*
Se você configurar um espelho HTTPS, certifique-se que o certificado SSL possua uma assinatura válida de uma autoridade certificadora; é difícil para nós rastrear espelhos com certificados autoassinados. Se você ainda não tem uma assinatura válida, o Let's Encrypt é um bom lugar para obtê-lo.
ftp.gnu.org e outros sites também oferecem alpha.gnu.org (cerca de 10GB) para o seu prazer de espelhamento:
Atualizações noturnas são suficientes para o material do GNU FTP e Alpha.
Também apreciamos muito os espelhos adicionais dos projetos nongnu hospedados em savannah.nongnu.org. O total está atualmente em torno de 51 GB. Para fazer isso, recomendamos que você obtenha e atualize os arquivos usando o rsync, com as mesmas opções acima para ftp.gnu.org, a saber:
rsync -rltpHS --delete-excluded rsync://dl.sv.gnu.org/releases/ /seu/dir
Essas opções garantem que seja um espelho exato. (Provavelmente haverá alguns erros de permissão; simplesmente ignore-os. Eles são devidos a escolhas ou erros de mantenedores individuais do projeto.)
É suficiente atualizar savannah/nongnu uma vez por dia também; duas vezes por dia, se quiser. Mais do que isso não vale o gasto de largura de banda, pois o conteúdo não é tão dinâmico.
Se você puder ajudar com isso, envie-nos um e-mail com a URL para o seu espelho, para que possamos adicioná-lo à lista. Obrigado!
Não mais recomendamos a criação de espelhos do site do GNU, pois descobriu-se que (a) poucas pessoas podem fazer uso deles e (b) muitos espelhos ficavam desatualizados ou off-line com certa frequência. Não queremos que informações desatualizadas sobre o projeto GNU sejam divulgadas.
No entanto, se você quiser espelhar o www.gnu.org para seus próprios propósitos, não há problema. Recomendamos usar o mod_proxy. Aqui está uma receita sem suporte das diretivas do Apache para o seu <VirtualHost>:
ServerName gnumirror.example.org CacheRoot "/var/cache/mod_proxy" CacheDefaultExpire 86400 # para Apache 2.0+, valor é em segundos ProxyPass / http://www.gnu.org/ CacheEnable disk /
(Obrigado a Juri Hoerner por fornecer essa informação sobre o Apache.)