… mucho más rápidas y versátiles que el interfaz web.
Cuanto más utilizo ownCloud más necesario se me hace emplear herramientas de administración desde la consola. No es que no pueda utilizar el navegador, pero hay cosas más rápidas y más efectivas desde el shell.
Las utilidades que se incluyen en ownCloud para realizar estas tareas precisan de un envoltorio para emplearse con más comodidad por lo siguiente:
- Están instaladas bajo el directorio de owncloud, que suele ser /var/www/owncloud, aunque hay algunas un poco especiales.
- Están escritas en lenguaje PHP (al igual que el resto de la aplicación).
- Deben funcionar bajo el usuario del servidor web: www-data (al menos en Debian).
- Necesitan un pase de parámetros.
El envoltorio, pues, tendrá que lidiar con ello de esta forma:
#!/bin/bash # Variables VERSION=0.5 OWNCLOUD_DIR=/var/www/owncloud OWNCLOUD_USER=www-data OWNCLOUD_FILE=$(basename $0) OWNCLOUD_ENGINE=$(which php) ROOT_ENGINE=$(which sudo) # Parámetros ARGS=$* # Selección de aplicación case $OWNCLOUD_FILE in occ*) OWNCLOUD_FILE="occ" ;; occ_updater*) OWNCLOUD_FILE="updater/application.php" ;; occ_cron*) OWNCLOUD_FILE="cron.php" ;; *) echo "$0: aplicación owncloud desconocida" >&2 exit 3 ;; esac OWNCLOUD_APP="${OWNCLOUD_DIR}/${OWNCLOUD_FILE}" # Comprobaciones if [ ! -x $OWNCLOUD_ENGINE ]; then echo "$0: no existe el programa $OWNCLOUD_ENGINE" >&2 exit 2 fi if [ ! -f $OWNCLOUD_APP ]; then echo "$0: no existe el archivo $OWNCLOUD_APP" >&2 exit 1 fi # Ejecución ${ROOT_ENGINE} -u $OWNCLOUD_USER $OWNCLOUD_ENGINE -f $OWNCLOUD_APP $ARGS
El programa, como puede verse, se limita a construir una línea de ejecución con los parámetros convenientemente traducidos y a efectuar algunas verificaciones.
Como resulta que hay programas en ownCloud que están bajo el directorio principal y otros que se sitúan más abajo, además de que puede existir una colisión de nombres con otros programas en el sistema, he decidido renombrar algunos de ellos como se muestra aquí:
- occ -> /var/www/owncloud/occ.php.
- occ_cron -> /var/www/owncloud/cron.php.
- occ_updater -> /var/www/owncloud/updater/application.php.
Recetario para occ (ownCloud console)
Útiles generales
status
enseña el estado de la instalación (modo mantenimiento, versión, …).check
comprueba las dependencias del entorno del servidor.help
muestra la ayuda del programa.help command
hace lo mismo pero para una orden concreta.
list
despliega la lista de órdenes del programa occ.upgrade
efectúa las tareas tras una actualización a una nueva versión (que debe estar instalada).
Mantenimiento
maintenance:mode
para consultar el estado:maintenance:mode --on
para activarlo.maintenance:mode --off
para desactivarlo.
maintenance:mimetype
:maintenance:mimetype:update-db
actualiza la base de datos de tipos mime (para identificar contenido de archivos) y el caché de los mismos.maintenance:mimetype:update-js
actualiza el archivomimetypelist.js
.
maintenance:repair
intenta reparar la instalación.maintenance:singleuser
activa el modo mono-usuario.
Gestión de usuarios
user:add
añade un nuevo usuario.user:delete
borra un usuario.user:report
enseña cuántos usuarios tienen acceso y de dónde procede.user:resetpassword
reinicia la contraseña de un usuario.user:lastseen
muestra la última conexión de un usuario.
Gestionar aplicaciones
app:list
obtiene una lista de aplicaciones, activas e inactivas.app:enable
para activar una aplicación.app:disable
para lo contrario.
Sobre la configuración
config:list
para obtener toda la configuración, aplicaciones incluídas, en formato JSON.config:import
para importar una configuración (previamente obtenida con el anterior).
Operaciones con DAV
dav:create-addressbook
permite crear una agenda para un usuario con un nombre concreto.dav:create-calendar
igual pero con un calendario.
Operaciones con archivos
files:scan
busca nuevos archivos y actualiza el caché de los mismos.files:cleanup
limpia el caché de archivos.files:transfer-ownership
transfiere la propiedad de archivos y carpetas de un usuario a otro, incluyendo los compartidos.
La búsqueda de nuevos archivos (files:scan
) los añade al caché y puede realizarse con todos los archivos, sólo los de uno o varios usuarios e incluso se les puede limitar a una ruta concreta.
Comprobando la integridad del código
Desde la versión 9.0 de ownCloud el código y las aplicaciones se firman con una clave para asegurar su estabilidad y proteger el entorno.
integrity:check-core
para verificar que el núcleo de ownCloud es correcto.integrity:check-app
para lo mismo pero sólo con una aplicación.
Gestionando el registro de actividades
log:owncloud
muestra los parámetros actuales del registro.log:manage
permite manipular el registro.