Nextcloud

From QmailToaster
Revision as of 14:16, 27 March 2024 by Ebroch (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Assumes Apache, MySQL, & PHP installed
Assumes Firewall ports are opened

Necessary php packages
dnf -y install epel-release
dnf config-manager --set-enabled powertools
dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf -y module reset php
dnf module install php:remi-8.1
dnf install php-mbstring php-gd php-pecl-zip php-xml php-json unzip php php-cli php-mysqlnd php-zip php-devel \
            php-gd php-mcrypt php-curl php-xml php-pear php-bcmath php-json php-pdo php-pecl-apcu \
            php-pecl-apcu-devel php-ldap

Modify /etc/php.ini
file_uploads = On
allow_url_fopen = On
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M 
max_execution_time = 300
display_errors = Off
date.timezone = America/Denver

Modify /etc/php.d/10-opcache.ini
opcache.enable = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1

Nextcloud package
wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip -d /var/www/html
mkdir /var/www/html/nextcloud/data
chown -R apache:apache /var/www/html/nextcloud/*
chcon -h system_u:object_r:httpd_sys_content_t /var/www/html/nextcloud/ -R

Database Setup
MYSQLPW='your password'
credfile=~/sql.cnf
echo -e "[client]\nuser=root\npassword=$MYSQLPW\nhost=localhost" > $credfile
mysql --defaults-extra-file=$credfile -e "CREATE USER nextcloud@localhost  IDENTIFIED BY 'p@ssw0rd'"
mysql --defaults-extra-file=$credfile -e "GRANT ALL ON nextcloud.* TO nextcloud@localhost"
mysql --defaults-extra-file=$credfile -e "CREATE DATABASE nextcloud;"
mysql --defaults-extra-file=$credfile -e "FLUSH PRIVILEGES;"

Restart Apache
systemctl restart httpd

Admin Configuration (remember mysql username, password, and db)
http://nextcloud.host.tld.or.ip/nextcloud

After admin is configured
Add users
Add Groupware (Mail, Contacts, Calendar, Desktop, TOTP two-factor authentication)

Users create there own account