EasyEngine – Debian ve Ubuntu için Nginx ve WordPress kurulum scripti

EasyEngine (ee), Debian GNU/Linux tabanlı işletim sistemleri için hazırlanmış olan websitesi yönetim otomasyon scriptidir. EasyEngine ile hiçbir yardım veya kurulum/değişiklik yapmadan, websitenizi yayınlamak için gerekti olan Nginx, PHP, MySQL, Postfix, phpMyAdmin gibi temel bileşenleri tek bir komut kurabilirsiniz. Ayrıca çeşitli WordPress kurulum seçenekleri ile, tek bir satır bile manuel işlem yapmadan, kolayca WordPress siteleri açabilir ve yönetimini yapabilirsiniz. Yapmanız gereken sadece gerekli komutı yazıp arkanıza yaslanmak. EasyEngine herşeyi sizin yerinize yapacaktır. EasyEngine şimdilik sadece Ubuntu LTS (Long Term Support) sürümleri olan Ubuntu 14.04 ile Ubuntu 14.02 ve Debian GNU/Linux 6 (squeeze) ve Debian GNU/Linux 7 (wheezy) üzerinde çalışmaktadır. Ne yazık ki şimdilik RPM kurulum tabanlı RHEL versiyonları (CentOS, Fedora, vb.) üzerinde kullanılamamaktadır. Script’in geliştiricileri gelecek sürümler için RPM tabanlı işletim sistemleri üzerinde çalışmaktadır.



EasyEngine Genel Özellikleri

EasyEngine Logo

EasyEngine özellikleri genel olarak sıralamamız gerekirse;

  • Websitesi yayınına başlamanız için temel gereksinim olan; Nginx, PHP, MySQL, phpMyAdmin bileşenlerini tek komut ile kurar.
  • Sistem kaynaklarına göre, otomatik olarak sunucunuzu optimize eder.
  • WordPress için tekil ve çoğul site barındırmanızı ve bunları yönetmenizi sağlar.
  • Otomatik güncelleme özelliği vardır.
  • W3-total-cache, wp-super-cache, nginx’s fastcgi-cache, Zend Opcache, and Memcache gibi PHP ve WordPress için gerekli olan bileşenleri kurarak, işinizi kolaylaştırır.

Gelin lafı fazla uzatmadan EasyEngine kurulumuna geçelim.



Debian 7 üzerine EasyEngine kurulumu

Sunucumuza PuTTY veya türevi bir terminal programı ile, root olarak giriş yapalım.
Teminalde aşağıdaki kodu çalıştıralım

curl -sL rt.cx/ee | sudo bash

Scriptin sisteminizi güncellemesini ve gerekli modülleri yüklemesini bekleyelim.

Güncellemeler bittiğinde aşağıdaki bilgileri göreceksiniz.

Cloning EasyEngine (ee) stable branch, please wait...
Installing EasyEngine (ee), please wait...

EasyEngine (ee) required your name & email address
to track changes you made under the Git version control
EasyEngine (ee) will be able to send you daily reports & alerts in upcoming version
EasyEngine (ee) will NEVER send your information across

For EasyEngine (ee) auto completion, run the following command
source /etc/bash_completion.d/ee

EasyEngine (ee) installed successfully
EasyEngine (ee) help: https://rtcamp.com/easyengine/docs/

Kuruluma devam etmek için aşağıdaki komutu çalıştıralım.

source /etc/bash_completion.d/ee

Böylece scriptin kurulumunu tamamlamış olduk.



LEMP kurulumu

EeasyEngine kurulumunu kolayca tamamlamıştık. (Adı üstünde Easy). Şimdi ise LEMP kurulumuna geçelim. LEMP nedir diye genel olarak söylemek gerekirse, LEMP “Linux, nginx (Engine x), MySQL, PHP terimlerinin başharfleri kullanılarak türetilmiştir. Yani LEMP bizim websitemizi hayata geçirmemiz için gereken araçlardır. Ayrıca LEMP harici LAMP denilen, nginx yerine Apache web sunucusu kullanılan sistemler de mevcuttur.

LEMP kurulumunu başlatmak için aşağıdaki komutu uygulayalım.

ee stack install

Sunucunuzun donanım özellikleri ve internet bağlantısına göre, kurulum işlemi biraz vakit alacaktır. Kurulum tamamlandığında aşağıdaki gibi bir ekran çıktısı görülecektir.

Setting up PHP5, please wait…
Downloading GeoIP Database, please wait…
Setting up Percona MySQL, please wait…
Executing service nginx restart, please wait…
Executing service php5-fpm restart, please wait…
Executing service mysql restart, please wait…
Git commit on /etc/nginx/, please wait…
Git commit on /etc/php5/, please wait…
Git commit on /etc/mysql/, please wait…
Git commit on /etc/postfix, please wait…
Downloading WP-CLI, please wait…
Downloading Adminer, please wait…
Downloading phpMyAdmin, please wait…
Installing phpMemcachedAdmin, please wait…
Downloading nginx FastCGI cleanup script, please wait…
Downloading OPcache, please wait…
Cloning Webgrind, please wait…
Cloning Anemometer, please wait…
HTTP authentication username: easyengine
HTTP authentication password: sQc3fioi2Y59CjP
Web packages successfully installed
root@server:~#

Şimdi http://ip.adresiniz adresiniz şeklinde web sunucusunu kontrol edelim. Herşey doğru şekilde tamamlanmış ise nginx varsayılan sayfası karşınıza gelecektir.

Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.
Thank you for using nginx.

Ayrıca easyengine kullanıcı adı ve rasgele üretilmiş bir şifreyi de ekranınızda göreceksiniz. Bu kullanıcı adı ve şifre ile http://ip.adresinizi:22222 adresinden giriş yaparak, phpMyAdmin, Adminer, OPCache, APC gibi yönetim araçlarına erişmenizi sağlar. Şifre ve kullanıcı adını EasyEngine üzerinden tek komut ile değiştirebilirsiniz.

EasyEngine ile, WordPress harici, sadece PHP ve MySQL destekli siteler ile statik sayfalarınız için sadece HTML desteği ile hosting açabilirsiniz. Gelin ilk olarak PHP ve MySQL destekli bir hesap açalım.

root@server:~# ee site create deneme.netkolik.org --mysql
Creating deneme.netkolik.org, please wait...
Creating symbolic link for deneme.netkolik.org
Creating htdocs & logs directory
Autofix MySQL username (ERROR 1470 (HY000)), please wait...
Changing ownership of /var/www/deneme.netkolik.org, please wait...
Git commit on /etc/nginx/, please wait...
Successfully Created New Website: http://deneme.netkolik.org
root@server:~#

EasyEngine ile hosting hesabı oluşturmak bu kadar kolay. Hesabımızı MySQL ile birlikte açtığımız için otomatik olarak bir adet MySQL veritabanı da beraberinde oluşturuldu. Hesabın açıldığı klasöre giderek MySQL bilgilerine bakalım.

root@server:~# cd /var/www/deneme.netkolik.org
root@server:/var/www/deneme.netkolik.org# ls
ee-config.php  htdocs  logs
root@server:/var/www/deneme.netkolik.org# cat ee-config.php
define('DB_NAME', 'deneme_netkolik_org');
define('DB_USER', 'denemehCy7LPsV3G');
define('DB_PASSWORD', 'M9P3Xa01htG7Jfi');
define('DB_HOST', 'localhost');
root@server:/var/www/deneme.netkolik.org#

 
EasyEngine ile site oluştururken kullanabileceğiniz parametreler

Standart site kullanımları:

  • ee site create alanadiniz.com –wp                  # herhangi bir cache olmadan wordpress kurar
  • ee site create alanadiniz.com –w3tc                # w3-total-cache eklentisi ile birlikte wordpress kurar
  • ee site create alanadiniz.com –wpsc                # wp-super-cache eklentisi ile birlikte wordpress kurar
  • ee site create alanadiniz.com –wpfc                # nginx fastcgi_cache eklentisi ile birlikte wordpress kurar

Subdomain ile WordPress Multsite kullanımları:

  • ee site create alanadiniz.com –wpsubdom            # herhangi bir cache olmadan wpmu-subdomain kurar
  • ee site create alanadiniz.com –wpsubdom –w3tc     # w3-total-cache eklentisi ile birlikte wpmu-subdomain kurar
  • ee site create alanadiniz.com –wpsubdom –wpsc     # wp-super-cache eklentisi ile birlikte wpmu-subdomain kurar
  • ee site create alanadiniz.com –wpsubdom –wpfc     # nginx fastcgi_cache eklentisi ile birlikte wpmu-subdomain kurar

Normal Siteler İçin

  • ee site create alanadiniz.com –html                # statik/html siteler için
  • ee site create alanadiniz.com –php                 # php desteği için
  • ee site create alanadiniz.com –mysql               # php & mysql desteği için


EasyEngine Yönetim Paneli

EasyEngine bizim için database ve cache servislerini yönetmemiz için çeşitli araçlar yüklüyor. Bunlara http://ip.adresiniz:22222 adresinden erişebilirsiniz. Öncelikle bu alana giriş için kullanıcı adı ve şifresini, aşağıdaki komutu girerek belirleyelim.

Provide HTTP authentication user name [root]: fatih
Provide HTTP authentication password [CttbUh2lGy8DlQs]:

Executing service nginx reload, please wait...
root@server:/var/www/deneme.netkolik.org#

Şimdi 22222 portundan giriş yaparak phpmyadmin erişerek database üzerinde işlem yapabiliriz.


 
EasyEngine Güncelleme

EasyEngine tek komut ile güncelleme seçeneği sunmaktadır. Aşağıdaki komutu uygulayarak eğer yeni bir EasyEngine sürümü var ise güncellemesini sağlayabilirsiniz.

root@server:~# ee update
Checking EasyEngine(ee) update, please wait...
Latest version (2.2.2) already installed
root@server:~#


Sonuç Olarak EasyEngine (ee)

Sonuç olark EasyEngine, kişisel kullanımlar için, herhangi bir hosting paneline ücret ödemek istemeyenler ile düşük özellikli VPS ve VDS sunucularda en yüksek verimlilik ile yayın yapmak isteyenler için biçilmiş kaftan. EasyEngine ekibi gelecek sürümlerinde SMTP ve POP desteği ile DNS Server desteği eklemeyi düşünüyorlar. Görünen o ki, tam olarak terminal üzerinden işleyen bir hosting paneli olma yolunda ilerliyor.

“EasyEngine – Debian ve Ubuntu için Nginx ve WordPress kurulum scripti” üzerine 15 yorum

  1. Acaba Easy Engine+Wordpress+Vesta Panel üçlüsü yapılamaz mı? Vesta panel az ram kullanıyor, bedava ama saf Nginx kurulumu seçildiğinde WordPress permalink ayarları çalışmıyor. Easy Engine güzel ama panel yok. Şu an Vesta’da kurulum seçeneklerinde veritabanı, Apache ve Nginx olmadan kurulum seçenekleri mevcut. Yani Easy Engine kurup üstüne sadece Vesta Panel kurmak olanaklı mı ve olanaklı ise nasıl yaparız. Şu an paylaşımlı hostingte barınan sitemi VPS’ye taşımak istiyorum ama bu konuda hiç bilgim yok

    Yanıtla
    • EasyEngine ve VestaCP kısmen aynı görevi görmekte. İkisi de ortak olarak Nginx+MariDB(MySQL)+PHP-FPM kurulumu gerçekleştirmekte. Aralarında tek fark, VestaCP’nin bir web kontrol arayüzü olması. İkisi de aynı göreve hizmet ettiklerinden, ikisini birlikte KULLANAMAZSINIZ. İkisinden birisini tercih yapmanız gerekiyor. Kişisel fikrim, eşe, dosta, arkadaşa hosting sağlamayacak; sadece kendi sitelerinizi barındıracaksanız EasyEngine tercih etmeniz yönünde olacaktır.

      Yanıtla
  2. Merhaba

    “curl -sL rt.cx/ee | sudo bash”
    easyengine sitesinde bu kurulum kodunu bulamadım. sunucumda da kurmaya çalıştığımda bu kodu hata alıyorum. debian 8 64bit kurdum vps ye. root girişi yapıp direkt yukardaki kodu girdim. Easyengine sitesinde herkes ubuntuyu tavsiye ediyordu ama r10 da debianla ee uçar yorumunuza binaen debian kurdum.

    app-get update komutunu verdiğimde aşağıdaki hatayı alıyorum. Benzer şekilde burda verdiğiniz kodları da girdiğimde aynı hatayı alıyorum. Easyengine in quick install kodlarında da. Sorun ne olabilir acaba. debian 8 i kaldırıp ubuntu kurabilir miyim? ee de ubuntu 16.04 kurmayı tavsiye ediyorlar. Siz de ediyor musunuz? Çok soru sordum afedersiniz.

    hata kodu:

    -bash: app-get: command not found

    ve

    curl -sL rt.cx/ee | sudo bash
    -bash: sudo: command not found
    -bash: curl: command not found

    Yanıtla
    • Merhabalar.
      Bu yazıyı ve R10 da o yorumu yazdığımda 512MB RAM değerine sahip bir sunucu kullanıyordum. Düşük RAM’li sunucularda Debian daha az sistem kaynağı kullanmakta.
      Şuanda 2GB RAM değerine sahip sunucumda Ubuntu 14.04 ile EasyEngine kullanıyorum. Debian’a göre bir nebze olsa da daha güncel Nginx ve MariaDB kullanabilirsiniz. Eğer 1 GB üzeri RAM değerine sahip bir sunucu kullanıyorsanız Debian veya Ubuntu olmasının açıkcası herhangi fark olmayacaktır.

      Sorununuza gelirsek eğer;
      app-get değil apt-get komutun doğru kullanımı.

      Ayrıca Debian minimum kurduğunuzdan dolayı bir kaç komut yüklü gelmemiş görünüyor.
      sudo ve curl için konuşursak eğer aşağıdaki komutu yazarak sudo ve curl kurulumunu gerçekleştirebilirsiniz;
      apt-get install sudo curl

      Yanıtla
  3. Enteresan bir şekilde EE sitesinde verilen bilgiler yanlış ya da debiana göre değil. Githubda birçok sayfa okumam sonrası bir mesaj sorunumu çözdü. curl u tavsiye etmiyorlar.
    https://github.com/EasyEngine/easyengine/issues/232

    ben bu sıralama ile sunucu kurulumu ve wp yi hallettim.

    apt-get install wget

    wget -cq rt.cx/ee
    bash ee
    ad
    email
    source /etc/bash_completion.d/ee //değişiyor orda çıkanı kopyala çalıştır işlemi tamamla.

    EE de dns desteği olmadığı için domainin nameserverlarına ip tanımladım ama olmadı hata verdi. Sanırım orda da başka işlemler yapmak gerekiyor onu da araştırıyorum.

    Yanıtla
    • WordPress için yukardaki belirttiğiniz kod aynen çalışıyor. Ben aşağıdakini kurdum.

      ee site create example.com –w3tc

      Bu arada yine bir yerde bu EE ile çalıştırdığınız sitenizi cloudflare’e ayarladığınızı okumuştum. Bu ayarları nasıl yapabileceğimizle ilgili de bir yazı yazar mısınız? CF ile dns sorunu da bir şekilde çözülür gibi geliyor. W3TCache kurulu.

      Bir de firewall sorununu nasıl çözdünüz.

      Bu linkteki yöntem etkili olur mu?
      https://easyengine.io/tutorials/nginx/fail2ban/

      Teşekkürler…
      ‘Resmen bela oldum kusura bakmayın :D’

      Yanıtla
      • CloudFlare mevcut ayarlı DNS bilgilerinizi alarak işlem yaptığından dolayı, mevcut hali hazırda bir DNS yapılandırmanız gerekmektedir.
        DNS yapılandırmanız olmadan CloudFlare kullanmanız mümkün değildir.

        En uygun zamanda DNS yönlendirme, CloudFlare taşıma/aktif etme ve CDN yapılandırması ile iligili bir yazı yazacağım.

        Ayrıca malesef sunucumda herhangi bir firewall çözümü kullanmıyorum. Bu yüzden fail2ban için herhangi birşey söyleyemeyeceğim.

        Yanıtla
      • Cevaplar için teşekkür ederim.

        Domaini name.comdan aldım. name.com da nameserlerlara ip mi yazacağım. dns record ayarı yapmam gerekiyor mu? ve sunucumda bir ayar yapmam gerekiyor mu acaba. Bunu bir türlü bulamadım.

        Yanıtla
        • Bildiğim kadarıyla name.com üzerinde dns yönetimi mevcut.
          alanadi.com ve http://www.alanadi.com A kayıtlarını, DNS yönetimi ile name.com üzerinden sunucu ip adresinize yönlendirebilirsiniz.
          Domaininiz nameserverleri otomatik olarak name.com üzerinden güncellenecektir.

          Yanıtla
          • EE DNS desteklemiyor diye denemedim hiç. Siz EE de çalışan bu sitenizi ns1.netkolig.org şeklinde mi domainden yönlendirdiniz acaba. EE de çalıştımı bu sistem.

            Yanıtla
            • EasyEngine sunucuya herhangi bir DNS servisi kurmuyor.
              Bu yüzden size domain aldığınız firmanın veya dollardns.net, dns.he.net, sitelutions.com, mydomain.com gibi harici DNS yöneticilerini kullanmanızı tavsiye ediyorum.
              Şahsi olarak ben dollardns.net i kullanıyorum.

              Yanıtla
  4. EE ile ilgili tek ciddi Türkçe yazı olması hasebiyle size teşekkür ediyorum. Ve herkese EE ile tanışmalarını tavsiye ediyorum. Böylesi kolaylık, işlevsellik görmeye değer. Özellikle WordPress siteler için. Tekrardan teşekkürler…

    Son olarak EE DNS desteklemediği için yaptığım işlemi yazarsam sanırım EE’ye geçişte bilinmedik bir durum kalmayacak.

    Önce sunucumda DNS ayarlarından bir sitemi hostname olarak ayarladım. (Arubacloudda IP ye tıklayıp editten add hostname kısmına abcd.com gibi)
    Sonra name.com dan önce tüm nameserverlarımı name.com un nslerine (ns1.name.com…) yönlendirdim. Sonra dns ayarlarına;

    Type >>> A
    Host >>> websitem.com
    Answer >>> sunucu ip
    TTL >>> 300
    ve
    Type >>> CNAME
    Host >>> http://www.websitem.com
    Answer >>> abcd.com ya da websitem.com olur.
    TTL >>> 300

    Saygılar…

    Yanıtla
    • http:// şeklinde eklemenize gerek yok.
      websitem.com için A değeri sunucunuzun ip adresi ve http://www.websitem.com için CNAME değeri websitem.com şeklinde olması yeterlidir.

      Mesela sunucumda bulunan, dollardns.net üzerinden yönettiğim bir websitemin DNS kayıtları aşağadır. Size örnek olması açısından faydalanabilirsiniz.

      ki1.org. 900 SOA procyon.ki1.org. fatih.ki1.org. 2016051300 1800 21600 2419200 300
      ki1.org. 86400 NS capella.ki1.org.
      ki1.org. 86400 NS procyon.ki1.org.
      ki1.org. 900 A 50.3.75.246
      ki1.org. 900 MX 10 ki1.org.
      ki1.org. 900 TXT "v=spf1 mx -all"
      capella.ki1.org. 900 A 23.21.218.13
      ftp.ki1.org. 900 CNAME ki1.org.
      mysql.ki1.org. 900 CNAME ki1.org.
      procyon.ki1.org. 900 A 216.117.186.93
      webmail.ki1.org. 900 CNAME ki1.org.
      www.ki1.org. 900 CNAME ki1.org.

      Yanıtla

Yorum yapın