Installing an FTP server on the Pogoplug

…and syncing photos with PhotoSync.

I’ve used the excellent PhotoSync app on my iPhone and iPad to backup photos to my iMac. This works well, but requires me powering the iMac on to run the sync. As my Pogoplug is always on, and has a bunch of storage connected to it, I thought it would be great to be able to sync from my iDevices to the Pogoplug whenever I’m in range of my wireless network. PhotoSync supports syncing to FTP servers, so I decided to experiment with installing and setting up an FTP server on the Pogoplug.

Here’s how to install an FTP server on the Pogoplug:

1. PREREQUISITES

As a prerequisite of this article, please complete the steps described in my previous post here in order to prepare your Pogoplug so you can install packages using the IPKG package management system.

2. INSTALLING AN FTP SERVER

# Install the FTP server
/opt/bin/ipkg install bftpd
# Create the log folder
mkdir /opt/log
# Create the log file
touch /opt/log/bftpd.log

3. CONFIGURING THE FTP SERVER

cd /opt/etc
# Download my config file
wget http://aaronrandall.com/wordpress/wp-content/uploads/2013/06/bftpd.txt && mv bftpd.txt bftpd.conf

Now to find the hard drive you would like to share via FTP; run:

df -h

And look for a disk mounted to the /tmp/ folder. In this example, I’ll be sharing “/tmp/.cemnt/mnt_sda1” via FTP (the last row in the output below):

Filesystem                Size      Used Available Use% Mounted on
/dev/mtdblock2           32.0M     15.7M     16.3M  49% /
none                    125.0M     20.0k    125.0M   0% /tmp
/dev/mtdblock3           91.0M     26.1M     64.9M  29% /opt
/tmp/.cemnt/sda1        916.9G    514.3G    393.3G  57% /tmp/.cemnt/mnt_sda1

Open the config file for editing using your favourite text editor:

vi bftpd.conf

Search for the line containing:

ROOTDIR="/tmp/.cemnt/mnt_sda1/"

and replace the value in quotes with the /tmp/ path for your hard drive, save and close the file.

Note: My setup allows for anonymous access to the FTP server, this is not secure. I’ve completed the minimum amount of configuration to get the FTP server up-and-running in order to experiment with how well it performs with PhotoSync. If you intend to use this setup long-term, I would highly recommend checking out and updating the security settings in the bftpd config file.

4. RUNNING THE FTP SERVER

/opt/sbin/bftpd -d

5. (Optional) Setting up PhotoSync

If you have an iPhone/iPad and would like to sync to your Pogoplug via FTP, here’s how you can setup the app:

• Launch PhotoSync
• Tap the settings button in the bottom-right corner of the app (small “i”)
• Tap “Configure” > “FTP/SFTP” > “Configure FTP/SFTP-Account”
• Enter your FTP details as shown below (replacing the “Server” setting with your Pogoplug IP address, and the “Directory” setting with the folder path where you would like to sync photos to – leave this blank to upload to the root of the hard drive):

Photosync FTP settings

19 Comments

  1. chimeforest

    When I run
    /opt/sbin/bftpd -d

    I get this:
    /opt/sbin/bftpd: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

    • Aaron (Author)

      Hi 🙂

      Sounds like you need to install zlib. Try:

      /opt/bin/ipkg install zlib

      and see how that goes.

      Thanks,

      Aaron

      • Drew

        I’m having the same issue, when I tried to install zlip I got:
        Package zlib (1.2.5-1) installed in root is up to date.

      • Frank

        I found that you have to copy libz.so.1.2.5 then rename it to libz.so.1. It’s looking for that specific file name in order to start the ftp server. My problem now is that I can’t logged on using anonymous. I’ll try to enable security and see if that helps. If anyone has suggestions let me know.

  2. Adam

    Great guide! Do you know which part of the config file has to be updated for a password? Also, can I turn on SFTP or will this program support normal FTP? Once again, awesome guide.

    • Aaron (Author)

      Hi Adam,

      Thanks for your feedback 🙂

      It looks like you may be able to setup username/password configuration by uncommenting the line in the config file which contains “FILE_AUTH”, and setting the value as a path to a file containing your user login details. The file expects credentials to be provided in the following order:

      # username password group home_folder
      robert secret users /home/robert

      Hope that helps.

      Aaron

      • Bala

        Very good article. It is running good. But I am unable to login. I enabled FILE_AUTH
        # cat /etc/ftpdpassword
        bala * users /etc/bala

  3. Jubahn

    How do I add users? Been looking for and used the file one and no go, I am doing this on the pogoplug, thanks.

  4. Jubahn

    Ok now it worked the add users.

    I have it runing and I can log in within the lan but when I do a porf forwarding on my router it just kicks me out, any idea where to look for this? Thanks.

  5. Joel

    How can I access my FTP server over the internet, so I can use it akin to the pogoplug file sharing service but openly for my work. I would like to keep most of the hard drives private except the one I decide to share via ftp and allow that to be accessed freely and anonymously. We have a combination of Mac’s and Windows PC’s.

    Will appreciate any help, Thanks.

  6. Chris

    I worked through the steps and tried connecting with Cyberduck (mac ftp client) and it doesn’t connect but it also doesn’t give me any error. I haven’t seen that behavior from Cyberduck before. When I check the FTP log file I see the following.

    Mon Apr 7 00:42:14 2014 /opt/sbin/bftpd[2922]: Warning: Unable to open /var/log
    Mon Apr 7 00:42:14 2014 /opt/sbin/bftpd[2922]: Incoming connection from 192.168
    Mon Apr 7 00:42:14 2014 /opt/sbin/bftpd[2922]: Quitting.

    2 things that seem relevant to me are obviously “unable to open /var/log” and “Incoming connection from 192.168” since it doesn’t show my computers full local IP address. Any ideas what needs to change here?

  7. Chris

    Just an update, I found my log for Cyberduck. Pasted below.

    220 bftpd 3.7 at 192.168.0.8 ready.
    USER anonymous
    331 Password please.
    PASS ********
    421 Unable to change root directory.

  8. Frank

    No matter what I do I can’t get past this error if anyone has suggestions I’d appreciate it. Both errors below are very generic. I’ve been searching all night for a solution and found several hits but nothing seems to work as most hits are from users running bftpd on Linux distros and not on a Pogoplug so their solutions point to directories or files that don’t exist on a PP.

    Connected to pogoplug.
    421-Could not open log file.
    421 Server disabled for security reasons.
    Connection closed by remote host.

  9. Maciek

    Hello Aaron,

    could you publish the whole process of installation and starting of SFTP server on pogoplug (could be on Pogoplug Series 4)?

    Using this file: http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/openssh-sftp-server_5.9p1-1_arm.ipk.

    Thank you
    Maciek

  10. Malcolm

    @Aaron – Thank you very much for these instructions! Clear and concise, much appreciated.

    @Chris – Not sure if you found a solution or not. I did have the same problem but was able to connect once I changed the ROOTDIR value located at the very bottom of Aaron’s config file in the ftp user settings. Also add your mounted disk path here.

    user ftp {
    #Any password fits.
    ANONYMOUS_USER=”yes”
    #DENY_LOGIN=”Anonymous login disabled.”
    ROOTDIR=”/tmp/.cemnt/mnt_sda2″
    }

  11. Anthony

    After all the installation, I got this message
    I’m a noob
    pls help

    ~ # cd /opt/etc
    /opt/etc # wget https://aaronrandall.com/wordpress/wp-content/uploads/2013/06/bft
    pd.txt && mv bftpd.txt bftpd.conf
    -sh: syntax error: unexpected “&”
    /opt/etc #

  12. Anthony

    ~ # cd /opt/etc
    /opt/etc # wget https://aaronrandall.com/wordpress/wp-content/uploads/2013/06/bft
    pd.txt && mv bftpd.txt bftpd.conf
    -sh: syntax error: unexpected “&”
    /opt/etc #

  13. Anthony

    Hi Aaron, I install everything except downloading and installing your config files. it returned with a -sh: syntax error: unexpected “&”

  14. Tushar Parmar

    Hi Aaron,

    Your articles are great help and I was easily able to install both FTP and Samba on my Pogoplug without any problems. Credit goes to your step by step guide.

    Well, Soon after after setting up Photosync on my mobile, I started facing a strange issue. Photosync is able to copy only few images before it fails (without any error). When I tried the same process from other mobile it was successful. Any idea what could be the problem?