Debian 8'de (Jessie) LEMP Nasıl Kurulur ve Yapılandırılır


Linux sistemi kurmanın en yaygın nedenlerinden biri, web sitelerini barındırma amacıdır. NetCraft.com'un dünyadaki en yoğun 1 milyon web sitesiyle ilgili Şubat 2016 anketine göre, bunların kabaca %15,60Nginx üzerinde çalışıyor.

Web siteleri için bir tür veritabanı arka ucunun yanı sıra bir tür dinamik içeriğin sunulduğu ihtimalinin yüksek olmasıyla birlikte, bir yöneticinin LEMP sunucularını ayarlayabilme yeteneği iş arayanlar ve işverenler için çok faydalıdır!

Bu eğitimde, bir Linux sunucusunun (özellikle Debian 8 Jessie) LEMP sunucusu olarak çalışacak şekilde kurulması ve yapılandırılmasıyla ilgili temel bilgiler anlatılacaktır.

LEMP Sunucusu nedir?

Harika soru! Bilgisayar dünyasındaki çoğu şeyde olduğu gibi LEMP, Linux, Nginx, MySQL ve PHP'nin kısaltmasıdır.

Bu kısaltma genellikle bir web sunucusundaki yazılım koleksiyonlarına atıfta bulunmak için kullanılır. Bu eğitimde öncelikle LEMP'in, özellikle de MySQL ve PHP'nin kurulumu anlatılacaktır.

Sistemlerin yapılandırma yönlerine ayrılmadan önce Nginx hakkında bilgi sahibi olmak önemlidir.

Nginx nedir?

Nginx, bilgisayar dünyasının on bin veya daha fazla eşzamanlı bağlantıya sahip web sitelerinin çok gerçek bir olasılık olduğunu fark etmeye başladığı 2002 yılında hayatına başladı ve sonuç olarak Nginx, bu sorunu çözmek için sıfırdan oluşturuldu.

MySQL ve PHP Kurulumu ve Konfigürasyonu

1. Bu ilk bölüm, bir MySQL ve PHP sunucusu olarak Debian'ı ele alacaktır. LEMP sunucusunun Linux kısmı zaten Debian kurularak tamamlanmış olmalıdır! Ancak Debian'ın nasıl kurulacağına dair bir rehbere ihtiyaç duyulursa lütfen TecMint'teki aşağıdaki makaleyi okuyun:

  1. Debian 8 Jessie'nin Kurulumu

Debian çalışmaya hazır olduğunda gerekli yazılımın geri kalanını yükleme işlemi 'apt' meta paketleyicisi kullanılarak tek bir hızlı komutla tamamlanabilir.

apt-get install mysql-server-5.5 php5-mysql php5

Sistem donanımına ve İnternet bağlantısına bağlı olarak bu işlem biraz zaman alabilir. Bu yazının yazıldığı an itibariyle, tüm güncellemelerin uygulandığı yeni bir Debian Jessie kurulumu, depolardan yaklaşık 70MB arşiv gerektiriyordu (işler bittiğinde sunucunun ne yapacağı düşünüldüğünde o kadar da kötü değil)! Kurulum işlemi sırasında sistem, kullanıcıdan bir SQL kök kullanıcı şifresi ayarlamasını isteyebilir. Bu, gerçek kök kullanıcının şifresinden farklıdır ve güvenlik açısından muhtemelen farklı kalmalıdır.

2. apt tüm yazılımı yüklemeyi bitirdikten sonra temel hizmetler çalışır durumda olacaktır. Ancak burada durmak çok kısa bir eğitim anlamına gelecektir! Şimdi MySQL'den başlayarak yüklenen yazılım parçalarının her birinin konfigürasyonuna biraz daha dalalım.

3. MySQL kurulumundan sonra, genellikle SQL sunucusunun varsayılan kurulumda bazı temel bakım işlemlerinin yapılması önerilir. Bu, mysql_secure_installation yardımcı programıyla kolayca gerçekleştirilir.

Bu komut basitçe komut satırından çalıştırılır ve kullanıcıdan anonim kullanıcılar, test veritabanları gibi şeyleri kaldırmasını ve SQL veritabanına uzaktan kök kullanıcı girişi yapma özelliğini kaldırmasını ister.

mysql_secure_installation

Bu komut, yukarıdaki konularla ilgili sorular soracak etkileşimli bir bilgi istemi başlatacaktır. apt zaten bir MySQL root şifresi istediğinden, herhangi bir değişiklik yapabilmek için bu şifrenin girilmesi gerekecektir. Kök parolası zaten ayarlandığından, MySQL sunucusundaki kök parolanın değiştirilmesiyle ilgili istemin yanıtı Hayır olabilir.

4. Sonraki soru grubu anonim kullanıcılar, "test" veritabanı ve veritabanına uzaktan kök erişimi ile ilgili olacaktır. Kurulumun bu seçeneklerden birinin bozulmadan kalmasını gerektirmesinin özel bir nedeni olmadığı sürece, bu istemlerin tümüne Evet yanıtı vermek genellikle güvenlidir.

NOT: 'test' adlı veritabanının silinmemesiyle ilgili bir hata oluşabilir, bu konuda endişelenmeyin, çünkü veritabanı silinebilir veya silinebilir. mevcut olmayabilir ve komut dosyası ne olursa olsun gerekeni yapmaya devam edecektir.

Bu noktada MySQL kullanıma hazırdır. Hangi veritabanlarına veya kullanıcılara ihtiyaç duyulacağını bilmeden daha fazla konfigürasyon yapmak zordur. Ancak çoğu web sitesi, yazılım yüklendiğinde genellikle gerekli veritabanlarını ve kullanıcıları otomatik olarak oluşturur. Ancak bu oldukça yazılıma bağlıdır ve yazılımın BENİOKU dosyalarına veya kurulum talimatlarına hızlıca göz atmayı gerektirir.

5. Artık MySQL yapılandırıldığına göre, ilerleyelim ve bu özel sunucu için bazı temel PHP ayarlarını yapalım. PHP için değiştirilebilecek tonlarca ayar olmasına rağmen, neredeyse her zaman değiştirilmesi gereken yalnızca birkaç temel ayar vardır. Php yapılandırma dosyası /etc/php5/fpm/php.ini konumunda bulunur. Bu dosyayı herhangi bir metin düzenleyiciyle açın.

nano /etc/php5/fpm/php.ini

Nano'nun arama yeteneklerini kullanarak ctrl+w "memory_limit" dizesini arayın (tırnak işaretleri hariç). Varsayılan yüklemede bu satır zaten 128M olarak ayarlanmıştır ancak bir uygulamanın daha fazlasına ihtiyaç duyması durumunda bu satır, gereksinimleri karşılayacak şekilde değiştirilebilir.

Kontrol edilmesi gereken bir diğer önemli seçenek de “max_execution_time”dır ve yine varsayılan olarak 30 olarak ayarlanacaktır. Bir uygulamanın daha fazlasını gerektirmesi durumunda bu seçenek değiştirilebilir. Bazı kişiler ayrıca php günlük kaydını özel bir dosyaya/dizine ayarlamayı da tercih eder. Bunun bir gereklilik olması durumunda, "error_log =" dizesini arayın ve ardından genellikle varsayılan olarak orada bulunan noktalı virgülü kaldırarak satırın açıklamasını kaldırın.

Bu noktada satırın sonuna günlük dosyası için bir değer eklenebilir. Yolun sistemde mevcut olduğundan emin olun. php.ini dosyasında gerekli değişiklikleri yapmayı bitirdikten sonra değişiklikleri kaydedin ve metin düzenleyicisinden çıkın. Bu noktada MySQL ve PHP5 siteleri barındırmaya hazırdır. Şimdi Nginx'i yapılandırmanın zamanı geldi.

Nginx'i Kurmak ve Yapılandırmak

6. Nginx (motor X) alternatif ve çok güçlü bir web sunucusudur. Bu eğitimin bu bölümü, Nginx'in barındıracağı bir web sayfasının ayarlanması konusunda yol gösterecektir. Nginx'i yapılandırmanın ilk adımı 'apt' yardımcı programını kullanarak gerekli paketleri yüklemektir.

apt-get install nginx

Tüm bağımlılıkların karşılandığını varsayarsak, bir web tarayıcısında sunucunun IP adresine gitmek, varsayılan Nginx web sitesini oluşturmalıdır.

NOT: Nginx yüklendikten sonra sunucunun otomatik olarak başlatılmadığı durumlar vardır. Bir web tarayıcısında sunucunun IP adresine gitmek aşağıdaki sayfayı getirmiyorsa, Nginx'in başlatıldığından emin olmak için aşağıdaki komutu verin.

service nginx start

Nginx artık varsayılan sayfayı başarıyla barındırıyor. Debian'ın varsayılan sayfası gösterişli bir web sitesi olsa da çoğu kullanıcı özel bir şeyi barındırmak isteyecektir.

7. Sonraki adımlarda Nginx'in farklı bir web sitesini barındıracak şekilde ayarlanması anlatılacaktır. Nginx, Apache 2'ye çok benzer şekilde /etc/nginx konumunda kendi yapılandırma dizinine sahiptir. cd yardımcı programını kullanarak bu dizine geçin.

cd /etc/nginx

Bu eğitimde Nginx kullanarak bir web sitesi kurmaya yönelik birkaç önemli dosya ve dizin bulunmaktadır. Önemli olan ilk iki dizin, "kullanılabilir siteler" ve "sitelerin etkin olduğu" dizinlerdir. Apache 2'ye benzer şekilde Nginx, sitelerin kullanılabilir dizinindeki her site için, etkin olduğunda sitelerin etkin olduğu dizine sembolik olarak bağlanan yapılandırma dosyalarını kullanır.

Varsayılan siteden kurtulmak için gereken ilk şey, etkin sitelerdeki sembolik bağlantıyı kaldırmaktır.

rm sites-enabled/default

8. Artık Nginx'in sayfayı sunabilmesi için yeni bir site yapılandırma dosyasının oluşturulması ve bağlanması gerekiyor. Site yapılandırma dosyasının oluşturulması, varsayılan site yapılandırmasının kopyalanması ve değiştirilmesiyle basitleştirilebilir.

cp sites-available/default sites-available/tecmint-test

Bu, üzerinde çalışılacak yeni bir site yapılandırma dosyası oluşturacaktır. Nginx'in dosyaları sunacağı yolu değiştirmek için bu dosyayı bir metin düzenleyicide açın.

nano sites-available tecmint-test

Bu dosyada Nginx'in bir siteye hizmet verebilmesi için değiştirilebilecek birkaç önemli seçenek vardır. İlki 'root' ile başlayan satırdır, çünkü bu satır Nginx'in bu belirli site için dosyaları nereye sunması gerektiğini tanımlar.

Bu eğitimde, bu dizini varsayılan olarak '/var/www/html' olarak bırakacak ve sunulacak html dosyalarını bu dizine yerleştirmeniz yeterli olacaktır. Ancak bu sunucuda birden fazla site veya özel bir yapılandırma olacaksa bu yolu değiştirdiğinizden emin olun.

Bir sonraki önem satırı 'dizin' satırıdır. Bu makale LEMP kurulumuyla ilgili olduğundan ve bir site potansiyel olarak php sayfaları sunabileceğinden, Nginx'e varsayılan sayfanın bir php sayfası olabileceği konusunda bilgi verilmesi gerekir. Bunu yapmak için dizin dosyalarının sonuna 'index.php' ifadesini eklemeniz yeterlidir.

Yeni siteyi etkinleştirmeden önce Nginx'in hizmet verebileceği bir şeyin orada olması gerekir. Varsayılan dizin sayfası zaten mevcut ancak başka bir sitenin çalıştığını doğrulamak için varsayılan sayfanın içeriğini başka bir şeyle değiştirelim.

echo “It's ALIVE!” > /var/www/html/index.html

9. Bir sonraki adım, yeni oluşturulan yapılandırma dosyasını sitelerin etkin olduğu dizinine bağlayarak yeni siteyi etkinleştirmektir. Bu, ln komutunun kullanılması ve ardından Nginx'in yapılandırmasının hizmet yardımcı programıyla yeniden yüklenmesiyle kolayca gerçekleştirilir.

ln -s /etc/nginx/sites-available/tecmint-test sites-enabled/tecmint-test
service nginx reload

Bu noktada Nginx'in yeni 'basit' web sayfasını sunması gerekiyor. Bu, bir web tarayıcısı aracılığıyla sunucunun IP adresine gidilerek doğrulanabilir!

Tekrar ediyorum, bu makale LEMP'in çok basit yapılandırmalarından oluşuyordu. Çoğu site, ilgili tüm parçalar için daha fazla konfigürasyon gerektirir ancak konfigürasyon seçenekleri binlerce olabilir! Web sitelerini barındırmak için seçilen kurulumda iyi şanslar.