Owncloud: Difference between revisions
Line 10: | Line 10: | ||
== Install == |
== Install == |
||
=== Install packages === |
|||
From [https://doc.owncloud.org/server/9.0/admin_manual/installation/linux_installation.html Owncloud page], on Ubuntu: |
From [https://doc.owncloud.org/server/9.0/admin_manual/installation/linux_installation.html Owncloud page], on Ubuntu: |
||
Line 34: | Line 35: | ||
Optional: |
Optional: |
||
* Install {{deb|php5-imagick}} to get image preview (but beware of recent vulnerabilities. See [[Linux security]]). |
* Install {{deb|php5-imagick}} to get image preview (but beware of recent vulnerabilities. See [[Linux security]]). |
||
=== Configuration === |
|||
When installed, ''Owncloud'' is available at URL http://localhost/owncloud/. |
|||
This is configured in apache2 file {{file|/etc/apache2/conf-available/owncloud.conf}}: |
|||
<source lang=apache> |
|||
Alias /owncloud "/var/www/owncloud/" |
|||
<Directory "/var/www/owncloud"> |
|||
Options +FollowSymLinks |
|||
AllowOverride All |
|||
<IfModule mod_dav.c> |
|||
Dav off |
|||
</IfModule> |
|||
SetEnv HOME /var/www/owncloud |
|||
SetEnv HTTP_HOME /var/www/owncloud |
|||
</Directory> |
|||
<Directory "/var/www/owncloud/data/"> |
|||
# just in case if .htaccess gets disabled |
|||
Require all denied |
|||
</Directory> |
|||
</source> |
|||
Note that owncloud files {{file|/var/www/owncloud}} are outside the regular http root (i.e. {{file|/var/www/html}}). |
|||
Before completing the installation, we first setup a virtual access to allow accessing Owncloud via HTTPS. This is also recommended for remote installs. For this create the file {{file|/etc/apache2/sites-available/owncloud.immie.org.conf}}, with content: |
|||
<source lang=apache> |
|||
<IfModule mod_ssl.c> |
|||
<VirtualHost *:443> |
|||
ServerAdmin webmaster@localhost |
|||
ServerName owncloud.immie.org |
|||
DocumentRoot /var/www/html |
|||
# Owncloud configuration: see conf-available/owncloud.conf |
|||
SSLCertificateFile /etc/ssl/certs/ssl-cert-owncloud.immie.org.pem |
|||
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-owncloud.immie.org.key |
|||
# ... |
|||
</VirtualHost> |
|||
</IfModule> |
|||
</source> |
|||
We only list the most relevant settings. Basically we only setup the server name and give the SSL certificates. For now, we leave {{file:/owncloud}} as a global alias. |
|||
Enable the site: |
|||
<source lang=bash> |
|||
a2ensite owncloud.immie.org |
|||
service apache2 reload |
|||
</source> |
|||
We also need to create a new MySQL user and database for owncloud. This way owncloud will not use MySQL root access. |
|||
<source lang=bash> |
|||
MYSQL_HISTFILE=/dev/null mysql --user=root -p mysql # You'll need MySQL root user password |
|||
</source> |
|||
<source lang=mysql> |
|||
CREATE DATABASE owncloud_immie; |
|||
GRANT ALL PRIVILEGES ON owncloud_immie.* TO owncloud_immie@localhost IDENTIFIED BY '********************'; |
|||
quit |
|||
</source> |
|||
Of course, replace <code>********************</code> with your own password. |
|||
Proceed to the URL https://owncloud.immie.org/owncloud: |
|||
* Enter a new admin account '''user name''' and '''password'''. |
|||
* Click on '''Storage & database''' |
|||
* Keep data folder as is (<code>/var/www/owncloud/data</code>). Make sure it is outside web server root. |
|||
* Select '''MySQL / MariaDB'''. |
|||
* Enter MySQL '''user name''', '''password''', '''database name'''. Keep <code>localhost</code> for the DB server name. |
|||
* Click '''Finish setup'''. |
|||
== Hardening == |
== Hardening == |
Revision as of 17:10, 9 June 2016
References
Tools:
- DAVDroid — paid sync app on Android
- Outlook CalDav Synchronizer — Sync Outlook with Google, SOGo, Horde or any other CalDAV server
- Also on GitHub.
- CardDAV-Sync — Another CardDAV sync app for Android (free / paid).
Install
Install packages
From Owncloud page, on Ubuntu:
wget -nv https://download.owncloud.org/download/repositories/stable/xUbuntu_14.04/Release.key -O Release.key
apt-key add - < Release.key
sh -c "echo 'deb http://download.owncloud.org/download/repositories/stable/xUbuntu_14.04/ /' >> /etc/apt/sources.list.d/owncloud.list"
apt-get update
apt-get install owncloud
On Debian 8:
wget -nv https://download.owncloud.org/download/repositories/9.0/Debian_8.0/Release.key -O Release.key
apt-key add - < Release.key
sh -c "echo 'deb http://download.owncloud.org/download/repositories/9.0/Debian_8.0/ /' >> /etc/apt/sources.list.d/owncloud.list"
apt-get update
apt-get install owncloud
Note:
- Installing owncloud-files was not enough. Not sure what are the missing dependencies.
Optional:
- Install php5-imagick to get image preview (but beware of recent vulnerabilities. See Linux security).
Configuration
When installed, Owncloud is available at URL http://localhost/owncloud/. This is configured in apache2 file /etc/apache2/conf-available/owncloud.conf:
Alias /owncloud "/var/www/owncloud/"
<Directory "/var/www/owncloud">
Options +FollowSymLinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
</Directory>
<Directory "/var/www/owncloud/data/">
# just in case if .htaccess gets disabled
Require all denied
</Directory>
Note that owncloud files /var/www/owncloud are outside the regular http root (i.e. /var/www/html).
Before completing the installation, we first setup a virtual access to allow accessing Owncloud via HTTPS. This is also recommended for remote installs. For this create the file /etc/apache2/sites-available/owncloud.immie.org.conf, with content:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName owncloud.immie.org
DocumentRoot /var/www/html
# Owncloud configuration: see conf-available/owncloud.conf
SSLCertificateFile /etc/ssl/certs/ssl-cert-owncloud.immie.org.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-owncloud.immie.org.key
# ...
</VirtualHost>
</IfModule>
We only list the most relevant settings. Basically we only setup the server name and give the SSL certificates. For now, we leave File:/owncloud as a global alias.
Enable the site:
a2ensite owncloud.immie.org
service apache2 reload
We also need to create a new MySQL user and database for owncloud. This way owncloud will not use MySQL root access.
MYSQL_HISTFILE=/dev/null mysql --user=root -p mysql # You'll need MySQL root user password
CREATE DATABASE owncloud_immie;
GRANT ALL PRIVILEGES ON owncloud_immie.* TO owncloud_immie@localhost IDENTIFIED BY '********************';
quit
Of course, replace ********************
with your own password.
Proceed to the URL https://owncloud.immie.org/owncloud:
- Enter a new admin account user name and password.
- Click on Storage & database
- Keep data folder as is (
/var/www/owncloud/data
). Make sure it is outside web server root. - Select MySQL / MariaDB.
- Enter MySQL user name, password, database name. Keep
localhost
for the DB server name. - Click Finish setup.
Hardening
See Linux Security.