In this few series of posts, I’d like to introduce you some of the open-source softwares we are using at Shimojo laboratory to power our information infrastructure.
At a laboratory, its members often need to author digital data such as paper manuscripts, seminar slides, poster manuscripts, presentation videos and pictures, etc. Those data are usually shared among team members. Until few years ago, we used Google Drive at our laboratory as a too for file sharing. However, considering the problems on intellectual properties and flexibility of server operation, we decided to host our own on-premise file sharing server.
ownCloud is the OSS we are using as the software to run the file-sharing server. This is a web application written in PHP which allows users to easily deploy file sharing servers. Except for the browser interface, it also has a WebDAV-compliant interface. Which means, you can mount the file-server with your OS or your favorite file transfer software like Cyberduck. Additionally, ownCloud also provides its own native client for OSes such as Windows/OSX/Linux/iOS/Android. It also has some nice access rights management feature like creating public share links or sharing in a specific user group.
As the actual storage to save all the data, we currently use a proprietary NAS sold by QNAP with RAID6 configured. This NAS is not directly mounted to the filesystem of the server, but it is read/written on application level using the external storage feature of ownCloud. Maybe this is not optimal in terms of performance, but we decided to do so because of the easiness of operation and administration.
Our installation of ownCloud is configured using the official yum repository provided by the ownCloud project. The yum repository installs Apache as the web server, mod_php as the execution environment for PHP and MySQL as the database. However, most of our other web servers run nginx and php-fpm, so we plan to migrate from yum to source code installation in the near future. By the way, we have a front-end nginx reverse proxy that translates requests from https to http and delegates to other web-server.
It’s already more than a year since we have started running ownCloud at our lab, and there was no big problems or failures so far. For future works, we plan to backup the data stored in NAS, support LDAP authentication and introduce in-memory cache.