Dizinler ve dosyalar
Coduva iki kök dizin kullanır:
- Bileşen dizini
C:\Coduva: sunucular, üretilen yapılandırmalar, veriler, günlükler ve projelerin varsayılan konumu. ASCII ve kullanıcı adından bağımsız bir yol olarak seçilmiştir. - Uygulama verisi
%APPDATA%\Coduva: uygulama ayarları ve sağlık raporları.
Her iki dizin de Ayarlar → Depolama bölümünden ve tepsinin sağ tık menüsündeki Klasörler alt menüsünden açılabilir.
Bileşen dizini
| Yol | İçerik |
|---|---|
C:\Coduva\bin | Bileşenler: nginx\<sürüm>, php\<sürüm>, mariadb\<sürüm>, node\<sürüm>, composer, wp-cli, shims |
C:\Coduva\apps\phpmyadmin | phpMyAdmin (http://localhost/phpmyadmin/) |
C:\Coduva\etc | Üretilen yapılandırmalar: nginx, php, mariadb, ssl, localhost.json |
C:\Coduva\www | Varsayılan site (www\localhost, karşılama sayfası) ve yeni projelerin varsayılan konumu |
C:\Coduva\data | MariaDB verisi (data\mariadb), Composer (data\composer) ve WP-CLI (data\wp-cli\cache) önbellekleri |
C:\Coduva\logs | Servis ve proje günlükleri |
C:\Coduva\backups\db | Veritabanı dökümleri (<ad>-<zaman>.sql) |
C:\Coduva\downloads | İndirilen bileşen paketleri ve WordPress zip'leri |
C:\Coduva\tmp | PHP geçici dosyaları, oturumlar (tmp\sessions), OPcache dosya önbelleği, phpMyAdmin geçici dosyaları |
Projeler istenen herhangi bir klasörde olabilir; yeni proje oluştururken Konum boş bırakılırsa C:\Coduva\www\<ad> kullanılır.
Üretilen yapılandırmalar
| Dosya | İçerik |
|---|---|
C:\Coduva\etc\nginx\conf\nginx.conf | Ana yapılandırma: PHP havuzları (upstream), varsayılan site, phpMyAdmin |
C:\Coduva\etc\nginx\conf\sites\<ad>.conf | Her projenin sanal sunucusu; HTTPS açıksa ikinci bir server bloğu |
C:\Coduva\etc\php\<sürüm>\php.ini | Her PHP sürümünün ayarları ve eklentileri |
C:\Coduva\etc\mariadb\my.ini | MariaDB ayarları ([mysqld], [client]) |
C:\Coduva\etc\ssl\ca\ | Yerel sertifika otoritesi: coduva-ca.crt, coduva-ca.key |
C:\Coduva\etc\ssl\sites\ | Proje sertifikaları: <ad>.test.crt, <ad>.test.key |
C:\Coduva\apps\phpmyadmin\config.inc.php | phpMyAdmin bağlantı ayarları |
C:\Coduva\etc\localhost.json | Karşılama sayfasının okuduğu portlar ve proje listesi |
Ne zaman yeniden yazılır?
Web sunucusu yapılandırması (nginx.conf, sites\*.conf, php.ini, phpMyAdmin ayarları ve localhost.json) şu durumlarda şablondan yeniden üretilir:
- Nginx başlatıldığında veya yeniden başlatıldığında,
- bir proje eklendiğinde, kaldırıldığında ya da projenin PHP sürümü, HTTPS'i veya web kökü değiştiğinde,
- PHP ve Node ekranında PHP ayarları veya eklentiler kaydedildiğinde ya da varsayılan PHP sürümü değiştiğinde,
- Coduva güncellendikten sonraki ilk açılışta (şablon eşitleme).
Nginx çalışıyorsa yeni yapılandırma kesintisiz yeniden yüklenir; servisleri yeniden başlatmanız gerekmez. my.ini MariaDB her başlatıldığında yeniden yazılır.
Elle düzenleme
Bu dosyalarda elle yaptığınız değişiklikler kalıcı olmaz. Dosyaların başındaki not bunu belirtir: "Coduva tarafından üretildi. Elle yapılan değişiklikler bir sonraki başlatmada üzerine yazılır." PHP ayarlarını PHP ve Node ekranından, portları Ayarlar → Ağ bölümünden değiştirin.
Yazma atomiktir: içerik önce .tmp dosyasına yazılır, var olan dosya .bak olarak saklanır, sonra yer değiştirilir. İçeriği değişmeyen dosya yeniden yazılmaz; bu yüzden .bak dosyası her zaman bir önceki farklı sürümü tutar. Elle yaptığınız bir değişiklik kaybolduysa aynı klasördeki .bak dosyasına bakın.
Kayıtlı olmayan projelerin sites\*.conf dosyaları otomatik silinir.
Şablon eşitleme
Coduva pencere kapandığında da arka planda çalıştığı için servisler günlerce açık kalabilir. Coduva yeni bir sürüme güncellendiğinde veya yapılandırma şablonları değiştiğinde, açılışta yapılandırmayı yeni şablonlarla yeniden yazar ve çalışan Nginx'i kesintisiz yeniden yükler. Böylece yeni sürümün ayarları servisleri yeniden başlatmadan devreye girer. İşlem başarısız olursa Son olaylar kaydına "Yeni sürümün yapılandırması uygulanamadı" yazılır; Nginx'i yeniden başlatmak yeni yapılandırmayı uygular.
Karşılama sayfası
C:\Coduva\www\localhost\index.php, http://localhost/ adresinde açılan karşılama sayfasıdır (içeriği: Proje türleri → Varsayılan site). Diğer yapılandırma dosyalarından farklı olarak bu sayfa sizin dosyanızdır:
- Dosya yoksa Coduva oluşturur; silerseniz bir sonraki başlatmada yeniden oluşturulur.
- Coduva yalnızca kendi eski sürümlerinden biriyle birebir aynı olan, hiç değiştirilmemiş bir sayfayı yeni sürümle değiştirir.
- Düzenlediğiniz sayfanın üzerine yazılmaz ve yanına
.bakbırakılmaz.
Sayfa, proje listesini ve portları belge kökünün dışındaki C:\Coduva\etc\localhost.json dosyasından okur. Nginx bu dosyanın yolunu sayfaya CODUVA_INFO FastCGI parametresiyle bildirir.
Öne çıkan değerler
nginx.conf:
client_max_body_size 128m;
sendfile off; # Düzenleyicilerin dosyayı yerinde değiştirmesinde eski içerik sunulmasın
fastcgi_read_timeout 300;my.ini:
[mysqld]
port=3306
bind-address=127.0.0.1
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
innodb_buffer_pool_size=256M
max_allowed_packet=256M
skip-name-resolvephp.ini için varsayılan değerler: Ekranlar → PHP ve Node.
Günlükler
| Dosya | İçerik |
|---|---|
C:\Coduva\logs\nginx-error.log | Nginx hataları |
C:\Coduva\logs\nginx-access.log | Varsayılan site erişim günlüğü |
C:\Coduva\logs\php-<sürüm>-error.log | PHP sürümünün hata günlüğü |
C:\Coduva\logs\mariadb-error.log | MariaDB hataları |
C:\Coduva\logs\sites\<ad>-error.log | Projenin Nginx hata günlüğü |
C:\Coduva\logs\sites\<ad>-access.log | Projenin erişim günlüğü |
C:\Coduva\logs\projects\<ad>\<süreç>.log | Proje süreçleri: queue, schedule, vite |
Uygulama günlükleri projenin kendi klasöründedir: WordPress'te wp-content\debug.log, Laravel'de storage\logs\laravel.log.
Uygulama verisi
| Yol | İçerik |
|---|---|
%APPDATA%\Coduva\coduva.sqlite | Ayar veritabanı |
%APPDATA%\Coduva\reports\ | Sağlık raporları (saglik-raporu-<zaman>.md) |
%APPDATA%\Coduva\editor-bridge.json | CodVS için durum dosyası (projeler ve servisler). Coduva yazar, CodVS okur; yalnızca içerik değişince yenilenir |
Ayar veritabanındaki tablolar: settings, php_versions, services, projects, databases, backups, events. Parolalar bu veritabanına yazılmaz; olay kaydındaki sırlar maskelenir.
Terminal ortamı
Coduva terminali ve projelerden açılan terminal şu ortamla başlar:
| Değişken | Değer |
|---|---|
PATH | Önce C:\Coduva\bin\shims (composer, wp), sonra projenin PHP klasörü, sonra Node klasörü, sonra sistemin PATH değeri |
PHPRC | Projenin PHP sürümüne ait C:\Coduva\etc\php\<sürüm> klasörü; komut satırı PHP'si de aynı php.ini dosyasını kullanır |
COMPOSER_HOME | C:\Coduva\data\composer |
WP_CLI_CACHE_DIR | C:\Coduva\data\wp-cli\cache |
Bu sayede terminalde php, composer, wp, node ve npm komutları projenin seçili sürümleriyle çalışır.
Ortam değişkenleriyle yolları değiştirmek
Geliştirme ve test için varsayılan yollar ortam değişkenleriyle değiştirilebilir:
| Değişken | Etkisi |
|---|---|
CODUVA_HOME | Bileşen dizini (C:\Coduva yerine) |
CODUVA_DATA | Uygulama verisi (%APPDATA%\Coduva yerine) |
CODUVA_HOSTS_FILE | Yalnızca test: gerçek hosts dosyası yerine bu dosya kullanılır ve yönetici izni istenmez |
$env:CODUVA_HOME = "D:\coduva-dev"
$env:CODUVA_DATA = "D:\coduva-dev\appdata"İpucu
CODUVA_HOME için de ASCII bir yol seçin. Bileşen dizini ASCII dışı karakter içerirse Kontrol merkezi ve Hata teşhisi uyarı gösterir.