neonail-database/setup-webspace.sh
2025-08-10 18:09:07 +02:00

132 lines
3.6 KiB
Bash
Executable File

#!/bin/bash
# NeoNail DB - Vollständiges Webspace Setup
echo "🚀 NeoNail DB - Vollständiges Webspace Setup..."
# 1. .env erstellen (falls nicht vorhanden)
echo "📝 .env Datei erstellen..."
if [ ! -f .env ]; then
cat > .env << 'EOF'
APP_NAME="NeoNail DB"
APP_ENV=production
APP_KEY=base64:+LTZYPKjkZ+O3iFTgU2sS+9bNvxxvG8Kw8JSEPiG7Rs=
APP_DEBUG=false
APP_URL=http://192.168.30.81/neonail
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=error
# SQLite Konfiguration
DB_CONNECTION=sqlite
DB_DATABASE=database.sqlite
BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
MEMCACHED_HOST=127.0.0.1
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=mailpit
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_HOST=
PUSHER_PORT=443
PUSHER_SCHEME=https
PUSHER_APP_CLUSTER=mt1
VITE_APP_NAME="${APP_NAME}"
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
EOF
echo "✅ .env Datei erstellt"
else
echo "✅ .env Datei bereits vorhanden"
fi
# 2. Storage-Verzeichnisse erstellen
echo "📁 Storage-Verzeichnisse erstellen..."
mkdir -p storage/framework/views
mkdir -p storage/framework/cache
mkdir -p storage/framework/sessions
mkdir -p storage/logs
mkdir -p bootstrap/cache
# 3. Berechtigungen setzen
echo "🔐 Berechtigungen setzen..."
chmod -R 777 storage/
chmod -R 777 bootstrap/cache/
chmod 644 .env
# 4. SQLite-Datenbank erstellen
echo "🗄️ SQLite-Datenbank erstellen..."
if [ ! -f database.sqlite ]; then
touch database.sqlite
echo "✅ SQLite-Datenbank erstellt"
else
echo "✅ SQLite-Datenbank bereits vorhanden"
fi
chmod 664 database.sqlite
# 5. Composer installieren (falls verfügbar)
echo "📦 Composer Dependencies installieren..."
if command -v composer &> /dev/null; then
composer install --optimize-autoloader --no-dev
echo "✅ Composer Dependencies installiert"
else
echo "⚠️ Composer nicht verfügbar"
fi
# 6. Laravel Setup
echo "🔧 Laravel Setup..."
if command -v php &> /dev/null; then
php artisan config:clear 2>/dev/null || echo "⚠️ php artisan config:clear fehlgeschlagen"
php artisan cache:clear 2>/dev/null || echo "⚠️ php artisan cache:clear fehlgeschlagen"
php artisan view:clear 2>/dev/null || echo "⚠️ php artisan view:clear fehlgeschlagen"
php artisan storage:link 2>/dev/null || echo "⚠️ php artisan storage:link fehlgeschlagen"
php artisan migrate --force 2>/dev/null || echo "⚠️ php artisan migrate fehlgeschlagen"
php artisan config:cache 2>/dev/null || echo "⚠️ php artisan config:cache fehlgeschlagen"
echo "✅ Laravel Setup abgeschlossen"
else
echo "⚠️ PHP nicht verfügbar"
fi
echo "✅ Setup abgeschlossen!"
echo ""
echo "📋 Nächste Schritte:"
echo "1. Seite testen: http://192.168.30.81/neonail/"
echo "2. Admin-User erstellen (falls php verfügbar):"
echo " php artisan tinker"
echo " use App\Models\User;"
echo " User::create(['name' => 'Admin', 'email' => 'admin@neonail.com', 'password' => bcrypt('passwort')]);"
echo ""
echo "💡 Falls Probleme bestehen:"
echo "- APP_DEBUG=true in .env setzen für Debug-Informationen"
echo "- Logs prüfen: storage/logs/laravel.log"
echo "- Hosting-Provider kontaktieren"