Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Apache - Permission denied
Forum PHP.pl > Forum > Serwery WWW > Apache
Mega_88
Witam Wszystkich !

Serwer klienta gdzie postanowił zainstalować Apache + PHP 5.5.21. Nie chce mi działać wgrywanie/kasowanie plików przez www. Na FTP normalnie się kasują/wgrywają. Jednak kiedy chcę wykonać kasowanie przez skrypt php to wywala

  1. Warning: unlink(images/glowne/174.jpg): Permission denied in /volume1/web/include/oferta_edytuj.php on line 289 Warning: unlink(images/glowne/174-s.jpg): Permission denied in /volume1/web/include/oferta_edytuj.php on line 289


Tutaj kod, którym kasuję ( na innych serwerach działa bez problemu, tylko tutaj jest problem )

  1. if(isset($_GET['kasuj_glowne']) AND $_GET['kasuj_glowne']=='true') {
  2. $plik1='images/glowne/'.$idp.'-s.jpg';
  3. if(file_exists($plik1)) { $plik='images/glowne/'.$idp.'.jpg'; unlink($plik); $pliks='images/glowne/'.$idp.'-s.jpg'; unlink($pliks); }
  4. }


Chmody ustawione na 0777, dla folderu głównego, dla folderów images i glowne sam plik oferta_edytuj.php również ma już chmod ustawione na 0777. Wykonanie prostego polecenia jak poniżej i efekt ten sam, nie tworzy katalogu.

  1. <?php
  2. $dir = "test";
  3. mkdir($dir, 0777);
  4. ?>


Co może być nie tak w konfiguracji serwera ? Co mam mu napisać, że ma włączyć/wyłączyć w jakim kierunku iść ? Tak naprawdę gdzie szukać źródła problemu ?
Mlodycompany
zapewne apache nie ma uprawnień do tego pliku. daj wynik
Kod
ls -l pełna_scieżka_do_pliku.jpg
b4rt3kk
Daj:

Kod
chmod -R 777 images


ewentualnie:

Kod
chmod 777 images/*
Mlodycompany
Cytat(b4rt3kk @ 25.03.2015, 15:01:09 ) *
Daj:

Kod
chmod -R 777 images


ewentualnie:

Kod
chmod 777 images/*

To rozwiązanie jest równie bandyckie jak wyjęcie żarówki od kontrolki ABSu w samochodzie, ale działa równie skutecznie wink.gif
Mega_88
Dzięki, za odpowiedzi, ale to nie rozwiązuje problemu.

Strona która jest na tym serwerze ma CMS'a i nie działa tam wgrywanie/kasowanie plików,folderów przez CMS coś jest chyba pomieszane z prawami użytkowników tylko nie wiem co bo nie znam się na konfigurowaniu apache, a administrator serwera ogranicza się jedynie do: "To co mam włączyć na serwerze". Tylko nie wiem gdzie szukać źródła problemu. Użytkowników zakładał, przydzielał im prawa idt i nic.

Czy jest jakiś user, który działa przez http na serwerze ? Jak przydzielić lub jak ustawić żeby przez przeglądarkę mógł wgrać/skasować plik skryptem php co jest za to odpowiedzialne ?
b4rt3kk
Cytat(Mega_88 @ 25.03.2015, 16:17:16 ) *
Dzięki, za odpowiedzi, ale to nie rozwiązuje problemu.

Strona która jest na tym serwerze ma CMS'a i nie działa tam wgrywanie/kasowanie plików,folderów przez CMS coś jest chyba pomieszane z prawami użytkowników tylko nie wiem co bo nie znam się na konfigurowaniu apache, a administrator serwera ogranicza się jedynie do: "To co mam włączyć na serwerze". Tylko nie wiem gdzie szukać źródła problemu. Użytkowników zakładał, przydzielał im prawa idt i nic.

Czy jest jakiś user, który działa przez http na serwerze ? Jak przydzielić lub jak ustawić żeby przez przeglądarkę mógł wgrać/skasować plik skryptem php co jest za to odpowiedzialne ?


Zazwyczaj jest to www-data, ale to nie on powinien mieć owna dla plików, tylko klient ftp. Czego używasz do ftp? vsftpd?
Mega_88
Do FTP korzystam z WinSCP, ale z FTP nie mam problemu tam jest wszystko ok, problem jest jak chcę coś zrobić w CMS przez przeglądarkę wgrać plik/skasować/utworzyć folder. Nawet jak wrzucę:

  1. <?php
  2. mkdir("/path/to/my/dir", 0700);
  3. ?>


To i tak go nie tworzy, jakby nie było uprawnień dla skryptów php przez przeglądarkę, nie wiem w czym problem... Na innych serwerach śmiga bez problemu.
b4rt3kk
Cytat(Mega_88 @ 25.03.2015, 23:26:25 ) *
Do FTP korzystam z WinSCP, ale z FTP nie mam problemu tam jest wszystko ok, problem jest jak chcę coś zrobić w CMS przez przeglądarkę wgrać plik/skasować/utworzyć folder. Nawet jak wrzucę:

  1. <?php
  2. mkdir("/path/to/my/dir", 0700);
  3. ?>


To i tak go nie tworzy, jakby nie było uprawnień dla skryptów php przez przeglądarkę, nie wiem w czym problem... Na innych serwerach śmiga bez problemu.


Nie pytam czym wrzucasz pliki na serwer, tylko jaki masz serwer ftp zainstalowany na serwerze. Połączenie http(s) korzysta z usera apacha, czyli prawdopodobnie www-data, ale nie możesz zmienić ownera plików na www-data, bo wtedy będziesz miał problemy z wrzucaniem plików poprzez ftp. Jeśli na innych serwerach śmiga bez problemu to na 100% problem jest w uprawnieniach użytkownika korzystającego z danego katalogu. Zaloguj się przez ssh, przejdź do folderu images i odpal komendę ls -a -l i wklej tutaj wynik.
Mlodycompany
Jeśli masz roota na serwerze to sprawa jest bardzo prosta. W pliku ustawień Apache jest wpisany użytkownik oraz grupa, na której działa usługa Apache. Ten użytkownik i grupa musi mieć odpowiednie prawa do plików do których ma wgrywać pliki/kasować/etc.
Mega_88
Cytat(Mlodycompany @ 26.03.2015, 08:16:51 ) *
Jeśli masz roota na serwerze to sprawa jest bardzo prosta. W pliku ustawień Apache jest wpisany użytkownik oraz grupa, na której działa usługa Apache. Ten użytkownik i grupa musi mieć odpowiednie prawa do plików do których ma wgrywać pliki/kasować/etc.


Użyłem PuTTY i przy próbie połączenie po IP: Network error: Connection refused. Znowu coś nie tak z serwerem, że po SSH nie mogę się połączyć ?
Mlodycompany
Cytat(Mega_88 @ 26.03.2015, 08:32:11 ) *
Użyłem PuTTY i przy próbie połączenie po IP: Network error: Connection refused. Znowu coś nie tak z serwerem, że po SSH nie mogę się połączyć ?

No serwer nie odpowiada. Pingi lecą?
Mega_88
Tak, wrzucam w CMD: ping ADRES_IP i normalnie lecą

Odpowiedź z ADRES_IP bajtów=32 czas 19ms TTL=57
...
...
...

Statystyka badania ping dla ADRES_IP
Pakiety: Wysłane = 4, Odebrane = 4, Utracone = 0
...

ctom
Cytat(Mega_88 @ 26.03.2015, 08:32:11 ) *
Użyłem PuTTY i przy próbie połączenie po IP: Network error: Connection refused. Znowu coś nie tak z serwerem, że po SSH nie mogę się połączyć ?


ale łączysz się na odpowiednim porcie i masz praw by się zalogować po ssh ?
redeemer
Cytat(Mlodycompany @ 26.03.2015, 08:36:56 ) *
No serwer nie odpowiada. Pingi lecą?
Wprowadzasz w błąd. Connection refused oznacza, że serwer jak najbardziej odpowiada, ale odrzuca połączenie.
Mega_88
Już wszystko jasne, nie mam uprawnień jako user, tylko admin może się połączyć po SSH więc wysyłam do niego informację żeby po SSH wykonał komendę ls -a -l ?

Czy to nic nie zmieni skoro on jest adminem ?

Ok, więc admin serwera przesłał mi coś takiego: http://www.up.4clubbers.pl/out.php/i45714_ssh.jpg
b4rt3kk
Cytat(Mega_88 @ 26.03.2015, 10:09:57 ) *
Już wszystko jasne, nie mam uprawnień jako user, tylko admin może się połączyć po SSH więc wysyłam do niego informację żeby po SSH wykonał komendę ls -a -l ?

Czy to nic nie zmieni skoro on jest adminem ?

Ok, więc admin serwera przesłał mi coś takiego: http://www.up.4clubbers.pl/out.php/i45714_ssh.jpg


No i wszystko jasne, pliki mają nieodpowiedniego owna. Powinien to być albo user przypisany do serwera FTP, albo user apacha. Poproś admina, żeby zmienił ownera na prawidłowego (niech nie zapomni o grupie).

Kod
chown -R [user]:[group] [sciezka]


Co to za hosting, że takie kwiatki?
ctom
Cytat(Mega_88 @ 26.03.2015, 10:09:57 ) *
Czy to nic nie zmieni skoro on jest adminem ?


myślę, że sporo zmieni gdy przestanie nim być (lub się za takiego podawać) ;-)
Mega_88
Cytat(b4rt3kk @ 26.03.2015, 10:46:08 ) *
No i wszystko jasne, pliki mają nieodpowiedniego owna. Powinien to być albo user przypisany do serwera FTP, albo user apacha. Poproś admina, żeby zmienił ownera na prawidłowego (niech nie zapomni o grupie).

Kod
chown -R [user]:[group] [sciezka]


Co to za hosting, że takie kwiatki?


Czyli mówisz, że jak zmieni to co napisałeś prawidłowo wtedy przez CMS powinienem normalnie ładować/kasować pliki ? Czy to dopiero początek drogi do sukcesu ? smile.gif

To jest jakiś jego serwer czy coś w tym stylu.
b4rt3kk
Cytat(Mega_88 @ 26.03.2015, 11:28:19 ) *
Czyli mówisz, że jak zmieni to co napisałeś prawidłowo wtedy przez CMS powinienem normalnie ładować/kasować pliki ? Czy to dopiero początek drogi do sukcesu ? smile.gif

To jest jakiś jego serwer czy coś w tym stylu.


Jeśli choć trochę się na tym zna, to od razu powinien całość dobrze skonfigurować.

Owna powinien zmienić dla wszystkich plików do których masz dostęp poprzez FTP oraz dla katalogu nadrzędnego (powinny być posiadane przez usera ftp i być w jego grupie). Niech zadba też o odpowiednie uprawnienia oraz ustawi odpowiednie uprawnienia dla nowo wrzucanych plików.

Jakbym miał hosting na serwerze z takim adminem, to bym go chyba zatłukł kijem, jakbym go spotkał. Na szczęście mam własny serwer, więc jak coś nie działa, to pretensję mogę mieć tylko do siebie.
Mega_88
Ok, wiadomość wysłana zobaczymy czy coś to da. Nie korzystam z tego serwera, wrzuciłem tylko na niego stronę którą dla niego wykonałem.

Dziękuje za dotychczasową pomoc smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.