public-access
Photo credits: fuzzcaminski

In plaats van een uitgebreide blog te schrijven die alle stappen beschrijft die benodigd zijn om de FTP laag in Joomla te activeren, zal ik een compact overzicht geven van veelvoorkomende problemen die zich voor doen in dit proces. Veel van de tips zullen overgenomen zijn van andere auteurs (uiteraard met bronnen waar nodig).

Een korte introductie

De FTP laag is geïntroduceerd in Joomla 1.5 als een oplossing voor een veelvoorkomend probleem: bestands- en map rechten op Linux hosts. Wanneer Joomla is overgezet met behulp van een FTP programma, zullen alle bestanden en mappen de FTP gebruikers als eigenaar hebben. Wanneer een Joomla template of extensie wordt geinstalleerd met behulp van de administrator (zonder gebruik te maken van de FTP laag), dan zal deze bestanden aanmaken die Apache/PHP als eigenaar hebben. Wanneer er gebruik wordt gemaakt van de FTP laag zullen templates en extensies die geupload worden de FTP gebruikers als eigenaar krijgen, wat problemen met eigendom voorkomt.

Meta-oplossing

Hoewel de oplossing hier onder beschreven waarschijnlijk de meeste problemen die je tegenkomt zullen oplossen, is de FTP laag slechts een pleister op het probleem in plaats van een oplossing. Sinds een aantal jaar is er een zogenaamde meta-oplossing voor dit probleem genaamd suPHP. Deze tool zorgt er voor dat PHP scripts gedraaid worden met de toegangsrechten van zijn eigenaars. Probeer indien mogelijk eerst je webhoster te vragen deze tool te installeren voordat je jezelf verdient in de Joomla FTP laag.

Gebruik de FTP laag NIET op een Windows server

Windows servers kennen het hierboven beschreven probleem niet. Het gebruikmaken van de FTP laag op een Windows omgeving zal dan ook geen enkel probleem oplossen dat je mogelijk tegen komt bij het installeren van templates of extensies.

Maak GEEN gebruik van CHMOD 777

Regelmatig wordt het probleem met bestandsrechten opgelost door webmasters met behulp van CHMOD 777. Hoewel dit waarschijnlijk het directe probleem oplost, stelt het de website bloot aan diverse types van aanvallen. Gebruik CHMOD 777 alleen als een laatste redmiddel wanneer geen enkele andere oplossing werkt, en zet bij voorkeur de relevante CHMOD's direct terug naar een veiligere waarde (755 voor mappen en 644 voor bestanden) nadat je de template of extensie hebt geupload. Dit gezegd hebben zal ik nu verder gaan met de uitleg van de FTP laag in Joomla.

FTP gerelateerde variabelen

Hieronder staan de variabelen in configuration.php die gerelateerd zijn aan de FTP laag. Elk van deze variabelen zal kort besproken worden, met tips er bij voor de waarde die je ze waarschijnlijk zult willen toekennen.

var $ftp_enable
Deze bepaald of de FTP laag gebruikt zal worden of niet. Een waarde van '0' betekent geen gebruik van de FTP laag, een waarde van '1' betekent dat de FTP laag gebruikt zal worden.

var $ftp_host
Negen van de tien keer zal dit ingesteld dienen te worden op '127.0.0.1' of 'localhost' (welke identiek zijn). Dit betekent dat de FTP host op dezelfde server als de Joomla installatie draait.

var $ftp_port
Deze dient ingesteld te worden op '21', gezien dit de FTP (File Transfer Protocal) poort is, SFTP (Secure FTP) maakt echter meestal gebruik van poort 22.

var $ftp_user
De gebruikersnaam van de FTP gebruiker waarvan je gebruik maakt. Het aanmaken van FTP gebruikers valt niet onder de scope van deze blog, maar er zijn uitstekend tutorials te vinden op het internet. Een zoekopdracht bij Google naar 'een nieuwe ftp gebruiker aanmaken' of het lezen van deze (Engelstalige) tutorial zal je verder op weg helpen.

var $ftp_pass
Het wachtwoord van de FTP gebruiker die je gebruikt.

var $ftp_root
De hoofdfolder voor de FTP. Dit is meestal '/public_html' of '/'. Wanneer je na het verbinden met FTP moet klikken op een folder genaamd 'public_html/ ', dan dient de waarde ingesteld te worden op '/public_html/', wanneer dit niet het geval is, dan is '/' de juiste waarde.

Veelvoorkomende problemen en oplossingen

Problemen met de FTP laag geven vaak berichten als ''Warning! Failed to move file' en 'Unable to find install package' vergezeld door (vaak vage of te algemene) foutmeldingen. Een aantal van deze foutmeldingen zal hieronder besproken worden, met oplossing erbij die het probleem (hopelijk) oplossen.

Probleem: 'Unable to Find Install Package'

  • Wijzig het configuration.php bestand handmatig in plaats van met de Joomla Administrator. De Administrator slaagt er soms niet in de gegevens in het bestand configuration.php te updaten, terwijl het echter wel het bericht 'The Global Configuration details have been updated' geeft (MissVicky).

Probleem: 'JFTP::store: Bad response'

  • Verander de variabele $tmp_path van '/tmp' naar het volledige pad van je tmp directory, bijvoorbeeld '/home/example.org/public_html/joomla/tmp'. Dezelfde logica dient te worden toegepast op de variabele $log_path. Wanneer je het volledige pad naar je /tmp folder niet kent, zou je dit moeten kunnen vinden door met je FTP client naar de betreffende map toe te gaan, of de aanwijzigingen op te volgen in dit document.  Zoals eerder gezegd dienen de opmerkingen over CHMOD 777 in het document bij voorkeur genegeerd te worden.
  • Controleer of de variabele $ftp_root correect is ingesteld. Wanneer je bijvoorbeeld je Joomla hebt geinstalleerd in een subdirectory, dan dient deze variabele ingesteld te zijn op '/public_html/subdirectory/'.

Probleem: 'JFTP::login: Unable to login'

  • Controleer de gebruikersnaam en het wachtwoord dat je hebt ingevuld. Soms dient de gebruikersnaam ingevuld te worden als Dit e-mailadres wordt beveiligd tegen spambots. JavaScript dient ingeschakeld te zijn om het te bekijken.' in plaats van gewoon 'voorbeeld' dat je als FTP gebruikersnaam hebt aangemaakt.

Probleem: 'JFTP::mkdir: Bad response, JFTP::chmod: Bad response, JFTP::store: Bad response'

  • Verzeker jezelf er van dat de FTP gebruiker die je hebt aangemaakt/geselecteerd rechten heeft om bestanden en mappen aan te maken (Ooffick).
  • Probeer de Joomla bestanden te uploaden met behulp van een FTP client in plaats van via cPanel, Fantastico of Installatron. Dit zal er voor zorgen dat de Joomla bestanden de FTP gebruikers als eigenaar hebben, wat matched met de FTP gebruiker die wordt ingezet wanneer de FTP laag wordt geactiveerd (Ianmac).

Probleem: the 'Extension Manager' gooit je terug naar het Control Panel van je Administrator

  • Probeer de waarde van de variabele upload_max_filesize in je php.ini te vergroten. Wanneer deze waarde te laag is, zal de server het verzoek om te uploaden afweren, en je terug sturen naar de hoofdpagina zonder een foutmelding te geven.

Wanneer je andere problemen tegen komt (of betere oplossing kent dan degene die zijn genoemd) aangaande de FTP laag, plaats deze dan in de comments!

Heb jij net als Theo zelf een artikel geschreven dat je graag met andere Joomla gebruikers wilt delen? Neem dan contact met ons op.

4 reacties

EasyDiscuss Avatar
slibbe
Zonder aanvullende extensies te gebruiken, is er binnen Joomla een optie feeds te gebruiken aanwezig. Helaas vereist een foutloze werking van de feeds dat de cache/-map op 777 wordt gezet. Wat is hier aan te doen?
EasyDiscuss Avatar
Thetjo
Dit probleem wordt (helaas niet zonder eenmalig van een aanvullende extensie gebruik te maken) opgelost door Tonie: "Een kleine tip. Dit kun je met de /cache directory niet doen. De apache/nobody gebruiker dient hierin te schrijven (voor RSS bijvoorbeeld). Na een standaard installatie installeer ik eerst JoomlaXplorer. Hierna verwijder ik de /cache directory met de FTP account waarmee Joomla geupload is. Met JoomlaXplorer maak ik dan de cache directory opnieuw aan (met Apache user rechten omdat JoomlaXplorer daar gebruik van maakt) en zet de rechten dan op 755.". Deze oplossing is tevens toegevoegd aan de Engelstalige versie van de blog.
EasyDiscuss Avatar
slibbe
Installeren van JoomlaXplorer is voor mij geen optie en overigens ook onnodig als je ssh hebt.<br />Dus als ik je goed begrijp, moet er na een standaard i nstallatie hetvolgende gebeuren:<br />cd <br />rm -rf cache/<br />mkdir cache/<br />chown apache:apache cache/<br />chmod 755 cache/<br /><br />Ik zet de mappen cache/ en administrator/cache/ altijd op owner:group apache:group (terwijl de owner van alle andere mappen/bestanden die van de user is). Mijn ervaring is dat 755 dan niet voldoende is, en dat 777 desondanks het ownership nodig is. Ik zal dit eens testen met een standaard installatie (mijn custom-installatie is niet standaard namelijk).
EasyDiscuss Avatar
slibbe
iets weggevalen: achter cd moet joomla-root staan

Reageer

1000 Resterende tekens