Install owncloud on own server.
First add an apache virtualhost.
Edit
/etc/apache2/sites-available/default
Create the following:
<VirtualHost *:80> ServerName cloud.relsoft.in ServerAlias cloud.relsoft.in DocumentRoot /var/www/virtual/relsoft.in/cloud/htdocs </VirtualHost>
Create a “A” record in the DNS panel for relsoft.in:
A cloud.relsoft.in [myipaddress]
Create the virtual directory:
mkdir -p /var/www/virtual/relsoft.in/cloud/htdocs chown -R www-data.www-data /var/www/virtual/relsoft.in
Download and uncompress the latest owncloud installation package [Available at
https://owncloud.org/install/#instructions-server ] wget https://download.owncloud.org/community/owncloud-8.0.3.tar.bz2 tar xf owncloud-8.0.3.tar.bz2 mv owncloud/* ./ rm owncloud-8.0.3.tar.bz2 rm -rf owncloud/
Install php gd module, php5-curl and php5-mysql:
sudo apt-get install php5-gd php5-curl php5-mysql
Set always_populate_raw_post_data to -1 in your php.ini
Now to set the appropriate value in php.ini, first I have to locate the correct php.ini to edit.
find /etc -iname 'php.ini'
Now locate the location of the setting:
grep -in 'always_populate_raw_post_data' /etc/php5/apache2/php.ini
704:;always_populate_raw_post_data = -1
Edit the correct line with emacs:
emacs /etc/php5/apache2/php.ini
Alt-G G 704
takes me to the correct line to edit. Remove the two leading semicolons.
Restart apache2 server:
service apache2 restart
Now reload cloud.relsoft.in in your browser.
Now I got a security warning:
Your data directory and files are probably accessible from the internet because the .htaccess file does not work.
For information how to properly configure your server, please see the documentation.
This means that htaccess is not enabled for the server. So to setup .htaccess for apache:
Edit /etc/apache2/sites-available/default
emacs /etc/apache2/sites-available/default
Add the “AllowOverride All” directive.
So the block now looks like:
ServerName cloud.relsoft.in
ServerAlias cloud.relsoft.in
DocumentRoot /var/www/virtual/relsoft.in/cloud/htdocs
AllowOverride All
If while editing apache directive files, you face issues, run: systemctl status apache2.service Or journalctl -xn for details
Create database with mysql:
mysql -u root -p
mysql> CREATE DATABASE ‘owncloudie’;
mysql> USE owncloudie;
mysql> CREATE USER ‘cloudsrvrusr’@’localhost’ IDENTIFIED BY ‘mypassword’;
mysql> GRANT ALL PRIVILEGES ON owncloudie.* TO ‘cloudsrvrusr’@’localhost’ WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
Restart apache2, and reload the install page.
Now, add an admin username and password, and add the database details that we created with mysql.
When you click on ‘Finish setup’, mysql installation will be over, and you can login as administrator.
Create users.
Download the Desktop client at https://owncloud.org/install/#install-clients, and the Android client from https://play.google.com/store/apps/details?id=com.owncloud.android
To create ssl:
mkdir -p /etc/apache2/ssl openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
emacs /etc/apache2/sites-available/default-ssl.conf
<IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin [email protected] ServerName cloud.relsoft.in ServerAlias www.loud.relsoft.in DocumentRoot /var/www/virtual/relsoft.in/cloud/htdocs ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown </VirtualHost> </IfModule>
a2ensite default-ssl.conf service apache2 reload
Joel G Mathew, known in tech circles by the pseudonym Droidzone, is an opensource and programming enthusiast.
He is a full stack developer, whose favorite languages are currently Python and Vue.js. He is also fluent in Javascript, Flutter/Dart, Perl, PHP, SQL, C and bash shell scripting. He loves Linux, and can often be found tinkering with linux kernel code, and source code for GNU applications. He used to be an active developer on XDA forums, and his tinkered ROMS used to be very popular in the early 2000s.
His favorite pastime is grappling with GNU compilers, discovering newer Linux secrets, writing scripts, hacking roms, and programs (nothing illegal), reading, blogging. and testing out the latest gadgets.
When away from the tech world, Dr Joel G. Mathew is a practising ENT Surgeon, busy with surgeries and clinical practise.