Avatar billede kullebo Nybegynder
12. juli 2006 - 10:26 Der er 28 kommentarer og
1 løsning

Låse Vhost til egen mappe

Hej Apache eksperter,

Jeg kører med Vhosts og har et problem. en komponent på et cms system på en af siderne, får pludselig adgang til mapperne "bagved" sin egen webmappe.

eks.
c:/data/webmappe1
c:/data/webmappe2

komponenten kan se biblioteket data, altså samtilige websider.

Hvad gør jeg? og hvordan
Mvh.
Avatar billede ttopholm Nybegynder
12. juli 2006 - 15:12 #1
Du bruger php's open_basedir, hvor du kan definere dens bibliotek...
Avatar billede ttopholm Nybegynder
12. juli 2006 - 15:14 #2
Avatar billede kullebo Nybegynder
12. juli 2006 - 20:22 #3
Jeg er ikke helt med, sorry.
du er med på at websiden i mappen "webmappe1" kan se tilbage i mappen "data"? og i princippet slette de andre sites.
Avatar billede ttopholm Nybegynder
12. juli 2006 - 20:28 #4
Ja... men openbase_dir låser websiden inde i webmappe1, og det kan så ikke gå tilbage i data
Avatar billede kullebo Nybegynder
12. juli 2006 - 20:33 #5
Php.ini ser sådan ud...
Er det her jeg ændrer noget? jeg er helt ny i problemet,
håber du ikke krøller tær :-)

; open_basedir, if set, limits all file operations to the defined directory
; and below.  This directive makes most sense if used in a per-directory
; or per-virtualhost web server configuration file. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
;open_basedir =
Avatar billede ttopholm Nybegynder
12. juli 2006 - 20:37 #6
Ja... men Du skal gøre det i vhost
Avatar billede ttopholm Nybegynder
12. juli 2006 - 20:40 #7
i httpd.conf
Avatar billede ttopholm Nybegynder
12. juli 2006 - 20:41 #8
Dette skal du sætte ind i dine Vhost
  php_admin_value open_basedir <stien>

Hvor stien for det meste er den samme som documentRoot
Avatar billede kullebo Nybegynder
12. juli 2006 - 20:42 #9
Øøhh, noget lignende det her?

<VirtualHost *:80>
DocumentRoot c:/data/webmappe1
ServerName domæne1.dk
ServerAlias www.domæne1.dk
php_admin_value open_basedir /webmappe1
</VirtualHost>
Avatar billede kullebo Nybegynder
12. juli 2006 - 20:46 #10
du nåede lige at skrive inden mit indlæg. skal jeg have et mellemrum efter open_basedir eller en skråstreg?
Avatar billede kullebo Nybegynder
12. juli 2006 - 20:56 #11
Mellemrum :-) Du har lige reddet min dag, takker og bukker
Avatar billede ttopholm Nybegynder
12. juli 2006 - 20:57 #12
Det var så lidt...
Avatar billede ttopholm Nybegynder
12. juli 2006 - 21:02 #13
POint, hvad skete der der...
Avatar billede ttopholm Nybegynder
12. juli 2006 - 21:09 #14
Ved rigtigt svar, er det nu meget normalt at give point til den der besvarede det korrekt.
Avatar billede kullebo Nybegynder
12. juli 2006 - 21:22 #15
øhh? det må du nok sige? ved ikke lige hvad der skete kan man gi sig selv point ??
kan jeg ændre det ( er vist lidt træt i dag)
Avatar billede kullebo Nybegynder
12. juli 2006 - 21:26 #16
Avatar billede kullebo Nybegynder
13. juli 2006 - 21:01 #17
Nyt problem!!

Nu kan jeg ikke uploade billeder til websiden.
php.ini siger at de skal vende i tmp biblioteket, som ligger uden for websidens mappe
eks. c:/php/tmp

kan man opsætte individuelle tmp mapper for de forskellige sites?
Avatar billede ttopholm Nybegynder
13. juli 2006 - 21:14 #18
du kan bare tilføje den i php.ini under den orignale indstilling. men du kan ikke bruge copy_uploaded_file, men du skal bruge move_uploaded_file

Men ellers se php.net, der er det forklaret.
Avatar billede kullebo Nybegynder
13. juli 2006 - 21:32 #19
Jamen er det muligt at flytte en fil fra et bibliotek som jeg ikke kan komme i?
denne linie sikrer jo at jeg BLIVER i mappen php_admin_value open_basedir /webmappe1

Browseren skriver sådan

Error: Cannot read uploaded full image temp file: c:/wamp/tmp\php108.tmp.
One common reason for this that the upload path cannot be accessed
because of the open_basedir settings in the php.ini. Or maybe the
directory for temporary upload files on this server is not readable
Avatar billede ttopholm Nybegynder
13. juli 2006 - 21:58 #20
Du skal jo også tilføje dit tmp bibliotek til open_basedir:

php_admin_value open_basedir /webmappe1; C:/wamp/tmp
Avatar billede kullebo Nybegynder
13. juli 2006 - 22:10 #21
Hmm, når jeg tilføjer ; C:/wamp/tmp stopper serveren og vil ikke starte.
laver man bare en semmikolon og et mellemrum efterfulgt af stien til de andre tilladte biblioteker?

jeg er ikke helt med på, hvad og hvor jeg skal ændre noget i php.ini
Avatar billede ttopholm Nybegynder
13. juli 2006 - 23:17 #22
tror bare du skal have mellemrum istedet for ;

Du har en open_basedir indstilling i php.ini, den er global, der kan du skrive det også...
Avatar billede kullebo Nybegynder
14. juli 2006 - 15:17 #23
Det virker ikke uanset hvad pokker jeg gør, hmm øv

kig lige en gang

Vhost
<VirtualHost *:80>
DocumentRoot C:/wamp/mysql/data/avg
ServerName test.xx.dk
ServerAlias www.xx.dk
php_admin_value open_basedir C:/wamp/mysql/data/avg
</VirtualHost>

min php.ini

; open_basedir, if set, limits all file operations to the defined directory
; and below.  This directive makes most sense if used in a per-directory
; or per-virtualhost web server configuration file. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
; open_basedir =

Kan hjælpe med opsætning?
Mvh, Kim.
Avatar billede ttopholm Nybegynder
14. juli 2006 - 15:29 #24
prøv denne:

<VirtualHost *:80>
DocumentRoot C:/wamp/mysql/data/avg
ServerName test.xx.dk
ServerAlias www.xx.dk
php_admin_value open_basedir C:/wamp/mysql/data/avg C:/wamp/tmp
</VirtualHost>
Avatar billede kullebo Nybegynder
17. juli 2006 - 21:21 #25
Når jeg sætter linien ind vil apache ikke starte.
jeg har prøvet at adskille de to stier på næsten alle måder
Avatar billede kullebo Nybegynder
17. juli 2006 - 21:22 #26
kan der være et parameter længere oppe i configfilen der overstyrer v hosts indhold?
Avatar billede ttopholm Nybegynder
17. juli 2006 - 21:51 #27
Hvad siger php.net til det...
Avatar billede ttopholm Nybegynder
17. juli 2006 - 21:53 #28
på php.net står der:

Under Windows, separate the directories with a semicolon. On all other systems, separate the directories with a colon. As an Apache module, open_basedir paths from parent directories are now automatically inherited.

Så det burde løse det
Avatar billede kullebo Nybegynder
17. juli 2006 - 22:03 #29
Sådan!!, jeg havde prøvet med semmikolon, men bare også med mellemrum.
mange tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester