Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/nextcloudpi.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authornachoparker <nacho@ownyourbits.com>2017-06-14 19:18:58 +0300
committernachoparker <nacho@ownyourbits.com>2017-06-28 18:43:54 +0300
commitc33cabc537f07ebdcecea561287d02aae51388f5 (patch)
treef64ee24900274a56320837753841fb91953b7be2 /etc
parentf2f0687104627a6edd8f0b2a91f5988b28e8244d (diff)
nc-init as a nextcloudpi-config optionv0.14.0
Diffstat (limited to 'etc')
-rw-r--r--etc/nextcloudpi-config.d/nc-init.sh (renamed from etc/nc-init.sh)29
-rw-r--r--etc/nextcloudpi-config.d/nc-nextcloud.sh72
2 files changed, 96 insertions, 5 deletions
diff --git a/etc/nc-init.sh b/etc/nextcloudpi-config.d/nc-init.sh
index df44b188..e35b3367 100644
--- a/etc/nc-init.sh
+++ b/etc/nextcloudpi-config.d/nc-init.sh
@@ -18,10 +18,26 @@
ADMINUSER_=admin
DBADMIN_=ncadmin
DBPASSWD_=ownyourbits
+DESCRIPTION="(Re)initiate Nextcloud to a clean configuration"
-install()
+show_info()
{
- ## RE-CREATE DATABASE TABLE (workaround to emulate DROP USER IF EXISTS ..;)
+ whiptail --yesno \
+ --backtitle "NextCloudPi configuration" \
+ --title "Clean NextCloud configuration" \
+"This action will configure NextCloud to NextCloudPi defaults.
+
+** YOUR CONFIGURATION WILL BE LOST **
+
+" \
+ 20 90
+}
+
+configure()
+{
+ systemctl stop apache2;
+
+ ## RE-CREATE DATABASE TABLE
echo "Setting up database..."
@@ -31,6 +47,7 @@ install()
sleep 0.5
done
+ # workaround to emulate DROP USER IF EXISTS ..;)
mysql -u root -p$DBPASSWD_ <<EOF
DROP DATABASE IF EXISTS nextcloud;
CREATE DATABASE nextcloud
@@ -48,6 +65,7 @@ EOF
echo "Setting up Nextcloud..."
cd /var/www/nextcloud/
+ rm -f config/config.php
sudo -u www-data php occ maintenance:install --database \
"mysql" --database-name "nextcloud" --database-user "$DBADMIN_" --database-pass \
"$DBPASSWD_" --admin-user "$ADMINUSER_" --admin-pass "$DBPASSWD_"
@@ -60,9 +78,14 @@ EOF
# 4 Byte UTF8 support
sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true"
+
+ # Default trusted domain ( only from nextcloudpi-config )
+ test -f /usr/local/bin/nextcloud-domain.sh && bash /usr/local/bin/nextcloud-domain.sh
+
+ systemctl start apache2;
}
-configure(){ :; }
+install(){ :; }
cleanup() { :; }
# License
diff --git a/etc/nextcloudpi-config.d/nc-nextcloud.sh b/etc/nextcloudpi-config.d/nc-nextcloud.sh
index 6152759c..59d4a7ff 100644
--- a/etc/nextcloudpi-config.d/nc-nextcloud.sh
+++ b/etc/nextcloudpi-config.d/nc-nextcloud.sh
@@ -19,6 +19,8 @@ VER_=12.0.0
MAXFILESIZE_=2G
MEMORYLIMIT_=768M
MAXTRANSFERTIME_=3600
+DBADMIN_=ncadmin
+DBPASSWD_=ownyourbits
DESCRIPTION="Install any NextCloud version"
export DEBIAN_FRONTEND=noninteractive
@@ -32,6 +34,8 @@ show_info()
"This new installation will cleanup current
NextCloud instance, including files and database.
+You can later use nc-init to configure to NextCloudPi defaults
+
** perform backup before proceding **
You can use nc-backup " \
@@ -42,10 +46,38 @@ install() { :; }
configure()
{
+ systemctl stop apache2;
+
+ ## RE-CREATE DATABASE TABLE
+
+ # wait for mariadb
+ while :; do
+ [[ -S /var/run/mysqld/mysqld.sock ]] && break
+ sleep 0.5
+ done
+
+ echo "Setting up database..."
+ # workaround to emulate DROP USER IF EXISTS ..;)
+ mysql -u root -p$DBPASSWD_ <<EOF
+DROP DATABASE IF EXISTS nextcloud;
+CREATE DATABASE nextcloud
+ CHARACTER SET utf8mb4
+ COLLATE utf8mb4_unicode_ci;
+GRANT USAGE ON *.* TO '$DBADMIN_'@'localhost' IDENTIFIED BY '$DBPASSWD_';
+DROP USER '$DBADMIN_'@'localhost';
+CREATE USER '$DBADMIN_'@'localhost' IDENTIFIED BY '$DBPASSWD_';
+GRANT ALL PRIVILEGES ON nextcloud.* TO $DBADMIN_@localhost;
+EXIT
+EOF
+
## DOWNLOAD AND (OVER)WRITE NEXTCLOUD
cd /var/www/
- wget -q https://download.nextcloud.com/server/releases/nextcloud-$VER_.tar.bz2 -O nextcloud.tar.bz2
+
+ echo "Downloading Nextcloud $VER_..."
+ wget -q https://download.nextcloud.com/server/releases/nextcloud-$VER_.tar.bz2 -O nextcloud.tar.bz2 || return 1
rm -rf nextcloud
+
+ echo "Installing Nextcloud $VER_..."
tar -xf nextcloud.tar.bz2
rm nextcloud.tar.bz2
@@ -84,7 +116,37 @@ configure()
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi
- ## CONFIGURE NEXTCLOUD
+ # create and configure opcache dir
+ OPCACHEDIR=/var/www/nextcloud/data/.opcache
+ sed -i "s|^opcache.file_cache=.*|opcache.file_cache=$OPCACHEDIR|" /etc/php/7.0/mods-available/opcache.ini
+ mkdir -p $OPCACHEDIR
+ chown -R www-data:www-data $OPCACHEDIR
+
+ ## SET APACHE VHOST
+ cat > /etc/apache2/sites-available/nextcloud.conf <<'EOF'
+<IfModule mod_ssl.c>
+ <VirtualHost _default_:443>
+ DocumentRoot /var/www/nextcloud
+ CustomLog /var/www/nextcloud/data/access.log combined
+ ErrorLog /var/www/nextcloud/data/error.log
+ SSLEngine on
+ SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
+ SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
+ </VirtualHost>
+ <Directory /var/www/nextcloud/>
+ Options +FollowSymlinks
+ AllowOverride All
+ <IfModule mod_dav.c>
+ Dav off
+ </IfModule>
+ LimitRequestBody 0
+ SSLRenegBufferSize 10486000
+ </Directory>
+</IfModule>
+EOF
+ a2ensite nextcloud
+ echo "Setting up Apache..."
+
cat > /etc/apache2/sites-available/000-default.conf <<'EOF'
<VirtualHost _default_:80>
DocumentRoot /var/www/nextcloud
@@ -96,6 +158,8 @@ cat > /etc/apache2/sites-available/000-default.conf <<'EOF'
</VirtualHost>
EOF
+ echo "Setting up system..."
+
## SET LIMITS
sed -i "s/post_max_size=.*/post_max_size=$MAXFILESIZE_/" /var/www/nextcloud/.user.ini
sed -i "s/upload_max_filesize=.*/upload_max_filesize=$MAXFILESIZE_/" /var/www/nextcloud/.user.ini
@@ -109,6 +173,10 @@ EOF
echo "*/15 * * * * php -f /var/www/nextcloud/cron.php" > /tmp/crontab_http
crontab -u www-data /tmp/crontab_http
rm /tmp/crontab_http
+
+ systemctl start apache2;
+
+ echo "Don't forget to run nc-init"
}
cleanup()