#!/bin/bash # Configurable Variables DB_NAME="partkeepr" DB_USER="partkeepruser" DB_PASS="StrongPasswordHere!" # Change this! DOMAIN_NAME="partkeepr.local" # Update this or use your IP echo ">>> Updating system and installing dependencies..." apt update && apt upgrade -y apt install -y apache2 mariadb-server mariadb-client php php-mysql php-gd php-intl php-curl php-xml php-mbstring php-zip php-bcmath php-cli php-common php-soap php-imagick libapache2-mod-php unzip curl git echo ">>> Securing MariaDB..." mysql -u root <>> Installing Composer..." curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer echo ">>> Cloning PartKeepr from GitHub..." cd /var/www/ git clone https://github.com/partkeepr/PartKeepr.git chown -R www-data:www-data PartKeepr cd PartKeepr sudo -u www-data composer install --no-dev --optimize-autoloader echo ">>> Setting permissions..." chown -R www-data:www-data /var/www/PartKeepr chmod -R 755 /var/www/PartKeepr echo ">>> Creating Apache virtual host..." cat </etc/apache2/sites-available/partkeepr.conf ServerAdmin admin@example.com DocumentRoot /var/www/PartKeepr/web ServerName ${DOMAIN_NAME} AllowOverride All Require all granted ErrorLog \${APACHE_LOG_DIR}/partkeepr_error.log CustomLog \${APACHE_LOG_DIR}/partkeepr_access.log combined EOL a2ensite partkeepr.conf a2enmod rewrite systemctl reload apache2 echo ">>> Installation complete!" echo "Access PartKeepr via: http://${DOMAIN_NAME} or your server IP." echo "Run the setup wizard in the browser to finish configuration."