rsync -a nimmt die Dateirechte mit — danach liefert der Webserver 403
Lehre: Bei Web-Deploys mit rsync die Rechte am Ziel explizit setzen, nicht vom Quellrechner übernehmen.
Problem
Ein statischer Deploy per rsync -a meldet Erfolg, die Seite liefert trotzdem 403 Forbidden.
Ursache
-a überträgt die Dateirechte der Quelle. Kommen die Dateien aus einer Umgebung mit engen Rechten (Ordner 700, Dateien 600), darf der Webserver-Benutzer am Ziel sie nicht lesen.
Lösung
Rechte beim Übertragen festlegen und den Besitzer danach geraderücken:
rsync -a --chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r quelle/ server:/ziel/
Danach am Ziel chown -R auf den vorgesehenen Besitzer. Gilt für jeden statischen Host, nicht nur für einen.