geco
May 12th, 2007, 02:46 PM
This how-to is intended to help those who want to mount an FTP site as a filesystem using CurlFtpFS (http://curlftpfs.sourceforge.net/).
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 (http://ubuntuforums.org/attachment.php?attachmentid=32534&d=1179099233) 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)
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 (http://ubuntuforums.org/showthread.php?t=441141) 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/libdevel/libgpg-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:
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
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
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 (http://ubuntuforums.org/attachment.php?attachmentid=32534&d=1179099233)
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)
mkdir curlftps-edgy
tar xvjf curlftpfs-0.9.1-1_edgy.tar.bz2 -C curlftps-edgy
install the edgy backport
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
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:
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:
chgrp fuse /path/to/mountpoint
be sure that fuse group has write permission on the directory
sudo chmod g+w /path/to/mountpoint
Add your current user to fuse group:
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
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 (http://ubuntuforums.org/attachment.php?attachmentid=32534&d=1179099233) 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)
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 (http://ubuntuforums.org/showthread.php?t=441141) 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/libdevel/libgpg-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:
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
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
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 (http://ubuntuforums.org/attachment.php?attachmentid=32534&d=1179099233)
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)
mkdir curlftps-edgy
tar xvjf curlftpfs-0.9.1-1_edgy.tar.bz2 -C curlftps-edgy
install the edgy backport
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
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:
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:
chgrp fuse /path/to/mountpoint
be sure that fuse group has write permission on the directory
sudo chmod g+w /path/to/mountpoint
Add your current user to fuse group:
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