Adiós carpetas compartidas, hola servidor central de documentos

Debido a unos problemas que ocurrieron con un ransomware en mi lugar de trabajo se bloqueó y se prohibió el uso de carpetas compartidas de Windows entre los usuarios además de las que se tenían en servidores para el uso de los mismos técnicos de informática.

En nuestra pequeña oficina, casi 50 usuarios, estuvimos evaluando qué solución utilizar ya que hay varias y para diferentes requerimientos. Hay suites de colaboración integrada, con o sin conexión a Internet, pagados y gratuitos, simple servidor FTP con certificado de seguridad, scripts en PHP y JavaScript, nombres reconocidos en la industria y X, etc.

Luego de consultar con los diferentes grupos de usuarios, 5 grupos en general, se llegó al siguiente listado de requerimientos:

  1. No se debe depender de una conexión constante a Internet.
  2. El usuario nunca debe dar problemas.
  3. Los documentos deben estar siempre respaldados en unidades externas.
  4. El flujo de trabajo debe ser similar al uso de carpetas compartidas de Windows.

Luego de buscar y comparar se terminó decidiendo por OwnCloud 10 ya que además de cumplir con todo lo anterior cuenta con abundante documentación y aunque muchas características están bloqueadas, no como NextCloud, las que se encuentran disponibles cubren las necesidades planteadas.

La instalación fue increíblemente sencilla, teníamos una vieja computadora con 1.5GB de RAM con un Linux que ya nos era de servidor para otras cosas (DHCP, FTP para el scanner, tester de ancho de banda, etc.) y un disco de 5TB que no se estaba utilizando. Luego de seguir las instrucciones en cuestión de minutos ya teníamos montado el servidor con funcionalidades mínimas y abundante almacenamiento.

Comenzamos configurando las recomendaciones que brinda OwnCloud en su página de configuración (caché y addons entre otras cosas). Luego la creación de todos los usuarios, sus grupos y administradores, asignando 10GB por defecto a cada usuario. Como ya teníamos establecidos los grupos de personas identificamos quiénes iban a crear las carpetas compartidas y a esos agregamos más espacio en disco porque son a quiénes les va a contar el gran total de la carpeta compartida dentro de OwnCloud.

Ya que como es mejor prevenir que lamentar en una red interna, creamos un certificado de seguridad y un CA auto firmado (y se lo instalamos a cada usuario) para que el servidor se fuera sobre HTTPS, así les aparecería a los usuarios el famoso pequeño candado verde. Pasamos con cada usuario instalando el cliente Windows de OwnCloud y explicando el uso de la herramienta comenzando con la pregunta: ¿A trabajado antes con Dropbox? porque a fin de cuentas este software es muy similar y así no nos tomaba demasiado tiempo con cada usuario.

Además de eso establecimos las carpetas compartidas y conexiones a otras carpetas dentro de los documentos de los usuarios que quisieran respaldar porque así cuentan con un respaldo de los otros archivos de trabajo. Y en esto está lo del respaldo, actualmente sólo contamos con un disco externo que una vez a la semana conectamos al sistema y creamos un espejo de los documentos, sé que esto no es suficiente pero es lo que está disponible.

OwnCloud no trae, que haya encontrado, una forma para determinar la cantidad de espacio que está utilizando cada usuario, esto lo resolvimos con la siguiente vista:

SELECT
 m.user_id AS usuario,
 concat(cast(((fc.size / 1024) / 1024) AS signed),'MB') AS espacio
FROM
 ((oc_mounts m join oc_filecache fc) JOIN oc_storages s)
WHERE
 ((m.mount_point = concat('/',m.user_id,'/')) AND 
 (s.numeric_id = m.storage_id) AND 
 (fc.storage = m.storage_id) AND 
 (fc.path = 'files'))
ORDER BY
  fc.size DESC;

Entonces cuándo necesitamos un total sólo ejecutamos:

SELECT * FROM espaciousado;


Creado: 2018-07-09

Actualizado: 2018-07-09