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:
authornachoparker <nacho@ownyourbits.com>2017-05-20 20:10:11 +0300
committernachoparker <nacho@ownyourbits.com>2017-05-23 17:47:33 +0300
commit0909fce6d36022a59cbe8e68bd2c5239b5beec82 (patch)
tree3ae771265351f604c46f361acaffd1cb378468c4
parent1df92f9eef9bea0935147c3e782c1fd63c1aa37f (diff)
add nextcloud instance installation command to ncp-configv0.9.0
-rwxr-xr-xbatch.sh5
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/NFS.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/dnsmasq.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/fail2ban.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/letsencrypt.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/modsecurity.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/nc-database.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/nc-datadir.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/nc-httpsonly.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/nc-limits.sh0
-rwxr-xr-xetc/nextcloudpi-config.d/nc-nextcloud.sh (renamed from nextcloud.sh)91
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/nc-ramlogs.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/nc-scan-auto.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/nc-scan.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/nc-swapfile.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/nc-update.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/nc-wifi.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/no-ip.sh0
-rw-r--r--[-rwxr-xr-x]etc/nextcloudpi-config.d/unattended-upgrades.sh0
-rw-r--r--nextcloudpi.sh1
20 files changed, 56 insertions, 41 deletions
diff --git a/batch.sh b/batch.sh
index ed5283e7..4048a02d 100755
--- a/batch.sh
+++ b/batch.sh
@@ -12,15 +12,16 @@
source etc/library.sh # initializes $IMGNAME
IP=$1 # First argument is the QEMU Raspbian IP address
+NC_SCRIPT=etc/nextcloudpi-config.d/nc-nextcloud.sh
IMGBASE="NextCloudPi_$( date "+%m-%d-%y" )_base.img"
NO_CONFIG=1 NO_HALT_STEP=1 ./install-nextcloud.sh $IP $IMGBASE
+NO_CONFIG=1 ./installer.sh $NC_SCRIPT $IP $( ls -1t *.img | head -1 )
NO_CONFIG=1 ./installer.sh nextcloudpi.sh $IP $( ls -1t *.img | head -1 )
-NO_CONFIG=1 ./installer.sh nextcloud.sh $IP $( ls -1t *.img | head -1 )
IMGFILE=$( ls -1t *.img | head -1 )
-IMGOUT=$( basename "$IMGFILE" _base ).img
+IMGOUT=$( basename "$IMGFILE" _base_nc-nextcloud_nextcloudpi.img ).img
pack_image "$IMGFILE" "$IMGOUT"
md5sum $( ls -1t *.img | head -1 )
diff --git a/etc/nextcloudpi-config.d/NFS.sh b/etc/nextcloudpi-config.d/NFS.sh
index 2e64f407..2e64f407 100755..100644
--- a/etc/nextcloudpi-config.d/NFS.sh
+++ b/etc/nextcloudpi-config.d/NFS.sh
diff --git a/etc/nextcloudpi-config.d/dnsmasq.sh b/etc/nextcloudpi-config.d/dnsmasq.sh
index 03b16adf..03b16adf 100755..100644
--- a/etc/nextcloudpi-config.d/dnsmasq.sh
+++ b/etc/nextcloudpi-config.d/dnsmasq.sh
diff --git a/etc/nextcloudpi-config.d/fail2ban.sh b/etc/nextcloudpi-config.d/fail2ban.sh
index 0bd007d3..0bd007d3 100755..100644
--- a/etc/nextcloudpi-config.d/fail2ban.sh
+++ b/etc/nextcloudpi-config.d/fail2ban.sh
diff --git a/etc/nextcloudpi-config.d/letsencrypt.sh b/etc/nextcloudpi-config.d/letsencrypt.sh
index 415288e7..415288e7 100755..100644
--- a/etc/nextcloudpi-config.d/letsencrypt.sh
+++ b/etc/nextcloudpi-config.d/letsencrypt.sh
diff --git a/etc/nextcloudpi-config.d/modsecurity.sh b/etc/nextcloudpi-config.d/modsecurity.sh
index ce53f662..ce53f662 100755..100644
--- a/etc/nextcloudpi-config.d/modsecurity.sh
+++ b/etc/nextcloudpi-config.d/modsecurity.sh
diff --git a/etc/nextcloudpi-config.d/nc-database.sh b/etc/nextcloudpi-config.d/nc-database.sh
index 7f4da842..7f4da842 100755..100644
--- a/etc/nextcloudpi-config.d/nc-database.sh
+++ b/etc/nextcloudpi-config.d/nc-database.sh
diff --git a/etc/nextcloudpi-config.d/nc-datadir.sh b/etc/nextcloudpi-config.d/nc-datadir.sh
index 343741cb..343741cb 100755..100644
--- a/etc/nextcloudpi-config.d/nc-datadir.sh
+++ b/etc/nextcloudpi-config.d/nc-datadir.sh
diff --git a/etc/nextcloudpi-config.d/nc-httpsonly.sh b/etc/nextcloudpi-config.d/nc-httpsonly.sh
index 1ee9e7f0..1ee9e7f0 100755..100644
--- a/etc/nextcloudpi-config.d/nc-httpsonly.sh
+++ b/etc/nextcloudpi-config.d/nc-httpsonly.sh
diff --git a/etc/nextcloudpi-config.d/nc-limits.sh b/etc/nextcloudpi-config.d/nc-limits.sh
index 1c176d15..1c176d15 100755..100644
--- a/etc/nextcloudpi-config.d/nc-limits.sh
+++ b/etc/nextcloudpi-config.d/nc-limits.sh
diff --git a/nextcloud.sh b/etc/nextcloudpi-config.d/nc-nextcloud.sh
index e9228312..9524f981 100755
--- a/nextcloud.sh
+++ b/etc/nextcloudpi-config.d/nc-nextcloud.sh
@@ -8,32 +8,68 @@
#
# Usage:
#
-# ./installer.sh nextcloud.sh <IP> (<img>)
+# ./installer.sh nc-nextcloud <IP> (<img>)
#
# See installer.sh instructions for details
#
# More at https://ownyourbits.com/2017/02/13/nextcloud-ready-raspberry-pi-image/
#
-VER=11.0.3
+VER_=11.0.3
ADMINUSER_=admin
DBADMIN_=ncadmin
DBPASSWD_=ownyourbits
MAXFILESIZE_=768M
MAXTRANSFERTIME_=3600
OPCACHEDIR=/var/www/nextcloud/data/.opcache
+DESCRIPTION="Install any NextCloud version"
-install()
+show_info()
{
+ [ -d /var/www/nextcloud ] && \
+ whiptail --yesno \
+ --backtitle "NextCloudPi configuration" \
+ --title "NextCloud installation" \
+"This new installation will cleanup current
+NextCloud instance, including files and database.
+
+** perform backup before proceding **
+
+You can use nc-backup " \
+ 20 90
+}
+
+install() { :; }
+
+configure()
+{
+ service apache2 stop
+
+ # RE-CREATE DATABASE TABLE (workaround to emulate DROP USER IF EXISTS ..;)
+ sleep 40 # TODO wait for mysql to be up
+ mysql -u root -p$DBPASSWD_ <<EOF
+DROP DATABASE IF EXISTS nextcloud;
+CREATE DATABASE nextcloud;
+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
+ [ $? -ne 0 ] && { echo -e "error configuring nextcloud database"; return 1; }
+
+ # DOWNLOAD AND (OVER)WRITE NEXTCLOUD
cd /var/www/
- wget https://download.nextcloud.com/server/releases/nextcloud-$VER.tar.bz2 -O nextcloud.tar.bz2
+ wget https://download.nextcloud.com/server/releases/nextcloud-$VER_.tar.bz2 -O nextcloud.tar.bz2
+ rm -rf nextcloud
tar -xvf nextcloud.tar.bz2
rm nextcloud.tar.bz2
- ocpath='/var/www/nextcloud'
- htuser='www-data'
- htgroup='www-data'
- rootuser='root'
+ # CONFIGURE FILE PERMISSIONS
+ local ocpath='/var/www/nextcloud'
+ local htuser='www-data'
+ local htgroup='www-data'
+ local rootuser='root'
printf "Creating possible missing Directories\n"
mkdir -p $ocpath/data
@@ -66,6 +102,7 @@ install()
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
fi
+ # CONFIGURE NEXTCLOUD
cat > /etc/apache2/sites-available/000-default.conf <<'EOF'
<VirtualHost _default_:80>
DocumentRoot /var/www/nextcloud
@@ -77,32 +114,6 @@ cat > /etc/apache2/sites-available/000-default.conf <<'EOF'
</VirtualHost>
EOF
- mkdir -p /usr/lib/systemd/system
- cat > /usr/lib/systemd/system/nextcloud-domain.service <<'EOF'
-[Unit]
-Description=Register Current IP as Nextcloud trusted domain
-Requires=network.target
-After=mysql.service
-
-[Service]
-ExecStart=/bin/bash /usr/local/bin/nextcloud-domain.sh
-
-[Install]
-WantedBy=multi-user.target
-EOF
- systemctl enable nextcloud-domain
-
- cat > /usr/local/bin/nextcloud-domain.sh <<'EOF'
-#!/bin/bash
-IFACE=$( ip r | grep "default via" | awk '{ print $5 }' )
-IP=$( ip a | grep "global $IFACE" | grep -oP '\d{1,3}(.\d{1,3}){3}' | head -1 )
-cd /var/www/nextcloud
-sudo -u www-data php occ config:system:set trusted_domains 1 --value=$IP
-EOF
-}
-
-configure()
-{
cd /var/www/nextcloud/
sudo -u www-data php occ maintenance:install --database \
@@ -123,14 +134,18 @@ configure()
echo "*/15 * * * * php -f /var/www/nextcloud/cron.php" > /tmp/crontab_http
crontab -u www-data /tmp/crontab_http
rm /tmp/crontab_http
+
+ # Initial Trusted Domain
+ local IFACE=$( ip r | grep "default via" | awk '{ print $5 }' )
+ local IP=$( ip a | grep "global $IFACE" | grep -oP '\d{1,3}(.\d{1,3}){3}' | head -1 )
+ sudo -u www-data php occ config:system:set trusted_domains 1 --value=$IP
+ cd -
+
+ service apache2 start
}
cleanup()
{
- [ "$STATE" != "1" ] && return
- apt-get autoremove
- apt-get clean
- rm /var/lib/apt/lists/* -r
rm -f /home/pi/.bash_history
systemctl disable ssh
diff --git a/etc/nextcloudpi-config.d/nc-ramlogs.sh b/etc/nextcloudpi-config.d/nc-ramlogs.sh
index aaf917be..aaf917be 100755..100644
--- a/etc/nextcloudpi-config.d/nc-ramlogs.sh
+++ b/etc/nextcloudpi-config.d/nc-ramlogs.sh
diff --git a/etc/nextcloudpi-config.d/nc-scan-auto.sh b/etc/nextcloudpi-config.d/nc-scan-auto.sh
index 285d025f..285d025f 100755..100644
--- a/etc/nextcloudpi-config.d/nc-scan-auto.sh
+++ b/etc/nextcloudpi-config.d/nc-scan-auto.sh
diff --git a/etc/nextcloudpi-config.d/nc-scan.sh b/etc/nextcloudpi-config.d/nc-scan.sh
index e1bf0f42..e1bf0f42 100755..100644
--- a/etc/nextcloudpi-config.d/nc-scan.sh
+++ b/etc/nextcloudpi-config.d/nc-scan.sh
diff --git a/etc/nextcloudpi-config.d/nc-swapfile.sh b/etc/nextcloudpi-config.d/nc-swapfile.sh
index 8ff79540..8ff79540 100755..100644
--- a/etc/nextcloudpi-config.d/nc-swapfile.sh
+++ b/etc/nextcloudpi-config.d/nc-swapfile.sh
diff --git a/etc/nextcloudpi-config.d/nc-update.sh b/etc/nextcloudpi-config.d/nc-update.sh
index 3a0d5f2e..3a0d5f2e 100755..100644
--- a/etc/nextcloudpi-config.d/nc-update.sh
+++ b/etc/nextcloudpi-config.d/nc-update.sh
diff --git a/etc/nextcloudpi-config.d/nc-wifi.sh b/etc/nextcloudpi-config.d/nc-wifi.sh
index f71ada4a..f71ada4a 100755..100644
--- a/etc/nextcloudpi-config.d/nc-wifi.sh
+++ b/etc/nextcloudpi-config.d/nc-wifi.sh
diff --git a/etc/nextcloudpi-config.d/no-ip.sh b/etc/nextcloudpi-config.d/no-ip.sh
index aa0336a3..aa0336a3 100755..100644
--- a/etc/nextcloudpi-config.d/no-ip.sh
+++ b/etc/nextcloudpi-config.d/no-ip.sh
diff --git a/etc/nextcloudpi-config.d/unattended-upgrades.sh b/etc/nextcloudpi-config.d/unattended-upgrades.sh
index 30f0c861..30f0c861 100755..100644
--- a/etc/nextcloudpi-config.d/unattended-upgrades.sh
+++ b/etc/nextcloudpi-config.d/unattended-upgrades.sh
diff --git a/nextcloudpi.sh b/nextcloudpi.sh
index 1d364120..9ce623f8 100644
--- a/nextcloudpi.sh
+++ b/nextcloudpi.sh
@@ -121,7 +121,6 @@ configure() { :; }
cleanup()
{
- [ "$STATE" != "1" ] && return
apt-get autoremove
apt-get clean
rm /var/lib/apt/lists/* -r