TR
Başlangıç

Yayına alma

Bu sayfa tema uygulamanızı bir sunucuya adım adım taşımayı anlatır.

En kısa örnek

Kod sunucuya geldikten sonra uygulama klasöründe şunları çalıştırın:

composer install --no-dev --optimize-autoloader
cp .env.example .env          # yalnızca ilk seferde; ardından .env'i düzenleyin
php artisan key:generate      # yalnızca ilk seferde
npm ci && npm run build
php artisan migrate --force
php artisan storage:link      # dosya yükleme kullanıyorsanız, bir kez
php artisan optimize

Web sunucusunun belge kökü public/ klasörü olmalıdır. Sonraki yayınlarda cp, key:generate ve storage:link satırlarını atlayın; kuyruk işçisi varsa sona php artisan queue:restart ekleyin.

Gereksinimler

  • PHP 8.3 ya da üstü ve Bağımlılıklar sayfasındaki eklentiler. Full sürüm pdo_sqlite eklentisini ister.
  • Composer 2.2 ya da üstü.
  • Node.js 20.19 ya da 22.12 ve üstü; yalnızca sunucuda derleyecekseniz.
  • Starter kit ve kendi projeniz için MySQL, PostgreSQL ya da SQLite. Full sürüm veritabanı istemez.
  • Nginx ya da Apache.

Adım adım

  1. Kodu sunucuya taşıyın. packages/acun-ui klasörü de gitmelidir; Composer ve derleme Acun UI paketlerini oradan alır. .env, vendor/, node_modules/ ve public/hot taşınmaz.

    Git ile yayına alıyorsanız packages/acun-ui depoda olmalıdır. public/build ise .gitignore içindedir; onu sunucuda derleyin.

  2. PHP paketlerini kurun. --no-dev test ve geliştirme araçlarını dışarıda bırakır:

    composer install --no-dev --optimize-autoloader
    
  3. .env dosyasını canlı ortama göre düzenleyin:

    APP_ENV=production
    APP_DEBUG=false
    APP_URL=https://panel.example.com
    APP_LOCALE=tr
    
    Değişken Ne için
    APP_ENV=production Laravel'i canlı ortam kurallarıyla çalıştırır.
    APP_DEBUG=false Hata ayrıntılarını ziyaretçiden gizler.
    APP_URL Bağlantılar ve dosya adresleri bu adresle üretilir.
    APP_LOCALE Konsol ve kuyruk işlerinin dili; sayfaların dilini Acun UI seçer.

    Veritabanı, e-posta ve oturum ayarlarını da girin. SESSION_DRIVER, CACHE_STORE ya da QUEUE_CONNECTION değeri database ise tabloları migration kurar.

  4. İlk yayında uygulama anahtarını üretin:

    php artisan key:generate
    

    Dikkat

    Anahtarı sonraki yayınlarda yeniden üretmeyin. Oturumlar kapanır ve şifrelenmiş veriler okunamaz.

  5. CSS ve JavaScript'i derleyin:

    npm ci
    npm run build
    

    Bu adımı composer install'dan sonra çalıştırın; derleme PRO CSS'ini ve JavaScript'ini vendor/acunsoft/ altından okur. npm ci --omit=dev kullanmayın, çünkü Vite ve Tailwind geliştirme bağımlılıklarındadır. Yazı tipleri derleme sırasında Bunny Fonts'tan iner; sunucunun internete erişmesi gerekir.

    Sunucuda Node.js yoksa kendi bilgisayarınızda derleyin ve public/build klasörünün tamamını yükleyin. manifest.json ve fonts-manifest.json da bu klasördedir. Laravel derlenmiş dosyaları ve yazı tiplerini bu iki dosyadan bulur.

  6. Veritabanı tablolarını kurun. --force canlı ortamda onay sormadan çalıştırır:

    php artisan migrate --force
    

    Full sürümde bu adım yoktur; örnek veriler JSON dosyalarından okunur.

  7. Yüklenen dosyaları public diskine kaydediyorsanız public/storage bağlantısını bir kez kurun:

    php artisan storage:link
    

    PHP'nin upload_max_filesize ve post_max_size değerleri en büyük dosyadan büyük olmalıdır.

  8. Ayarları, rotaları ve görünümleri önbelleğe alın:

    php artisan optimize
    

    Her yayından sonra ve .env dosyası her değiştiğinde tekrarlayın. Önbelleği silmek için php artisan optimize:clear çalıştırın.

  9. Web sunucusunun belge kökünü public/ klasörüne yönlendirin. Nginx'te:

    root /var/www/uygulamam/public;
    
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    

    Apache'de public/.htaccess hazırdır; mod_rewrite açık olmalıdır. Acun UI'nin tema script'i (/acun-ui/acun-ui-boot.js) Livewire'ın script'i gibi PHP üzerinden gelir. .js dosyaları için ayrı bir kural yazdıysanız bu adreslerin de index.php'ye gitmesine izin verin.

  10. storage ve bootstrap/cache klasörlerini web sunucusunun kullanıcısına yazılabilir yapın. Ubuntu'da bu kullanıcı genellikle www-data'dır:

    sudo chown -R www-data:www-data storage bootstrap/cache
    sudo chmod -R ug+rw storage bootstrap/cache
    

Kuyruk ve zamanlayıcı

Bu bölüm yalnızca kuyruk kullanıyorsanız gerekir. PRO DataTable, 5.000 satırdan büyük dışa aktarmaları kuyrukta hazırlar (exports.queue_threshold). QUEUE_CONNECTION değeri sync değilse bir kuyruk işçisi çalıştırın:

php artisan queue:work

İşçiyi Supervisor ya da platformunuzun işçi özelliğiyle sürekli çalışır tutun. Her yayından sonra php artisan queue:restart ile yeni kodu almasını sağlayın. Web sunucusu ile işçi aynı önbelleği kullanmalıdır (array olmaz). Birden çok sunucuda exports.disk için ortak bir disk seçin; örneğin S3.

Süresi dolan dışa aktarma dosyalarını silmek için komutu routes/console.php dosyasında zamanlayın:

use Illuminate\Support\Facades\Schedule;

Schedule::command('acun-ui:prune-exports')->hourly();

Zamanlayıcı için sunucuya her dakika çalışan bir cron satırı ekleyin:

* * * * * cd /var/www/uygulamam && php artisan schedule:run >> /dev/null 2>&1

Barındırma türleri

  • Laravel Cloud: Git deposunu bağlarsınız; belge kökünü platform ayarlar. Derleme komutlarına composer install --no-dev --optimize-autoloader ve npm ci && npm run build, dağıtım komutlarına php artisan migrate --force yazın. Sunucunun diski kalıcı değildir; yüklenen dosyalar ve dışa aktarmalar için S3 uyumlu bir depolama diski kullanın.
  • Forge ya da kendi sunucunuz: Nginx sitesinin kökü public/ olur. Dağıtım betiğinde npm ci && npm run build yoksa composer install satırından sonra ekleyin. Kuyruk işçisini ve zamanlayıcıyı da ekleyin.
  • Paylaşımlı barındırma: Genellikle Node.js yoktur; kendi bilgisayarınızda derleyip public/build klasörünü yükleyin. Acun UI paketleri vendor/acunsoft/ altına sembolik bağlantıyla bağlanır; bu yüzden composer install komutunu sunucuda SSH ile çalıştırın. Panel belge kökünü değiştirmeye izin vermiyorsa uygulamayı public_html dışına koyun ve public_html klasörünü uygulamanın public/ klasörüne bağlayın.

Kontrol listesi

  • PHP 8.3 ya da üstü ve gerekli eklentiler kurulu.
  • packages/acun-ui klasörü sunucuda.
  • composer install --no-dev --optimize-autoloader çalıştı.
  • .env içinde APP_ENV=production, APP_DEBUG=false ve doğru APP_URL var.
  • APP_KEY bir kez üretildi ve bir daha değişmiyor.
  • public/build güncel: manifest.json ve fonts-manifest.json dahil. public/hot dosyası yok.
  • php artisan migrate --force çalıştı (full sürümde gerekmez).
  • Dosyalar public diskine yükleniyorsa php artisan storage:link çalıştı.
  • php artisan optimize çalıştı.
  • Belge kökü public/ klasörü.
  • storage ve bootstrap/cache yazılabilir.
  • Kuyrukta dışa aktarma kullanılıyorsa kuyruk işçisi ve cron satırı çalışıyor.
  • Bir panel sayfası açılıyor ve tarayıcı konsolunda [Acun UI] ile başlayan bir hata yok.

Daha fazlası

Acun UIİnsanlar için tasarlandı.