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.
Hey,
Great tutorial but I’ve hit a snag. I get this
Syntax error on line 270 of /etc/apache2/apache2.conf:
Invalid command ‘IncludeOptional’, perhaps misspelled or defined by a module not included in the server configuration
Action ‘configtest’ failed.
After trying to restart apache.
Hi Drizz,
Seems maybe some typo error . can you share the apache version you are using.
Regards
Sharad
добрый день Шарад у меня вопрос как можно убрать пред просмотр видео при скачке файла
Translating into Emglish – “Good afternoon, I have a question Sharad how to remove short preview video in the jump file”
Answer:
Hello Evgeniy ,
I did not understand your question. Can you give describe more or send screenshot to me
Regards
Sharad
Translating to Russian ( using google translate )
Здравствуйте Евгений,
Я не понимаю ваш вопрос. Можете ли вы дать описать более или отправить скриншот мне
С уважением
Sharad
Why doesn’tsd you use /etc/apache2/site-avail and a2ensite?
Those are the recommended ways to handle web sites for Apache in Debian/Ubuntu.
I found it, I’ve used a name instead of the IP adress of the server when i made the cert file. still have some issues with the apache server not finding the servername, but everything works in owncloud.
In Ubuntu 13.10 , default is apache 2.4. Here for Server Name lookup by apache in VirtualHost configuration.
Enable HostnameLookups in /etc/apache2/apache2.conf
Change the value of “HostnameLookups Off” to “HostnameLookups On”
Restart the apache2 service
For further reading,have a look on this title “NAME Based VirtualHost Apache configuration for https in Owncloud Server ” in post.
“apache server not finding the servername”
Can you send me exactly the error you are getting ?
Hi.
after enabling ssl and https i’m getting this message in my Owncloud 6 settings:
“Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken”
Hello Eystein,
This is a known issue in owncloud.For troubleshooting I need some answer.
May I know have you done this setup from scratch ?
Check the PHP version
Regenerate the ssl certificate and check all steps once again.
Can you send me the owncloud.log at admin@sharadchhetri.com
Hello
I’ve followed the steps in your OwnCloud 6 setup guide to the best of my ability 🙂
I will try to regenerate, and if that dont work, I’ll send you the log.
I followed your instructions to the “T” on setting up owncloud and this guide and now im getting page cannot be displayed with https and if i type http:// it gets redirected to https.. Before I did the owncloud https guide my site including owncloud (http) was working. What could I be missing? Thanks for you help in advance.
Hello Ralphael,
In Ubuntu 13.10 Server, by-default apache 2.4 is shipped.Which has some different parameter name.
In configuration,I have redirected port 80 to 443 that is http to https.
To work both http and https,
Remove below given line
Troubleshooting Steps :
This document is created for Owncloud 6.x on Ubuntu 13.10 with Apache 2.4 version.
(1) sudo apache2ctl -v ( The Apache version should be 2.4 or above)
(2) cat /etc/issue (The Ubuntu version should be 13.10 )
(3) sudo dpkg -l|grep owncloud (Owncloud package must be version 6 or more in version 6 series)
(4) enable ssl and rewrite module (Here, I suspect ssl might not enabled)
(5) Check the apache configuration of owncloud . Either it should be Name based or IP based
The DocumentRoot should have exact path of owncloud files path for eg. /var/www/owncloud
(6) There should be no duplicate owncloud apache configuration. For this check the files inside /etc/apache/sites-enabled and /etc/apache/conf.d
(7) Recheck all the steps as per your Name based or IP based configuration
IMPORTANT NOTE: Check the typo or spelling error.
(8) If still has issue. Send below given information
(a) What is the Ubuntu version you are using (sudo cat /etc/issue)
(b) Owncloud apache configuration file
(c) What is your requirement, IP based or Name based Virtual Host. If Name based then are you using any domain name.
(a) What is the Ubuntu version you are using (sudo cat /etc/issue)
Ubuntu 13.10 n l
(b) Owncloud apache configuration file
/etc/apache2/conf.d/owncloud.conf
ServerName ralphaeljohnson.com
ServerAlias http://www.ralphaeljohnson.com
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
ServerName ralphaeljohnson.com
ServerAlias http://www.ralphaeljohnson.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) What is your requirement, IP based or Name based Virtual Host. If Name based then are you using any domain name.
Namebased… domain name is ralphaeljohnson.com
thanks for your help.
Edit apache2.conf file
sudo vi /etc/apache2/apache2.conf
Find “HostnameLookups Off” and replace to “HostnameLookups On” in /etc/apache2/apache2.conf file
Add line
IncludeOptional conf.d/*.conf
in /etc/apache2/apache2.conf file at end of file.Enable ssl
sudo a2enmod ssl
Restart apache2 service.
I apologize if this question is not entirely appropriate for this post
I recently installed owncloud on Ubuntu 12.04 (desktop 64 bit). The install process went smoothly and while I can access owncloud throughout my LAN with no problem, remote access is a no go.
Is it possible that because I have not installed DNSMASQ that that is why I cannot access my server via onecloud outside of my network? I have enabled both ports 80 and 443 as well. Any Ideas? Also I am running owncloud via http not https (ssl) but I do not think that would affect my remote access.
See here for the original link I used..https://www.digitalocean.com/community/articles/how-to-setup-owncloud-5-on-ubuntu-12-10
Hello Eli,
To access the owncloud publicly.Owncloud server must have public ip. or any public ip should be NAT with owncloud server
Regards
sharad