php per fcgid/suexec - Verständnis

tsk

Member
Hallo in die Runde,

ich möchte mein Entwicklungssystem (Ubuntu 12.04 WS) mit virtuellem (KVM) Ubuntu 12.04 Server neu und besser aufziehen, um dies danach auch auf meine live Server übertragen zu können.

Ich hoste und erstelle vorwiegend TYPO3 (php) Projekte, die sich zentrale Programmbereiche teilen. Diese liegen bisher unter /usr/local/share/typo3 und sind über Symlinks in das jeweilige DocumentRoot (/var/www/mydomain.com/htdocs) eingebunden. Damit dies funktioniert, musste ich /usr/local/share/typo3/ per open_basedir freigeben.

Ich betreibe php Anwendungen per mod_fcgid/suexec. Bislang bin ich dabei einem der wenigen Tutorials weitgehend blind gefolgt – und es hat geklappt. Jetzt möchte ich es tatsächlich verstehen, und deshalb meine Fragen. Vorab: Ich möchte suexec aus der Standard Distribution nutzen (also nicht “custom”) und nicht selbstkompiliert.

Die Ausgabe von /usr/lib/apache2/suexec -V

Code:
 -D AP_DOC_ROOT="/var/www"
 -D AP_GID_MIN=100
 -D AP_HTTPD_USER="www-data"
 -D AP_LOG_EXEC="/var/log/apache2/suexec.log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=100
 -D AP_USERDIR_SUFFIX="public_html"

Unter /var/www/php-fcgi/”username”/php-fcgi-starter liegen die Starter Scripte – und individuelle php.ini – es funktioniert. Diesmal möchte ich meine webs jedoch unter den jeweiligen User Home Directories ablegen, und nicht mehr unter /var/www/... (die Starter Scripte sollen jedoch unter /var/www/... bleiben)

Dafür habe ich den vhost entsprechend konfiguriert:

DocumentRoot /home/”username”/websites/mydomain.com/htdocs

Eine im DocumentRoot abgelegte phpinfo.php wird ohne Beschwerde angezeigt.

Jetzt meine Fragen:

  1. AP_USERDIR_SUFFIX="public_html". Bedeutet dies, dass mein DocumentRoot path auf “public_html” enden sollte, anstatt auf “htdocs”? Tut er nämlich derzeit nicht, und phpinfo.php wird trotzdem ausgeführt. Was bedeutet AP_USERDIR_SUFFIX?
  2. AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin". Bedeutet dies, dass suexec grundsätzlich bereit ist, Programme aus diesen Pfaden auszuführen? Derzeit liegen meine zentralen TYPO3 Sources unter /usr/local/share/typo3/ (per open_basedir freigegeben). Wäre es an dieser Stelle sinnvoller, sie unter /usr/local/bin/typo3/ zu installieren? Falls ja, würde dies den open_basedir Eintrag überflüssig machen?
  3. Mache Tutorials sagen (ohne weitere Erklärung), dass AppArmor deinstalliert werden müsse. Habe ich bisher nicht gemacht – und es scheint trotzdem zu klappen. Mache ich was falsch?

Sorry für die Fragen, aber die Doku zu suexec ist mehrheitlich unverständliches Geschwurbel – inklusive dem Hinweis, dass suexec nur von Leuten genutzt werden sollte, die eh schon alles wissen. Die manpage(8) zu suexec (wird automatisch mitgeliefert) passt nicht zur Standard Version, sondern scheint die “custom” zu beschreiben.

Danke für alle Hilfe,

Thomas
 
Back
Top