appache opstartsuggestie louter ter info

kenikavanbis

Terugkerende gebruiker
Lid geworden
22 mei 2007
Berichten
2.197
ai gegenereert (ik test het nog)
Code:
Perfect! Je wilt een universeel startscript voor cursisten dat:

✅ Een domein toevoegt aan hosts

✅ Een VirtualHost toevoegt aan XAMPP's httpd-vhosts.conf

✅ Apache en MySQL opstart vanaf de USB-stick

✅ Werkt op Windows én een alternatief script voor Linux

Ik geef je hieronder twee versies: één .bat voor Windows en één .sh voor Linux.

🪟 Windows: start.bat
bat
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

:: Configuratie
set DOMAIN=demo.local
set HOSTS_FILE=%SystemRoot%\System32\drivers\etc\hosts
set XAMPP_DIR=%~dp0xampp
set VHOST_FILE=%XAMPP_DIR%\apache\conf\extra\httpd-vhosts.conf
set DOCROOT=%~dp0project

:: 1. Hosts aanpassen
echo Toevoegen aan hosts: %DOMAIN%
findstr /C:"%DOMAIN%" "%HOSTS_FILE%" >nul
if errorlevel 1 (
    echo 127.0.0.1 %DOMAIN% >> "%HOSTS_FILE%"
    echo ✅ Toegevoegd aan hosts.
) else (
    echo ℹ️ Domein bestaat al in hosts.
)

:: 2. VirtualHost toevoegen
echo Toevoegen aan vhosts: %DOMAIN%
findstr /C:"ServerName %DOMAIN%" "%VHOST_FILE%" >nul
if errorlevel 1 (
    echo. >> "%VHOST_FILE%"
    echo ^<VirtualHost *:80^> >> "%VHOST_FILE%"
    echo     ServerName %DOMAIN% >> "%VHOST_FILE%"
    echo     DocumentRoot "%DOCROOT%" >> "%VHOST_FILE%"
    echo     ^<Directory "%DOCROOT%"^> >> "%VHOST_FILE%"
    echo         Options Indexes FollowSymLinks >> "%VHOST_FILE%"
    echo         AllowOverride All >> "%VHOST_FILE%"
    echo         Require all granted >> "%VHOST_FILE%"
    echo     ^</Directory^> >> "%VHOST_FILE%"
    echo ^</VirtualHost^> >> "%VHOST_FILE%"
    echo ✅ VirtualHost toegevoegd.
) else (
    echo ℹ️ VirtualHost bestaat al.
)

:: 3. Apache en MySQL starten
echo Start XAMPP services…
start "" "%XAMPP_DIR%\apache_start.bat"
start "" "%XAMPP_DIR%\mysql_start.bat"

echo ✅ Klaar! Open http://%DOMAIN% in je browser.
ENDLOCAL
pause
📝 Structuur op USB-stick:

Code
USB-STICK\
│
├─ start.bat
├─ xampp\
│   ├─ apache_start.bat
│   ├─ mysql_start.bat
│   └─ apache\conf\extra\httpd-vhosts.conf
└─ project\
    └─ index.php
🐧 Linux: start.sh
bash
#!/bin/bash

DOMAIN="demo.local"
HOSTS_FILE="/etc/hosts"
SCRIPT_DIR="$(cd "$(dirname "$0")"; pwd)"
XAMPP_DIR="$SCRIPT_DIR/xampp"
VHOST_FILE="$XAMPP_DIR/etc/extra/httpd-vhosts.conf"
DOCROOT="$SCRIPT_DIR/project"

# 1. Hosts aanpassen
if ! grep -q "$DOMAIN" "$HOSTS_FILE"; then
    echo "127.0.0.1 $DOMAIN" | sudo tee -a "$HOSTS_FILE"
    echo "✅ Toegevoegd aan hosts."
else
    echo "ℹ️ Domein bestaat al in hosts."
fi

# 2. VirtualHost toevoegen
if ! grep -q "ServerName $DOMAIN" "$VHOST_FILE"; then
    echo "" >> "$VHOST_FILE"
    echo "<VirtualHost *:80>" >> "$VHOST_FILE"
    echo "    ServerName $DOMAIN" >> "$VHOST_FILE"
    echo "    DocumentRoot \"$DOCROOT\"" >> "$VHOST_FILE"
    echo "    <Directory \"$DOCROOT\">" >> "$VHOST_FILE"
    echo "        Options Indexes FollowSymLinks" >> "$VHOST_FILE"
    echo "        AllowOverride All" >> "$VHOST_FILE"
    echo "        Require all granted" >> "$VHOST_FILE"
    echo "    </Directory>" >> "$VHOST_FILE"
    echo "</VirtualHost>" >> "$VHOST_FILE"
    echo "✅ VirtualHost toegevoegd."
else
    echo "ℹ️ VirtualHost bestaat al."
fi

# 3. Apache en MySQL starten
echo "Start XAMPP services…"
sudo "$XAMPP_DIR/xampp" startapache
sudo "$XAMPP_DIR/xampp" startmysql

echo "✅ Klaar! Open http://$DOMAIN in je browser."
📝 Linux USB-structuur:

Code
USB-STICK/
├─ start.sh
├─ xampp/
│   └─ xampp (executable)
└─ project/
    └─ index.php
 
Terug
Bovenaan Onderaan