O rsync já vem com o CentOS mas ele não vem com o xinetd configurado.

Então precisei instalar e configurar o xinetd com o rsync.

Fonte: https://vijaynayani.wordpress.com/2010/10/09/how-to-rsync-server-setup-for-centos/

```
yum -y install rsync xinetd
chkconfig –-add xinetd
chkconfig –-list xinetd
Enable rsync
vi /etc/xinetd.d/rsync
```

Na configuração do xinetd.d (última linha do script anterior) é preciso trocar de `yes` para `no` o disable do rsync.
Também tive que forçar o user root e ligar o chroot para o user dype na configuração do rsyncd.conf (abaixo).


Depois disso é necessário criar o arquivo de configuração do rsync.

```
vi /etc/rsyncd.conf
```

Eu utilizei a seguinte configuração para disponibilizar o `/home/dype/rsync/desktop.release` de forma pública. Não quero neste momento ter que usar um password.

```
uid = dype
gid = dype
max connections = 5
log file = /var/log/rsync.log
timeout = 300
use chroot = true

[desktop.release]
comment = Arquivos do Desktop Release
path = /home/dype/rsync/desktop.release
readonly = false
list = yes

[clientes]
comment = Arquivos de Clientes
path = /home/dype/rsync/clientes
readonly = false
list = yes
```

E precisei deixar as permissões em 777 para funcionar. Não fui atrás do correto ou do motivo de precisar do execute em todos.

Depois de ajustar o conf, usei o comando _service xinetd restart_ para reiniciar o serviço.

E, obviamente, as pastas precisam existir para o rsync funcionar.

Outros links interessantes que usei para chegar nesta configuração:

Explicações sobre opções do arquivo de configuração: http://real-world-systems.com/docs/rsyncd.conf.1.html

Explicações sobre alguns problemas que podem acontecer no CentOS: https://www.centos.org/forums/viewtopic.php?t=27779

Servidor de rsync com baixo custo até 100 gb: http://rsync.net/pricing.html

Adicionalmente eu criei no cpanel um subdomínio chamado rsync.hv1.dype.com.br que aponta para a pasta /home/dype/rsync.

Na raíz desta pasta eu deixei um .htaccess com a instrução _deny from all_ para impedir que qualquer arquivo ou pasta filha desta seja visualizada.

A ideia é criar uma nova pasta para cada cliente de customizado onde é necessário prestar contas. Para ser o destino dos PDF de prestação de contas protegido por uma senha com basic authentication mesmo. Mas neste caso o .htaccess tem que ser criado localmente no momento de criar a pasta do cliente e fica sendo sincronizado pelo próprio rsync.

Para as pastas iniciais da WE e Thermomax eu fui através do cpanel e usei a opção de _Pastas Protegidas_ para criar a senha no local padrão do cpanel e criei o .htaccess manualmente apontando para este arquivo. 

Template para o .htaccess das pastas dos clientes. É necessário trocar o _gestor-dypecliente_ para a sigla do cliente para ficar como _gestor-we_ ou _gestor-thermomax_ por exemplo.

```
Allow From All
AuthType Basic
AuthName "Arquivos do Cliente"
AuthUserFile /home/dype/.htpasswds/rsync/clientes/gestor-dypecliente/passwd
Require valid-user
```
