User:Lowprize/Cuftpd

From ArchWiki

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

This article or section needs expansion.

Reason: TO DO (Discuss in User talk:Lowprize/Cuftpd)

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:

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.

  1. cutools
  2. cunet
  3. cuftp
  4. cuftpd
  5. 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

This article or section needs expansion.

Reason: make rc. script (Discuss in User talk:Lowprize/Cuftpd)