===== Nextcloud =====
{{tag>Linux CentOS AWS}}
-Install CentOS7
-Disable SELinux
$ sudo vi /etc/selinux/config
#SELINUX=enforcing
SELINUX=permissive
-Install Remi's repo
$ sudo yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm -y
http://rpms.famillecollet.com/
-Update CentOS7
$ sudo yum upgrade -y
$ sudo reboot
-Install prerequisites
$ sudo yum install php71 php71-php php71-php-fpm php71-php-gd php71-php-mbstring php71-php-mysqlnd php71-php-json php71-php-xml php71-php-pecl-zip php71-php-mcrypt php71-php-pdo php71-php-intl php71-php-pecl-crypto php71-php-ldap php71-php-gmp php71-php-pecl-imagick mariadb mariadb-server httpd mod_ssl bzip2 vim
-Start MariaDB
$ sudo systemctl start mariadb
$ sudo systemctl status mariadb
$ sudo systemctl enable mariadb
$ sudo mysql_secure_installation
-Create database and user
$ mysql -u root -p
> create database nextcloud_db;
> grant all on nextcloud_db.* to 'nextcloud_user'@'127.0.0.1' identified by 'nextcloud-pass';
> flush privileges;
> exit
$
-Start Apache
$ sudo systemctl start httpd
$ sudo systemctl status httpd
$ sudo systemctl enable httpd
-Configure firewalld
$ sudo firewall-cmd --get-active-zones
$ sudo firewall-cmd --zone=public --list-all
$ sudo firewall-cmd --zone=public --add-service=http --permanent
$ sudo firewall-cmd --reload
$ sudo firewall-cmd --zone=public --list-all
The option "--add-port=0/tcp" could be used instead of "--add-service=http".
-Download Nextcloud
$ curl -O https://download.nextcloud.com/server/releases/nextcloud-11.0.1.tar.bz2
-Extract and move Nextcloud
$ sudo mkdir /var/www/nextcloud
$ sudo mkdir /var/www/nextcloud/data
$ echo "create and mount data drive"
$ sudo chown -R apache:apache /var/www/nextcloud
$ cd /var/www
$ sudo tar jxvf ~/nextcloud-11.0.1.tar.bz2
$ sudo chown -R apache:apache /var/www/nextcloud/
A separate device, such as /dev/sdb1, could be mounted to /var/www/nextcloud/data and be used as a separate "data drive". Don't forget to update /etc/fstab so the data drive is mounted on reboot.
-Create Nextcloud http configuration
sudo vi /etc/httpd/conf.d/nextcloud.conf
Alias /nextcloud "/var/www/nextcloud/"
Options +FollowSymlinks
AllowOverride All
Dav off
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
$ sudo systemctl restart httpd
-Start web install
http://SYSTEMIP/nextcloud/
Create an admin account
USERNAME
PASSWORD
Storage & database
/var/www/nextcloud/data
Configure the database
MySQL/MariaDB
nextcloud_user
nextcloud-user
nextcloud_db
127.0.0.1
-Modify the trusted domains array if needed
'trusted_domains' =>
array (
0 => '172.16.25.178',
1 => 'nextcloud.domain.com',
),
-PHP post_max_size and upload_max_filesize may need to be adjusted in /etc/php.ini if large uploads are not working.
https://docs.nextcloud.com/server/11/admin_manual/installation/deployment_recommendations.html
\\
https://docs.nextcloud.com/server/11/admin_manual/installation/selinux_configuration.html