Kurulum Talimatları
"Devtools projesi ile framework kullanma deneyiminizi daha görsel hale getirebilirsiniz."
ZN Framework neredeyse hiç bir ayar gerektirmeden kurulur. Dağıtım türüne göre doğrudan indirme veya composer ile kurulum gibi seçenekler de mevcuttur. Kurulum öncesi gereksinimlere bakmayı sonrası ise sunucu ve yetki yapılandırmalarını kontrol etmeyi unutmayın.
# Bölüm Başlıkları
# Gereksinimler
# Dağıtıma Göre Kurulumlar# Fullpack Edition
# Original Edition
# Single Edition
# Custom Edition
# Devtools
# Default Project# Linux
# Docker Kurulum
# Ayağa Kaldırma
# Durdurma
# Yeniden Başlatma
# Genişletme
# Port Değiştirme
# Veritabanı Kurulumu
# Bilgi Güvenliği
# Gereksinimler
● PHP en az 7.0.0 sürümü olmalıdır.
● Sunucu yazılımı apache ise AllowOverride değeriNoneyerine All ayarlanmalı ve mod_rewrite özelliği açık olmalıdır.
● MB String eklentisinin yüklü olması gerekmektedir.
# Dağıtıma Göre Kurulumlar
Aşağıda kullanım amacına göre indirebileceğiniz 4 farklı dağıtım mevcuttur. Composer ile kurulum gerektiren dağıtımlar için öncelikle composerin sunucunuzda yüklü olması gerekmektedir. Eğer yüklü değilse kurmak için tıklayınız.
Bu sürüm ZN Framework'e ait tüm kütüphaneleri içerecek şekilde
composerkullanımı gerektirmeden kurulur. Daha çok host üzerinde çalışacaklar için tavsiye edilir. Güncelleme işlemi composer yerine Devtools ve Konsol uygulaması üzerinden yürütülür.
Kurulum
↓ İndir
Güncelleme
Bu sürümde güncelleme konsol veya Devtools uygulaması üzerinden yürütülür. Devtools bu dağıtımda dahili gelmektedir. Devtools`un aşağıdaki menüsünden güncelleme yapılır.
URL: yoursite.com/Devtools/system/info
ZN Framework'ün orjinal sürümüdür. Bu sürüm beraberinde diğer paketleri de kurar.
Kurulum
> composer create-project znframework/znframework
Güncelleme
> composer update
Bu sürüm ZN Framework`ün orjinal sürümünde yer alan Projects/ dizine ait herhangi bir projenin dizin yapısına sahiptir. Aynı çatı altında birden fazla proje yer almayacaksa daha sade dizin yapısı nedeniyle bu sürümün kullanılması tercih edilebilir. Bu dağıtım sadece çekirdek yapıyı beraberinde kurar. Diğer paketlerin kullanımı için composer ile yüklenmesi gerekmektedir.
Kurulum
> composer create-project znframework/single-edition
Güncelleme
> composer update
Kendi kod çerçevenizi oluşturabilmenize olanak sağlayan sürümdür. Bu sürümde dizin yapısını kendinize göre tasarlarsınız. Bir nevi Single Edition sürümünün özelleştirilebilen halidir.
Kurulum
> composer create-project znframework/custom-edition
Güncelleme
> composer update
Devtools Framework araçlarını daha iyi kullanabilmenize imkan sağlayan çeşitli araçları içeren bir panel sunar. Bu panel üzerinden çatınızı daha iyi yönetmenize yardımcı olur.
Devtools sadece ZN OE ve ZN FE dağıtımlarında kullanılabilir. Kurulum bu dağıtımların içinde yer alan Projects/ dizini içerisine yapılmalıdır.
Kurulum
> composer create-project znframework/developer-tools Devtools
Erişim
Kurulumdan sonra Devtools erişmek için /Devtools ile erişim sağlayabilirsiniz. Erişimi local üzerinde gerçekleştiriyorsanız doğrudan panele giriş yapabilirsiniz. Sunucu üzerinden erişim halinde kullanıcı adı ve şifre bilgisi isteyecektir. Bu durumda kullanıcı adı ve şifre belirlemek için;
Dosya: Devtools/Config/Dashboard.php'users' => ['username' => 'password']
tanımlaması yapılması yeterlidir.
Çoklu proje geliştirmeye dayalı EIP modelini kullanan ZN OE ve ZN FE dağıtımları için yeni bir proje açmak için kullanılır.
Kurulum bu dağıtımların içinde yer alan Projects/ dizini içerisine yapılmalıdır.
Kurulum
> composer create-project znframework/default-project NewProjectName
# Yetki Yapılandırmaları
ZN Framework`te otomatik olarak dosya yazma işlemleri kullanıldığından dolayı bazı işletim sistemlerinde yetki sorunu ile karşılaşılabilmektedir. Aşağıda hangi işletim sistemi için bu ayarların yapılabileceği gösterilmiştir.
Local`de kurulum sonrası yetki sorunu yaşandığı için ZN Framework`te bazı dosya ve dizinlere yetki verilmesi gerekmektedir. Kolaylık olması açısından aşağıdaki komutu tek bir sefer çalıştırmanız yeterlidir.
$ sudo chmod -R 777 /var/www/html/{project-directory}
# Server Yapılandırmaları
Aşağıda hem apache hem de nginx için kullanılabilir yapılandırma içerikleri verilmiştir.
Apache için genellikle /etc/apache/sites-available/000-default.conf yolunda bulunan yapılandırma dosyasının içeriği aşağıdaki gibi olmalıdır.
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html <Directory /var/www/html> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Nginx için genellikle /etc/nginx/sites-available/default yolunda bulunan yapılandırma dosyasının içeriği aşağıdaki gibi olmalıdır.
server { listen 80 default_server; root /var/www/html; index zeroneed.php; error_page 403 /zeroneed.php; location / { try_files $uri /zeroneed.php?$args; proxy_pass http://127.0.0.1:80; } location ~ zeroneed.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; } location ~ "\/Resources\/\w+\/.*?\.[a-zA-Z0-9]{2,4}$" { try_files $uri /".*?\/Resources\/"; } }
# Docker Çalışma Ortamı (ZN >= 5.9.0)
ZN Framework'ü işletim sisteminize indirikten sonra ZN Framework'ün 5.9.0 ve sonrası sürümleri içerisinde docker ile çalışma ortamı oluşturmak için gerekli dosyaları barındıracak şekilde gelmektedir. Docker ile çalışma ortamının kurulumu için işletim sisteminizde docker'in kurulu olması gerekmektedir.
Docker ile kurulum yapmanız durumunda işletim sisteminden bağımsız herhangi bir server yapılandırması veya ekstra kurulumlarla uğraşmadan proje geliştirmeye başlayacak ortamı oluşturabilirsiniz. Docker ZN içerisinde yer alan Dockerfile dosyası aracılığı ile ZN Framework'ün çalışması için ideal olan gerekli tüm paket ve eklentileri kurmaktadır.
İşletim sistemine göre Docker kurmak için tıklayınız.
Çalışma ortamı için gerekli yazımların kurulumu için ZN Framework'ün kurulu olduğu dizin seviyesinde aşağıdaki konsol komutunu kullanın.
Manuel İşlem
> docker-compose up -d --build znframework
Otomatik İşlem (ZN => 5.9.0.1)
ZN kurulumunun composer ile yapılması durumunda ayağa kaldırma komutu otomatik olarak devreye sokulur.
Projeye Erişim
Docker yapılandırmasında 8080 portu ön tanımlı ayarlı olduğu için projeye erişmek için URL bilgisi aşağıdaki gibi olmalıdır.
URL: localhost:8080/ veya 127.0.0.1:8080/Artık çalışma ortamınız hazır.
Çalışma ortamını durdurmak için;
> docker-compose kill znframework
komutu kullanılır.
Tüm Servisleri Durdurma
znframework ile beraber diğer tüm servislerin durdurulmasını sağlamak için;
> docker-compose kill
komutu kullanılır.
Çalışma ortamını yeniden başlatmak için;
> docker-compose up -d znframework
komutu kullanılır.
Tüm Servisleri Yeniden Başlatma
znframework ile beraber diğer tüm servislerin yeniden çalışması sağlamak için;
> docker-compose up -d
komutu kullanılır.
Ön tanımlı kurulumlar dışında kurulacak farklı eklentilerin linux kurulum komutlarını ZN Framework'ün ana dizininde bulunan Dockerfile dosyasına bildirip ayağa kaldırma komutunu tekrar çalıştırarak ilgili eklentilerin kurulmasını sağlayabilirsiniz.
Ön tanımlı olarak 8080 portu üzerinden erişim sağlanır. Bu portu değiştirmek için docker-compose.yml dosyasında yer alan ports:8080 değerini değiştirdikten sonra yeniden başlatma komutunu tekrar çalıştırarak port değişikliğini sağlayabilirsiniz.
Docker ile kurulum içerisinde herhangi bir veritabanı platformu dahili gelmemektedir. Kurulum için docker-compose.yml dosyasının içeriği aşağıdaki gibi olmalıdır.
MariaDB & PHPMyAdmin
Dosya: docker-compose.ymlversion: "2" services: znframework: build: ./ ports: - "8080:80" volumes: - ./:/var/www/html networks: - default mariadb: image: 'bitnami/mariadb:latest' environment: - ALLOW_EMPTY_PASSWORD=yes volumes: - mariadb_data:/bitnami phpmyadmin: image: bitnami/phpmyadmin:latest ports: - '8082:80' - '4433:443' depends_on: - mariadb volumes: - phpmyadmin_data:/bitnami volumes: mariadb_data: driver: local phpmyadmin_data: driver: local networks: default: ~
Dosyayı güncelledikten sonra aşağıdaki komutu çalıştırın.
> docker-compose up -d
Artık aşağıdaki url üzerinden mysql arayüzüne erişim sağlayabilirsiniz.
URL: localhost:8082Yukarıdaki adres ile açılan ekrandaki verileri aşağıdaki tablodaki gibi doldurun.
Username root Database ZN Framework'ün Config/Database.php yapılandırması da aşağıdaki gibi olmalıdır.
Dosya: Config/Database.php'driver' => 'mysqli', 'host' => 'mariadb', 'database' => '', 'user' => 'root', 'password' => '','
MySQL & Adminer
Dosya: docker-compose.ymlservice: db: image: mysql command: --default-authentication-plugin=mysql_native_password restart: always environment: MYSQL_DATABASE: your_database MYSQL_ROOT_PASSWORD: your_password adminer: image: adminer restart: always ports: - 8082:8080
Dosyayı güncelledikten sonra aşağıdaki komutu çalıştırın.
> docker-compose up -d
Artık aşağıdaki url üzerinden mysql arayüzüne erişim sağlayabilirsiniz.
URL: localhost:8082Yukarıdaki adres ile açılan ekrandaki verileri aşağıdaki tablodaki gibi doldurun.
System MySQL Server db Username root Password your_password Database your_database ZN Framework'ün Config/Database.php yapılandırması da aşağıdaki gibi olmalıdır.
Dosya: Config/Database.php'driver' => 'mysqli', 'host' => 'db', 'database' => 'your_database', 'user' => 'root', 'password' => 'your_password','
docker-compose.yml dosyanızın veritabanı veya farklı uygulamalar için özel bilgiler içerebileceğinden bu dosyanın dışarıdan erişimini engellemek için aşağıdaki düzenlemeyi yapınız.
Dosya: Settings/Htacces.php -> settings'settings' => [ 'IfModule mod_headers.c' => ['Options -Indexes'], 'FilesMatch "^(?i:docker\-compose\.yml|Dockerfile)$"' => ['deny from all'] ]
Yukarıdaki düzenleme ile belirtilen dosyalara erişimi kapatmış olacaksınız.
# Sorun Giderme
Kurulumdan sonra farklı bir sorunla karşılaşırsanız sorun giderme sayfasından mevcut çözümlere ulaşabilirsiniz.