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_sqliteeklentisini 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
-
Kodu sunucuya taşıyın.
packages/acun-uiklasörü de gitmelidir; Composer ve derleme Acun UI paketlerini oradan alır..env,vendor/,node_modules/vepublic/hottaşınmaz.Git ile yayına alıyorsanız
packages/acun-uidepoda olmalıdır.public/buildise.gitignoreiçindedir; onu sunucuda derleyin. -
PHP paketlerini kurun.
--no-devtest ve geliştirme araçlarını dışarıda bırakır:composer install --no-dev --optimize-autoloader -
.envdosyasını canlı ortama göre düzenleyin:APP_ENV=production APP_DEBUG=false APP_URL=https://panel.example.com APP_LOCALE=trDeğişken Ne için APP_ENV=productionLaravel'i canlı ortam kurallarıyla çalıştırır. APP_DEBUG=falseHata ayrıntılarını ziyaretçiden gizler. APP_URLBağlantılar ve dosya adresleri bu adresle üretilir. APP_LOCALEKonsol ve kuyruk işlerinin dili; sayfaların dilini Acun UI seçer. Veritabanı, e-posta ve oturum ayarlarını da girin.
SESSION_DRIVER,CACHE_STOREya daQUEUE_CONNECTIONdeğeridatabaseise tabloları migration kurar. -
İlk yayında uygulama anahtarını üretin:
php artisan key:generateDikkat
Anahtarı sonraki yayınlarda yeniden üretmeyin. Oturumlar kapanır ve şifrelenmiş veriler okunamaz.
-
CSS ve JavaScript'i derleyin:
npm ci npm run buildBu adımı
composer install'dan sonra çalıştırın; derleme PRO CSS'ini ve JavaScript'inivendor/acunsoft/altından okur.npm ci --omit=devkullanmayı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/buildklasörünün tamamını yükleyin.manifest.jsonvefonts-manifest.jsonda bu klasördedir. Laravel derlenmiş dosyaları ve yazı tiplerini bu iki dosyadan bulur. -
Veritabanı tablolarını kurun.
--forcecanlı ortamda onay sormadan çalıştırır:php artisan migrate --forceFull sürümde bu adım yoktur; örnek veriler JSON dosyalarından okunur.
-
Yüklenen dosyaları
publicdiskine kaydediyorsanızpublic/storagebağlantısını bir kez kurun:php artisan storage:linkPHP'nin
upload_max_filesizevepost_max_sizedeğerleri en büyük dosyadan büyük olmalıdır. -
Ayarları, rotaları ve görünümleri önbelleğe alın:
php artisan optimizeHer yayından sonra ve
.envdosyası her değiştiğinde tekrarlayın. Önbelleği silmek içinphp artisan optimize:clearçalıştırın. -
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/.htaccesshazırdır;mod_rewriteaçık olmalıdır. Acun UI'nin tema script'i (/acun-ui/acun-ui-boot.js) Livewire'ın script'i gibi PHP üzerinden gelir..jsdosyaları için ayrı bir kural yazdıysanız bu adreslerin deindex.php'ye gitmesine izin verin. -
storagevebootstrap/cacheklasörlerini web sunucusunun kullanıcısına yazılabilir yapın. Ubuntu'da bu kullanıcı genelliklewww-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-autoloadervenpm ci && npm run build, dağıtım komutlarınaphp artisan migrate --forceyazı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ğindenpm ci && npm run buildyoksacomposer installsatı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/buildklasörünü yükleyin. Acun UI paketlerivendor/acunsoft/altına sembolik bağlantıyla bağlanır; bu yüzdencomposer installkomutunu sunucuda SSH ile çalıştırın. Panel belge kökünü değiştirmeye izin vermiyorsa uygulamayıpublic_htmldışına koyun vepublic_htmlklasörünü uygulamanınpublic/klasörüne bağlayın.
Kontrol listesi
- PHP 8.3 ya da üstü ve gerekli eklentiler kurulu.
packages/acun-uiklasörü sunucuda.composer install --no-dev --optimize-autoloaderçalıştı..enviçindeAPP_ENV=production,APP_DEBUG=falseve doğruAPP_URLvar.APP_KEYbir kez üretildi ve bir daha değişmiyor.public/buildgüncel:manifest.jsonvefonts-manifest.jsondahil.public/hotdosyası yok.php artisan migrate --forceçalıştı (full sürümde gerekmez).- Dosyalar
publicdiskine yükleniyorsaphp artisan storage:linkçalıştı. php artisan optimizeçalıştı.- Belge kökü
public/klasörü. storagevebootstrap/cacheyazı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ı
- Bağımlılıklar: PHP eklentileri ve sürümler.
- Yapılandırma:
config/acun-ui.phpayarları ve DataTable dışa aktarma ayarları. - CSS, JavaScript ve derleme: derleme ve yazı tipleri.
- DataTable: dışa aktarma ve kuyruk.
- Hızlı başlangıç: yerelde kurulum ve güncellemeler.