Virtual Host Safe_Mode Off

Esche

Registered User
Hallo,

hab seit kurzem ein VServer und hab nen riesen Problem den PHP safe Mode über die vhost.conf auf off zu stellen. Sitze jetzt schon mehrere stunden dran und komm einfach net weiter! Hoffe ihr könnt mir helfen...

Habe also nen Suse VServer.
Die globalen Safe Mode Einstellungen sollten auf On bleiben, (sonst hät ichs ja auch einfach in der php.ini ändern können). Habe es vorher immer über Confixx gemacht aber ich habe jetzt auf diesem Server zur Administratoion Plesk (7.5) und da fehlt mir leider die Einstellung und muss es also direkt per ssh machen.

Hab also in der Datei "/etc/apache2/vhosts.d/vhost.conf" folgendes hinzugefügt

<VirtualHost 85.222.xx.xxx:80>
ServerName h8xxxxx.serverkompetenz.net
<Directory /var/www/vhosts/xxxxx.serverkompetenz.net/httpdocs>
php_admin_flag safe_mode off
</Directory>
</VirtualHost>
Habs auch schon ohne directory etc etc versucht! Aber irgendwie will es nicht klappen! Kann jemand vielleicht erkennen wo der Fehler ist bzw was ich eventuell falsch gemacht haben könnte?

Wäre super wenn ich in diesem Forum hilfe bekomme.

Schöne Ostern
Gruß
Esche
 
Last edited by a moderator:
du meinst sicherlich das von php oO was anderes fällt mir um die Uhrzeit auch ned ein.

Plesk legt für jeden Account ein Verzeichnis nach dem Schema /home/httpd/vhosts/meinedomain.de an. Im diesem Verzeichnis legt Plesk widerum eine Reihe von Unterverzeichnissen an. Im Verzeichnis conf liegt die Datei httpd.include, über die der Virtual Host für den Account definiert wird. In diesem Verzeichnis kann zusätzlich über einen Texteditor eine Datei namens vhost.conf angelegt werden, die Direktiven zur Veränderung von PHP-Einstellungen enthalten kann:

php_admin_flag safe_mode off
php_admin_flag register_globals on

Damit die Datei von Plesk eingebunden wird ist zudem der Aufruf des folgenden Befehls notwendig:

/usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=meinedomain.de

Die Angabe der Domain sollte dabei dem Domainnamen entsprechen, über den der Account in Plesk angelegt ist. Nach dem nächsten automatischen Neustart von Apache sollten die Änderungen aktiv werden

Gruß
SiSa
 
Last edited by a moderator:
SiSa said:
Damit die Datei von Plesk eingebunden wird ist zudem der Aufruf des folgenden Befehls notwendig:

/usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=meinedomain.de

T'schuldigung! :o
Wie macht man so etwas? - Innerhalb von Plesk, FileZilla, WinSCP...?
:confused:
 
Na, diese Freundschaft muss ich noch erwerben. :p

Ich fand Putty immer sehr kompliziert und unsympathisch. Auch mein
freundlicher Service-Techniker bei 1&1 meinte, Putty wäre für einen blutigen
Anfänger wie mich zu kompliziert; ich könne getrost bei meinem FileZilla bleiben.

Nun muss ich wohl doch den Putty installieren und mich mit ihm "rumquälen".
Naja, vielleicht ist's ja gar nicht so 'ne Qual.

Danke jedoch für den Hinweis!:)
 
Mal 'ne ganz dumme Frage

Ich hab da mal eine grundsätzliche Frage zu dem Problem safe mode ON oder OFF.

Warum ist das so kritisch? Was kann eigentlich genau passieren, wenn der
safe mode ausgeschaltet wird? Nach allem, was ich dazu hier auf dem Board
(übrigens ein ausgezeichnetes!) gelesen habe, soll safe mode ON auch nicht
absolut sicher sein. Mich würde einfach mal interessieren, welche Pforten für
ungebetene Gäste oder übelwollende Zeitgenossen bei safe mode OFF denn
geöffnet würden. Was kann ein solcher Übeltäter denn anrichten, was er nicht
ohnehin als gut geschulter Hacker auch bei safe mode ON tun könnte?

Ich frage deshalb, weil ich bei 1&1 auch noch einen Hosting-Vertrag habe,
der mir nur eine Nutzung als Otto Normalverbraucher gewährt, was im übrigen
nicht unbequem ist. Bei meinen Tätigkeiten innerhalb dieses Vertrags tauchte
nicht ein einziges der Probleme auf, über die ich hier auf dem Board seitenweise
zu lesen bekomme.
Das war übrigens ein Grund, sehr lange zu zögern bis ich mir einen V-Server
zugelegt habe. Also, ich habe auf meinen Webspace mehrere PHP-Programme
laufen (unter anderem Joomla), die auf meinem V-Server wegen der safe mode
Einschränkung nicht laufen. Dagegen musste ich mir bei 1&1-"Normal"-Hosting
keine Gedanken über den safe mode machen.

Heißt das denn etwa, dass man im Rahmen eines Hostingpaketes bei 1&1
nicht hinreichend gesichert ist? - Weil die dort offensichtlich im
safe mode OFF Betrieb fahren?

:o
 
Pleite !

Wie ich erwartete: frustrierend.
Nachdem ich die o. g. Änderungen durchgeführt habe, inklusive des
Einbindungbefehls (mit PuTTY) erscheint diese Meldung:

Dienst ist derzeit nicht verfügbar. Möglicherweise ist Plesk falsch konfiguriert.
Kontaktieren Sie Ihren Provider für Details.

Internal Plesk error occurred: Unable to make action: Unable to manage service by websrvmng: websrvmng: Service apache2 failed to start


Rien ne va plus! - Wat nu?
:mad:
 
Hallo!
Änderungen wieder rückgängig machen und einmal /etc/init.d/psa restart ausführen.

mfG
Thorsten
 
Danke für den Tip, Thorsten. Inzwischen habe ich aber schon ein Server-
Restore gemacht. Damit waren die Änderungen auch wieder futsch. Ich habe
dann einfach 'ne Zeit gewartet, weil ich irgendwo in Plesk gelesen habe, dass
der Server automatisch nach 900 sec. neu startet.
Also - ich bin jetzt wieder drin, status quo! Damit stehe ich natürlich wieder
Am Anfang des Problems, wie schalte ich safe mode begrenzt auf eine Domain
bzw. für bestimmte PHP-Programme aus.

Die Änderungen hatten übrigens gut geklappt. Es gibt bei mir unter ../conf/ nur
die Dateien http.include und http.include.new, aber keine vhost.conf.
Diese habe ich dann selbst geschrieben, aber vielleicht habe ich da etwas
falsch gemacht.

In der http.include war die Änderung richtig eingetragen (Die rote Zeile war
neu hinzugefügt worden.):
Code:
[SIZE="2"]<VirtualHost xxx.xxx.xxx.xxx:443>
	.
	.... 'ne ganze Menge Fach-Chinesisch .....
	.
	ErrorDocument 404 /error_docs/not_found.html
	ErrorDocument 500 /error_docs/internal_server_error.html
	[COLOR="Red"]Include /var/www/vhosts/meine-domain/conf/vhost.conf[/COLOR]
</VirtualHost>[/SIZE]


Und in die vhost.conf hatte ich folgendes geschrieben, wobei ich einfach
einen Teil aus der http.include kopiert und die zwei roten Zeilen hinzugefügt habe. :o
Code:
# /var/www/vhosts/meine-domain/conf/vhost.conf

<VirtualHost 87.106.37.129:443>
	ServerName   meine-domain:443
	ServerAlias  meine-domain
	UseCanonicalName Off
	SuexecUserGroup         XXXXXXX psacln
	ServerAdmin  (emailadresse)
	DocumentRoot /var/www/vhosts/meine-domain/httpdocs
	CustomLog  /var/www/vhosts/meine-domain/statistics/logs/access_ssl_log plesklog
	ErrorLog     /var/www/vhosts/meine-domain/statistics/logs/error_ssl_log
	[COLOR="Red"]php_admin_flag safe_mode off
	php_admin_flag register_globals on[/COLOR]

</VirtualHost>

Ich hoffe, dass ich nun kein internetweites, schallendes Glächter ausgelöst
habe.

Bitte helft mir, meine Fehler aufzudecken. Ich habe den V-Server übrigens
nicht aus beruflichen Gründen und auch nicht zu kommerziellen Zwecken
(das kommt vielleicht mal, wenn ich in Rente bin), aber ich habe ihn mir
als "Spielzeug" zugelegt, um damit auch mal unbekannte Welten zu betreten
und erforschen. - Hoffe, dass meine Fragen trotzdem ernst genommen
werden, denn - auch ein Spielzeug sollte funktionieren!:D

Josh
 
Hallo,
habe ich hier etwas falsch verstanden oder ist es nicht möglich den Safe Mode direkt in Plesk für verschiedene "Kunden" auszuschalten?
Ist das in Confixx möglich?
 
st es nicht möglich den Safe Mode direkt in Plesk für verschiedene "Kunden" auszuschalten?
Ist das in Confixx möglich?
Bei Confixx geht man dafuer auf "httpd Spezials", dann auf "einen Kunden aendern" und da dann die gewuenschten Aenderungen machen.
Das geht auch mit einzelnen Domains.

In Plesk sollte das auch gehen.

"php_admin_flag safe_mode off" ist schon richtig. Aber so wie es aussieht, gilt diese Direktive nur fuer deine "https:" Domain (Port 443).
 
Guin said:
"php_admin_flag safe_mode off" ist schon richtig. Aber so wie es aussieht, gilt diese Direktive nur fuer deine "https:" Domain (Port 443).
Ja, weil josh einen schon in der http.include definierten Teil in die vhost.conf kopiert hat, was imho nicht nötig wäre.

Eine vhost.conf mit
Code:
php_admin_flag safe_mode off
php_admin_flag register_globals on
sollte genügen, da diese ja in http.include eingebunden wird.

Gruß flyingoffice
 
Hallo!
Genau wie flyingoffice sagt: Es genügt, die beiden Kommandos in die vhost.conf zu schreiben. Im Anschluss noch /usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=meinedomain.de und es sollte funktionieren.

mfG
Thorsten
 
Danke, dass das Gelächter ausblieb!

Hallo, Ihr freundlichen Helfer!

Ich habe die Veränderungen eben noch mal vollzogen, und ...
der Server, PLESK und Apache sind NICHT abgeschmiert. Hurra! :)

Nun muss ich noch ausprobieren, ob die PHP-Programme, die nicht funktionierten,
jetzt laufen.

Herzlichen Dank!

PS: Vermutlich lag das Problem wirklich in den mitkopierten Zeilen aus der http.include.
Das werde ich aber jetzt nicht nochmal testen (als experimentum cruxis), bin froh, dass es läuft.
 
Nun ist alles in Ordnung.

Mein PHP-Programm läuft - und zwar nur an der vorgesehenen Stelle - reibungslos. An alle anderen Orten meines Servers ist safe mode weiterhin ON.

Herzlichen Dank für Eure Hilfe!

;) Ich befürchte, ich werde sie noch öfter benötigen. ;)

Josh
 
Thorsten said:
Es genügt, die beiden Kommandos in die vhost.conf zu schreiben. Im Anschluss noch /usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=meinedomain.de und es sollte funktionieren.
Jetzt hänge ich an der gleichen Stelle. Ich möchte eine vhost.conf im Plesk Skeleton anlegen und PHP von dort etwas restriktiver einstellen. Wenn ich in der vhost.conf folgendes definiere:
Code:
...
php_admin_value open_basedir none
php_admin_value open_basedir /var/www/vhosts/domain.tld/httpdocs
php_admin_value upload_tmp_dir /var/www/vhosts/domin.tld/tmp
...
sollte doch das von Plesk in http.include definiere open_basedir überschrieben werden? Tut es aber nicht, der Teil :/tmp bleibt bestehen.

Nachtrag: Habe das Problem selbst gelöst.
Code:
<Directory /var/www/vhosts/domain.tld/httpdocs>
	<IfModule sapi_apache2.c>
		php_admin_value open_basedir none
		php_admin_value open_basedir /var/www/vhosts/domain.tld/httpdocs
		php_admin_value upload_tmp_dir /var/www/vhosts/domain.tld/tmp
		php_admin_value safe_mode_exec_dir /var/www/vhosts/domain.tld/bin
		php_admin_value session.save_path /var/www/vhosts/domain.tld/var
	</IfModule>
	<IfModule mod_php5.c>
		php_admin_value open_basedir none
		php_admin_value open_basedir /var/www/vhosts/domain.tld/httpdocs
		php_admin_value upload_tmp_dir /var/www/vhosts/domain.tld/tmp
		php_admin_value safe_mode_exec_dir /var/www/vhosts/domain.tld/bin
		php_admin_value session.save_path /var/www/vhosts/domain.tld/var
	</IfModule>
</Directory>

Gruß flyingoffice
 
Last edited by a moderator:
so wieder zurück! Sorry das ich nichts mehr geschrieben habe, ging aus techn. gründen nicht! Danke für euere hilfe! Ihr seit spitze
 
Back
Top