Pure FTPd

Pure-FTPd is a free (BSD), secure, production-quality and standard-conformant FTP server. It doesn't provide useless bells and whistles, but focuses on efficiency and ease of use.

PureFTPd Manager for Mac OS X

Installation
Download the source:

cd /extra/src
wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.tar.gz
tar zxf pure-ftpd-1.0.36.tar.gz
cd pure-ftpd-1.0.36

Configure, with support for virtual users, and build it:

./configure --with-puredb
make install-strip

Create an unprivileged user and group for Pure-FTPd to run as:

groupadd pure-ftpd
useradd -g pure-ftpd -d /var/empty -s /etc pure-ftpd

Automatic Startup

Rather than xinetd or inetd, we're going to use daemontools to control Pure-FTPd startup. Install it per the instructions if it is not already on your system.
We'll use some tcpserver rules to control access to our FTP server. Install it,
then create /etc/tcp/pure-ftpd with some basic rules in it:

127.:allow
192.168.0.:allow

Build a CDB file from the rules file with:

tcprules /etc/tcp/pure-ftpd.cdb /etc/tcp/pure-ftpd.tmp < /etc/tcp/pure-ftpd
chmod 644 /etc/tcp/pure-ftpd.cdb

Create the directories to hold the service scripts:

mkdir -m 1755 /var/service/pure-ftpd
cd /var/service/pure-ftpd

Then create the service run script, /var/service/pure-ftpd/run:

#!/bin/sh
exec 2>&1
exec /usr/local/sbin/pure-ftpd  -s -j -lpuredb:/etc/pureftpd.pdb -d --syslog=none

Make the run script executable:

chmod 700 /var/service/pure-ftpd/run

Set up the logging script:

mkdir -m 755 log
cd log
wget http://qmail.jms1.net/scripts/run.log
mv run.log run
chmod 700 run

Start the service by creating the symbolic link in /service:

ln -s /var/service/pure-ftpd /service/

After a few seconds, confirm that it is running:

svstat /service/pure-ftpd

Recent Updates

  • 11 months 2 weeks ago
    1.27.2 update
  • 11 months 4 weeks ago
    Drupal 10/11 config
  • 11 months 4 weeks ago
  • PHP
    11 months 4 weeks ago
    PHP 8.3.11 and AlmaLinux
  • 12 months 4 min ago
    New version of Pound
Error | Production Monkeys

Error

The website encountered an unexpected error. Please try again later.