CompleteFTP Linux User Guide
Welcome to the CompleteFTP Linux User Guide! This guide will help you install, configure, and use CompleteFTP on Linux systems through its powerful command-line interface.
What is CompleteFTP?
CompleteFTP is a secure, high-performance file transfer server that supports multiple protocols including FTP, FTPS, SFTP, SCP, HTTP, and HTTPS. The Linux version is administered through a comprehensive CLI, making it ideal for server environments and automation. Remote GUI administration via CompleteFTP Manager on Windows is also available for users who prefer graphical interfaces.
Who This Guide Is For
This guide is designed for:
- System administrators setting up file transfer services
- New users evaluating CompleteFTP for Linux
- IT professionals migrating from other FTP servers
- DevOps engineers implementing automated file transfer solutions
- Linux users familiar with command-line tools
What You'll Learn
By following this guide, you'll learn how to:
- Install CompleteFTP on various Linux distributions
- Configure secure file transfer protocols (SFTP, FTPS, HTTPS)
- Create and manage users and groups
- Set up virtual file systems with flexible folder mappings
- Implement SSL/TLS certificates and SSH key authentication
- Configure external authentication (LDAP, SAML, database, 2FA)
- Set up email notifications and process triggers for automation
- Manage web applications and the built-in File Manager
- Write custom extensions with JSS and .NET
- Configure IP filtering and security hardening
- Set up server clustering for high availability
- Monitor and troubleshoot your server
Prerequisites
Before starting, you should have:
- A Linux server with root/sudo access
- Basic familiarity with Linux command line
- Network connectivity for package installation
- Understanding of file transfer protocols (helpful but not required)
Guide Overview and Table of Contents
This guide is structured to help you get started quickly or dive deep, depending on your needs.
- For Impatient Users: Go to Installation and Setup, follow the Quick Start Guide, and then return to other chapters as needed.
- For Thorough Users: Read this introduction completely, then work through the chapters in order.
Use the table of contents below to jump directly to the section you need.
Essential Setup
-
Chapter 1: Installation and Setup
- Supported Linux distributions
- Package installation (.deb and .rpm)
- Service configuration
- Initial testing and troubleshooting
-
- Create your first user
- Set up basic folder structure
- Test FTP, SFTP, and HTTPS connections
- Basic security configuration
-
- Essential protocol setup (FTP, SFTP, HTTPS)
- Port configuration
- Basic security settings
- Common site configurations
Core Configuration
-
- Internal vs OS users
- User creation and configuration
- Password policies
- User properties and permissions
-
- Virtual file system concepts
- Folder types and mappings
- Permissions and access control
- Common folder scenarios
-
- Group creation and membership
- Permission inheritance
- Group-based access control
- Administrative efficiency
Security and Licensing
-
Chapter 7: Keys and Certificates
- SSH key generation and management
- SSL/TLS certificate setup (self-signed, Let's Encrypt)
- Enabling secure protocols (FTPS, HTTPS)
- Key-based authentication
-
- License types and editions
- Online and offline activation
- License viewing and management
- Troubleshooting activation issues
Advanced Configuration
-
Chapter 9: Advanced Site Configuration
- Protocol-specific tuning (SSH ciphers, TLS settings)
- Performance optimization and timeout configuration
- Security hardening
- Complex deployment scenarios
-
- Event-driven automation with Program and JSS triggers
- Macro substitution for dynamic arguments
- Scheduled execution with cron expressions
- Filters, process control, and concurrency
-
Chapter 11: Email Notifications
- SMTP server configuration
- Creating and managing notifications
- Event filtering and macro support
- Workflow examples for alerts and reports
-
Chapter 12: Monitoring and Logging
- Log levels and configuration
- Auditing with rolling files
- Event recording
- Log file locations and rotation on Linux
Web and Extensions
-
- Web application hosting and management
- Built-in File Manager configuration
- HTTP headers and MIME types
- Custom JSS web applications
-
Chapter 14: Extensions and Scripting
- Extension types: authentication, file system, commands, events, IP filters
- JSS extensions (addscript vs registerscript)
- .NET assembly extensions
- JSS API overview
Security
-
- Allow, deny, and allow-always rules
- Precedence modes (DenyOverAllow, AllowOverDeny)
- Per-user IP restrictions
- Auto-ban configuration and bypass
-
- Block or allow file types by pattern
- Wildcard matching
- Block mode vs allow mode
-
Chapter 17: Authentication Methods
- SAML SSO, LDAP, Active Directory, database authentication
- Gateway authentication
- Two-factor authentication (2FA)
- Authentication profiles and chaining
Enterprise
- Chapter 18: Clustering
- Cluster concepts (primary/secondary, config replication)
- Adding and removing servers
- Cluster security and upgrades
- Troubleshooting sync failures
Appendices
- Advanced SSH Key Management
- Server SSH keys, algorithm selection, key rotation
- Advanced SSL Certificate Management
- Certificate import/export, chain validation, renewal workflows
Feature Availability by Edition
| Feature | Standard | Professional | Enterprise MFT |
|---|---|---|---|
| FTP, FTPS, SFTP, HTTP/HTTPS | Yes | Yes | Yes |
| Users, groups, folders | Yes | Yes | Yes |
| Email notifications, process triggers | Yes | Yes | Yes |
| SSL/TLS encryption | Yes | Yes | Yes |
| LDAP, database authentication | — | Yes | Yes |
| Cloud storage (S3, Azure) | — | Yes | Yes |
| Web File Manager | — | Yes | Yes |
| Extensions and JSS scripting | — | Yes | Yes |
| Basic clustering (2 nodes) | — | Yes | Yes |
| SAML SSO | — | — | Yes |
| Full clustering | — | — | Yes |
| Multiple sites | — | — | Yes |
| Custom .NET extensions | — | — | Yes |
Using This Guide
Command Conventions
Commands are presented in code blocks. Lines starting with # are comments.
# This is a command with explanation
completeftp user add myuser
Important notes are highlighted to explain key concepts or warnings.
Testing Your Progress
Each chapter includes testing steps to verify your configuration works correctly. Commands can be tested in real-time using the completeftp CLI.
Getting Help
Built-in Help
The completeftp CLI has comprehensive built-in help.
# General help
completeftp --help
# Command-specific help
completeftp user --help
completeftp user add --help
Additional Resources
- CLI Reference: Complete command documentation is available in
LinuxCLI.md. - Support: Contact EnterpriseDT support for technical assistance.
- Community: Join discussions and share experiences with other users.
Support and Feedback
Getting Support
- Documentation Issues: Report problems with this guide.
- Product Support: Contact EnterpriseDT for technical assistance.
- Feature Requests: Suggest improvements and new features.
Contributing
Help improve this guide by reporting errors, suggesting examples, or sharing your use cases.
Ready to get started? Proceed to Chapter 1: Installation and Setup to begin your CompleteFTP journey!