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