You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							149 lines
						
					
					
						
							4.1 KiB
						
					
					
				
			
		
		
	
	
							149 lines
						
					
					
						
							4.1 KiB
						
					
					
				| #!/bin/bash
 | |
| # forksand-nextcloud-setup
 | |
| 
 | |
| exit 0
 | |
| 
 | |
| # On cloud.forksand.com, the main nextcloud webserver, as root:
 | |
| apt-get update
 | |
| apt-get -y install apache2
 | |
| cd /etc ; git add . ; git commit -a -m 'install apache2'
 | |
| 
 | |
| apt-get -y install mariadb-client libapache2-mod-php7.0 php7.0-xml php7.0 php7.0-cgi php7.0-cli php7.0-gd php7.0-curl php7.0-zip php7.0-mysql php7.0-mbstring wget unzip
 | |
| cd /etc ; git add . ; git commit -a -m 'install php'
 | |
| 
 | |
| apt-get -y install php7.0-bz2 php7.0-intl php7.0-mcrypt php-imagick php-apcu
 | |
| cd /etc ; git add . ; git commit -a -m 'install php optional modules'
 | |
| 
 | |
| apt-get -y install -t stretch-backports libreoffice ffmpeg
 | |
| cd /etc ; git add . ; git commit -a -m 'install optional nextcloud tools from backports'
 | |
| 
 | |
| # Install Nextcloud...
 | |
| wget https://download.nextcloud.com/server/releases/nextcloud-13.0.4.tar.bz2
 | |
| wget https://download.nextcloud.com/server/releases/nextcloud-13.0.4.tar.bz2.sha256
 | |
| sha256sum  -c nextcloud-13.0.4.tar.bz2.sha256 < nextcloud-13.0.4.tar.bz2
 | |
| wget https://download.nextcloud.com/server/releases/nextcloud-13.0.4.tar.bz2.asc
 | |
| wget https://nextcloud.com/nextcloud.asc
 | |
| gpg --import nextcloud.asc
 | |
| gpg --verify nextcloud-13.0.4.tar.bz2.asc nextcloud-13.0.4.tar.bz2
 | |
| 
 | |
| tar xf nextcloud-13.0.4.tar.bz2
 | |
| 
 | |
| echo cloud.forksand.com > /var/www/html/index.html
 | |
| mv nextcloud /var/www/html/
 | |
| chown -R www-data:www-data /var/www/html/nextcloud
 | |
| 
 | |
| # XXX just temporary
 | |
| chown www-data:www-data /var/www/html/nextcloud/config/config.php
 | |
| sudo -u www-data php /var/www/html/nextcloud/occ maintenance:update:htaccess
 | |
| 
 | |
| 
 | |
| cat >> /etc/apache2/sites-available/nextcloud.conf <<EOF
 | |
| # Add:
 | |
| <VirtualHost *:80>
 | |
| ServerAdmin webmaster@forksand.com
 | |
| DocumentRoot "/var/www/html/nextcloud"
 | |
| ServerName cloud.forksand.com
 | |
| <Directory "/var/www/html/nextcloud/">
 | |
| Options MultiViews FollowSymlinks
 | |
| 
 | |
| AllowOverride All
 | |
| Order allow,deny
 | |
| Allow from all
 | |
| </Directory>
 | |
| TransferLog /var/log/apache2/nextcloud_access.log
 | |
| ErrorLog /var/log/apache2/nextcloud_error.log
 | |
| </VirtualHost>
 | |
| EOF
 | |
| 
 | |
| a2dissite 000-default
 | |
| a2enmod rewrite
 | |
| a2enmod headers
 | |
| a2enmod env
 | |
| a2enmod dir
 | |
| a2enmod mime
 | |
| 
 | |
| # Set up Nextcloud config.php from config.sample.php
 | |
| mkdir -p /srv/nextcloud/data
 | |
| chown -R www-data:www-data /srv/nextcloud
 | |
| 
 | |
| mkdir /srv/nextcloud/tmp
 | |
| chown www-data:www-data /srv/nextcloud/tmp
 | |
| #chmod o-rwx /srv/nextcloud/tmp
 | |
| 
 | |
| touch /var/log/nextcloud.log
 | |
| chown www-data:www-data /var/log/nextcloud.log
 | |
| 
 | |
| cd /etc/apache2/sites-enabled
 | |
| ln -s ../sites-available/nextcloud.conf .
 | |
| 
 | |
| systemctl enable apache2
 | |
| systemctl restart apache2
 | |
| 
 | |
| # XXX optional module for performance, use 1 of php- module: apcu memcached redis
 | |
| 
 | |
| 
 | |
| # Run Nextcloud installer
 | |
| cd /var/www/html/nextcloud/
 | |
| sudo -u www-data php occ  maintenance:install --database "mysql" --database-name "nextcloud"  --database-user "nextcloud" --database-pass "password" --database-host "10.42.1.171" --admin-user "admin" --admin-pass "password"
 | |
| 
 | |
| sudo -u www-data php /var/www/html/nextcloud/occ maintenance:update:htaccess
 | |
| 
 | |
| a2enmod ssl
 | |
| a2ensite default-ssl
 | |
| service apache2 reload
 | |
| 
 | |
| ############
 | |
| # Database #
 | |
| ############
 | |
| # Set up on all sql1 sql2 sql3 sql4:
 | |
| cd /etc/mysql
 | |
| vim my.conf
 | |
| 
 | |
| # add:
 | |
| # Under: [mysqld]
 | |
| # XXX MAYBE NOT WITH GALERA ?
 | |
| #innodb_large_prefix=on
 | |
| #innodb_file_format=barracuda
 | |
| # XXX not used
 | |
| 
 | |
| # On sql1
 | |
| mysql -u root -p
 | |
| 
 | |
| # In database:
 | |
| CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
 | |
| CREATE USER 'nextcloud'@'10.42.1.130' IDENTIFIED BY 'password';
 | |
| GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'10.42.1.130';
 | |
| FLUSH PRIVILEGES;
 | |
| 
 | |
| # Set up firewall
 | |
| 
 | |
| # XXX set up postfix, or mail relay
 | |
| apt-get install postfix
 | |
| # Internet Site, cloud.forksand.com
 | |
| 
 | |
| # XXX add everywhere
 | |
| apt install haveged
 | |
| 
 | |
| # Letsencrypt
 | |
| apt-get install letsencrypt python-certbot-apache
 | |
| 
 | |
| certbot --authenticator standalone --installer apache   -d cloud.forksand.com --email certbot@forksand.com --pre-hook "service apache2 stop" --post-hook "service apache2 start"
 | |
| 
 | |
| rm /etc/apache2/sites-enabled/default-ssl.conf 
 | |
| 
 | |
| service apache2 restart
 | |
| 
 | |
| 
 | |
| #########################
 | |
| apt-get -y install pbzip2
 | |
| 
 | |
| # Backup DB:
 | |
| 
 | |
| 
 | |
| # Crontab, as root
 | |
| crontab -u www-data -e
 | |
| # Add the lines:
 | |
| */15  *  *  *  * php -f /var/www/html/nextcloud/cron.php
 | |
| */15  *  *  *  * /var/www/html/nextcloud/occ preview:pre-generate
 | |
| 
 |