PHP-FPM gibt Quelltext aus

#1
Ich habe IspConfig auf Debian 9 nach dieser Anleitung aufgesetzt
Jedoch wenn ich eine SubDomain (Vhost)mit PHP-FPM erzeuge wird mir nur der Quelltext ausgegeben

Der php-Fpm Prozess läuft.

VHostDatei
Apache config:
<Directory /var/www/domain.at>
        AllowOverride None
                Require all denied
        </Directory>

<VirtualHost *:80>

                    DocumentRoot /var/www/clients/client2/web51/upload
           
        ServerName domain.at
        ServerAlias www.domain.at
        ServerAdmin webmaster@domain.at


        ErrorLog /var/log/ispconfig/httpd/domain.at/error.log

        Alias /error/ "/var/www/domain.at/upload/error/"
        ErrorDocument 400 /error/400.html
        ErrorDocument 401 /error/401.html
        ErrorDocument 403 /error/403.html
        ErrorDocument 404 /error/404.html
        ErrorDocument 405 /error/405.html
        ErrorDocument 500 /error/500.html
        ErrorDocument 502 /error/502.html
        ErrorDocument 503 /error/503.html

        <IfModule mod_ssl.c>
        </IfModule>

        <Directory /var/www/domain.at/upload>
                # Clear PHP settings of this website
                <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                        SetHandler None
                </FilesMatch>
                Options +FollowSymLinks
                AllowOverride All
                                Require all granted
                        </Directory>
        <Directory /var/www/clients/client2/web51/upload>
                # Clear PHP settings of this website
                <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                        SetHandler None
                </FilesMatch>
                Options +FollowSymLinks
                AllowOverride All
                                Require all granted
                        </Directory>




        # suexec enabled
        <IfModule mod_suexec.c>
            SuexecUserGroup web51 client2
        </IfModule>
        <IfModule mod_fastcgi.c>
                <Directory /var/www/clients/client2/web51/cgi-bin>
                                        Require all granted
                                    </Directory>
                <Directory /var/www/domain.at/upload>
                    <FilesMatch "\.php[345]?$">
                        SetHandler php-fcgi
                    </FilesMatch>
                </Directory>
                <Directory /var/www/clients/client2/web51/upload>
                    <FilesMatch "\.php[345]?$">
                        SetHandler php-fcgi
                    </FilesMatch>
                </Directory>
                Action php-fcgi /php-fcgi virtual
                Alias /php-fcgi /var/www/clients/client2/web51/cgi-bin/php-fcgi-*-80-domain.at
                FastCgiExternalServer /var/www/clients/client2/web51/cgi-bin/php-fcgi-*-80-domain.at -idle-timeout 300 -socket /var/lib/php7.0-fpm/web55.sock -pass-header Authorization  -pass-header Content-Type
        </IfModule>
        <IfModule mod_proxy_fcgi.c>
            #ProxyPassMatch ^/(.*\.php[345]?(/.*)?)$ unix:///var/lib/php7.0-fpm/web55.sock|fcgi://localhost//var/www/clients/client2/web51/upload/$1
            <Directory /var/www/clients/client2/web51/upload>
                <FilesMatch "\.php[345]?$">
                        SetHandler "proxy:unix:/var/lib/php7.0-fpm/web55.sock|fcgi://localhost"
                </FilesMatch>
            </Directory>
            </IfModule>



        # add support for apache mpm_itk
        <IfModule mpm_itk_module>
            AssignUserId web51 client2
        </IfModule>

        <IfModule mod_dav_fs.c>
        # Do not execute PHP files in webdav directory
            <Directory /var/www/clients/client2/web51/webdav>
                <ifModule mod_security2.c>
                    SecRuleRemoveById 960015
                    SecRuleRemoveById 960032
                </ifModule>
                <FilesMatch "\.ph(p3?|tml)$">
                    SetHandler None
                </FilesMatch>
            </Directory>
            DavLockDB /var/www/clients/client2/web51/tmp/DavLock
            # DO NOT REMOVE THE COMMENTS!
            # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE!
      # WEBDAV BEGIN
            # WEBDAV END
        </IfModule>

DocumentRoot "/var/www/domain.at/upload/public"

</VirtualHost>
cat /etc/php/7.0/fpm/pool.d/web55.conf
Bash:
[web55]

listen = /var/lib/php7.0-fpm/web55.sock
listen.owner = web51
listen.group = www-data
listen.mode = 0660

user = web51
group = client2

pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
pm.max_requests = 0

chdir = /

env[HOSTNAME] = $HOSTNAME
env[TMP] = /var/www/clients/client2/web51/tmp
env[TMPDIR] = /var/www/clients/client2/web51/tmp
env[TEMP] = /var/www/clients/client2/web51/tmp
env[PATH] = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Was hab ich übersehen ?

Danke schonmal
 
Zuletzt bearbeitet:
#2
Okey der Fehler liegt weil ich versuche in das Verzeichniss DocumentRoot "{DOCROOT}/public" zu gehen

wie kann ich nun FPM nutzen und sagen er soll das Unterverzeichnis public nutzen ?

Seh auch grad wenn ich eine neue PHP Konfiguration hinzufüge wird keine php.ini geladen bei FPM o_O
 
Zuletzt bearbeitet:

Till

Administrator
#3
Okey der Fehler liegt weil ich versuche in das Verzeichniss DocumentRoot "{DOCROOT}/public" zu gehen
Die Einstellung manuell zu setzen wie Du es gemacht hast macht für vhost sub- oder Aliasdomains auch keinen Sinn, denn bei denen definierst Du ja bereits das docroot in ISPConfig über das Feld in dem Du das verzeichnis des sub / alias vhosts angibst.

Seh auch grad wenn ich eine neue PHP Konfiguration hinzufüge wird keine php.ini geladen bei FPM o_O
Die individuellen Einstellungen eines PHP-FPM prozess sthehen ja auch nicht in einer php.ini datei sondern in der pool datei.
 
#4
Danke für die Antwort

Die Einstellung manuell zu setzen wie Du es gemacht hast macht für vhost sub- oder Aliasdomains auch keinen Sinn, denn bei denen definierst Du ja bereits das docroot in ISPConfig über das Feld in dem Du das verzeichnis des sub / alias vhosts angibst.
Doch leider benötige ich ein Unterverzeichnis da Symfony4 und Neos den Webfolder in einem Unterverzeichnis haben

Die individuellen Einstellungen eines PHP-FPM prozess sthehen ja auch nicht in einer php.ini datei sondern in der pool datei.
Wofür kann ich dann einen Ort für die PHP.ini angeben ?
 

Till

Administrator
#6
Du hast das docu,ent root ja augf den symlink pfad gesetzt, setz es doch mal auf den echtebn Pfad, also /var/www/clients/clientX/webY/web/upload/public
 
#7
Ja das funktioniert :) wäre nur toll wenn der platzhalter {DOCROOT} das beinhalten würde

nur versteh ich das mit der php.ini nicht. FPM Default läd die Default php.ini aber eigens Konfigurierte läd keine php.ini obwohl es unter FPM das feld php.ini gibt
 

Werbung

Top