Frage zum debianhowto: SuPHP und Mod_PHP gemeinsam nutzen

Apache, Lighttpd, nginx, Cherokee
Post Reply
sfeni
Posts: 341
Joined: 2002-08-15 11:35
Location: Schwabenland
 

Frage zum debianhowto: SuPHP und Mod_PHP gemeinsam nutzen

Post by sfeni »

Wir kann ich bei SuPHP folgende Optionen einstellen für jeden VHost?

Code: Select all

php_admin_value open_basedir /www/homepages/username
php_admin_value upload_tmp_dir /www/homepages/username/phptmp
php_admin_value session.save_path /www/homepages/username/phptmp
php_admin_value include_path "."
php_admin_flag engine on
php_admin_flag safe_mode on
php_admin_flag safe_mode_gid on
jamesb
Posts: 661
Joined: 2002-05-08 15:35
Location: Karlsruhe
Contact:
 

Re: Frage zum debianhowto: SuPHP und Mod_PHP gemeinsam nutzen

Post by jamesb »

Das musst du direkt in die php.ini eintragen. Falls du mal davon abweichen willst, musst du dazu deine php.ini kopieren und die Kopie anpassen. Dann das ganze in dem entsprechenden VHost angeben. (Bitte in der suPHP-Hilfe nachgucken, hab's jetzt net im Kopf)

JamesB
sfeni
Posts: 341
Joined: 2002-08-15 11:35
Location: Schwabenland
 

Re: Frage zum debianhowto: SuPHP und Mod_PHP gemeinsam nutzen

Post by sfeni »

hab mal in doe doku geschaut... brauche dann also für jeden user eine php.ini...

also so ungefähr sieht dann ein VHost aus:

Code: Select all

<VirtualHost 123.123.123.123>
ServerName domain.de
ServerAlias www.domain.de
DocumentRoot /www/homepages/user01/htdocs/
suPHP_Config /www/conf/user01/php.ini
User user01
Group www
ScriptAlias /cgi-bin/ /www/homepages/user01/htdocs/cgi-bin/
CustomLog /www/logs/user01/access.log common
ErrorLog /www/logs/user01/error.log
</VirtualHost>
Oder?

Und diese Einstellungen dann in "/www/conf/user01/php.ini":

Code: Select all

open_basedir /www/homepages/user01
upload_tmp_dir /www/homepages/user01/phptmp
session.save_path /www/homepages/user01/phptmp
include_path "."
engine on
safe_mode on
safe_mode_gid on
zusätzlich dann natürlich die restlichen sachen aus der standard php.ini
sfeni
Posts: 341
Joined: 2002-08-15 11:35
Location: Schwabenland
 

Re: Frage zum debianhowto: SuPHP und Mod_PHP gemeinsam nutzen

Post by sfeni »

Habe nun mal eine komplette Konfiguration für einen User erstellt.
Hier heißt der User u0000001:

Code: Select all

[PHP]

;;;;;;;;;;;;;;;;;;;;
; Language Options ;
;;;;;;;;;;;;;;;;;;;;

engine = On
short_open_tag = On
asp_tags = Off
precision    =  14
y2k_compliance = Off
output_buffering = Off
output_handler =
zlib.output_compression = Off
implicit_flush = Off
allow_call_time_pass_reference = On

;
; Safe Mode
;
safe_mode = On
safe_mode_gid = On
safe_mode_include_dir =        
safe_mode_exec_dir =
open_basedir = /www/homepages/u0000001
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
disable_functions =

highlight.string  = #CC0000
highlight.comment = #FF9900
highlight.keyword = #006600
highlight.bg      = #FFFFFF
highlight.default = #0000CC
highlight.html    = #000000

expose_php = On

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30
memory_limit = 8M

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

error_reporting  =  E_ALL & ~E_NOTICE
display_errors = On
display_startup_errors = Off
log_errors = Off
track_errors = Off
;html_errors = Off
;error_prepend_string = "<font color=ff0000>"
;error_append_string = "</font>"
;error_log = filename
;error_log = syslog
warn_plus_overloading = Off

;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;

;arg_separator.output = "&"
;arg_separator.input = ";&"
variables_order = "EGPCS"
register_globals = On
register_argc_argv = On

post_max_size = 8M
gpc_order = "GPC"

; Magic quotes
;

magic_quotes_gpc = On
magic_quotes_runtime = Off    
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
;default_charset = "iso-8859-1"

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

;include_path = ".:/php/includes"
include_path = "."
doc_root =
user_dir =
; extension_dir = ./
enable_dl = On

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

file_uploads = On
upload_tmp_dir = /www/homepages/u0000001/phptmp
upload_max_filesize = 2M

;;;;;;;;;;;;;;;;;;
; Fopen wrappers ;
;;;;;;;;;;;;;;;;;;

allow_url_fopen = On
;from="john@doe.com"

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

; Look at EOF

;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

[Syslog]
define_syslog_variables  = Off

[mail function]
sendmail_path = /usr/sbin/sendmail -t -i

[Logging]
;logging.method = db
;logging.directory = /path/to/log/directory

[Java]
;java.class.path = .php_java.jar
;java.home = c:jdk
;java.library = c:jdkjrebinhotspotjvm.dll 
;java.library.path = .

[SQL]
sql.safe_mode = Off

[ODBC]
;odbc.default_db    =  Not yet implemented
;odbc.default_user  =  Not yet implemented
;odbc.default_pw    =  Not yet implemented

odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1  
odbc.defaultlrl = 4096  
odbc.defaultbinmode = 1  

[MySQL]
mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =

[mSQL]
msql.allow_persistent = On
msql.max_persistent = -1
msql.max_links = -1

[PostgresSQL]
pgsql.allow_persistent = On
pgsql.max_persistent = -1
pgsql.max_links = -1

[Sybase]
sybase.allow_persistent = On
sybase.max_persistent = -1
sybase.max_links = -1
sybase.interface_file = "/etc/freetds/interfaces"
sybase.min_error_severity = 10
sybase.min_message_severity = 10
sybase.compatability_mode = Off

[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10

[bcmath]
bcmath.scale = 0

[browscap]
;browscap = extra/browscap.ini

[Informix]
ifx.default_host =
ifx.default_user =
ifx.default_password =
ifx.allow_persistent = On
ifx.max_persistent = -1
ifx.max_links = -1
ifx.textasvarchar = 0
ifx.byteasvarchar = 0
ifx.charasvarchar = 0
ifx.blobinfile = 0
ifx.nullformat = 0

[Session]
session.save_handler = files
session.save_path = /www/homepages/u0000001/phptmp
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_maxlifetime = 1440
session.referer_check =
session.entropy_length = 0
session.entropy_file =
;session.entropy_length = 16
;session.entropy_file = /dev/urandom
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 1

url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
;mssql.textlimit = 4096
;mssql.textsize = 4096
;mssql.batchsize = 0

[Assertion]
;assert.active = On
;assert.warning = On
;assert.bail = Off
;assert.callback = 0
;assert.quiet_eval = 0

[Ingres II]
ingres.allow_persistent = On
ingres.max_persistent = -1
ingres.max_links = -1
ingres.default_database =
ingres.default_user =
ingres.default_password =

[Verisign Payflow Pro]
pfpro.defaulthost = "test-payflow.verisign.com"
pfpro.defaultport = 443
pfpro.defaulttimeout = 30
;pfpro.proxyaddress =
;pfpro.proxyport =
;pfpro.proxylogon =
;pfpro.proxypassword =

[Sockets]
sockets.use_system_read = On

[com]
;com.typelib_file = 
;com.allow_dcom = true
;com.autoregister_typelib = true
;com.autoregister_casesensitive = false
;com.autoregister_verbose = true

[Printer]
;printer.default_printer = ""

[mbstring]
;mbstring.internal_encoding = EUC-JP
;mbstring.http_input = auto
;mbstring.http_output = SJIS
;mbstring.detect_order = auto
;mbstring.substitute_character = none;

[FrontBase]
;fbsql.allow_persistant = On
;fbsql.autocommit = On
;fbsql.default_database = 
;fbsql.default_database_password =
;fbsql.default_host =
;fbsql.default_password =
;fbsql.default_user = "_SYSTEM"
;fbsql.generate_warnings = Off
;fbsql.max_connections = 128
;fbsql.max_links = 128
;fbsql.max_persistent = -1
;fbsql.max_results = 128
;fbsql.mbatchSize = 1000

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

extension=imap.so
extension=mcal.so
extension=mcrypt.so
extension=mhash.so
extension=gd.so
extension=mysql.so
Aufbau des Verzeichnisses "/www/homepages/u0000001":

Code: Select all

dr-xr-xr-x    6 u0000001 proftp       4096 May 20 11:21 .
drwxr-xr-x    5 u0000001 proftp       4096 May 20 11:44 htdocs
drwxrwxr-x    2 u0000001 proftp       4096 Feb 28  2002 phptmp
/www/homepages/u0000001/htdocs ist das http-root
/www/homepages/u0000001/phptmp ist das php-temp verzeichnis in dem alles cookies, dateiuploads, ... hingehen
/www/homepages/u0000001 ist das user-root

Der Apache läuft als www-data:proftp.
Und ein VirtualHost wird so aussehen:

Code: Select all

<VirtualHost 123.123.123.123> 
ServerName domain.de 
ServerAlias www.domain.de 
DocumentRoot /www/homepages/u0000001/htdocs/ 
suPHP_Config /www/conf/u0000001/php.ini 
User u0000001
Group proftp
ScriptAlias /cgi-bin/ /www/homepages/u0000001/htdocs/cgi-bin/ 
CustomLog /www/logs/u0000001/access.log common 
ErrorLog /www/logs/u0000001/error.log 
</VirtualHost>
Anregungen zur KOnfiguration bitte hier posten. Danke
sfeni
Posts: 341
Joined: 2002-08-15 11:35
Location: Schwabenland
 

Re: Frage zum debianhowto: SuPHP und Mod_PHP gemeinsam nutzen

Post by sfeni »

Weis keiner ob das nun so funktioniert?
gamecrash
Posts: 339
Joined: 2002-05-27 10:52
 

Re: Frage zum debianhowto: SuPHP und Mod_PHP gemeinsam nutzen

Post by gamecrash »

Woher denn? ;) Aber wenn Du's ausprobierst, dann weißt es wenigstens Du...
sfeni
Posts: 341
Joined: 2002-08-15 11:35
Location: Schwabenland
 

Re: Frage zum debianhowto: SuPHP und Mod_PHP gemeinsam nutzen

Post by sfeni »

Hmmmmmmmm, wenn es hein HowTo für gibt, dann hat das doch sicher irgendeiner im Einsatz, deswegen habe ich ja gefragt...

Werds mal testen die nächsten Tage...
jamesb
Posts: 661
Joined: 2002-05-08 15:35
Location: Karlsruhe
Contact:
 

Re: Frage zum debianhowto: SuPHP und Mod_PHP gemeinsam nutzen

Post by jamesb »

[quote="Sfeni"]

Code: Select all

suPHP_Config /www/conf/u0000001/php.ini [/quote]
Das wird so nicht funktionieren, da du IMHO den Ordner angeben musst, in dem sich die php.ini befindet. D.h. du müsstest /www/conf/u0000001/ angeben, dass er die darin gespeicherte php.ini benutzt.

Das ganze ist so umständlich, da PHP als Commandline-Option nicht direkt eine php.ini annimmt, sondern nur den Ordner, in dem sie liegt.

JamesB
sfeni
Posts: 341
Joined: 2002-08-15 11:35
Location: Schwabenland
 

Re: Frage zum debianhowto: SuPHP und Mod_PHP gemeinsam nutzen

Post by sfeni »

Danke...

Noch irgendwelche Verbesserungen?
Post Reply