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
diff options
context:
space:
mode:
Diffstat (limited to 'etc/nextcloudpi-config.d/nc-init.sh')
-rw-r--r--etc/nextcloudpi-config.d/nc-init.sh106
1 files changed, 106 insertions, 0 deletions
diff --git a/etc/nextcloudpi-config.d/nc-init.sh b/etc/nextcloudpi-config.d/nc-init.sh
new file mode 100644
index 00000000..e35b3367
--- /dev/null
+++ b/etc/nextcloudpi-config.d/nc-init.sh
@@ -0,0 +1,106 @@
+#!/bin/bash
+
+# Init NextCloud database and perform initial configuration
+# Tested with 2017-03-02-raspbian-jessie-lite.img
+#
+# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
+# GPL licensed (see end of file) * Use at your own risk!
+#
+# Usage:
+#
+# ./installer.sh nc-init.sh <IP> (<img>)
+#
+# See installer.sh instructions for details
+#
+# More at https://ownyourbits.com/2017/02/13/nextcloud-ready-raspberry-pi-image/
+#
+
+ADMINUSER_=admin
+DBADMIN_=ncadmin
+DBPASSWD_=ownyourbits
+DESCRIPTION="(Re)initiate Nextcloud to a clean configuration"
+
+show_info()
+{
+ 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..."
+
+ # wait for mariadb
+ while :; do
+ [[ -S /var/run/mysqld/mysqld.sock ]] && break
+ 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
+ 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
+
+ ## INITIALIZE NEXTCLOUD
+
+ 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_"
+
+ # cron jobs
+ sudo -u www-data php occ background:cron
+
+ # ACPu cache
+ sed -i '$i\ \ '\''memcache.local'\'' => '\''\\\\OC\\\\Memcache\\\\APCu'\'',' /var/www/nextcloud/config/config.php
+
+ # 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;
+}
+
+install(){ :; }
+cleanup() { :; }
+
+# License
+#
+# This script is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This script is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this script; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+# Boston, MA 02111-1307 USA