Start with system updates
yum update
Some prerequisites
yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
yum install php-zip install php-intl php-process httpd
dnf install dnf-utils
dnf module reset php
dnf module install php:remi-7.4
sudo dnf update
Apache HTTPd stuff
nano /etc/httpd/conf/httpd.conf
Typical httpd.conf:
ServerRoot "/etc/httpd" Listen 80 Include conf.modules.d/*.conf User apache Group apache ServerAdmin username@yourdomain.com ServerName server.yourdomain.com:80 <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> DocumentRoot "/var/www/www.yourdomain.com/html" <Directory "/var/www"> AllowOverride None Require all denied Options Indexes FollowSymLinks </Directory> <IfModule dir_module> DirectoryIndex index.php index.html </IfModule> <Files ".ht*"> Require all denied </Files> ErrorLog "logs/error_log" LogLevel warn <IfModule mime_module> TypesConfig /etc/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz AddType text/html .shtml AddOutputFilter INCLUDES .shtml </IfModule> AddDefaultCharset UTF-8 <IfModule mime_magic_module> MIMEMagicFile conf/magic </IfModule> EnableSendfile on IncludeOptional conf.d/*.conf ErrorDocument 404 "404 - Uh oh! File not found." ################################################################################ # www.yourdomain.com ################################################################################ <VirtualHost *:80> ServerName www.yourdomain.com ServerAlias yourdomain.com Redirect permanent / https://www.yourdomain.com/ DocumentRoot /var/www/www.yourdomain.com/html ServerAdmin username@yourdomain.com <Directory "/var/www/www.yourdomain.com/html"> AllowOverride All Require all granted </Directory> ErrorLog /var/www/www.yourdomain.com/log/error_log </VirtualHost> <VirtualHost *:443> DocumentRoot /var/www/www.yourdomain.com/html ServerName www.yourdomain.com ServerAlias yourdomain.com ServerAdmin username@yourdomain.com <Directory "/var/www/www.yourdomain.com/html"> AllowOverride All Require all granted </Directory> ErrorLog /var/www/www.yourdomain.com/log/error_log <IfModule mod_ssl.c> SSLEngine on SSLProtocol All -SSLv2 -SSLv3 SSLCertificateFile /var/www/www.yourdomain.com/ssl/www.yourdomain.com.cert.pem SSLCertificateKeyFile /var/www/www.yourdomain.com/ssl/www.yourdomain.com.key.pem SSLCACertificateFile /var/www/www.yourdomain.com/ssl/www.yourdomain.com.bundle </IfModule> </VirtualHost>
Start web server
systemctl enable httpd systemctl start httpd firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https
Setup a database
yum install mariadb-server mariadb systemctl enable mariadb systemctl start mariadb mysql_secure_installation mysql -uroot -p create database dbname; CREATE USER 'dbyser'@'localhost' IDENTIFIED BY 'somepassword'; GRANT ALL PRIVILEGES ON dbname.* TO 'dbuser'@'localhost'; flush privileges; exit
get the owncloud files
wget https://download.owncloud.org/community/owncloud-complete-20210721.tar.bz2 tar xf owncloud-complete-20210721.tar.bz2 mv owncloud newdirname chown -R apache.apache ../mojo cd newdirname/
Run occ
sudo -u apache php ./occ maintenance:install --database mysql --database-name dbname --database-user dbuser --database-pass somepassword --admin-user owncloudusername --admin-pass owncloudpassword
Map data drive if current partition is not a sufficient size
I need to do this to deal with some space issues, but it’s probably not a typical step.
mkdir /owncloud-drive/data cp -fr data/* /owncloud-drive/data/ cp -fr data/.* /owncloud-drive/data/ ln -s /owncloud-drive/data data chown -R apache.apache /owncloud-drive data
Add domain to config.php
config.php:
array ( 0 => 'localhost', 1 => 'www.yourdomain.com', 2 => 'yourdomain.com', ), ... 'overwrite.cli.url' => 'https://www.yourdomain.com/newdirname', ...
At this point, you should be able to open https://www.yourdomain.com/newdirname in a web browser.