403Webshell
Server IP : 104.129.129.72  /  Your IP : 216.73.216.229
Web Server : LiteSpeed
System : Linux 123answers 5.15.0-143-generic #153-Ubuntu SMP Fri Jun 13 19:10:45 UTC 2025 x86_64
User : answe8064 ( 1002)
PHP Version : 8.2.28
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /opt/installer/apps/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/installer/apps/nextcloud-latest-offisrc
#!/bin/bash

if [ -f "include/startup.sh" ]; then
    . include/startup.sh
elif [ -f "../include/startup.sh" ]; then
    . ../include/startup.sh
fi

checkTagExist php.success
checkTagExist nginx.success
checkTagExist mysqld.success
checkTagExist ssl-ready.success

phpVersion=$(php -v | head -n 1 | cut -d " " -f 2 | cut -f1-2 -d".")
appVersion=latest
appPath=/var/www/html
rootDir=$(rootDir)

ndisk="$(lsblk)"
if [[ $ndisk == *"sdb"* ]]; then
   echo "Another disk found,installing on sdb" | log
   mkdir -p /var/www/html
   echo "/dev/sdb1 /var/www/html ext4 defaults 0 0" >> /etc/fstab
   mount -a
fi

echo "Downloading NextCloud ${appVersion}" | log
mkdir -p $appPath
cd $rootDir/temp
curlDownload https://download.nextcloud.com/server/releases/$appVersion.tar.bz2
waitOrStop 0 "File not downloaded from official source"
installPackage bzip2
tar -xjvf $appVersion.tar.bz2 -C $appPath/ --strip 1
waitOrStop 0 "Failed to extract application archive"
rm -f $appVersion.tar.bz2 
chown -R www-data:www-data $appPath

echo "Preparing database" | log
mysql --defaults-file=/root/.my.cnf -h localhost <<EOF
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nextcloud'@'localhost' identified with mysql_native_password by '${ADMINPASSWORD}';
GRANT ALL ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
EOF

echo "Installing application" | log
cd $appPath
rm index.nginx-debian.html
sudo -u www-data php occ  maintenance:install --database "mysql" --database-name "nextcloud"  --database-user "nextcloud" --database-pass "${ADMINPASSWORD}" --admin-user "admin" --admin-pass "${ADMINPASSWORD}"
waitOrStop 0 "Application failed to install"
sudo -u www-data php occ db:convert-filecache-bigint --no-interaction
sudo -u www-data php occ db:add-missing-indices

echo "Configuring nginx" | log
# Copy Virtual Host
cp $rootDir/tweaks/extras/nextcloud-nginx/nextcloud.conf /etc/nginx/sites-available/
# Symlink nextcloud vhost
ln -s /etc/nginx/sites-available/nextcloud.conf /etc/nginx/sites-enabled/
# Remove default vhosts
unlink /etc/nginx/sites-enabled/default
unlink /etc/nginx/sites-enabled/default-ssl
systemctl restart nginx.service
waitOrStop 0 "Restart nginx service failed"

echo "Tweaking app and runtime settings" | log
# installing image preview functionality
installPackage  imagemagick
installPackage  php$phpVersion-imagick
installPackage  php$phpVersion-gmp
waitOrStop 0 "Failed apt install: php-imagick"
phpIniPath=/etc/php/$phpVersion/fpm/php.ini
phpIniAutoconfig=$rootDir/autoconfig/php-fpm-autoconfig/php.ini

# modify memory limit
# sed -i '/memory_limit/s/[0-9]\+/512/g' $phpIniPath
sed -i '/memory_limit/s/^#//g' $phpIniAutoconfig
sed -i '/memory_limit/s/[0-9]\+/512/g' $phpIniAutoconfig
# modify php.ini opcache settings
sed -i '/opcache.enable=/s/^;//g' $phpIniPath
sed -i '/opcache.memory_consumption=/s/^;//g' $phpIniPath
sed -i '/opcache.interned_strings_buffer=/s/^;//g' $phpIniPath
sed -i '/opcache.max_accelerated_files=/s/^;//g' $phpIniPath
sed -i '/opcache.save_comments=/s/^;//g' $phpIniPath
sed -i "s/;opcache.enable_cli=0/opcache.enable_cli=1/g" $phpIniPath
sed -i "s/;opcache.revalidate_freq=2/opcache.revalidate_freq=1/g" $phpIniPath
# modify www.conf settings
sed -i '/env\[PATH\]/s/^;//g' /etc/php/$phpVersion/fpm/pool.d/www.conf
# Add Server IP to Trusted Servers
sed -i "s/0 => 'localhost',/0 => 'localhost', 1 => '${CWM_DISPLAYED_ADDRESS}',/" $appPath/config/config.php
systemctl restart php$phpVersion-fpm.service
waitOrStop 0 "Restart php-fpm service failed"

echo "Adding descriptions" | log
descriptionAppend "Nextcloud Web UI: https://${CWM_DISPLAYED_ADDRESS}/"
descriptionAppend "Nextcloud Username: admin "
descriptionAppend "Nextcloud Password: ${ADMINPASSWORD} "
descriptionAppend " "

tagScript success

exit 0

Youez - 2016 - github.com/yon3zu
LinuXploit