apache web-server

10 posts / 0 new
Last post
Marius Sirbu
apache web-server

Buna,
mai am o problema mare:
Am vrut sa fac un server web (acasa, de test) cu Mandreiva LE (e simplu, nu?) Problema vine abia acuma: am un director php in care am creat niste scripturi php /home/marius/work/php caruia i-am facut un link in /var/www/html cu comanzile:
su...
cd /var/www/html
ln -s /home/marius/work/php

daca vreau sa accesez una din aplicatiile facute, primesc mesajul de eroare 403 - Forbidden, etc.
In schimb, daca copiez directorul ~/work/php in var/www/html/php/, pot folosi aplicatiile, fara a mai primi mesajul de eroare.

Cum pot scapa de acest mesaj? (imi este mai folositor link-ul, deoarece pot modifica scripturile si am acces direct la ultimele modificari, fara a ma copia fisierele din directorul meu, in directorul http://www...)

Multumesc anticipat pentru ajutor

cosmin
cosmin's picture
Re: apache web-server

Nu sunt sigur că asta e problema, dar:
Userul apache are voie să citească conţinutul directorului /home/marius/work/php?

Încearcă să dai drepturi de citire pentru others.

[url=http://counter.li.org/]Linux registered user #368449[/url]

Marius Sirbu
Re: apache web-server

exista drepturi de citire atit pentru grup si pentru altii pe directorul /home/marius/php, si pe subdirectoarele acestuia...

Marius
-----------------------------------------
Linux registered user # 419668

cosmin
cosmin's picture
Re: apache web-server

Sunt şi drepturi de execuţie pe directoare? S-ar putea să fie mai importante decât cele de citire. Poate chiar suficiente. Implicit, s-ar putea ca /home/marius să nu poată fi executat decât de marius.

[url=http://counter.li.org/]Linux registered user #368449[/url]

adyx
Re: apache web-server

Pentru directoare executia semnifica dreptul de cd , adica de a intra in director. Daca nu il ai poti accesa numai daca stii numele fisierului. Nu cred ca e cazul aici deoarece programul stie ce sa ia de acolo. Aveti deja un tutorial pentru permisiuni aici. Cititi-l cu atentie. Poate va lamureste maaxx, stie mai multe despre Apache.

We can't solve problems by using the same kind of thinking we used when we created them.
A.E.

cosmin
cosmin's picture
Re: apache web-server

Din câte ştiu eu, nu poţi accesa un fişier, chiar dacă îi ştii numele, în situaţia în care directorul nu poate fi executat. Ce spui tu, adyx, e valabil pentru lipsa dreptului de citire (listare a conţinutului).

Şi eu am nişte php-uri în /home, cu un link simbolic către /var/www/html. Am scos dreptul de execuţie pe /home/cosmin şi am primit 403 Forbidden.

[url=http://counter.li.org/]Linux registered user #368449[/url]

adyx
Re: apache web-server

Chestia cu permisiunile pe linux implica destula finete si chiar cu un manual in fata trebuie sa stai sa te gandesti exact ce se intampla. Deci poti citi si scrie intr-un director fara sa ai drept de execute, daca ai drept de write (w). Poti modifica/citi un fisier daca ai drept de scriere citire pe el (drepturile sunt ale fisierului). Dar daca ai numai drept de execute pe director, poti lista fisierele numai daca le stii numele, deoarece comanda ls sau dreptul de citire (r) pe director nu este activat. Execute iti da dreptul numai sa examinezi continutul, nu are nici o legatura cu altceva. Permisiunile pentru director le vezi cu
ls -ld /calecatre/director
Ce am scris mai sus legat de accesare e "batut in cuie" si e citata din Mark G. Sobel - "A practical guide to Red Hat Linux". Pana la urma nu stiu cum am ajuns cu discutia la drepturile directorului respectiv, deoarece pe el il intereseaza mai degraba drepturile fisirelor din el. Daca ai rwx pe un director nu inseamna ca nu poti avea in el un fisier care nu poate fi modificat. Inseamna numai ca poti vedea continutul cu ls , poti crea directoare si fisiere noi si poti face cd in director...

We can't solve problems by using the same kind of thinking we used when we created them.
A.E.

Marius Sirbu
Re: apache web-server

Ati avut dreptate, era vorba doar de permisiuni asupra directoruluii. Din joaca, eu am taiat drepturile de citire asupra directorului /home/marius, chiar daca pe restul le facusem citibile si de catre altii

Multumesc tare mult pt. ajutor

Marius
-----------------------------------------
Linux registered user # 419668

cosmin
cosmin's picture
Re: apache web-server

Îmi pare bine că ai rezolvat.
O alternativă la link-ul simbolic în /var/www/html ar fi să faci "user homepage". Adică ceva de genul http://localhost/~marius/. În acest caz, este foarte uşor ca mai mulţi utilizatori să aibă propriul site.

Poţi citi despre asta aici.

[url=http://counter.li.org/]Linux registered user #368449[/url]

aurelian
Re: apache web-server

sau un virtual host:
http://marius

in etc.hosts adaugi linia:

127.0.0.1   marius

si in httpd.conf

NameVirtualHost *:80


    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /home/marius/php
    ServerName marius