This is an old revision of the document!
uFTP server installation
Option 1 install from sources (recommended)
Some software are required for this procedure: git, gcc and make, check your Linux distribution documentation for more information about how to get the required software.
Eg: Under Ubuntu/Debian you can install all required software with this command:
# sudo apt-get install git gcc make
Clone the repository:
# git clone https://github.com/kingk85/uFTP.git
Compile uFTP server
# cd uFTP
Note: To enable the large file support, if in your application large files need to be transferred the Makefile file must be edited, find in the file the text that starts with DEFINITIONS= and modify the file as the example below.
DEFINITIONS= #TO ENABLE THE LARGE FILE SUPPORT UNCOMMENT THE NEXT LINE #DEFINITIONS=-D_LARGEFILE64_SOURCE
Remove the comment at the line: #DEFINITIONS=-D_LARGEFILE64_SOURCE
The final result would be:
DEFINITIONS= #TO ENABLE THE LARGE FILE SUPPORT UNCOMMENT THE NEXT LINE DEFINITIONS=-D_LARGEFILE64_SOURCE
Note: To enable TLS/SSL find the following lines in the Makefile file.
ENABLE_OPENSSL_SUPPORT= #TO ENABLE OPENSSL SUPPORT UNCOMMENT NEXT 2 LINES #ENABLE_OPENSSL_SUPPORT=-D OPENSSL_ENABLED #LIBS=-lpthread -lssl -lcrypto
Remove the comment at the lines:
#ENABLE_OPENSSL_SUPPORT=-D OPENSSL_ENABLED
#LIBS=-lpthread -lssl -lcrypto
The final result would be:
ENABLE_OPENSSL_SUPPORT= #TO ENABLE OPENSSL SUPPORT UNCOMMENT NEXT 2 LINES ENABLE_OPENSSL_SUPPORT=-D OPENSSL_ENABLED LIBS=-lpthread -lssl -lcrypto
The openSSL libraries need to be installed, under Ubuntu use the following command:
sudo apt-get install libssl-dev
Generate a new certificate:
mkdir /etc/uftp cd /etc/uftp openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 openssl rsa -in key.pem -out newkey.pem mv newkey.pem key.pem
Continue with the build.
# make
Copy the files to the linux path, root permission are required under ubuntu use the sudo command.
# cp build/uFTP /sbin/uFTP # cp uftpd.cfg /etc/uftpd.cfg
Set permissions and root restriction of the configuration file.
chown root:root /sbin/uFTP chown root:root /etc/uftpd.cfg chmod -rwx /etc/uftpd.cfg chmod u+rwx /etc/uftpd.cfg
Run uFTP, note: root permissions are required to execute the uFTP server.
# uFTP
Option 2 install from binary
Download the latest binary file for your OS:
# sudo cd /sbin # sudo wget http://www.uftpserver.com/downloads/binaries/latest/x64/uFTP
Download the latest configuration sample:
# sudo cd /etc # sudo wget http://www.uftpserver.com/downloads/configuration_sample/uftpd.cfg
Set permissions and root restriction of the configuration file.
chown root:root /sbin/uFTP chown root:root /etc/uftpd.cfg chmod -rwx /etc/uftpd.cfg chmod u+rwx /etc/uftpd.cfg
Run uFTP, note: root permissions are required to execute the uFTP server.
# uFTP
All binary downloads and examples can be found at: http://www.uftpserver.com/downloads/