From 93c369dd0206f751712bbfe66fe5ea1e43a0d365 Mon Sep 17 00:00:00 2001 From: Abanoub Hany Date: Mon, 9 Jun 2025 17:34:02 +0000 Subject: [PATCH] Update sas4-install.sh updated port and apache file in seperated file --- sas4-install.sh | 63 +++++++++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/sas4-install.sh b/sas4-install.sh index ed61bda..edc57f7 100644 --- a/sas4-install.sh +++ b/sas4-install.sh @@ -1,51 +1,58 @@ #!/bin/bash -# Define variables +# Variables REPO_URL="https://github.com/h4775346/l2tp-manager.git" TARGET_DIR="/opt/sas4/site/l2tp-manager/" -APACHE_CONF="/etc/apache2/sites-enabled/sas4.conf" CHAP_SECRETS="/etc/ppp/chap-secrets" +APACHE_CONF="/etc/apache2/sites-available/l2tp-manager.conf" +PORTS_CONF="/etc/apache2/ports.conf" -# Update package list and install necessary packages -apt-get update -apt-get install -y git unzip curl apache2 +# Update and install packages +apt update +apt install -y git unzip curl apache2 libapache2-mod-php -# Clone the GitHub repository +# Clone the repo if [ ! -d "$TARGET_DIR" ]; then git clone $REPO_URL $TARGET_DIR else - echo "Directory $TARGET_DIR already exists. Stashing local changes and pulling the latest changes." + echo "Directory $TARGET_DIR already exists. Pulling latest changes..." git config --global --add safe.directory $TARGET_DIR cd $TARGET_DIR git stash git pull fi -# Ensure /etc/ppp/chap-secrets is writable +# Set permissions chmod 666 $CHAP_SECRETS - -# Ensure the target directory is writable by the web server chown -R www-data:www-data $TARGET_DIR chmod -R 755 $TARGET_DIR -# Define the Alias and Directory block -ALIAS_BLOCK=$(cat < - Order allow,deny - Allow from all - AllowOverride All - Require all granted - -EOT -) - -# Add the new Alias and Directory block above the existing Alias /user/api block -if ! grep -q "/l2tp-manager/" $APACHE_CONF; then - awk -v insert="$ALIAS_BLOCK" '/Alias \/user\/api \/opt\/sas4\/site\/user\/backend\/public\// {print insert; print} !/Alias \/user\/api \/opt\/sas4\/site\/user\/backend\/public\// {print}' $APACHE_CONF > /tmp/sas4.conf && mv /tmp/sas4.conf $APACHE_CONF +# Ensure Apache listens on port 8090 +if ! grep -q "Listen 8090" $PORTS_CONF; then + echo "Listen 8090" >> $PORTS_CONF fi -# Restart Apache to apply the changes -systemctl restart apache2 +# Create Apache VirtualHost config +if [ ! -f "$APACHE_CONF" ]; then +cat < $APACHE_CONF + + ServerAdmin admin@localhost + DocumentRoot $TARGET_DIR -echo "l2tp-manager installed and Apache configuration updated." + + Options Indexes FollowSymLinks + AllowOverride All + Require all granted + + + ErrorLog \${APACHE_LOG_DIR}/l2tp-error.log + CustomLog \${APACHE_LOG_DIR}/l2tp-access.log combined + +EOL + a2ensite l2tp-manager.conf +fi + +# Restart Apache +systemctl reload apache2 + +echo "✅ Apache is now serving /l2tp-manager on http://your-server-ip:8090/"