Kurulum Talimatları


    × Bunları biliyor muydunuz?
"ZN Framework'te tema entegrasyonu sürükle bırak kadar basit bir şekilde gerçekleştirilebilmektedir."



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

# Yetki Yapılandırmaları

# Linux

# Server Yapılandırmaları

# Apache
# Nginx

# Docker Çalışma Ortamı

# Docker Kurulum
# Ayağa Kaldırma
# Durdurma
# Yeniden Başlatma
# Genişletme
# Port Değiştirme
# Veritabanı Kurulumu
# Bilgi Güvenliği

# Sorun Giderme

 

 

# Gereksinimler


PHP en az 7.0.0 sürümü olmalıdır.
Sunucu yazılımı apache ise AllowOverride değeri None yerine 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.

Fullpack Edition

Bu sürüm ZN Framework'e ait tüm kütüphaneleri içerecek şekilde composer kullanı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
Original Edition

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
Single Edition

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
Custom Edition

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

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
Default Project

Ç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.

Linux

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

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

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.

Docker Kurulum

İşletim sistemine göre Docker kurmak için tıklayınız

Ayağa Kaldırma

Ç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.

Durdurma

Çalışma ortamını durdurmak için;

> docker-compose kill znframework

komutu kullanılır.

Yeniden Başlatma

Çalışma ortamını yeniden başlatmak için;

> docker-compose up -d znframework

komutu kullanılır.

Genişletme

Ö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.

Port Değiştirme

Ö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. 

Veritabanı Kurulumu

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.yml
version: "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:8082

Yukarı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.yml
service:
  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:8082

Yukarı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','
Bilgi Güvenliği

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.