Installing and Configuring ownCloud on CentOS Stream 8
Traducciones al EspañolEstamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
What is ownCloud?
With ownCloud you can host a private cloud for data synchronization, file storage, and file sharing. You can use ownCloud as an alternative to commercial services like DropBox or Box. This software is great for secure collaboration across your projects and teams.
ownCloud has plenty of compelling features:
- Versioning: A file history permits you to roll back to a previous version.
- Encryption: ownCloud protects user data in transit; when it’s transmitted between client and server.
- Drag and drop upload: Drag files from your desktop file manager to your ownCloud instance.
- Theming: Change the look of your ownCloud instance.
- Viewing ODF files: You can view Open Document Format files such as
- Expansion via installable applications: From within the ownCloud Marketplace, you can install a number of official and third party applications.
- A mobile app for Android and iOS: Mobile apps allow you to interact with your ownCloud server, such as for syncing, uploading, downloading, and viewing files.
Why would you want to host your own cloud? Some common reasons are:
- To save sensitive data, but not on a third-party, commercial option.
- You work from home and you need a private cloud to be used only by those in your household.
- You own a small business and want to keep everything in-house.
- You need an expandable storage solution.
This tutorial walks you through the steps to install ownCloud on CentOS Stream 8. There are only a few steps to install ownCloud on CentOS Stream 8. You install the LAMP (Linux Apache MySQL/MariaDB PHP) stack; create a database and database user; configure Apache; and set up ownCloud using its graphical user interface.
Before You Begin
Follow our Setting Up and Securing a Compute Instance guide to update your system. You may also wish to set the timezone, configure your hostname, create a limited user account, and harden SSH access.
NoteIf you have a registered domain name that you want to point to your ownCloud instance, then use the Linode DNS Manager to point the domain to the Linode server on which you plan to install ownCloud. If you do not have a registered domain name, then replace example.com with the IP address of the Linode server when following the steps in the Create an Apache Configuration File section.
Install the LAMP Stack
Install the Apache Web Server
ownCloud requires a full LAMP (Linux, Apache, MySQL, PHP) stack. In this section, you complete the steps to install a LAMP stack on your Linode. Although you don’t have to use Apache as the web server, the ownCloud developers highly recommend it over web servers like NGINX and lightHTTP.
Install the Apache web server:
sudo dnf install httpd httpd-tools -y
When the installation is complete, enable and start Apache:
sudo systemctl start httpd sudo systemctl enable httpd
Configure FirewallD to Allow HTTP and HTTPS Connections
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
Ensure you can reach the Apache server. Open a web browser, and enter in your Linode’s IP address. For example, enter in
http://192.0.2.0and replace the IP address with your own. You should see the Apache welcome page.
sudo dnf install mariadb-server mariadb -y
Start and enable the database:
sudo systemctl start mariadb sudo systemctl enable mariadb
Set a MariaDB admin password and secure the installation. The command includes
mysqleven though we use MariaDB.
During this process, the system asks if you want to enable the
VALIDATE PASSWORD COMPONENT. This feature ensures that all created passwords are strong and unique. Answer
n(as in “no”). When prompted, type and verify a new secure password for the MySQL admin user. You are then prompted to answer four questions, to all of which you should respond
y(as in “yes”).
So far, you have installed the Apache web server, and MariaDB. Next up is the programming language, PHP 7.4.
Add the EPEL repository to install the current version of PHP:
sudo dnf install epel-release -y
CentOS Stream installs PHP 7.2 by default, but PHP 7.4 (or higher) is required to use ownCloud. This requires a few steps. First, reset the PHP modules:
sudo dnf module reset php
Enable PHP 7.4:
sudo dnf module enable php:7.4
Install PHP and all the required PHP modules:
sudo dnf install php php-opcache php-gd php-curl php-mysqlnd php-intl php-json php-ldap php-mbstring php-mysqlnd php-xml php-zip -y
Restart and enable the PHP Fast Process Manager (PHP-FPM):
sudo systemctl start php-fpm sudo systemctl enable php-fpm
Enable SELinux to allow Apache to execute PHP code via PHP-FPM.:
sudo setsebool -P httpd_execmem 1
Create the ownCloud Database
Now that you have installed the prerequisites, it’s time to create the ownCloud database and user. The commands in this section are issued from within the MariaDB console.
Access the MariaDB console:
sudo mysql -u root -p
create your ownCloud database:
CREATE DATABASE ownclouddb;
Create a new user with the necessary privileges, including a strong and unique password. Be sure to substitute
PASSWORDwith your own password:
GRANT ALL ON ownclouddb.* TO 'ownclouduser'@'localhost' IDENTIFIED BY 'PASSWORD';
Flush your database’s privileges:
Finally, exit the database console:
At this point, the system is ready for ownCloud. Before you actually download the software, check the ownCloud downloads page to confirm the most recent version.
Install the wget and unzip utilities on your CentOS Stream 8 system:
sudo yum install unzip wget
Download ownCloud. As of writing this guide, the latest version is 10.5.0. Replace
10.5.0with the version you want to download.
Unzip the downloaded file:
When you unzip the file, a new directory named
owncloudis created. Move the new directory to the Apache document
root. This example uses the default directory for Apache site files:
sudo mv owncloud /var/www/html/
Change the ownership of the
sudo chown -R apache: /var/www/html/owncloud
Create an Apache Configuration File
Apache requires a virtual host configuration file in order to server your ownCloud instance to the web.
Create an Apache configuration file using the Nano text editor:
sudo nano /etc/httpd/conf.d/owncloud.conf
Paste the following text into the new file. Replace mentions of
example.comwith your own domain name or your Linode’s IP Address:
- File: /etc/httpd/conf.d/owncloud.conf
1 2 3 4 5 6 7 8 9 10 11 12 13
Alias /owncloud "/var/www/html/owncloud/" <Directory /var/www/html/owncloud/> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/html/owncloud SetEnv HTTP_HOME /var/www/html/owncloud </Directory>
Save and close the file by typing Ctrl + O and then, Ctrl + X:
Restart the Apache server:
sudo systemctl restart httpd
Make sure that the Apache web server can write to the ownCloud directory:
sudo setsebool -P httpd_unified 1
This section covers the web-based portion of the installation.
- Open a web browser and navigate to your site’s domain, if it has been configured to use a domain name like,
http://example.com/owncloud. If you configured Apache to point to your server’s IP address, navigate to
http://192.0.2.0/owncloudand replace the example IP address with your own. You should see the ownCloud web-based installer.
If you encounter permissions errors when navigating to your ownCloud instance in the web browser, it means you need to configure the SELinux. You can do so with the following commands:
su semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/owncloud/data(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/owncloud/config(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/owncloud/apps(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/owncloud/apps-external(/.*)?' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/owncloud/.htaccess' semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/owncloud/.user.ini' restorecon -Rv '/var/www/html/owncloud/' exit
If you continue to experience issues, you can temporarily disable SELinux.
sudo setenforce 0
Refer to the A Beginner’s Guide to SELinux on CentOS 8 guide to learn more about SELinux.
Once you access the web-based installer, type a username and password for the admin user; click the
Storage & Databasedrop-down; and then click
The database information section is now available. Enter the following information:
- Database User:
- Database password: the password you set for the ownCloud database user
- Localhost: leave as the default
- Database User:
Click Finish setup. When the install completes, the ownCloud login page appears. Login with the newly-created admin credentials. Once logged in, you are taken to the main ownCloud page.
You now have a working instance of ownCloud, running on CentOS 8 Stream.
This page was originally published on