http://www.itzgeek.com/how-tos/linux/centos-how-tos/install-owncloud-7-on-centos-7-rhel-7.html#axzz3NDAywrJ2 http://software.opensuse.org/download/package?project=isv:ownCloud:community&package=owncloud Log into DigitalOcean and create droplet. Info supplied by DO: server x.x.x.x -- (ssh key?) DB - clouddb user - clouddbuser pass - Ist1h1s0k? Server has been built and now to add required software to the server: yum install httpd php php-mysql mariadb-server mariadb sqlitephp-dom php-mbstring php-gd php-pdo wget vim mod_ssl nmap mlocate Configure SELinux vim /etc/selinux/config (enable)​ I know most articles tell you to disable. stopdisablingselinux.com shutdown -r now **updatedb& (Not required but I use the locate command.)** getenforce For http: setsebool -P httpd_unified 1 (http://wiki.centos.org/TipsAndTricks/SelinuxBooleans) Set firewall: systemctl enable firewalld systemctl start firewalld systemctl status firewalld firewall-cmd --permanent --zone=public --add-service=ssh firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload Setup Self signed SSL. Borrowed heavily from an article at DigitalOcean: http://bit.ly/1Ekadxh ;) mkdir /etc/httpd/ssl openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt vim /etc/httpd/conf.d/ssl.conf Find #DocumentRoot "/var/www/html" and uncomment. Set servername. Example: ServerName x.x.x.x:443 Find the SSLCertificateFile and SSLCertificateKeyFile and change to /etc/httpd/ssl. vim /etc/httpd/conf.d/ssl.conf SSLCertificateFile /etc/httpd/ssl/apache.crt SSLCertificateKeyFile /etc/httpd/ssl/apache.key systemctl restart httpd.service systemctl status httpd.service Now to work on Apache and start Mariadb. cp /etc/httpd/conf/httpd.conf . sed -i '/^[[:blank:]]*#/d;s/#.*//' /etc/httpd/conf/httpd.conf sed -i '/^\s*$/d' /etc/httpd/conf/httpd.conf vim /etc/httpd/conf/httpd.conf (Fix .htaccess parsing.)​ Change AllowOverride None to AllowOverride All​ *AllowOverride controls what directives may be placed in .htaccess files. **** If not done this causes an issue with Owncloud. systemctl restart httpd.service systemctl start mariadb.service systemctl enable httpd.service systemctl enable mariadb.service **netstat -an | less** mysql_secure_installation (Yes to all!) Access DB from CLI mysql -u root -p myt3st0C#1 Create database clouddb; grant all on clouddb.* to 'clouddbuser'@'localhost' identified by 'Ist1h1s0k?'; ** What did we do here? vim /etc/my.cnf bind-address = 127.0.0.1 Restart the DB systemctl restart mariadb.service systemctl status mariadb.service **netstat -an | less** Work on Owncloud install: (Owncloud: Fix php.ini: This can cause major issues with non-ASCII characters in file names.) vim /etc/php.ini Find default_charset and change to UTF-8 Add the repo from: http://software.opensuse.org/download/package?project=isv:ownCloud:community&package=owncloud cd /etc/yum.repos.d/ wget http://download.opensuse.org/repositories/isv:ownCloud:community/CentOS_CentOS-7/isv:ownCloud:community.repo yum install owncloud Fix SELinux for Owncloud. semanage fcontext -a -t httpd_sys_rw_content_t /var/www/html/owncloud/data​ restorecon /var/www/html/owncloud/data semanage fcontext -a -t httpd_sys_rw_content_t /var/www/html/owncloud/config restorecon /var/www/html/owncloud/config semanage fcontext -a -t httpd_sys_rw_content_t /var/www/html/owncloud/apps restorecon /var/www/html/owncloud/apps systemctl restart httpd.service Now to access our webserver! Example: https://*.*.*.*/owncloud Server Build Continued Create admin user Connect to DB DB clouddbuser DB Ist1h1s0k? DB clouddb localhost Log in click around. Demonstrate what happens without encryption. ls -ltra /var/www/html/owncloud/data/mattd/files/ Create a file named test Upload test less /var/www/html/owncloud/data/mattd/files/test Enable encryption! Go to apps and enable encryption Go back to admin and you will see that you need to logout. Logout AND log back in to encrypt files. Go to admin page to setup recovery key. Now check the file. less /var/www/html/owncloud/data/mattd/files/ Add apps from Owncloud? https://apps.owncloud.com/?xsortmode=high scp to server and unzip into: /var/www/html/owncloud/apps/ ls -ltra /var/www/html/owncloud/apps/ ownCloud: https://owncloud.org/eight/ https://doc.owncloud.org/server/8.0/admin_manual/ https://owncloud.org/blog/how-owncloud-uses-encryption-to-protect-your-data/ SELinux: https://doc.owncloud.org/server/7.0/admin_manual/installation/selinux_configuration.html http://wiki.centos.org/TipsAndTricks/SelinuxBooleans http://selinuxproject.org/page/Main_Page http://en.wikipedia.org/wiki/Security-Enhanced_Linux Digital Ocean: Getting Started with DigitalOcean. https://www.digitalocean.com/community/tags/getting-started?primary_filter=tutorials Create an SSL Certificate at DigitalOcean.https://www.digitalocean.com/community/tutorials/how-to-create-an-ssl-certificate-on-apache-for-centos-7 Future: More that I am working on: ============================== Running Calendar, Contacts, and Tasks on my phone through Owncloud. Libreoffice built into the server? yum install libreoffice-headless which libreoffice /usr/bin/libreoffice cd /var/www/html/owncloud/config vi config.php preview_libreoffice_path