Debian Web Server Kurulumu (Nginx+PHP+Mysql+Phpmyadmin+Ajenti Panel)

Burada bir vps’e yada bir dedicated bir server’a tam ve ihtiyaçları karşılayacak şekilde “Debian Web Server” kurulumunu bulacaksınız.

Eğer bir VPS’e ihtiyacınız varsa buradaki yazımı okuyabilirsiniz.

Ben kurulum için Debian Wheezy’i seçiyorum. Az ram harcaması gibi çeşitli sebepler var. Web Server olarak ise Nginx kendisini ispatlamış durumda. Sql bağlantıları için windows’ta Heidisql‘i öneririm. Mac’de ise SequelPro çok işe yarayacaktır. Yinede server’a Phpmyadmin kurulumunuda ekleyeceğim.

İlk olarak sistemi hazır hale getirelim. Sistemi update ve upgrade edelim.

***apt-get update && apt-get upgrade***
Eğer kernel güncellemesi olursa ***reboot*** komutu ile yeniden başlatmak sonrasında ***apt-get autoclean && apt-get autoremove*** komutunu çalıştırmak gerekir. Bu şekilde hem yeni kerneli kurmuş hem eskisini temizlemiş oluruz.
Serverlarda mail sunucu paketleri olur. Her server kendi mailini kendi atabilir olsun diye. Ben bunun yerine smtp ile mail atarak sunucuların ip adreslerini herhangi bir mail işlemi ile kirletmek ve blacklist’e düşmek istemiyorum o sebeple exim4 isimli paketi kaldırıyorum.
apt-get remove exim4 exim4-base exim4-config exim4-daemon-light
Serverların ram değerleri her zaman çok olmaya biliyor. Eğer böyle bir durum varsa ki digitalocean üzerinde 512 mb ram ile bile sunucu açılabiliyor. Bu durumda SSD üzerinde ram gibi kullanılacak 4gb’lık bir alan açarak ram taşmalarını önleyebiliriz. Bunun için önce swap(harddiskte ram alanı) var mı diye kontol edelim:
`swapon -s`
bunun sonucu bu şekilde boş dönüyor ise:
`Filename Type Size Used Priority`
swap yoktur işe koyulalım o zaman:
df -h
bu kod ile sistemdeki boş alanları görüntülüyoruz.
Filesystem Size Used Avail Use% Mounted on /dev/vda 59G 1.3G **55G 3%** / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 2.0G 12K 2.0G 1% /dev tmpfs 396M 312K 396M 1% /run none 5.0M 0 5.0M 0% /run/lock none 2.0G 0 2.0G 0% /run/shm none 100M 0 100M 0% /run/user
Harddisk üzerinde boş alanımızın olması lazım. Eğer alanımız varsa swap dosyasını oluşturalım:
`fallocate -l 4G /swapfile`
şimdi dosyamız oluşturuldu. Kontrol edelim:
ls -lh /swapfile
Şöyle bir çıktı oluşacaktır.
-rw-r–r– 1 root root 4.0G Apr 28 17:19 /swapfile
Sadece root tarafından okunması için güvenlik ayarlarını yapıyoruz.
`chmod 600 /swapfile`
Kontrol ediyoruz:
ls -lh /swapfile
Çıktısı şu şekilde olacak:
-rw------- 1 root root 4.0G Apr 28 17:19 /swapfile
Sisteme dosyanın hazır olduğunu ve ayarlamasını söylüyoruz:
`mkswap /swapfile`
Şöyle bir çıktı göreceğiz:
`Setting up swapspace version 1, size = 4194300 KiB no label, UUID=e2f1e9cf-c0a9-4ed4-b8ab-714b8a7d6944`
Şimdi de aktive ediyoruz:
`swapon /swapfile`
Kontrol edelim:
swapon -s
Çıktısı şu şekilde olmalı:
Filename Type Size Used Priority /swapfile file 4194300 0 -1
Memory durumunu sorguladığımızda görebilmeliyiz.
free -m
total used free shared buffers cached Mem: 3953 101 3851 0 5 30 -/+ buffers/cache: 66 3887 Swap: 4095 0 4095
Şimdi bu swap dosyasının ayarlarının kalıcı olması için sistem ayar dosyasına kayıt eklemeliyiz.
`nano /etc/fstab`
bu dosyanın içeriğine en alta şu kaydı yazıyoruz:
`/swapfile none swap sw 0 0`
Swap mı kullansın yoksa sistem ram mi kullansın arasında bir ayar yapmak verimliliği arttıran önemli bir etken. Bunun için:
`sysctl vm.swappiness=10&&``sysctl vm.vfs_cache_pressure=50`
Komutunu giriyoruz. Her sistem açıldığında bu ayarlarla açılması için de:
`nano /etc/sysctl.conf`
Dosyasının içeriğine en alta bu kaydı yazıp kaydediyoruz.
vm.swappiness=10 vm.vfs_cache_pressure = 50
Swap oluşturmak ile ilgili bilgiler için [Justin’e](https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04) teşekkür ederiz.

Sistemi yeniden başlatıyor ve tekrar ssh ile bağlanıyoruz.

reboot
Sonrasında Mysql kuruyoruz.
***apt-get install mysql-server***
Mysql’i ayarlıyoruz.
***/usr/bin/mysql_secure_installation***
***mysql_install_db***
Nginx web server kurulumuna başlayabiliriz.
***apt-get install nginx***
Nginx servisinin başladığından emin olalım:
***service nginx start***
Ip adresimize bakıyoruz.
***ifconfig eth0 | grep inet | awk ‘{ print $2 }’***
Bu kodlar bize ip adresimizi vericektir. Browser’a yazdığımızda **Welcome to nginx!** yazısını görmeliyiz

PHP kurulumuna geçelim.  Nginx Php için fpm paketini kullanır. (Apache Server’dan farklıdır.)

***apt-get install php5-fpm php5-mysql php5-curl php5-gd php5-mcrypt***
Buraya kadar sadece kurulum yapıp ayarlamaya hiç girmemiş olmamızın bir sebebi var. O sebep Ajenti Panel. Ajenti Server’ı kontrol etmeye yarayan web tabanlı bir yazılım ve hem nginx için hem php ayarları için kendi standartları mevcut. Ayarları otomatik yapıcaktır.

Ajenti iki temel paketten oluşur. Ajenti ve Ajenti V. Ajenti server kontrol paneli iken Ajenti V Web Hosting eklentisidir.

Aşağıdaki kod Ajenti kurulumunu başlatacaktır.

***wget -O- https://raw.github.com/ajenti/ajenti/1.x/scripts/install-debian.sh | sh***
Sonrasında Ajenti V paketlerini kurmak gerekir.
***apt-get install ajenti-v ajenti-v-nginx ajenti-v-mysql ajenti-v-php-fpm ajenti-v-ftp-pureftpd***
Mevcut Ajenti V paketleri bunlardır, amaçlara göre kurulmalıdır.:
  • ajenti-v (main package)
  • ajenti-v-mail (Exim and Courier mail)
  • ajenti-v-mysql (MySQL DB support)
  • ajenti-v-php-fpm (PHP support via PHP-FPM)
  • ajenti-v-ruby-unicorn (Rails support via Unicorn)
  • ajenti-v-ruby-puma (Rails support via Puma)
  • ajenti-v-ftp-pureftpd (FTP support via PureFTPd)
  • ajenti-v-nginx (NGINX webserver support)
  • ajenti-v-python-gunicorn (Python WSGI support via gunicorn)
  • ajenti-v-nodejs (Node.js support)
Kurulumun bu aşamasına geldiğinizde artık Ajenti Panelinize şu bilgiler ile erişebilirsiniz.
# user: root # pass: admin # https://yourip:8000
Sırada Phpmyadmin var.

Ajenti Panelden “Web Sites” sekmesinden yeni bir site açıyoruz. Adına Phpmyadmin diyoruz. Ajenti panel bize Ftp kullanıcı adı ve şifresi oluşturur. Bu şifre ile https://www.phpmyadmin.net adresinden indirdiğimiz Phpmyadmin’i yüklüyoruz. Bu şekilde basitçe Phpmyadmine erişebiliriz.

Eğer farklı bir port üzerinden Phpmyadmin’e erişmek istiyorsak port ayarlarından 80’i 8098’e örnek olarak değiştirebiliriz. Bu durumda Phpmyadmin http://ipadresim:8098 adresinden erişilebilecektir.
Debian Web Server kurulumu bitti. Debian Web Server’ımız hazır!