ubuntuusers.de

OTRS + nginx = chaos

Status: Ungelöst | Ubuntu-Version: Ubuntu 14.10 (Utopic Unicorn)
Antworten |

icewave

Anmeldungsdatum:
15. November 2012

Beiträge: 69

Moin moin zusammen,

Ich versuche derzeit vergeblich OTRS auf meinem vServer zum laufen zu kriegen. Leider klappt das jedoch nicht ganz so wie erwünscht ...

Es gibt zwar Pakete im Repository, jedoch soll man diese nicht benutzen. Zudem wollte ich auch gerne die 4er Version haben und nicht nur die 2er. Leider habe ich jedoch eine andere Umgebung als die OTRS-Standard-Umgebung: Ich nutze bereits für einige vhosts nginx und als Datenbankserver läuft auch schon Postgresql. Also nicht gerade die besten Vorraussetzungen für "Out of the box" ...

Nun denn: die Einrichtung an sich hat doch recht gut geklappt (Entpacken + Datenbank), jedoch streikt mein nginx nun komplett: Um nginx mit den CGIs zum laufen zu kriegen benötigt man wohl fcgiwrap. Die Einrichtung davon klappte recht einfach via aptitude. Jedoch spielt nginx nicht ganz so mit ...

Zuerst einmal meine config:

# nginx configuration file for
#
#   otrs
#

server {
	rewrite_log on;
	error_log    /var/log/nginx/error.support.log;


	# listen on all IPv4 and IPv6 interfaced on port 443
	listen 443;

	# the name of our subdomain
	server_name ...;

	# TLS settings
	ssl on;
	ssl_certificate ...;
	ssl_certificate_key ...;


	# root directory of webserver
	root /opt/otrs/var/httpd/htdocs;


	# These 2 lines were necessary to prevent buffer problems in OTRS
	fastcgi_buffers 8 16k;
	fastcgi_buffer_size 32k;


	# Do not log favicon access
	location = /favicon.ico {
		access_log     off;
		log_not_found  off;
	}

	location /otrs-web/ {
		alias /opt/otrs/var/httpd/htdocs;
	}

	location ~ ^/otrs/(.*\.pl)(/.*)?$ {
		# gzip makes scripts feel slower since they have to complete before getting gzipped
		gzip off;

		# cgi index
		fastcgi_index index.pl;

		# Enter your OTRS cgi-bin path, e.g. <YOUR_OTRS_PATH>/bin/cgi-bin
		include fastcgi_params;
		fastcgi_param	SCRIPT_FILENAME	/opt/otrs/bin/fcgi-bin/$1;

		# pass to fcgiwrap
		fastcgi_pass unix:/var/run/fcgiwrap.socket;
	}
}



# redirect to HTTPS, if HTTP connection was established
server {
	# listen on all IPv4 and IPv6 interfaced on port 80
	listen 80;

	# the name of our subdomain
	server_name support.alexhaase.de;

	# redirect anything to https server
	return 301 https://$server_name$request_uri;
}

Nun ergeben sich hier mehrere Probleme: Als erstes bekam ich die folgende Fehlermeldung:

2014/12/28 04:51:44 [error] 21909#0: *47 FastCGI sent in stderr: "Cannot chdir to script directory (/opt/otrs/var/httpd/htdocs/otrs)" while reading response header from upstream, client: xx.224.83.168, server: support.example.tld, request: "GET /otrs/index.pl HTTP/1.1", upstream: "fastcgi://unix:/var/run/fcgiwrap.socket:", host: "support.example.tld", referrer: "https://support.example.tld/"

Sagt mir jetzt adhoc, dass fchiwrap den Ordner nicht finden konnte. Stimmt soweit auch: einen Ordner "otrs" gibt es da garnicht. Ich denke mal das die regex in der Konfiguration wohl einfach das otrs/ nicht rausgeschnitten hat, also habe ich einfach einen Unterordner angelegt, welcher ein Symlink auf den eigentlichen Ordner darstellt. Damit ist das erste Problem zwar nicht wirklich behoben, aber wenigstens erhalte ich jetzt anstatt eines Error 403 ein "502 Bad Gateway".

Stattdessen erscheint dann im Log auch die Fehlermeldung:

2014/12/28 05:18:21 [error] 23706#0: *120 upstream prematurely closed FastCGI stdout while reading response header from upstream, client: xx.224.83.168, server: support.example.tld, request: "GET /otrs/index.pl HTTP/1.1", upstream: "fastcgi://unix:/var/run/fcgiwrap.socket:", host: "support.example.tld", referrer: "https://support.example.tld/otrs/"

Und da bin ich jetzt mit meinem Latein relativ am Ende, weil ich absolut nicht verstehe, was mir nginx nun mitteilen möchte. Weiß einer von euch da evtl. weiter?

Liebe Grüße,

icewave

Moderiert von Developer92:

Thread in passenders Unterforum verschoben.

blackdragon85

Anmeldungsdatum:
14. Januar 2015

Beiträge: 1

Hallo icewave,

da ich auch gerade den Fehler hatte - du musst einfach 'location /otrs-web/ {' durch 'location /otrs-web {' ersetzen. Sprich den hinteren '/' entfernen.

Viele Grüße

blackdragon85

icewave

(Themenstarter)

Anmeldungsdatum:
15. November 2012

Beiträge: 69

Hallo blackdragon85,

blackdragon85 schrieb:

da ich auch gerade den Fehler hatte - du musst einfach 'location /otrs-web/ {' durch 'location /otrs-web {' ersetzen. Sprich den hinteren '/' entfernen.

Hat bei mir leider keinen Effekt. Ich habe nach wie vor zuerst den Error 403 und mit entsprechendem Symlink Error 502. Kannst du evtl. mal deine Konfigurationen als Listing einfügen?

Liebe Grüße,

icewave

Antworten |