In this tutorial, we will setup Owncloud 6 with self signed SSL certificate on Ubuntu 13.10 Server.In other words,setting HTTPS for Owncloud 6 in Ubuntu 13.10 Server.In recent months, Owncloud 6 has been released.In our last post,we have already written document on “how to install Owncloud 6 in Ubuntu 13.10 Server“.Hence, we expect,you have already setup the Owncloud 6.x on Ubuntu 13.10 Server.
IMPORTANT NOTE : There is a one major difference in Ubuntu 13.10 Server is,it is shipped with by-default Apache version 2.4. Hence,we have to configure the Apache as per version 2.4 .
Follow the given below steps, to setup Owncloud 6 with self signed SSL certificate/HTTPS on Ubuntu 13.10 Server
Step 1 : Install the OpenSSL package in the Server.This package is important to install,it helps to generate the SSL certificate.
sudo apt-get install openssl
Step 2 : Enable the SSL and Rewrite module in Apache 2.4 .
sudo a2enmod ssl sudo a2enmod rewrite
Step 3: Now create the directory for SSL Certificates which will be generated with the help of command openssl
.
sudo mkdir -p /etc/apache2/ssl
Step 4 : Generate Self Signed Certificate by using below given command.
sudo openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/owncloud.pem -keyout /etc/apache2/ssl/owncloud.key
Step 5: Configure Apache 2.4 Webserver in Ubuntu 13.10 Server(By-default in Ubuntu 13.10 Server edition, apache version 2.4 is shipped)
Note: There are some changes have been found in Apache 2.4 version related to configuration.
In previous post of setup Owncloud 6 in Ubuntu 13.10 Server,we are using /etc/apache2/conf.d/owncloud.conf file. Hence, we will edit the /etc/apache2/conf.d/owncloud.conf .
In case,you have owncloud configuration file in other path then edit that particular file.
Description of our Server
Operating System : Ubuntu 13.10 Server edition
Arch : x86_64
Apache version : 2.4
Owncloud Version : 6.0 (or 6.x)
Owncloud DocumetRoot path : /var/www/owncloud
Owncloud configuration File Path : /etc/apache2/conf.d/owncloud.conf
NOTE: We have written both IP based and Name based Virtual Host Apache configuration. Use anyone method as per your requirement
IP Based VirtualHost Apache configuration for https in Owncloud Server
(A) Edit apache2.conf file : Edit /etc/apache2/apache2.conf file.
And add the line IncludeOptional conf.d/*.conf at the end of file
sudo vi /etc/apache2/apache2.conf
### paste below given lines,at the end of file apache2.conf ###3 IncludeOptional conf.d/*.conf
Save and close the apache2.conf file . Restart the apache2 service
sudo /etc/init.d/apache2 restart
(B) Edit Owncloud configuration file:
Edit the /etc/apache2/conf.d/owncloud.conf file.
sudo vi /etc/apache2/conf.d/owncloud.conf
Paste the below given contents.In this configuration we have configured SSL for owncloud and redirected all port 80 traffic to port 443 i.e HTTPS.
IMPORTANT NOTE : REPLACE 192.168.56.102 with your Server IP Address (use ifconfig
command to find the ip address of server)
Optional Note: In case if you want both http and https running then remove all lines in between of line “#### Redirect to port 443 ###” and “#### End of Redirection configuration ###”
#### Redirect to port 443 ### RewriteEngine on ReWriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] #### End of Redirection configuration ### DocumentRoot /var/www/owncloud/ Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted ####Configuration for SSL ##### SSLEngine on SSLCertificateFile /etc/apache2/ssl/owncloud.pem SSLCertificateKeyFile /etc/apache2/ssl/owncloud.key #### End of SSL Configuration #### DocumentRoot /var/www/owncloud/ Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted
Save and close the file. Restart the apache2 service
sudo /etc/init.d/apache2 restart
Step C : Now Open the web browser and type ip address in URL address field.
For Example http://192.168.56.102
(Replace 192.168.56.102 with your server ip address)
NAME Based VirtualHost Apache configuration for https in Owncloud Server
To setup the name based virtual apache configuration,follow given below steps
(A) Edit apache2.conf file
Edit /etc/apache2/apache2.conf file.One parameter you have to modify and one parameter you have to add.
sudo vi /etc/apache2/apache2.conf
(i) Modify the value of “HostnameLookups Off” to “HostnameLookups On”
(ii) Add below given new line in apache2.conf file at the end of last line
IncludeOptional conf.d/*.conf
(B) Edit Owncloud configuration file.
Edit the Owncloud configuration file.In our system it is located in /etc/apache2/conf.d/owncloud.conf
sudo vi /etc/apache2/conf.d/owncloud.conf
Paste below given contents in /etc/apache2/conf.d/owncloud.conf file. Save and close the file after pasting
NOTE: Replace example.com with your Domain name
ServerName example.com ServerAlias www.example.com RewriteEngine on ReWriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted ServerName example.com ServerAlias www.example.com SSLEngine on SSLCertificateFile /etc/apache2/ssl/owncloud.pem SSLCertificateKeyFile /etc/apache2/ssl/owncloud.key DocumentRoot /var/www/owncloud/ Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted
(C) Restart the apache2 service
sudo /etc/init.d/apache2 restart
(D) Open the web browser and type the domain name.
For example.
http://example.com
Replace example.com with your domain name in URL address field in web browser.