ownCloud is an open source solution for organizing your own dropbox-like file storage. Except, in fact, file synchronization is available as additional features, such as: synchronization of contacts, calendars (there is support for CalDAV) and tasks, photo gallery, audio player (with support for the Ampache protocol). The service works in multi-user mode, there is a shared folder functionality.
Synchronization clients are available for Windows / Mac / Linux / Android, the version for iOS, according to the assurances of the developers, in the final stage. There is quite an interesting, but so far experimental, External Storage function, which allows you to mount Dropbox and GDrive in a folder with ownCloud.
An important feature for me in the Android client is Instant Upload, which automatically uploads videos and photos to the cloud immediately after shooting, similarly to the Dropbox client.
')
The project is quite damp, the interfaces and the stability of the clients leave much to be desired, but the fact that the cloud is completely manageable and encrypted has covered these drawbacks.
As a hosting you can choose VDS or home server on the mezzanine.
Consider the option with a "home server".
A simple nettop was chosen as the piece of hardware, the operating system is Ubuntu Server 12.04, direct ip and domain name. The data will be stored in an encrypted LVM partition, the clients' access to the server is organized over SSL.
- Install the “bare” ubuntu server 12.04, in the installation process do not forget about LVM-encrypted with a password phrase that is resistant to selection.
- Install the necessary packages:
apt-get install apache2 php5 php5-common php5-gd php5-sqlite curl libcurl3 libcurl3-dev php5-curl - Download ownCloud:
wget download.owncloud.org/releases/owncloud-4.0.5.tar.bz2
(You can take the link to the latest version directly on the project website) and unpack it:
tar -xjf owncloud-4.0.5.tar.bz2 - Copy the folder from ownCloud to the root of the web server:
cp -r owncloud / var / www / - Create the necessary folders
mkdir / var / www / owncloud / data
and change their owner to www-data
chown -R www-data: www-data / var / www / owncloud / apps
chown -R www-data: www-data / var / www / owncloud / config
chown -R www-data: www-data / var / www / owncloud / data - Edit / etc / apache2 / sites-enabled / 000-default
Here AllowOverride = All in the section "Directory / var / www" - We include the rewrite, headers and ssl modules in apache:
a2enmod rewrite && a2enmod headers && a2enmod ssl - Install openssl:
apt-get install openssl (probably already installed)
We generate self-signed certificates and place them in the appropriate folders:
openssl genrsa -des3 -out server.key 1024
mv server.key server.key.old
openssl rsa -in server.key.old -out server.key
openssl req -new -key server.key -out cert.csr
openssl x509 -req -days 365 -in cert.csr -signkey server.key -out cert.crt
mv cert.crt / etc / ssl / certs /
mv server.key / etc / ssl / private / - Editing / etc / apache2 / sites-available / default-ssl
We indicate in SSLCertificateFile the certificate generated earlier /etc/ssl/certs/cert.crt, and in SSLCertificateKeyFile our own key /etc/ssl/private/server.key
Do not forget to specify the name of the domain and site. - Specify the Apache main site:
a2ensite default-ssl - Restart apache:
service apache2 reload
At this stage of the installation is completed, then you will need to configure, proper owncloud. - Go to yourip.address / owncloud , accept the self-signed certificate, go through all the necessary steps (or rather, just one step) to set up your ownCloud. We fall into a fairly nice web interface.
- Next, install clients on computers / smartphones. Client configuration is reduced to specifying the address of your owncloud - yourip.address / owncloud , entering the name and password and the destination folder on the computer. Do not forget to specify https in the address, not http.
In practice, everything works very similarly with the dropbox - you upload the file, it “crawls” across all clients. You shoot on the camera of an Android-smartphone - an image or video after some time gets on the computer. Especially I want to note that the Android client supports the system-wide Easy Share Action function, because from almost any application you can put the file in your ownCloud.
ownCloud has built-in support for WebDAV, so on most desktop operating systems you can do without a client application at all (for example, if synchronization is not important, and only file access is needed). Directly on the server, the data is stored as ordinary files and, if you turn on the fantasy and roll up your sleeves, you can combine your ownCloud with an FTP / AFP / Samba server, organize automatic torrent downloads via rtorrent, and in corporate environments truly unlimited access to files is opened. In general, everything is limited to your imagination.
The functionality is easily extended with additional plug-ins (Applications in ownCloud terminology). For example, in the case of a physical inability to encrypt a server disk, you can use the Encryption plugin, then the entire contents of the cloud will be encrypted with built-in tools.
Storage space is limited only by your hard drive. Cloud in 2Tb is not a question. File versioning support is available. One desktop client, by the way, can connect to several ownCloud clouds at the same time.
The speed of work depends mainly on the width of the client and server channel. In my case, almost all clients and the server are located within the same provider, because video from the phone is poured into the cloud very quickly, incomparably faster than in the dropbox.
This solution with an LVM-encrypted disk has one drawback - in the event of a reboot, we will lose remote access to the server, because the system will ask for a passphrase to decode the disk on the physical console when it boots. It is also noted from the shortcomings that with the active work of clients, the Apache service on the server doesn’t eat away processor resources.
As a result, we got our Dropbox with secure access and ladies, with customers under common platforms. ownCloud, in fact, makes it possible to take advantage of the many amenities of cloud technologies without demanding a response sacrifice in the form of privacy.
From myself in every way I wish the project further development and prosperity.