Individuals and organizations can securely store, access, and share their files and documents using the self-hosted file synchronization and sharing platform known as OwnCloud. In contrast to cloud storage services like Dropbox, Google Drive, or OneDrive, it offers customers complete control over their data, serving as an alternative.
With OwnCloud, you may construct a private cloud storage solution on your own server or by using a hosting company. It offers capabilities like file synchronization between several devices, file sharing, group document editing, and data backup. The platform provides clients for many operating systems, such as Windows, macOS, Linux, Android, and iOS, enabling smooth file access from numerous devices.
One of OwnCloud’s main benefits is that you can store your data on your own servers or those of a reputable hosting company, guaranteeing that you will always have ownership and control over your files. Additionally, it offers options for encryption to increase security during file transfers and storage.
OwnCloud provides a number of extensions and plugins to enhance its functionality in addition to the essential file synchronization and sharing features. Task management, music streaming, calendar and contact synchronization, and interaction with other services like Microsoft Office Online or Collabora Online for group editing are a few of them.
Overall, OwnCloud offers a versatile and adaptable cloud storage option that enables people and organizations to manage their files, share information, and collaborate while still having complete control over their data.
How To Install OwnCloud In Ubuntu 20.04?
Use the apt command below to update the system packages and repositories before you begin.
# apt update -y && apt upgrade -y
( 1 ) Apache:- Apache Server is a free and open-source web server software that allows websites to be hosted on the Internet. An Apache server is a software program that is based on one computer and provides access to devices and websites on that computer to other computers on the Internet.
( 2 ) MariaDB:- Similar to MySQL, MariaDB is made to use tables, columns, and rows to store and manage structured data. It provides several programming interfaces and connectors for various computer languages, as well as SQL (Structured Query Language) for querying and modifying data.
( 3 ) PHP:- PHP is used to create OwnCloud, which is normally accessed through a web interface. To serve Owncloud files, as well as PHP and other PHP modules required for OwnCloud to run efficiently, we will install the Apache webserver for this reason.
# apt install -y \ apache2 libapache2-mod-php \ mariadb-server openssl redis-server wget php-imagick \ php-common php-curl php-gd php-gmp php-bcmath php-imap \ php-intl php-json php-mbstring php-mysql php-ssh2 php-xml \ php-zip php-apcu php-redis php-ldap php-phpseclib
# dpkg -l apache2
( 1 ) Start:- Start Apache2 Service
# systemctl start apache2
( 2 ) Enable:- Use of this command ” enable ” automatically boot time. start Apache2 service
# systemctl enable apache2
( 3 ) Status:- Check service running
# php -v
MariaDB, just like MySQL is the default. secure Therefore, you must take another step and run the mysql_secure_installation script.
You are guided through a series of prompts by the Running command. You will need to create a root password first. The default root user unix socket authentication in MariaDB is insufficiently secure.
So, decline from using the Unix socket authentication by pressing ” n ” and hitting
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): [Press Enter]
OK, successfully used password, moving on…
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] [ Press Y ]
New password: [ redhat@123 ]
Re-enter new password: [ redhat@123 ]
Password updated successfully!
Reloading privilege tables..
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
Remove anonymous users? [Y/n] [ press Y ]
Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] [ Press Y ]
By default, MariaDB comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] [ Press Y ]
– Dropping test database…
– Removing privileges on test database…
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] [Press Y ]
All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.
To store files both during and after installation, we must build a database for Owncloud. Therefore, log into MariaDB.
mysql -u root -p
Enter password: redhat@123
MariaDB [(none)]> CREATE DATABASE highsky_db; MariaDB [(none)]> GRANT ALL ON highsky_db.* TO 'harry'@'localhost' IDENTIFIED BY 'redhat@123'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT
# tar -xjf owncloud-complete-latest.tar.bz2
# chown -R www-data:www-data owncloud
# chmod -R 755 owncloud
mv owncloud /var/www/
We will set up Apache to serve OwnCloud’s files at this stage. To accomplish that, we will make the aforementioned Owncloud setup file.
# vim /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>
Save and close the file.
# a2enconf owncloud
# a2enmod rewrite
# a2enmod headers
# a2enmod env
# a2enmod dir
# a2enmod mime
systemctl restart apache2
The only step left to do is to install OwnCloud on a browser once all relevant configurations have been completed. Therefore, open your browser and enter the address of your server, followed by the
Username = admin
Password = admin
Database User = harry
Database Password = redhat@123
Database name = highsky_db
Username = admin
Password = admin