132 lines
3.6 KiB
Bash
Executable File
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"
|