NextCloud, a powerful open-source file-sharing and collaboration platform, provides an intuitive web interface for users. However, for administrators managing complex setups, the command-line interface (CLI) offers unmatched efficiency and control. Enter console.php, the backbone of NextCloud's CLI functionality. This guide explores the uses of console.php and demonstrates how to leverage it for managing your NextCloud instance.
What is console.php?
console.php is a command-line script included in every NextCloud installation. It provides a set of commands to perform administrative tasks, such as user management, database operations, and app maintenance. This utility is particularly useful for automating repetitive tasks, troubleshooting issues, and managing large-scale deployments.
Where is console.php Located?
The console.php script is located in the NextCloud installation directory under the occ file, which is a wrapper for console.php. For example:
/var/www/nextcloud/occ
You can invoke it using PHP:
php /var/www/nextcloud/occ
For convenience, consider creating a symlink or alias for occ to simplify usage:
alias occ='php /var/www/nextcloud/occ'
Common Use Cases for console.php
1. Managing Users
Add a New User
occ user:add username --password-from-env
Add the --password-from-env option to securely set the password via an environment variable.
List All Users
occ user:list
Delete a User
occ user:delete username
2. Configuring NextCloud Settings
Set a Config Value
occ config:system:set key --value=value
For example, to enable a trusted domain:
occ config:system:set trusted_domains 1 --value="example.com"
View Config Values
occ config:system:get key
3. Maintenance Tasks
Enable Maintenance Mode
occ maintenance:mode --on
Disable Maintenance Mode
occ maintenance:mode --off
Run a File Scan
Useful for detecting manually added files:
occ files:scan --all
4. Managing Apps
List All Installed Apps
occ app:list
Enable an App
occ app:enable app_name
Disable an App
occ app:disable app_name
5. Database Optimization
Perform a Database Cleanup
Run this to optimize the database structure:
occ db:add-missing-indices
Convert to BigInt
For performance improvements:
occ db:convert-filecache-bigint
6. Troubleshooting and Diagnostics
Check Server Info
occ status
Check Installed Versions
occ -V
Repair a Broken Installation
occ maintenance:repair
Best Practices
- Use Maintenance Mode: Enable maintenance mode during critical updates or large operations to prevent user disruptions.
- Backup Regularly: Always create backups before performing irreversible changes.
- Automation: Use shell scripts to automate repetitive tasks like user creation or file scans.
- Test in a Staging Environment: Before applying significant changes, test commands on a non-production environment.
Wrapping Up
The console.php script (or its convenient occ wrapper) is an indispensable tool for NextCloud administrators. Whether you're managing users, optimizing databases, or troubleshooting issues, the CLI offers a level of control that the web interface cannot match.
With practice, console.php will become a natural part of your NextCloud workflow, empowering you to manage your instance efficiently and effectively.
Do you have favorite commands or use cases for console.php? Share them in the comments below!