Access. Sync. Share. ownCloud provides universal access to your files via the web, your computer or your mobile devices — wherever you are. It also provides a platform to easily view & sync your contacts, calendars and bookmarks across all your devices and enables basic editing right on the web. Instead of putting this in the existing ownCloud thread, I figured I would start a new one. I'll post each How-To under this thread (unless we get a sub-forum, in which case each one will be its own thread...not asking for one, just level-setting expectations). I have included a complex password (which if I remember to I will use on all future How-To's) as an example. It is NOT suggested that you use the same password. Fedora 20 OwnCloud How-To for Fedora 20: The purpose of this How-To is a start to finish installation of ownCloud under Fedora 20. The reason for the walk-through is that there are some differences specifically in Fedora 20 that make the installation...non-trivial. This tutorial also assumes that you want to leave SELinux (Security Enhanced Linux) enabled on your system. I do not go through how to disable SELinux if you would prefer to do so. You can install ownCloud on an existing installation but these steps and commands will install it from scratch on a newly installed "minimal" installation of Fedora 20. The minimal installation is just that. There is no GUI for you to work in so you will need to install an SSH (Secure SHell) client so that you can copy/paste commands (otherwise you are typing them out from scratch and you WILL make mistakes which will be...frustrating to say the least). During the install of a minimal Fedora 20, you are prompted to create a "non-root" user. This user should have SSH access to the box by default. Once you have opened an SSH session to the server, issue the command "su -" to become root. You need to be root to perform these commands. This can also be done via the "sudo" command but it is simpler to just act as root for the duration of the install. Once at a root prompt, begin by copying/pasting (or typing if that's just how you want to roll) the commands below IN ORDER. Some of them take quite a while to complete, so be patient. Near the end you will leave your SSH session and go to a browser to do the initial configuration of ownCloud. BE SURE TO COME BACK TO YOUR SSH SESSION! You need to tighten the security back down as soon as ownCloud is installed and configured. Code: rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-22-x86_64 yum install -y @web-server php php-cli mysql-server php-mysql php-xml php-gd php-zip php-mbstring policycoreutils policycoreutils-python nano wget net-tools php-pecl-imagick yum update -y selinux-policy libselinux systemctl enable mariadb.service systemctl start mariadb.service systemctl enable httpd.service systemctl start httpd.service firewall-cmd --add-service=http firewall-cmd --permanent --add-service=http mysql -u root mysql CREATE DATABASE owncloud; CREATE USER 'clouddb'@'localhost' IDENTIFIED BY 'x10]5~Y35Gi,e7jc#ew4a^y1F[|UBd2k'; GRANT ALL PRIVILEGES ON owncloud.* TO 'clouddb'@'localhost' IDENTIFIED BY 'x10]5~Y35Gi,e7jc#ew4a^y1F[|UBd2k'; WITH GRANT OPTION; quit cd /etc/yum.repos.d/ rpm --import http://download.opensuse.org/repositories/isv:/ownCloud:/community/Fedora_20/repodata/repomd.xml.key wget http://download.opensuse.org/repositories/isv:ownCloud:community/Fedora_20/isv:ownCloud:community.repo yum install -y owncloud semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/owncloud(/.*)?" restorecon -R /var/www/html Now, go to the webpage for owncloud. That will be http://IP-Address/owncloud Input an admin account name and password for that user. This will create the owncloud admin user. Don't Hit Enter yet! Click "Advanced" Leave the Data Folder as it is. Click on "MySQL" under "Configure the Database" Fill in your Database User (from above). In this case it would be coulddb Fill in your Database User Password (from above). Fill in the Database Name (from above). In this case it would be owncloud For the Database Host, use localhost. Almost done! Now that the directories below have been created (data and config), you need to modify permissions for SELinux again: Code: semanage fcontext -d -t httpd_sys_rw_content_t "/var/www/html/owncloud(/.*)?" 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(/.*)?" restorecon -R /var/www/html mysql_secure_installation The mysql_secure_installation script/program will ask you a number of questions. The first is basically "what is the root password". This is the MySQL root password and is blank by default. I didn't change it previously because there have been some inconsistencies with how MySQL was behaving and the last thing you want to be doing is troubleshooting MySQL during the install. For the first prompt, just hit <enter>. Next it will ask you if you want to change your root password. The correct answer here is YES! Hit "Y" and then enter a password for the MySQL root user. This should be complex and different than your OS root password. Next it asks if you want to delete the "anonymous" user. Again the correct answer is yes. Hit "Y". Next it will ask if you want to restrict remote root login. This is up to you but the suggestion is "Y". Next you are prompted to remove the test database. It is suggested that you hit "Y". Finally, you are prompted to reload the privilege table. ABSOLUTELY, otherwise the changes that have been made won't go fully into effect. Go back to your browser and hit refresh. If everything "stays" the way it was, you're done with the install and now it's time to configure! The official ownCloud documentation for Configuration is here. ***ETA 08/18/15*** There I forgot to put a -y in the list of commands above which caused the install to not work as expected if you copied/pasted all of the commands at once. That is now fixed. It was a '-y' in the final yum command to install owncloud. I also added a line to pre-download the signing key as being prompted for that will also break copying and pasting the 'script' as a whole instead of one line at a time.