Jump to content
Froxlor Forum
  • 0

Nginx PHP-FPM Roundcube unexpected "}"


Infected

Question

Guten Abend,

ich bin gerade dabei mir Roundcube zu installieren.

 

Vorher hatte ich alles erfolgreich installiert auf Apache2.

Doch ich bin jetzt auf Nginx mit PHP-FPM umgestiegen und habe jetzt Probleme bei der installieren.

 

 

Dieses Tutorial habe ich benutzt: http://forum.froxlor.org/index.php?/topic/1104-howto-roundcube-webmail-with-fcgi/

 

 

Und an einer Stelle soll man folgendes in den VHosts eintragen:

 

<Directory /var/customers/webs/webmail/> Options -Indexes Includes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all</Directory>

 

 

 

Doch wenn man nun nginx reloaded will bekommt man einen Fehler: Unexpecded "}" on line xxx.

 

Sobald ich jedoch diese Zeile raus nehme, kann ich nginx normal reloaded.

 

Doch ohne diese Zeile komme ich nicht ins richtige Verzeichnis ?ber die eingetragene Domain.

Habe auch schon die Zeile so eingetragen:

 

<Directory /var/customers/webs/webmail/>
   Options -Indexes Includes FollowSymLinks MultiViews
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>

 

Woran kann das liegen?

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

# 22_froxlor_normal_vhost_sub.domain.de.conf
# Created 06.05.2013 17:05
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

server { 
	listen MeineIP;
	server_name    sub.domain.de *.sub.domain.de;
	access_log    /var/customers/logs/subdomains-access.log combined;
	error_log    /var/customers/logs/subdomains-error.log error;
	root     /var/customers/webs/subdomains/roundcube/;

	location / {
		index    index.php index.html index.htm;
		try_files $uri $uri/ @rewrites;
	}

	location @rewrites {
		rewrite ^ /index.php last;
	}

	location /webalizer {
		alias /var/customers/webs/subdomains/webalizer/sub.domain.de/;
		auth_basic            "Restricted Area";
		auth_basic_user_file  /etc/nginx/froxlor-htpasswd/1-290bfe30c8f5ad58b9f4830dc65bf502.htpasswd;
	}

	location ~ \.php$ {
		try_files $uri =404;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_pass unix:/var/run/nginx/subdomains-sub.domain.de-php-fpm.socket;
		fastcgi_index index.php;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include /etc/nginx/fastcgi_params;
	}
}


sub.domain.de = Meine Subdomain

MeineIP = Meine Server IP

 

 

Edit: Habe gerade festgestellt, dass ich den gleichen Fehler bekomme auch wenn ich nur ne ganz normale .php Datei hochlade.

 

Scheint also irgendwas mit PHP nicht zu stimmen.

Aber komsich, dass das Froxlor Panel normal funktioniert

Link to comment
Share on other sites

Ja der l?uft.

Habe gerade folgendes festgestellt.

 

Habe einfach mal in den vhosts die Line

fastcgi_pass unix:/var/run/nginx/roundcube-sub.domain.eu-php-fpm.socket;

in

fastcgi_pass 127.0.0.1:8888;

ge?ndert.

Jetzt funktioniert es bei dem vhost, wo ich es ge?ndert habe.

Doch leider ist diese EInstellung ja nur so lange da, bis die Config neu geschrieben wird.

Link to comment
Share on other sites

dann hast du nicht die korrekten fpm-configs, in Froxlor auch fpm aktiviert und entsprechend eingerichtet? Weil Froxlor's php-fpm Implementierung funktioniert ?ber die Sockets (separate Einstellung in Froxlor, hat nix mit nginx zu tun)

Link to comment
Share on other sites

Hmmm w??te nicht, was ich da falsch einstellen k?nnte.

Ist aber aktiviert.

Sonst habe ich da an den Einstellungen nichts ge?ndert.

 

Habe mir aber ein paar Logs angeschaut.

 

nginx/error.log:

2013/05/06 23:01:27 [crit] 15179#0: *8637 connect() to unix:/var/run/nginx/froxlor.sub.domain.eu-php-fpm.socket failed (2: No such file or directory) while connecting to upstream, client: 87.184.39.219, server: sub.domain.eu, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/nginx/froxlor.panel-sub.domain.eu-php-fpm.socket:", host: "sub.domain.eu"

Hab mal geschaut und habe festgestellt, dass die Datei wirklich nicht existiert. Aber warum?

 

Das Gleiche ist auch unter den Logs der angelegten Kunden zu finden.

Link to comment
Share on other sites

Settings -> PHP-FPM - da mal alles kontrolliert? Wird f?r den Froxlor-Vhost auch eine fpm config erstellt? (wenn nein, solltest du das tun). Ansonsten erstellt der Cronjob dir die Configs und der php-fpm dienst die Sockets. Sind denn die php-fpm configs korrekt erstellt? Werden sie auch korrekt per include in die php-fpm.conf inkludiert? 

Link to comment
Share on other sites

In der Datei "/etc/php5/fpm/php-fpm.conf" wird "include=/etc/php5/fpm/pool.d/www.conf" includiert.

 

In der Datei "/etc/php5/fpm/pool.d/www.conf" lauscht "listen = 127.0.0.1:8888"

 

PHP-FPM Benutzer + Gruppe: froxlorlocal (Benutzer wurde von mir manuel angelegt)

 

Pfad zur PHP-FPM = /etc/php-fpm.d/

 

Configuration Alias-directory of php-fpm = /var/www/php-fpm/ (Dieses Verzeichnis existiert nicht)

 

 

Kommando zum Neustarten von php-fpm = /etc/init.d/php5-fpm restart (Vorher stand da "/etc/init.d/php-fpm restart")

Link to comment
Share on other sites

In der Datei "/etc/php5/fpm/php-fpm.conf" wird "include=/etc/php5/fpm/pool.d/www.conf" includiert.

 

Dann l?sch erstmal diese www.conf (die kommt nicht von froxlor) und ersetzt die zeile mal mit:

include=/etc/php5/fpm/pool.d/*.conf

In der Datei "/etc/php5/fpm/pool.d/www.conf" lauscht "listen = 127.0.0.1:8888"

die is ja dann weg - ist eh falsch.

 

PHP-FPM Benutzer + Gruppe: froxlorlocal (Benutzer wurde von mir manuel angelegt)

Wunderbar

 

Pfad zur PHP-FPM = /etc/php-fpm.d/

 

Das w?re dann wohl eher /etc/php5/fpm/pool.d/ in deinem Fall

 

Configuration Alias-directory of php-fpm = /var/www/php-fpm/ (Dieses Verzeichnis existiert nicht)

 

Was f?r ein Alias? Das ist glaub ne Apache-Sache

 

Kommando zum Neustarten von php-fpm = /etc/init.d/php5-fpm restart (Vorher stand da "/etc/init.d/php-fpm restart")

Naja, das ist auf jedem System anders, setz es bitte auf den namen, den Dein System verwendet, sonst kann der Cronjob den Dienst nicht neustarten

Link to comment
Share on other sites

Habe jetzt das was du geschrieben hast angewendet.

Doch jetzt kommt immer "Restarting PHP5 FastCGI Process Manager: php5-fpm failed!" wenn ich PHP-FPM restarten m?chte.

Wenn ich die Datei www.conf wieder angebe, statt *.conf kann ich PHP-FPM wieder starten.

 

Und dieser Alias ist in der PHP-FPM zu finden:

 

froxlor_php-fpmzyul9.png

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...