OwnCloud

Today we are going to talk about how to organize public file storage. So, the task was to create a storage for company’s files that can be accessed through a wide variety of devices via the Internet. A kind of DropBox and Google Drive analogue. But in the first place was the confidentiality of data, located on the storage.

Accordingly, the Solution was found among the products that can be installed on a private server. We build the system on the basis of OwnCloud. The current stable version is 9.1. At the moment, the system is running on a virtual server under control of CentOS 7, for which 1 virtual processor, 2GB RAM, and 20 GB of disk space on the SSD are provided. The client is a Web browser. Applications for all the most popular mobile platforms are also available.

For small companies (up to 150 people) a configuration is offered in which all: the web server and application server, database, file storage are located on the same server. User authentication is performed via LDAP or Active Directory. It is recommended to use 2 CPU cores, 16GB RAM for server, storage size is determined by user data. The amount of memory in use for ownCloud strongly depends on the number of users and files and on the intensity of work with the system. The minimum operating value is 128MB RAM, but the recommended minimum is 512 MB RAM.

When choosing an operating system, the most proven and stable distribution is Ubuntu 16.04 LTS. RedHat or SuSE are also supported, but for them may be needed to connect third-party repositories and to implement the additional settings.

It is recommended to use SSL for system operation. For this, Apache must be configured to use SSL in the standard way.
It is recommended to use MySQL / MariaDB as a database, ( MyISAM is not supported)
Local session management is recommended for the application server..PHP is stored in tmpfs, which is Mounted in the session storage location of a particular operating system.

Memory Cache.APC/APCu is recommended for local cache. – Redis – for Transactional File Locking and distributed caching, running on a dedicated server. Memcache improves the solution performance. ownCloud supports up to 4 memcaches;

For maximum performance, stability and full functionality it is recommended to use
Other supported platforms and configurations
So, for CentOS 7 installed in Minimal Installation mode it was required:

  1. Installation of the ‘wget’ utility
  2. Import of repositories and getting the installation files
  3. OwnCloud Installation. The developer provides an opportunity to install only files for ownCloud, only dependencies. Or both on the same command. We used the last option and in addition to the files, the following dependencies were installed, among which the absence of mySQL was noted:
  4. Next, the Firewall was configured to use the web
  5. Httpd service was started
  6. The mariadb service was installed, configured with standard tools, and started
  7. Access permissions to ownCloud files for the apache user were configured according to the developer’s instruction.
  8. SELinux permissions were configured according to the developer’s instructions.

Afterwards there appeared the possibility of a final configuration of OwnCloud on the login page. The system showed a user-friendly interface and immediately identified the configuration flaws,
Which were instantly corrected. Additionally the database settings were optimized according to the developer’s instructions. At the moment the system is in test operation. Security structure and hierarchy for the folder tree are being developed.

The solution deployment took 8 working hours from planning to fine tuning (without taking into account the preliminary system testing). The software product has a fairly detailed instruction. The result was a system that gives access to private data, providing the ability to synchronize it on different devices using WebDAV and controlled publication.

All this – on own server capacities. OwnCloud is an extensible platform with a simple, functional API. Also ready-made plugins and applications are available to make configurations directly for your tasks. The customer is satisfied with the result. For the future, it is planned to strengthen the solution fault tolerance and to configure two-factor authentication.

If you plan to use cloud system in your company, our specialists are always ready to provide you with assistance and support in the implementation and maintenance of the solution, please contact [email protected]