Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
W
wtlinux_server_setup
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
w4t
wtlinux_server_setup
Commits
1dbe0b36
Commit
1dbe0b36
authored
Mar 12, 2025
by
w4t
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wtserver 0.41
parent
cfdfc1c4
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
102 additions
and
47 deletions
+102
-47
install_owncloud.sh
distros/debian12/install_owncloud.sh
+57
-27
01_check_linux.sh
functions/01_check_linux.sh
+45
-20
No files found.
distros/debian12/install_owncloud.sh
View file @
1dbe0b36
...
...
@@ -216,8 +216,38 @@ EOF
#sudo -u www-data "$STORAGE_ROOT"/owncloud/occ config:system:set mysql.utf8mb4 --type boolean --value="true"
#sudo -u www-data "$STORAGE_ROOT"/owncloud/occ maintenance:repair
sudo
-u
www-data php8.2
"
$CLOUD_DIR
"
/occ config:system:set config_is_readonly
--value
=
false
--type
=
boolean
#sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set config_is_readonly --value=false --type=boolean
cat
>
$CLOUD_DIR
/config/autoconfig.php
<<
EOF
;
<?php
\$
AUTOCONFIG = array (
# storage/database
"directory" => "
$STORAGE_ROOT
/nextcloud",
"dbtype" => "mysql",
"dbname" => "
$CFG_CLOUDDBNAME
",
"dbuser" => "
$CFG_CLOUDDBUSER
",
"dbpass" => "
$CFG_CLOUDDBPWD
",
"dbhost" => "
$CFG_CLOUDDBHOST
",
"dbport" => "3306",
"dbtableprefix" => "",
# create an administrator account with a random password so that
# the user does not have to enter anything on first load of Nextcloud
"adminlogin" => "
$CFG_CLOUDADMINUSER
",
"adminpass" => "
$CFG_CLOUDADMINPWD
",
"directory" => "
$STORAGE_ROOT
/nextcloud",
);
?>
EOF
# Set permissions
chown
-R
www-data:www-data
"
$STORAGE_ROOT
/nextcloud"
$CLOUD_DIR
# Execute Nextcloud's setup step, which creates the Nextcloud sqlite database.
# It also wipes it if it exists. And it updates config.php with database
# settings and deletes the autoconfig.php file.
(
cd
$CLOUD_DIR
||
exit
;
sudo
-u
www-data php8.2
$CLOUD_DIR
/index.php
;
)
sudo
-u
www-data php8.2
"
$CLOUD_DIR
"
/occ maintenance:install
\
--database
"mysql"
\
--database-name
"
$CFG_CLOUDDBNAME
"
\
...
...
@@ -232,30 +262,30 @@ EOF
--instanceid
"
$instanceid
"
# Set SMTP mail
#sudo -u www-data php "$CLOUD_DIR"/occ config:system:set mail_smtpmode --value="smtp"
#sudo -u www-data php
8.2
"$CLOUD_DIR"/occ config:system:set mail_smtpmode --value="smtp"
# Set logrotate
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set log_rotate_size
--value
=
"10485760"
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set log_rotate_size
--value
=
"10485760"
# Added trusted domains
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set trusted_domains 1
--value
=
$IP_ADDRESS
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set trusted_domains 2
--value
=
cloud.
$CFG_HOSTNAME_DOMAIN
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set trusted_domains 1
--value
=
$IP_ADDRESS
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set trusted_domains 2
--value
=
cloud.
$CFG_HOSTNAME_DOMAIN
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set memcache.local
--value
'\OC\Memcache\APCu'
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set mail_from_address
--value
'cloud_administrator'
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set memcache.local
--value
'\OC\Memcache\APCu'
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set mail_from_address
--value
'cloud_administrator'
TIMEZONE
=
$(
cat
/etc/timezone
)
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set logtimezone
--value
=
$TIMEZONE
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set logdateformat
--value
'Y-m-d H:i:s'
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set mail_domain
--value
=
$CFG_HOSTNAME_DOMAIN
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set overwrite.cli.url
--value
'https://$CFG_HOSTNAME_DOMAIN/cloud'
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set log_type
--value
'syslog'
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set syslog_tag
--value
'Nextcloud'
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set system_addressbook_exposed
--value
'no'
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set mail_smtpmode
--value
'sendmail'
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set mail_smtpauth
--type
boolean
--value
true
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set mail_smtphost
--value
'127.0.0.1'
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set mail_smtpport
--value
'587'
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set mail_smtpsecure
--value
''
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set mail_smtpname
--value
''
sudo
-u
www-data php
"
$CLOUD_DIR
"
/occ config:system:set mail_smtppassword
--value
''
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set logtimezone
--value
=
$TIMEZONE
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set logdateformat
--value
'Y-m-d H:i:s'
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set mail_domain
--value
=
$CFG_HOSTNAME_DOMAIN
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set overwrite.cli.url
--value
'https://$CFG_HOSTNAME_DOMAIN/cloud'
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set log_type
--value
'syslog'
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set syslog_tag
--value
'Nextcloud'
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set system_addressbook_exposed
--value
'no'
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set mail_smtpmode
--value
'sendmail'
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set mail_smtpauth
--type
boolean
--value
true
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set mail_smtphost
--value
'127.0.0.1'
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set mail_smtpport
--value
'587'
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set mail_smtpsecure
--value
''
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set mail_smtpname
--value
''
sudo
-u
www-data php
8.2
"
$CLOUD_DIR
"
/occ config:system:set mail_smtppassword
--value
''
CONFIG_FILE
=
"
$CLOUD_DIR
/config/config.php"
...
...
@@ -296,7 +326,7 @@ EOF
hide_output
sudo
-u
www-data php8.2
$CLOUD_DIR
/console.php app:enable twofactor_totp
# Upgrade all apps
sudo
-u
www-data php
$CLOUD_DIR
/occ app:update
--all
sudo
-u
www-data php
8.2
$CLOUD_DIR
/occ app:update
--all
echo
echo
"Nextcloud version:"
...
...
@@ -451,7 +481,7 @@ InstallNextcloudVer() {
rm
-rf
$CLOUD_DIR
# Download and verify the Nextcloud package
wget_verify https://download.nextcloud.com/server/releases/nextcloud-
$version
.zip
$hash
/tmp/nextcloud.zip
wget_verify
_log_progress
https://download.nextcloud.com/server/releases/nextcloud-
$version
.zip
$hash
/tmp/nextcloud.zip
# Extract Nextcloud
unzip
-q
/tmp/nextcloud.zip
-d
$INSTALL_DIR
...
...
@@ -485,14 +515,14 @@ InstallNextcloudVer() {
# If this isn't a new installation, immediately run the upgrade script.
# Then check for success (0=ok and 3=no upgrade needed, both are success).
if
[
-e
$STORAGE_ROOT
/nextcloud/nextcloud.db
]
;
then
sudo
-u
www-data php
$CLOUD_DIR
/occ upgrade
sudo
-u
www-data php
8.2
$CLOUD_DIR
/occ upgrade
if
[
\(
$?
-ne
0
\)
-a
\(
$?
-ne
3
\)
]
;
then
echo
"Trying NextCloud upgrade again to work around NextCloud upgrade bug..."
sudo
-u
www-data php
$CLOUD_DIR
/occ upgrade
sudo
-u
www-data php
8.2
$CLOUD_DIR
/occ upgrade
if
[
\(
$?
-ne
0
\)
-a
\(
$?
-ne
3
\)
]
;
then
exit
1
fi
sudo
-u
www-data php
$CLOUD_DIR
/occ maintenance:mode
--off
sudo
-u
www-data php
8.2
$CLOUD_DIR
/occ maintenance:mode
--off
echo
"...which seemed to work."
fi
...
...
functions/01_check_linux.sh
View file @
1dbe0b36
...
...
@@ -55,7 +55,7 @@ function apt_get_quiet {
# Although we could pass -qq to apt-get to make output quieter, many packages write to stdout
# and stderr things that aren't really important. Use our hide_output function to capture
# all of that and only show it if there is a problem (i.e. if apt_get returns a failure exit status).
DEBIAN_FRONTEND
=
noninteractive hide_output apt-get
-y
-o
Dpkg::Options::
=
"--force-confdef"
-o
Dpkg::Options::
=
"--force-confnew"
"
$@
"
DEBIAN_FRONTEND
=
noninteractive hide_output apt-get
-y
-
-allow-change-held-packages
-
o
Dpkg::Options::
=
"--force-confdef"
-o
Dpkg::Options::
=
"--force-confnew"
"
$@
"
}
# Update Package(s)
...
...
@@ -246,25 +246,50 @@ function input_menu {
}
function
wget_verify
{
# Downloads a file from the web and checks that it matches
# a provided hash. If the comparison fails, exit immediately.
URL
=
$1
HASH
=
$2
DEST
=
$3
CHECKSUM
=
"
$HASH
$DEST
"
rm
-f
$DEST
wget
-q
-O
$DEST
$URL
||
exit
1
if
!
echo
"
$CHECKSUM
"
|
sha1sum
--check
--strict
>
/dev/null
;
then
echo
"------------------------------------------------------------"
echo
"Download of
$URL
did not match expected checksum."
echo
"Found:"
sha1sum
$DEST
echo
echo
"Expected:"
echo
"
$CHECKSUM
"
rm
-f
$DEST
exit
1
fi
# Downloads a file from the web and checks that it matches
# a provided hash. If the comparison fails, exit immediately.
URL
=
$1
HASH
=
$2
DEST
=
$3
CHECKSUM
=
"
$HASH
$DEST
"
rm
-f
"
$DEST
"
hide_output wget
-O
"
$DEST
"
"
$URL
"
if
!
echo
"
$CHECKSUM
"
|
sha1sum
--check
--strict
>
/dev/null
;
then
echo
"------------------------------------------------------------"
echo
"Download of
$URL
did not match expected checksum."
echo
"Found:"
sha1sum
"
$DEST
"
echo
echo
"Expected:"
echo
"
$CHECKSUM
"
rm
-f
"
$DEST
"
exit
1
fi
}
function
wget_verify_log_progress
{
# Downloads a file from the web and checks that it matches
# a provided hash. If the comparison fails, exit immediately.
# this variant of the wget verify function shows
# downliad progress
URL
=
$1
HASH
=
$2
DEST
=
$3
CHECKSUM
=
"
$HASH
$DEST
"
rm
-f
"
$DEST
"
wget
-q
--show-progress
--progress
=
dot:giga
-O
"
$DEST
"
"
$URL
"
if
!
echo
"
$CHECKSUM
"
|
sha1sum
--check
--strict
>
/dev/null
;
then
echo
"------------------------------------------------------------"
echo
"Download of
$URL
did not match expected checksum."
echo
"Found:"
sha1sum
"
$DEST
"
echo
echo
"Expected:"
echo
"
$CHECKSUM
"
rm
-f
"
$DEST
"
exit
1
fi
}
function
wget_spec_verify
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment