Root Server Deployment [WIP]

Deployment Vorgehensweise auf einem Root Server.

Plesk: Anwendung öffentlich machen

  1. Anwendung bzw. deren public/-Verzeichnis in das Domain-Dokumentenroot (httpdocs) legen oder dieses in Domains → Hosting-Einstellungen setzen.
  2. Dokumentenroot für Apache betretbar machen. Nur dieses Verzeichnis ändern, nicht rekursiv:
sudo chmod 755 /var/www/vhosts/<domain>/httpdocs/<app>

# ids-cloud.eu: verteiler.ids-cloud.eu
sudo chmod 755 /var/www/vhosts/ids-cloud.eu/httpdocs/ids-verteiler
  1. PHP-Laufzeitbenutzer ermitteln (der erste Wert jeder Zeile ist der Benutzer):
ps -eo user:32,cmd | grep '[p]hp-fpm: pool'
  1. Dieser Benutzer muss Dateien lesen und Verzeichnisse betreten dürfen; der FTP-/Git-Benutzer ist nicht maßgeblich. Die ACL muss ein Benutzer mit sudo setzen:
sudo setfacl -R -m u:<php-user>:rX /var/www/vhosts/<domain>/httpdocs/<app>
sudo find /var/www/vhosts/<domain>/httpdocs/<app> -type d -exec setfacl -m d:u:<php-user>:rX {} +

# ids-cloud.eu: verteiler.ids-cloud.eu
sudo setfacl -R -m u:ids-cloud.eu_tj8d7jcmrx8:rX /var/www/vhosts/ids-cloud.eu/httpdocs/ids-verteiler
sudo find /var/www/vhosts/ids-cloud.eu/httpdocs/ids-verteiler -type d -exec setfacl -m d:u:ids-cloud.eu_tj8d7jcmrx8:rX {} +

Schreibrechte nur für benötigte var/, cache/ oder uploads/-Verzeichnisse vergeben, nicht für den Code.

Plesk: Schreibbare Anwendungsverzeichnisse

Wenn PHP Logdateien, Locks, Cache oder Uploads schreiben muss, Eigentümer nur für die benötigten Verzeichnisse auf den PHP-Laufzeitbenutzer setzen:

sudo chown -R <php-user>:psaserv var/log var/locks
sudo chmod -R u+rwX,g+rX var/log var/locks

# POINTS|PROD
# ~/www_root/ids-verteiler
sudo chown -R ids-cloud.eu_tj8d7jcmrx8:psaserv var/log var/locks

Nicht rekursiv auf das gesamte Projekt anwenden.