PDA

Zobacz pełną wersję : Nie mogę instalować dodatków.



Bazyl
21-01-2009, 19:12
Witam,

Jak w temacie.
Instaluję komponent przez ftp Joomli. Coś tam się mieli, a po chwili wyskakuje informacja, że pobieram plik index.php.

Myślałem, że to jakieś pozostałości po wcześniej zainstalowanym komponencie, ale problem dotyczy także zupełnie nowych rzeczy.

Pisałem do hostingodawcy (fajne słowo?), który stwierdził, że to problem z ustawieniami atrybutów katalogów.

Wg. mnie wszystko jest ok.
Aha, jeszcze jedno: szablony się instalują.

1.5.8 -- 1.5.9
Pomożecie?

jantin
25-01-2009, 12:40
Witaj Bazylnet,

Zbyt ogólnie opisałeś problem, przynajmniej dla mnie, dopiero się Joomla uczę. Niemniej napotkałem kiedyś taki problem, który może zahaczać o Twój, więc go opiszę, na zasadzie, że gdzieś tam dzwonią, ale czy rzeczywiście dzwonią?

Ten problem to prawa do plików i katalogów na serwerze. Generalnie możesz je zmieniać/ustawiać przez klienta ftp, np FileZilla. Jednak nie zawsze. Przy zapisywaniu plików/katalogów serwer przyznaje im prawa użytkownika. Jeśli przesyłasz pliki na serwer klientem ftp to uzyskujesz do nich prawa, możesz zmieniać ich atrybuty, usuwać itp. Natomiast kiedy robisz to przez instalatora zaplecza Joomla, to prawa do przesłanych plików otrzymuje skrypt który je tam instaluje. Jak to wygląda praktycznie?

Zainstalowałem komponent przez instalatora, potem zmieniłem zdanie i chciałem go odinstalować. Deinstalacja się nie udała z innych powodów i postanowiłem ręcznie skasować pliki i katalog tego komponentu - przez klienta ftp. I figa. Nie mam prawa dostępu do tych plików, ma je tylko ten skrypt, który je zainstalował. Ponieważ przy odinstalowywaniu nastąpił crash, skrypt nic nie pomoże. Nie ma mowy o zmianie CHMOD, ani o usunięciu pliku czy katalogu. Nie można też ponownie zainstalować tego komponentu. Napisałem do "hostingodawcy", odpowiedział, że usunie ten katalog z pozycji administratora serwera, ale tego nie zrobił, i do dzisiaj leżą śmieci na koncie. Ponowny monit nic nie dał. Szukałem w sieci i znalazłem wątek na forum angielskim, na ten temat:

http://forum.joomla.org/viewtopic.php?f=428&t=274954&p=1428192

tam dyskusja jest szersza niż to co napisałem i oczywiście bardziej fachowa a dotyczy generalnie niemożliwości zmiany CHMOD przez ftp.

Nie pamiętam jaki to był komponent, i nie wiem czy problem jest generalny czy dotyczy tego specyficznego komponentu? Od tego czasu bardzo ostrożnie instaluje dodatki z pozycji automatycznych skryptów. Wolę robić to ręcznie.

Sprawdź przez klienta ftp czy nie zostały Ci jakies śmieci po poprzednio zainstalowanym komponencie, jeśli tak, usuń je ręcznie. Jeśli napotkasz opisany problem, może to być przyczyna kłopotów z instalacją nowego komponentu? Odpowiedź admina serwera sugeruje taką możliwość.

Rowiązania problemu nie znalazłem.

zwiastun
25-01-2009, 12:53
Problem opisywany wielokrotnie także na tym forum. Jeśli serwer nie jest dobrze skonfigurowany, nie ma cudownego rozwiązania.
Joomla 1.5 dysponuje mechanizmem rozwiązującym konflikt: należy skonfigurować obsługę FTP (zob. FAQ).
Problemy z usuwaniem może rozwiązać jxplorer (dawniej joomlaxplorer), a jeśli nie, to pozostaje skorzystanie z menedżera plików w CPanelu (lub innym programie obsługi konta) albo interwencja administratora serwera

jantin
26-01-2009, 00:54
do Zwiastun:
Rzeczywiście, teraz specjalnie nie przyłożyłem się do szukania tematu, opisałem tylko stare sprawy. To była J 1.5.6, host proste.pl. Dziś zerknąłem na tamten katalog i jednak usunęli te "skryptowe" pliki, dawno tam nie zaglądałem. Wtedy zainstalowałem eXtplrorer'a, ale i to nic nie dało. Byłem wtedy zupełne zero z Joomli i być może coś skopałem. Teraz zainstalowałem w to miejsce J 1.5.9 - do różnych ćwiczeń, a głównie do testowego instalowania róznych komponentów/dodatków. Dzięki za podsumowanie problemu.

Bazyl
26-01-2009, 01:00
Dzięki, Panowie.
Walczę z tym tematem od rana - brakuje umiejętności. Oczywiście jeszcze się nie poddaję.
Moja strona stoi na netlook.pl. Tyle mają w pomocy o J!

FAQ: Odpowiedzi na najczęściej zadawane pytania

Skrypty PHP - rozwiązywanie problemów z CMS Joomla


PROBLEM 1: Jak zabezpieczyć katalogi z prawami dostępu 777 przed hakerami?

Niektóre skrypty, takie jak Joomla, do poprawnej pracy potrzebują ustawienia praw dostępu do wybranych katalogów na 777. Takie ustawienie daje komfort pracy ze skryptem, ale może stać się potencjalnym niebezpieczeństwem jeżeli skrypt jaki używamy jest w wersji nieaktualnej, pozbawionej najnowszych łatek bezpieczeństwa niwelujących luki wykryte przez użytkowników.

Prostym i koniecznym do stosowania zabezpieczeniem takiego skryptu jest wgranie do katalogu z prawami 777 (np. katalog tmp, images, upload itp) pliku .htaccess z następującą dyrektywą:

php_flag engine off
<Files ~ "\.(php*|s?p?html|cgi|pl|htm)$">
deny from all
</Files>
W/w ustawienia wprowadzone do pliku .htaccess spowodują zakaz wywoływania plików z rozszerzeniem .htm, .html, .php, .cgi, .pl w katalogu z prawami dostępu 777. Katalogi z tymi uprawnieniami to przeważnie katalogu uploadu grafiki czy plików do dystrybucji, zatem nie potrzeba w nich uruchamiać możliwości wykonywania skryptów lub dokumentów .html. Dzięki takiemu prostemu zabezpieczeniu mają Państwo pewność, że nawet w sytuacji gdy nie zdążą Państwo zabezpieczyć swojego skryptu poprzez aktualizację do najnowszej wersji i jakiś "haker" spróbuje wgrać na Państwa stronę skrypty/kody phishingowe lub do wysyłania SPAMu, nie uruchomi ich.


PROBLEM 2: Podczas instalacji skryptu Joomla pojawia się błąd : Tymczasowy katalog sesji Niezapisywalny

Komunikat o braku dostępu do tymczasowego katalogu sesji jest normalny i można go ignorować podczas instalacji skryptu. Aby zmienić ustawienia tego katalogu po zainstalowaniu skryptu (o ile jest to konieczne - w większości przypadków skrypt sam wykrywa że katalogiem sesji jest /tmp a nie /var/lib/php5 jak w domyślnej konfiguracji), w utworzonym pliku configuration.php, na jego końcu, proszę dodać linijkę:

session_save_path("/tmp");


PROBLEM 3: Brak możliwości nadpisywania niektórych plików/katalogów przez FTP po zainstalowaniu CMS Joomla

CMS Joomla podczas instalacji modyfikuje prawa użytkownika do niektórych katalogów/plików, przez co stają się one niedostępne do edycji/usuwania z poziomu FTP. W takim wypadku w przypadku stwierdzenia problemu należy otworzyć zgłoszenie w CentrumPomocyTechnicznej.pl z dyspozycją nadania poprawnych praw użytkownika FTP dla wszystkich plików/katalogów na Państwa koncie. Obsługa serwisowa firmy PROSCAPE dokona niezbędnych zmian w ustawieniach praw dostępu aby mogli Państwo bez większego kłopotu znów rozpocząć zarządzanie tymi plikami/katalogami z poziomu FTP

jantin
26-01-2009, 01:16
Bazylnet,
Jeśli ten komponent jest non-commercial podaj jego nazwę, zainstaluję go na jeszcze ciepłej prosto z pieca J 1.5.9. To inny serwer, inna konfiguracja, ale przynajmniej zobaczymy jak się zachowuje przy instalacji i jak ustawia prawa do plików, może jakies wnioski z tego wyciągniemy?
A ja opisywałem Ci problem nr 3, teraz dzięki Zwiastunowi i tej dyskusji temat mi sie uporządkował.

Bazyl
26-01-2009, 01:27
Tylko, że ja nie mogę zainstalować żadnego komponentu, a szablon mogę. Nic z tego nie rozumiem.
FTP skonfigurowane poprawnie.

Dzięki.

Teraz wyskakuje mi taki komunikat:

JFTP::store: Bad response
Ostrzeżenie: Nie udało się usunąć pliku
JFTP::mkdir: Bad response
JFTP::chmod: Bad response
Unable to create destinationNie mogę znaleźć pakietu instalacyjnego.


I tak się kręcę w kółko...

jantin
26-01-2009, 01:46
Tylko, że ja nie mogę zainstalować żadnego komponentu, a szablon mogę...


Uups, a to ci...! Szablon instaluje się w /templates, komponenty w /components i w administrator/components, i może gdzieś jeszcze o czym nie wiem?
Jeśli instalator rozpakowuje pliki szablonu do /templates to dlaczego jest problem z rozpakowaniem do innych katalogów, zakładając, że katalogi te mają prawa 755 ? Poza tym instalacja komponentu to chyba nie tylko proste rozpakowanie jak w przypadku szablonu? A sprawdzałeś jak się instalują moduły, albo dodatki/pluginsy? Czy jest taki sam problem jak z komponentami?
Moze to coś podpowie?

Bazyl
26-01-2009, 01:46
SUKCES

Znalazłem post, gdzie doradzają wyłączenie ftp.
Tak zrobiłem i... zainstalowałem PhocaGallery. Tylko, że przy okazji pozmieniałem prawa dostępu do kilku katalogów.
Jak je zabezpieczę zgodnie z pomocą hostingodawcy powinno byc ok???


Ale wyskakują jakieś błędy:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/xxxxx/public_html/4/libraries/joomla/database/database/mysql.php on line 344

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/xxxxx/public_html/4/libraries/joomla/database/database/mysql.php on line 344

Warning: Invalid argument supplied for foreach() in /home/xxxxx/public_html/4/administrator/components/com_phocagallery/helpers/phocagallery.php on line 1248

jantin
26-01-2009, 02:00
Teraz wyskakuje mi taki komunikat:
JFTP::store: Bad response
Ostrzeżenie: Nie udało się usunąć pliku
JFTP::mkdir: Bad response
JFTP::chmod: Bad response
Unable to create destination


Jeszcze jedno, takie komunikaty miałem w przypadku opisanym wcześniej, czyli problem nr 3 z pomocy hostingu. Może spróbuj tak. Tworząc wczesniej kopie katalogu /components usuń go, i ponownie zapisz przez klienta FTP, ręcznie. Zobacz czy możliwe jest usunięcie plików /components i czy możesz z poziomu klienta FTP zmieniać CHMODy? Jeśli wszystko jest OK, no to wypada, że jest zła konfiguracja FTP w zapleczu Joomli, ale jeśłi tak, to dlaczego zapisuje prawidłowo szablony? Natomiast jeśli będziesz miał kłopoty z operacjami na plikach /components lub jakimś jego podkatalogu, to klasyka nr 3 czyli trzeba zawołać fachowca, admin serwera musi zmienić prawa do tych plików. Na tę nockę tyle, być może odezwę się dzisiaj wieczorem. Daj znać jak poszło, bo to doświadczenie praktyczne.

Bazyl
26-01-2009, 02:08
Instaluję kolejny dodatek. Wywala błąd:


JFolder::create: Nie można utworzyć katalogu
Moduł Zainstaluj: Błąd: nie można utworzyć katalogu: "/home/xxxx/public_html/4/modules/mod_aqsg_newsflash"Zmieniam prawa dostępu katalogu modules na 777... i dodatek zainstalowany.

Tylko, że to jakieś wariactwo - nie będę przecież ciągle zmieniał praw dostępu bo się w tym pogubię.

Albo jest jakieś lekarstwo, albo zmiana hostingu.

Pomożecie?

Dzięki, jantin. Na dziś tez mam dość. Pora spać. Jeszcze raz DZIĘKI

jantin
26-01-2009, 10:55
Albo jest jakieś lekarstwo, albo zmiana hostingu...




Problem nr 3 odrzucamy.
Wzieło mnie to i jeszcze poszukałem w sieci (błędy JFTP i problemy z instalacją dodatków). Dyskusji na temat jest dużo, skupię się na trzech znaleziskach, pierwsze dotyczy relacji PHP vs FTP, drugie i trzecie problemów wewnętrznych w samej warstwie JFTP.

1. http://forum.joomla.org/viewtopic.php?p=1536492

Gość, którego status to Joomla!Virtuoso pisze tak (w skrócie);

"Potrzeba zastosowania JFTP wynika z praw własności plików.
Wiele serwerów jest źle skonfigurowanych, w wyniku czego pliki tworzone przez FTP mają innego właściciela niż pliki tworzone przez PHP.
Jeśli instalujesz plik przez [skrypt] PHP, nie możesz nim manipulować przez FTP, i odwrotnie.
To taki deal 'wszystko albo nic'. Albo twórz wszystkie pliki uzywając PHP i nigdy nie dotykaj ich przez FTP, albo instaluj przez FTP i nigdy nie dotykaj ich przez PHP.
Najlepsze rozwiązanie to znajdź host gdzie serwery są skonfigurowane prawidłowo, czyli gdzie pliki tworzone przez PHP i FTP mają tego samego właściciela"

2. Ten sam gość w tym samym wątku pisze (w kontekście zastosowania łatki do JFTP);

"Warstwa FTP daje błędy bo jej specyfikacja jest niesprecyzowana i różne serwery nieco różnie ją implementują. Kilka lat temu zainstalowałem chyba z 15 serwerów FTP na mojej maszynie i przetestowałem je na warstwie FTP (unit tests on FTP layer). Niektóre serwery przeszły testy, niektóre nie, to samo z softwarem. Do tego niektóre wersje PHP "połamały" implementacje FTP. Zastosowanie łatki do JFTP jest ryzykowne, nie wiemy co z tego wyniknie w róznych konfiguracjach. Do tego gość (developer) który robił JFTP jest obecnie nieaktywny, a my nie mamy czasu zajmować się czymś co pracuje prawidłowo na wiekszości serwerów. Sorry, ale nie mam tu dobrych wiadomości"

3. Ktoś jednak spróbował zastosować łatkę, ale jak sam pisze ekspertem nie jest. Nie przytaczam jego wywodów, są tu:

http://robertmarkmorley.com/2008/11/16/joomla-bug-fixed-jftpstore-bad-response/

podam tylko za nim tę łatkę.


-----
Wyedytuj plik
libraries/joomla/filesystem/file.php znajdź te linie:





if (($FTPOptions['enabled'] == 1) {
[I]// Connect the FTP client

Wstaw te trzy linie kodu pomiędzy te dwie linie

(Insert these three lines of code between those two lines)





/$tmp = $baseDir . '/' . getmypid();
move_uploaded_file($src, $tmp);
$src = $tmp;-------



Czyli Bazylnet masz najprawdopodobniej problem z hostingiem. Albo jest to punkt 1, gdzie Twój serwer przyznaje rózne prawa własności plikom wrzucanym przez PHP i inne wrzucanym przez FTP, albo pkt 2, gdzie implementacja FTP serwera jest w konflikcie z kodem JFTP (co właściwie ma chyba związek i z pkt 1). W obu przypadkach rada jest jedna, zmienić hosting. O złej konfiguracji serwera wspominał wczesniej ogólnie Zwiastun. Pkt 3 to próba "dopasowania" się do konfiguracji serwera łatką w kodzie JFTP, czy jednak zadziała w Twoim konkretnym przypadku, nie wiadomo? Spróbować można, nie jest to czasochłonna operacja, no, potem trzeba instalacje dodatków potestować.

Myślę, że jesteśmy blisko istoty Twoich problemów. Trochę się zadyskutowalismy, ale pożytek jest, jak teraz strzeli JFTP: bad response to już nie poruszamy się we mgle.

jantin
26-01-2009, 14:33
Znowu zrobiłem błąd, mam jakies trywialne problemy z edytorem odpowiedzi, przepraszam.

Zamiast



/$tmp = $baseDir . '/' . getmypid();
move_uploaded_file($src, $tmp);
$src = $tmp;oczywiście powinno być



$tmp = $baseDir . '/' . getmypid();
move_uploaded_file($src, $tmp);
$src = $tmp;ostatecznie tak powinno wyglądać po wklejeniu do libraries/joomla/filesystem/file.php:



...
if (($FTPOptions['enabled'] == 1) {
$tmp = $baseDir . '/' . getmypid();
move_uploaded_file($src, $tmp);
$src = $tmp;
// Connect the FTP client
...
Autor tego rozwiązania dostał jedne jedyne oklaski od gościa, któremu teraz wszystko instaluje sie przez JFTP bez problemu. Autor jest przekonany, że to rozwiązanie eliminuje konieczność wyłączania warstwy JFTP, a nawet zmiany hostingu. Łatka ta dotyczy komunikatu błędu:
JFTP::store: Bad response.
Komunikat taki miałeś Bazylnet, gdy pisałeś, że masz FTP skonfigurowany poprawnie. Później wyłączyłeś FTP. Jeżeli bedziesz testował tę łatkę to oczywiście włącz z powrotem FTP. Miałeś jednak też inne komunikaty błędu, związane z brakiem możłiwości utworzenia katalogu i ustawienia praw, więc przypuszczam, że to rozwiązanie usuwa tylko jeden problemik, a zasadniczy pozostanie, ale spróbuj.

Bazyl
27-01-2009, 00:09
Jantin jesteś niesamowity. DZIĘKI!!!

Niestety całą rodzinę zaatakowała potworna grypa, więc efekty Twojej pracy przetestuję jutro i dam znać na forum.

Jeszcze raz WIELKIE DZIĘKI.

Bazyl
29-01-2009, 15:55
Dodałem kod, o którym wcześniej pisałeś. Efek żaden:

Włączony FTP.

* JFTP::store: Bad response
* Ostrzeżenie: Nie udało się usunąć pliku

Nie mogę znaleźć pakietu instalacyjnego.


Wyłączony FTP, dodane linie kodu.

* Ostrzeżenie: Nie udało się usunąć pliku

Nie mogę znaleźć pakietu instalacyjnego.


Ale kłopot mija, gdy ustawię prawa do katalogu TMP na 777. Później już tylko kilka razy zmieniam prawa do katalogów. W zależności, co instaluję: images, includes, plugins, language, itp....
I instalacja kończy się olbrzymim sukcesem.
Pozostaje tylko pozmieniać pozmieniane katalogi.

Miodzio jest! Hosting wart polecenia!

W swojej pomocy hostingodawca pisze o konieczności ustawienia niektórych katalogów na 777 i sposób ich zabezpieczenia, ale wychodzi na to, że trzeba połowę katalogów pozmieniać. Łatwiej zmienić hosting...

Jeszcze o PhocaGallery, od której się wszystko zaczeło (oczywiście bez winy tejże): nie mogę edytować, usunąć, nadpisać plików css. Zgodnie z pomocą hostingodawcy należy się do niego zwrócić, by odblokował możliwość edycji itp. Niby świetnie, ale już raz miałem robioną tę operację. Teraz co? Po każdej aktualizacji mam do nich pisać?
Bzdura. Tym większa, że hostingodawca odpisał, że to mój (Joomli) problem ze złym ustawieniem praw do katalogów.

Napiszę do nich jeszcze raz, podam link do tej dyskusji. Zobaczymy jaka będzie reakcja.

Pozdrawiam,
dzięki za pomoc,
P.

jantin
29-01-2009, 20:30
bazylnet Witaj,

Poczytałem więcej o tej łatce, zlikwidowała Ci jeden błąd, ale to nie jest ten problem.

Na razie wszystko wskazuje na specyficzną konfigurację serwera hosta. Nie nazywajmy jej złą, najwyżej lekko nietypową. Jak pisał ów Joomla Virtuoso, na większości serwerów ten problem Joomla nie występuje, ale na niektórych tak.

Napisz czym zmieniasz te chmody na 777? To jest ciekawe. Z mojego amatorskiego wgryzania się w problem, rozumiem to tak. Masz takie kanały dostępu do katalogów i plików na serwerze: przez klienta FTP, przez JFTP, lub przez skrypty PHP. Jeśli jest to problem konfiguracji serwera, to przyznaje on prawa róznym właścicielom w zależności od kanału, a powinien przyznawać tylko jednemu.

Jest jeszcze taki dodatek (http://extensions.joomla.org/extensions/102/details), wskazany przez Dakotę w tym wątku:

http://forum.joomla.pl/showthread.php?t=25111

Zainstalowałem go testowo, ma dwa tryby pracy, przez FTP i tryb "File", jak się domyślam to tryb PHP. Próbowałem w obu trybach, i oba dają możliwość zmiany chmod. Fakt, że obecnie nie mam tego rodzaju kłopotów jak Ty, ale kiedyś na tym samym serwerze je miałem, stąd moje zaangażowanie w tym wątku. Interweniowałem wtedy w BOK, odpowiedzieli mi tak: cyt "...na chwile obecną zmienilem Panu ustawienia recznie myślimy o sposobie w jaki mozna by bylo ten problem z uprawnianiami wyeliminować ...". Nie wiem co zrobili, ale dziś tych problemów nie mam, oba kanały, przez PHP i przez FTP, hulają równolegle bez problemów.

Spróbuj jeszcze ten dodatek (Legacy !) w obu trybach i napisz czy w którymkolwiek (obu?) dzała zmiana chmod.

Jeśi to nie pomoże to chyba już pozostaje zmiana hostingu/?

Oprócz PHP i FTP hula u mnie grypa, znasz ten ból ;-)), więc teraz kilka dni będę mniej aktywny, ale napisz o wynikach.

Bazyl
14-02-2009, 13:24
Wymieniłem korespondencję z hostingodawcą.
Ponieważ efekt mnie zaskoczył założyłem nowy temat: http://forum.joomla.pl/showthread.php?p=103862#post103862

Proszę administratorów o zamknięcie tego wątku.
Wszystkim bardzo dziękuję za pomoc.