| 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/services/ |
Upload File : |
#!/bin/bash
if [ -f "include/startup.sh" ]; then
. include/startup.sh
elif [ -f "../include/startup.sh" ]; then
. ../include/startup.sh
fi
rootDir=$(rootDir)
echo "Installing php8.2 modules for laravel" | log
packages=(zip unzip php8.2 php-pear php8.2-dev libapache2-mod-php8.2 php8.2-imagick php8.2-tidy php8.2-xmlrpc openssl php-common php-curl php-json php-mbstring php-mysql php-xml php-zip)
installPackage "${packages[@]}"
waitOrStop 0 "Failed apt install: ${packages[@]}"
echo "Installing composer" | log
cd /var/www/
curlDownload https://getcomposer.org/installer
waitOrStop 0 "File not downloaded from official source"
export COMPOSER_HOME="$HOME/.config/composer";
/usr/bin/php /var/www/installer >> /var/www/phpinstaller.txt
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer
echo "Downloading and Installing Laravel" | log
cd /var/www
git clone https://github.com/laravel/laravel.git
cd /var/www/laravel
export DEBIAN_FRONTEND=noninteractive
composer install
sleep 5
echo "adding SQL port to UFW" | log
ufw allow 3306
echo "Granting Permissions" | log
rm -rf /var/www/laravel/.env
cp $rootDir/tweaks/extras/laravel/.env /var/www/laravel/
chown -R www-data.www-data /var/www/laravel
chmod -R 755 /var/www/laravel
chmod -R 777 /var/www/laravel/storage
echo "Generating ecryption key" | log
php artisan key:generate
echo "Creating Laravel Database and User" | log
mysql --defaults-file=/root/.my.cnf -h localhost <<EOF
CREATE DATABASE laraveldb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'laraveluser'@'localhost' identified with mysql_native_password by '${ADMINPASSWORD}';
GRANT all privileges on laraveldb.* to laraveluser@localhost;
FLUSH PRIVILEGES;
EOF
echo "Setting enviroment and VirtualHost" | log
sed -i "s/CWMDOMAIN/${CWM_DOMAIN}/g" /var/www/laravel/.env
sed -i "s/ADMINPASS/${ADMINPASSWORD}/g" /var/www/laravel/.env
unlink /etc/apache2/sites-enabled/000-default.conf
unlink /etc/apache2/sites-enabled/default-ssl.conf
cp $rootDir/tweaks/extras/laravel/laravel.conf /etc/apache2/sites-available/laravel.conf
sed -i "s/CWMDOMAIN/${CWM_DOMAIN}/g" /etc/apache2/sites-available/laravel.conf
ln -s /etc/apache2/sites-available/laravel.conf /etc/apache2/sites-enabled/
## Testing Oren ##
if [[ certbot_failed==1 ]]
then
sed -i "s/cert.pem/fullchain.pem/g" /etc/apache2/sites-available/laravel.conf
fi
## Testing Oren END##
echo "Enabling Laravel VirtualHost & Restarting Apache" | log
a2ensite laravel.conf
a2enmod ssl
service apache2 restart
waitOrStop 0 "Failed to restart Apache"
echo "Adding descriptions" | log
descriptionAppend "Laravel Web UI: https://${CWM_DOMAIN}"
descriptionAppend "Laravel Database: laraveldb"
descriptionAppend "Laravel Database User: laraveluser"
descriptionAppend "Laravel Database Password: ${ADMINPASSWORD}"
descriptionAppend " "
tagScript success
exit 0