PDA

Zobacz pełną wersję : Instalacja komponentów z obsługą ftp



kfinto
11-09-2011, 11:55
Z moich poszukiwań wynika, że ten problem zostawał poruszany już wiele razy, jednak żadne ze znalezionych rozwiązań w moim wypadku nie działa.


Wersja Joomla!: Joomla! 1.5.23 Stable [ senu takaa ama baji ] 04-March-2011 18:00 GMT
PHP uruchomione w: Linux web2 2.6.32-4-pve #1 SMP Mon May 9 12:59:57 CEST 2011 i686
Wersja PHP: 5.3.3-7+squeeze3
Serwer WWW: Apache/2.2.16 (Debian)
PHP działa na: apache2handler
Tryb bezpieczny: Wyłączone
Wczytywanie plików: Włączone
Rejestracja zmiennych globalnych: WyłączoneWłaścicielem wszystkich folderów i plików na serwerze został użytkownik ftp.
Obsługa FTP w joomli została włączona.

PROBLEM: Pierwsza opcja instalatora nie wczytuje paczki.

1. Przy prawach (folderu tmp) 755 pojawia się komunikat:
Pojawił się problem z wczytywaniem pliku na serwer.Ten fragment kodu z pliku administrator/com_installer/models/install.php odpowiada za wyświetlenie tego błędu:

// Check if there was a problem uploading the file.
if ( $userfile['error'] || $userfile['size'] < 1 )
{
JError::raiseWarning('SOME_ERROR_CODE', JText::_('WARNINSTALLUPLOADERROR'));
return false;
}$userfile['error'] jest równe 6, $userfile['size'] wyświetla 0.
Nie mam pomysłu jak mogę zdiagnozować, co oznacza ta "szóstka".

2. Przy prawach 775 -
JFTP::store: Bad response
Ostrzeżenie: Nie udało się usunąć plikuTen fragment kodu z pliku libraries/joomla/client/ftp.php odpowiada za wyświetlenie tego błędu:

if (@ftp_put($this->_conn, $remote, $local, $mode) === false) {
JError::raiseWarning('35', 'JFTP::store: Bad response' );
return false;
}Kiedy wrzucę folder z paczką do folderu tmp ręcznie, 2. opcja instalatora (instaluj z katalogu), nawet przy prawach 755 jak najbardziej działa, więc główny katalog FTP i ścieżka do katalogu tymczasowego są skonfigurowane poprawnie.
Tak samo działa także tworzenie nowych folderów w komponencie Phoca Gallery.


Nie, nie chcę wyłączać obsługi FTP. Przy wyłączonym FTP komponenty owszem instalują się, ale ich właścicielem jest joomla, otrzymują prawa 755 => nie da się nic z nimi zrobić przez ftp. Musiałbym także ustawić prawa wszystkich katalogów na 775 aby joomla mogła z nich korzystać, gdyż ich właścicielem jest uż. ftp.

zwiastun
11-09-2011, 13:51
Niestety, albo wóz, albo przewóz.
Włączenie warstwy FTP nie rozwiązuje wszystkich problemów na wszystkich serwerach, na których nie skonfigurowano odpowiednio uprawnień konta użytkownika PHP i użytkownika FTP. Jeśli przy wyłączonej obsłudze FTP Joomla instaluje rozszerzenia i działa poprawnie, to nie musisz grzebać w katalogach tych rozszerzeń przez FTP.
Praw 755 są odpowiednie. Rzecz nie w tym, że one takie są, rzecz w tym, że ich właścicielem nie jest proces PHP, tylko proces FTP - naprawa polega na zresetowaniu praw własności jeśli trzeba. Jeśli potrzebujesz obsługiwać przez FTP np. katalog images, to skup się na rozwiązaniu tego problemu.

kfinto
11-09-2011, 15:07
Dzięki za odpowiedź.
Nie mogę jednak zrozumieć, dlaczego instalacja z folderu działa, a instalacja z wczytanej paczki już nie. Przecież w obu przypadkach, przy włączonej obsłudze FTP, joomla, posługująca się procesem FTP, powinna mieć prawa do zapisu, a jednak podczas instalacji z uploadem coś jest nie tak.

Moim celem było, aby właścicielem wszystkiego był uż. FTP i wtedy, przy włączonej obsłudze FTP, nie byłoby żadnych problemów z prawami ani ze strony joomla, ani FTP, przy 755.
Jeżeli jednak nie da się doprowadzić do tego, aby podstawowy sposób instalacji działał poprawnie przy obsłudze FTP, to lepiej jest zachować jako właściciela uż. FTP i dać tym folderom prawa 775 tak, aby joomla mogła z nich korzystać, czy postarać się o zmianę właściciela dla wszystkich folderów na uż. PHP i zrezygnować z przesyłania czegokolwiek przez FTP?