Results 1 to 10 of 22

Thread: [HOWTO] mount an FTP host as a filesystem using CurlFtpFS

Threaded View

  1. #1
    Join Date
    Jul 2006
    Beans
    107

    Arrow [HOWTO] mount an FTP host as a filesystem using CurlFtpFS

    This how-to is intended to help those who want to mount an FTP site as a filesystem using CurlFtpFS.

    Yesterday I was told I could mount an FTP site as a filesystem using CurlFtpFS, but I found that on ubuntuforums it isn't well explained. So I searched around the web and the forum posts and finally I have been able to mount properly my FTP site. I decided to make this post to summarize all the information I found to help ubuntu users who want to install CurlFtpFS.

    First of all, I'm using Ubuntu 6.10 Edgy Eft, but I think you can use this post also whit other Ubuntu versions. If it's the case, don't hesitate to post your problems, suggestions, etcetera.

    cURLftps package isn't available in Ubuntu, so I downloaded it from Debian. Anyway you must satisfy some dependencies and so you must upgrade some other packages.

    EDIT: A curlftpfs backport to Edgy is available thanks to mlind here: curlftpfs-0.9.1-1_edgy.tar.bz2 so now you have two ways for installing it.

    EDIT: curlftpfs is available for Feisty and Gutsy

    Installing Feisty or Gutsy packages

    use aptitude or apt-get (I prefer the first one)
    Code:
    sudo aptitude install curlftpfs
    then proceed to the configuration as explained in the Edgy part and in the common part of this how-to

    Installing DEBIAN packages

    mlind's advice is no to use too many packages from other distribution, so if you want, you can skip this part and try to install the Edgy backport. Anyway, also the second way is a little bit tricky.

    Download the following packages from http://packages.debian.org (testing) for your processor architecture:

    libgpg-error0: http://packages.debian.org/testing/libs/libgpg-error0

    libgpg-error-dev: http://packages.debian.org/testing/l...bgpg-error-dev

    libcurl3-gnutls: http://packages.debian.org/testing/libs/libcurl3-gnutls

    fuse-utils: http://packages.debian.org/testing/utils/fuse-utils

    curlftpfs: http://packages.debian.org/testing/utils/curlftpfs

    Install them; supposing you have put them in the folder curlftpfs do:
    Code:
    cd curlftpfs
    sudo dpkg -i *.deb
    If it is all ok you can proceed to edit your /etc/fstab file.
    Use the following command to append the curlftpsfs option to /etc/fstab
    Code:
    sudo echo "curlftpfs#ftpusername:ftppassword@ftp.site.address /path/to/mountpoint fuse allow_other,uid=userid,gid=groupid 0 0" >> /etc/fstab
    Where
    ftpusername is the username to log in the FTP site
    ftppassword is the password to log in the FTP site
    userid and groupid are respectively the uid and the gid of your current user of your computer;
    you can discover them typing
    Code:
    id
    in a shell (this will print your user and groups IDs).

    Installing EDGY packages
    download the Edgy backport: curlftpfs-0.9.1-1_edgy.tar.bz2

    be sure to meet the following dependencies: libc6 (2 2.4-1) libcomerr2 (2 1.33-3) libcurl3 (2 7.15.4-1) libfuse2 (0 (null)) libglib2.0-0 (2 2.12.0) libidn11 (2 0.5.18) libkrb53 (2 1.4.2) libssl0.9.8 (2 0.9.8b-1) zlib1g (2 1:1.2.1) fuse-utils (0 (null))

    decompress the archive in an empty directory (or create a new one)
    Code:
    mkdir curlftps-edgy
    tar xvjf curlftpfs-0.9.1-1_edgy.tar.bz2 -C curlftps-edgy
    install the edgy backport
    Code:
    sudo dpkg -i curlftpfs_0.9.1-1_i386.deb
    If it is all ok you can proceed to edit your /etc/fstab file.

    Use the following command to append the curlftpsfs option to /etc/fstab
    note that this is different from debian packages procedure due to the different curlftpfs version
    Code:
    sudo echo "ftpusername:ftppassword@ftp.site.address /path/to/mountpoint curlftpfs rw,allow_other,uid=userid,gid=groupid 0 0" >> /etc/fstab
    last step is to let mount recognize the filesystem type:
    Code:
    sudo ln -s /usr/bin/curlftpfs /sbin/mount.curlftpfs

    common part

    Now you need your non-root user to be able to mount the FTP site without sudo.

    Change the group owner of your ftp mountpoint:
    Code:
    chgrp fuse /path/to/mountpoint
    be sure that fuse group has write permission on the directory
    Code:
    sudo chmod g+w /path/to/mountpoint
    Add your current user to fuse group:
    Code:
    addgroup username fuse
    Maybe you should logout and then login again to apply this change.

    That's all, now you should be able to mount your preferred FTP site as it were an hard disk.

    Thaks to:
    Shinda http://ubuntuforums.org/showthread.php?t=318824
    Koybe http://ubuntuforums.org/showthread.php?t=369895
    Mlind http://ubuntuforums.org/showthread.php?t=441141
    Last edited by geco; May 25th, 2007 at 11:33 PM. Reason: updating the how-to
    Debian testing user.
    Don't underestimate the power of *nix manual!!!
    Code:
     geco@biohazard:~$ man man

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •