Installation and Setup
This guide provides step-by-step instructions for installing CompleteFTP Preview Release on Linux systems. We provide native packages for the most common Linux distributions, with additional installers available on request.
Overview
CompleteFTP for Linux installation includes:
- Native packages - Debian (.deb) and Red Hat (.rpm) installers
- Dependency management - Automatic installation of required components
- Service configuration - Automatic systemd service setup
- User permissions - CLI access configuration
- Initial testing - Verification of successful installation
Supported Distributions
Officially Supported (Native Packages Available)
Debian-based distributions:
- Debian 10, 11, 12
- Ubuntu 20.04, 22.04, 24.04 LTS
- Linux Mint
- Pop!_OS
Red Hat-based distributions:
- RHEL 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- CentOS Stream 8, 9
Other Distributions
Additional installers may be available on request.
Contact support to request installers for distributions not listed above.
Prerequisites
System Requirements
- Operating System: 64-bit Linux distribution
- .NET Runtime: .NET 6.0 or later (installation instructions below)
- Memory: 512MB RAM minimum, 2GB recommended
- Disk Space: 200MB for installation, additional space for data storage
- Network: Internet connection for installation and activation
WSL (Windows Subsystem for Linux) Requirements
If you're using WSL, ensure Linux services are enabled:
-
Update WSL (Windows Command Prompt as Administrator):
wsl --update
-
Verify WSL 2:
wsl --list --verbose
-
Enable systemd in your Linux distribution:
sudo nano /etc/wsl.conf
Add these lines:
[boot] systemd=true
-
Restart WSL:
wsl --shutdown
Installation Instructions
Debian-Based Distributions (.deb package)
Step 1: Download the Installer
wget https://enterprisedt.com/products/completeftp/download/completeftp.deb
Step 2: Check .NET Installation
dotnet --list-runtimes
If you see Microsoft.NETCore.App 6.0 or later, skip to Step 4.
Step 3: Install .NET (if needed)
Visit Microsoft's package repository to find the correct repository for your specific distribution and version. Then run:
# Replace <repository-url> with the URL from Microsoft's config page
wget <repository-url> -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt update
# Install .NET runtime (use latest stable version)
sudo apt install -y dotnet-runtime-8.0
Step 4: Install CompleteFTP
sudo apt install ./completeftp.deb
Step 5: Configure User Access
# Add your user to the completeftp group
sudo usermod -aG completeftp $(whoami)
# Log out and log back in, or use newgrp
newgrp completeftp
Step 6: Verify Installation
# Check service status
sudo systemctl status completeftp
# Test CLI access
completeftp user list
Red Hat-Based Distributions (.rpm package)
Step 1: Download the Installer
wget https://enterprisedt.com/products/completeftp/download/completeftp.rpm
Step 2: Install .NET SDK
Visit Microsoft's package repository to find the correct repository for your specific distribution and version. Then run:
# Replace the URL below with the correct one for your distribution
sudo dnf install -y https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm
# Update package lists
sudo dnf update -y
# Install .NET runtime (use latest stable version)
sudo dnf install -y dotnet-runtime-8.0
Note: The example above uses CentOS 8 repository. Replace with the appropriate repository for your specific distribution and version.
Step 3: Install CompleteFTP
sudo dnf install ./completeftp.rpm
Step 4: Configure User Access
# Add your user to the completeftp group
sudo usermod -aG completeftp $(whoami)
# Apply group changes
newgrp completeftp
Step 5: Verify Installation
# Check service status
sudo systemctl status completeftp
# Test CLI access
completeftp user list
Post-Installation Configuration
Administration Options
CompleteFTP on Linux can be administered in two ways:
- Command-line interface (covered in this guide) - Direct CLI administration on the Linux server
- CompleteFTP Manager - Remote GUI administration from a Windows machine
This guide focuses on CLI administration. Users preferring graphical interfaces can download CompleteFTP Manager for Windows to remotely manage their Linux servers.
Service Management
CompleteFTP runs as a systemd service. Common service commands:
# Check service status
sudo systemctl status completeftp
# Start the service
sudo systemctl start completeftp
# Stop the service
sudo systemctl stop completeftp
# Restart the service
sudo systemctl restart completeftp
# Enable auto-start on boot
sudo systemctl enable completeftp
# Disable auto-start on boot
sudo systemctl disable completeftp
View Service Logs
# View recent logs
sudo journalctl -u completeftp --no-pager
# Follow logs in real-time
sudo journalctl -u completeftp -f
# View logs from last boot
sudo journalctl -u completeftp -b
Basic CLI Testing
# Show help
completeftp --help
# List users
completeftp user list
# Show sites
completeftp site list
# Check version
completeftp --version
Firewall Configuration
If you plan to accept connections from other machines (not just localhost), you'll need to configure your firewall to allow the appropriate ports. This is essential for remote access but can be skipped if you're only testing locally.
CompleteFTP uses several ports by default:
- FTP: 21
- SFTP: 22
- HTTP: 80
- HTTPS: 443
- FTPS Implicit: 990
- Passive Mode: 50000-50100 (configurable)
License Activation
Trial License
By default, CompleteFTP runs with a trial license that:
- Allows unlimited local connections (localhost)
- Restricts remote connections until activated
- Provides 30-day evaluation period
Activate for Remote Access
To enable remote connections, you must activate your trial license using the offline activation method:
Step 1: Generate an Activation Request
completeftp license trial offlinerequest
This displays a URL like:
Please visit the following URL on an internet-connected machine to obtain an activation key:
https://connect.enterprisedt.com/#/activate-linux-trial/xxxxxxxxxxxxxxxx
Step 2: Request an Activation Key
- On an internet-connected machine, visit the provided URL
- Enter your email address when prompted
- Submit the form to receive an Activation Key
Step 3: Apply the Activation Key
completeftp license trial offlineapply <ACTIVATION_KEY>
For example:
completeftp license trial offlineapply B7JK3-D8W42-QLZ9M-ZX3F5
If successful, you'll see:
Trial license activated successfully.
Your trial period will end on YYYY-MM-DD.
Check License Status
completeftp license show
Troubleshooting
Common Issues
Issue | Solution |
---|---|
Installation fails | sudo apt update && sudo apt install -f (Debian)sudo dnf check-update (Red Hat) |
Missing .NET | Follow .NET installation steps above |
Service won't start | Check logs: sudo journalctl -u completeftp |
CLI access denied | Verify group membership: groups |
Port conflicts | Check running services: sudo netstat -tlpn |
Service Issues
# Check if service is running
sudo systemctl is-active completeftp
# Check service configuration
sudo systemctl show completeftp
# Restart with verbose logging
sudo systemctl restart completeftp
sudo journalctl -u completeftp -f
Permission Issues
# Verify membership of group 'completeftp'
groups
# Check permissions of completeftp executable
ls -l /usr/bin/completeftp
# Check socket permissions (used to communicate with the server process)
ls -l /var/lib/completeftp/config/config.socket
# Re-add user to group
sudo usermod -aG completeftp $(whoami)
newgrp completeftp
Network Issues
# Check listening ports
sudo netstat -tlpn | grep completeftp
# Test local connections
telnet localhost 21
telnet localhost 22
Security Considerations
Initial Security Setup
- Change default passwords for any pre-configured accounts
- Configure firewall to restrict access to necessary ports
- Use SSH keys instead of passwords for SFTP when possible
- Enable SSL/TLS for all protocols
- Review user permissions regularly
File System Permissions
# Check CompleteFTP directories
ls -la /usr/lib/completeftp/
ls -la /var/lib/completeftp/
# Verify service user
sudo systemctl show completeftp | grep User
Next Steps
After successful installation:
- Review the Quick Start Guide for basic configuration
- Configure your first site using Site Configuration
- Add users with User Management
- Set up folders with Folder Management
- Configure security with Keys and Certificates
Getting Support
- Documentation: Complete CLI reference at
/usr/share/doc/completeftp/
- Man Pages:
man completeftp
- Online Help:
completeftp --help
- Support: Contact EnterpriseDT support for technical assistance
Summary
CompleteFTP installation involves:
- Download the appropriate installer (.deb or .rpm)
- Install .NET runtime if needed
- Install CompleteFTP using package manager
- Configure user access via group membership
- Verify installation with CLI commands
- Configure firewall for network access
- Activate license for remote connections
You're now ready to configure and use CompleteFTP on Linux!