User:Lowprize/Cuftpd
Category:File Transfer Protocol <-- re-enable category when the article is ready
Cuftpd is an ftp-server written in Java. This article describes the installation of the cuftpd FTP daemon on Arch Linux.
Installation
Preparation
Install the requirements from the Official repositories:
$ pacman -S xinetd zip unzip openssl inetutils mercurial
Install from Java JDK, JRE and Maven2 from Arch User Repository:
- JDK https://aur.archlinux.org/packages.php?ID=51906
- JRE https://aur.archlinux.org/packages.php?ID=51908
- Maven2 https://aur.archlinux.org/packages.php?ID=44684
Add a user for cuftpd
useradd cuftpd
Change to the new user
su cuftpd
Make necessary directories
mkdir src ftpd
Building
Enter src and download sources by following commnads
cd src
hg clone https://bitbucket.org/jevring/cunet hg clone https://bitbucket.org/jevring/cuftp hg clone https://bitbucket.org/jevring/cuftpd hg clone https://bitbucket.org/jevring/cunet hg clone https://bitbucket.org/jevring/cutools
Build all sources Build all dependencies in the following order using the following commands.
- cutools
- cunet
- cuftp
- cuftpd
- OPTIONAL: cubnc (recommended, you wouldnt be here if you didnt want multisite, so compile it!)
Or you can use
cd cutools && mvn clean install && cd ../cunet && mvn clean install && cd ../cuftp && mvn clean install && cd ../cuftpd && mvn clean install && cd ..
Copying
Copy files from target subdirectory
cp -r cuftpd/data ~/ftpd/ cp cuftpd/target/*.jar ~/ftpd/lib/
Make directories
mkdir ~/ftpd/data/logs mkdir ~/ftpd/site
Preparing userdb
Edit cuftpd.xml and select local user database Example
<user> <authentication> <type>1</type>......
Generation keystore
Create a self-signed server and a self-signed client key each in its own keystore. When you promt for password enter "client". When you choose another password dont forget enter it into cuftpd.xml
cd ~/ftpd/data keytool -genkey -v -keyalg RSA -keystore server.keystore -dname "CN=Server, OU=Bar, O=Foo, L=Some, ST=Where, C=UN" keytool -genkey -v -keyalg RSA -keystore client.keystore -dname "CN=Client, OU=Bar, O=Foo, L=Some, ST=Where, C=UN"
Start server
Run server as standalone for debugging
cd ~/ftpd && java -jar lib/cuftpd-1.5-SNAPSHOT.jar