From ArchWiki
Revision as of 10:27, 15 March 2012 by Lowprize (talk | contribs) (Start server)
Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

This article describes the installation of the cuftpd FTP daemon on Arch Linux.

cuftpd is an ftp-server written in Java




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

adduser cuftpd

Change to the new user

su cuftpd

Make necessary directories

mkdir src ftpd


Enter src and download sources by following commnads

cd src
hg clone
hg clone
hg clone
hg clone
hg clone

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 ..


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


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

TO DO - make rc. script