How to use Joomla's FTP mode (set correct $ftp_root path)

Written by - 0 comments

Published on - Listed in Internet CMS


I've just spent a lot of time looking for information and guessing about the correct configuration of Joomla, to use its FTP mode. Many web users don't know how to set correct permissions with an FTP client so a CMS like Joomla is not a good solution to them. The FTP mode, which was introduced in Joomla not that long ago, should solve that problem, so I'm working on a script for an automatic Joomla installation.

However, there's a huge lack of information in the documentation, how to set the correct FTP options. More specifically the $ftp_root variable got me scratching my head.

Even if you enable the FTP mode during the installation step, the given credentials and path won't be shown in the final output of the configuration.php (bug?) but that's nothing to worry about as this can be set in the Global Configuration once logged into the Administration panel (under Server).

In the Administration the following explanation is given for the FTP Root:

Joomla FTP Root Path Description

The problem? The description for this field is SO bad, I could as well write "eat/my/shoe" into it. Everytime 'FTP server' is written, instead of the more correct 'FTP user'.

After trying all kinds of paths (absolute, relative, without joomla, with joomla directory, etc) I finally figured it out.
Let's put a scenario together:
You're on a shared web hosting server and you have a FTP user called "myftpuser".
The absolute path to your installed Joomla is "/var/www/myftpuser/html/joomla" where you have created the joomla folder especially for the installation.
When you log in to your FTP account, your home directory is /var/www/myftpuser - meaning that you see the 'html' folder in your list on the server side.
This is where you need to start from: Your FTP accoun'ts home directory.
Starting from there the path to Joomla looks like this: /html/joomla -> and this is the FTP Root value to use!

The description could therefore better be described as:
"The relative path from your FTP user's home directory to your Joomla directory."

To save the FTP settings entered in the Joomla Administration Global Configuration, the configuration.php needs to temporarily have all write permissions (666) so that you can save the settings by browser.
Or, even simpler, change the configuration.php with your FTP user by setting/filling out the following values:

        public $ftp_host = '127.0.0.1';
        public $ftp_port = '21';
        public $ftp_user = 'myftpuser';
        public $ftp_pass = 'testpass';
        public $ftp_root = '/html/joomla';

You need to adapt them to your own FTP user, password and root path of course.

From now on uploaded files, installed extensions, etc. will be created with the same permissions as your FTP user which means there won't be problems with deleting them anymore.


Add a comment

Show form to leave a comment

Comments (newest first)

No comments yet.

RSS feed

Blog Tags:

  AWS   Android   Ansible   Apache   Apple   Atlassian   BSD   Backup   Bash   Bluecoat   CMS   Chef   Cloud   Coding   Consul   Containers   CouchDB   DB   DNS   Database   Databases   Docker   ELK   Elasticsearch   Filebeat   FreeBSD   Galera   Git   GlusterFS   Grafana   Graphics   HAProxy   HTML   Hacks   Hardware   Icinga   Icingaweb   Icingaweb2   Influx   Internet   Java   KVM   Kibana   Kodi   Kubernetes   LVM   LXC   Linux   Logstash   Mac   Macintosh   Mail   MariaDB   Minio   MongoDB   Monitoring   Multimedia   MySQL   NFS   Nagios   Network   Nginx   OSSEC   OTRS   Office   PGSQL   PHP   Perl   Personal   PostgreSQL   Postgres   PowerDNS   Proxmox   Proxy   Python   Rancher   Rant   Redis   Roundcube   SSL   Samba   Seafile   Security   Shell   SmartOS   Solaris   Surveillance   Systemd   TLS   Tomcat   Ubuntu   Unix   VMWare   VMware   Varnish   Virtualization   Windows   Wireless   Wordpress   Wyse   ZFS   Zoneminder   


Update cookies preferences