ownCloud is a AGPLv3 private file server
Features
- Online file storage
- Android compatibility
- Contacts(CarDAV) and calendar (CalDAV) synchronization
- Music streaming
- Many more
Installation
Requirements
The following software must be installed and configured
- A database management system
- A web server
Install owncloud
$ su root $ yum install owncloud owncloud-mysql owncloud-httpd
A configuration file named /etc/httpd/conf.d/owncloud.conf
should have been created
Start MariaDB and Apache HTTP Server if they weren't already
$ systemctl start httpd $ systemctl start mariadb
If Apache was already running restart it
$ systemctl restart httpd
Create a database
Log in as root
$ mysql -u root -p
Create a new databse
CREATE DATABASE IF NOT EXISTS owncloud;
Create a new user and grant him privileges
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON owncloud.* TO 'username'@'localhost' IDENTIFIED BY 'password';
Reload privileges and quit
FLUSH PRIVILEGES; quit
Setup owncloud
Open localhost/owncloud
in your browser and create the admin account. Also configure owncloud database parameters set previously.
Then your owncloud server should be available under your localhost/owncloud
. Unless configured otherwise it won't be available from outside.
Once owncloud is properly configured you can make it available from outside. Open Apache ports and edit /etc/httpd/conf.d/owncloud.conf
such that
<IfModule mod_authz_core.c> # Apache 2.4 #Require local Require all granted </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow #Deny from all #Allow from 127.0.0.1 #Allow from ::1 Allow from all </IfModule>
This however enables owncloud for all your virtual hosts under hostname/owncloud
. If this is not what you want, comment out this line
# Alias /owncloud /usr/share/owncloud
And for example, let's say that you want to create a virtual host for owncloud using the domain owncloud.hostname
with SSL support. If /etc/httpd/conf.d/hostname.conf doesn't exist, create it, and paste this
<VirtualHost *:80> ServerName hostname DocumentRoot /usr/share/owncloud </VirtualHost> <VirtualHost *:443> ServerName hostname DocumentRoot /usr/share/owncloud SSLEngine On SSLCertificateFile /etc/pki/tls/certs/hostname.crt SSLCertificateKeyFile /etc/pki/tls/private/hostname.key </VirtualHost>
ownCloud onfiguration file is /etc/owncloud/config.php
Troubleshooting
Dynamic IP adress
If you have a dynamic IP address you can configure a dynamic DNS client, for example inadyn-mt to update your ip for your DNS server account