Proje türleri
Coduva'da her proje bir klasör, bir ad.test adresi, bir Nginx sanal sunucusu ve isteğe bağlı olarak bir veritabanı ve HTTPS sertifikasından oluşur. Proje kaydı %APPDATA%\Coduva\coduva.sqlite içinde tutulur; proje klasörüne ayrı bir Coduva yapılandırma dosyası yazılmaz.
Türler
| Tür | Nasıl oluşur | Veritabanı | Web kökü |
|---|---|---|---|
| Boş PHP | Klasör ve karşılama sayfası içeren bir index.php | Yok | Proje klasörü |
| WordPress | Türkçe WordPress çekirdeği, veritabanı, wp-config.php, yönetici hesabı | Oluşturulur | Proje klasörü |
| Laravel | composer create-project laravel/laravel, .env içinde MariaDB bağlantısı, artisan migrate | Oluşturulur | public |
| Eklenen klasör | Var olan klasör; türü otomatik algılanır | Bağlanmaz | Algılanır |
WordPress kurulumu
- MariaDB çalışmıyorsa başlatılır.
- WordPress'in en güncel Türkçe (
tr_TR) sürümü indirilir ve SHA-1 değeriyle doğrulanır. - Proje adıyla bir veritabanı oluşturulur.
- WP-CLI ile
wp-config.phpyazılır: kullanıcıroot, parola boş, sunucu127.0.0.1:<MariaDB portu>. - WP-CLI ile kurulum yapılır: site başlığı proje adı, yönetici kullanıcı
admin, e-postaadmin@<ad>.test, rastgele 16 karakterlik parola.
Yönetici parolası yalnızca kurulum sonunda bir kez gösterilir ve hiçbir yere kaydedilmez. Sonradan giriş için Yönetici olarak giriş yap düğmesini kullanın.
Laravel kurulumu
- MariaDB çalışmıyorsa başlatılır.
composer create-project laravel/laravel <ad>çalışır. İnternet gerekir; birkaç dakika sürebilir. Virüs taraması geçici dosyaları kilitlerse ("Permission denied") Coduva bir kez daha dener.- Proje adıyla bir veritabanı oluşturulur.
.envdosyasında şu anahtarlar ayarlanır:
APP_URL=http://<ad>.test
DB_CONNECTION=mariadb
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=<ad>
DB_USERNAME=root
DB_PASSWORD=php artisan migrate --forceçalışır.
APP_URL ve DB_PORT değerleri, proje HTTPS kullanıyorsa veya portlar varsayılandan farklıysa buna göre yazılır.
Başarısız kurulum
Kurulum herhangi bir adımda başarısız olursa Coduva bu işlemde oluşturduğu klasörü ve veritabanını geri alır; yarım bir proje kalmaz. Hata çıktısının son satırları kurulum günlüğünde görünür.
Kurulum hedefi olan klasör zaten varsa boş olmalıdır.
Ad kuralları
Proje adı, adresin ilk parçası olur.
- Küçük harf (
a–z), rakam ve tire (-) - 1–63 karakter
- Tireyle başlayıp bitemez
- Ayrılmış adlar kullanılamaz:
localhost,phpmyadmin,coduva,www - Aynı adda iki proje olamaz
Klasör eklerken ad klasör adından önerilir: Türkçe harfler ASCII karşılığına çevrilir, diğer karakterler tireye dönüşür. Örnek: Müşteri Sitesi → musteri-sitesi.
Veritabanı adı proje adından türetilir; tireler alt çizgiye çevrilir: musteri-sitesi → musteri_sitesi.
Adres
Her projenin adresi <ad>.test olur. Coduva yalnızca .test uzantısını kullanır.
Web sunucusu varsayılan portlarda çalışmıyorsa port adrese eklenir:
| Durum | Adres |
|---|---|
| HTTP, port 80 | http://magaza.test/ |
| HTTP, port 8080 | http://magaza.test:8080/ |
| HTTPS, port 443 | https://magaza.test/ |
| HTTPS, port 8443 | https://magaza.test:8443/ |
Adresin çalışması için hosts dosyasında 127.0.0.1 <ad>.test satırı bulunmalıdır. Coduva proje eklenince veya kaldırılınca hosts dosyasını eşitler; bu adım UAC onayı ister. Onay verilmezse proje yine kaydedilir ve Yerel adresler ekranından yeniden denenebilir.
Tür ve web kökü algılama
Klasör eklerken tür şu sırayla belirlenir:
| Koşul | Tür |
|---|---|
wp-config.php var, veya wp-load.php ile wp-includes\ klasörü birlikte var | WordPress |
artisan dosyası var ve composer.json içinde laravel/framework geçiyor | Laravel |
| Diğer her durum | PHP |
Web kökü (Nginx'in root değeri):
| Tür | Web kökü |
|---|---|
| Laravel | <klasör>\public |
PHP, public\index.php varsa | <klasör>\public |
| PHP (diğer) ve WordPress | <klasör> |
Algılanan web kökü, projenin Genel sekmesinde Web kökü satırındaki Değiştir düğmesiyle başka bir klasör yapılabilir. Giriş dosyası web veya htdocs gibi farklı bir alt klasörde olan uygulamalar için bunu kullanın.
Nginx tüm projelerde ön denetleyici (front controller) düzeniyle yapılandırılır: dosya bulunamazsa istek index.php'ye yönlenir. .well-known dışındaki nokta ile başlayan dosyalara (ör. .env, .git) erişim engellenir. .htaccess dosyaları Nginx tarafından okunmaz.
Proje başına ayarlar
Projenin Genel sekmesinden:
| Ayar | Seçenekler |
|---|---|
| PHP sürümü | Varsayılan (Coduva'nın varsayılan PHP sürümü) veya kurulu, desteklenen herhangi bir sürüm |
| Node.js sürümü | Otomatik (.nvmrc / en yeni) veya kurulu bir sürüm |
| HTTPS kullan | Açıkken proje için yerel sertifika üretilir ve HTTPS sanal sunucusu eklenir. Aynı anahtar Yerel HTTPS ekranındaki proje listesinde de bulunur |
Her PHP sürümünün kendi FastCGI havuzu olduğundan farklı PHP sürümlerini kullanan projeler aynı anda çalışır. PHP sürümü değişince Nginx kesintisiz yeniden yüklenir.
Otomatik Node seçiminde önce projedeki .nvmrc dosyasına, yoksa package.json içindeki engines.node alanına bakılır; bu ana sürüme uyan kurulu Node kullanılır. Hiçbiri yoksa kurulu en yeni Node seçilir.
Projeyi kaldırma
Projeyi kaldır projeyi Coduva'dan çıkarır:
- Nginx sanal sunucusu ve
hostssatırı kaldırılır. - Proje sertifikası silinir.
- Projenin çalışan süreçleri (kuyruk, zamanlayıcı, Vite) durdurulur.
Proje dosyaları ve veritabanı silinmez. Veritabanını silmek için Veritabanı ekranındaki Sil düğmesini kullanın; klasörü Windows Gezgini'nden silin.
Varsayılan site
C:\Coduva\www\localhost klasörü http://localhost/ adresinde sunulur. Bir proje değildir ve Projeler listesinde görünmez. Açılan karşılama sayfası yerel sunucunuzun özetidir:
| Bölüm | İçerik |
|---|---|
| Üst bölüm | Yerel sunucunuz hazır başlığı ve phpMyAdmin ile phpinfo() bağlantıları. MariaDB'ye bağlanılamıyorsa başlık Web sunucusu çalışıyor olur ve veritabanını Coduva'dan başlatmanız önerilir |
| Web sunucusu | Nginx sürümü, HTTP ve HTTPS portu |
| PHP | PHP sürümü, FastCGI ve OPcache durumu |
| Veritabanı | MariaDB sürümü, bağlantı adresi (127.0.0.1:<port>) ve kullanıcı veritabanı sayısı |
| Projeler | Her proje: adı, adresi (HTTPS açıksa kilitli), türü, PHP sürümü ve Aç düğmesi |
| PHP ayarları | memory_limit, upload_max_filesize, post_max_size, max_execution_time, display_errors, date.timezone, OPcache ve Xdebug durumu |
| Konumlar | Belge kökü, Bu sayfa, php.ini ve PHP hata günlüğü yolları, her biri kopyalama düğmesiyle |
| Yüklü eklentiler | PHP'nin yüklediği eklentiler; Eklenti ara kutusuyla süzülebilir |
Sayfa açık ve koyu temayı kendiliğinden izler. Dili tarayıcı diline göre Türkçe veya İngilizce seçilir; sağ üstteki bağlantıyla değiştirilebilir. index.php dosyasını düzenleyebilirsiniz; Coduva düzenlediğiniz sayfanın üzerine yazmaz. Ayrıntılar: Dizinler ve dosyalar → Karşılama sayfası.