Centos 6 + Nginx + SSL (HTTPS) Kurulumu ve Ayarları

Daha önce bir yönetim paneli ile nginx kurulumunu anlatmıştım ancak o anlatımda nginx’i biz reverse proxy olarak kurmuştuk yani apache’nin önünde çalışan bir ön vekil sunucu işlevinde kullanmıştık nginx’i. Ancak, nginx reverse proxy olarak kurulursa stabil bir şekilde çalışamayıp, performansını tam olarak size gösteremiyor. Nginx, Apache sunucusundan sonra en çok kullanılan ikinci web sunucusudur ve yapılan testlere göre Nginx, apache’den kat ve kat hızlı, performanslı çalışmaktadır.

Şuan içinden ne diyorsun be kardeşim bu nginx menix ne iş, centos mentos apache mapache ne ayaksın sen ? diye geçirenler için bu teknik terimleri kısaca açıklayayım ondan sonra asıl işlemlere geçiş yapalım. Gerçi bu yazıyı okumaya geldiysen bunları biliyorsundur da neyse ben yine yazayım senin için klavyem mi bozulacak  kardeşim 🙂

[accordion] [accordion-group title=”Nginx Nedir ?”]Nginx, Apache web server sunucusuna oranla daha hızlı ve performanslı,güvenli çalışan bir http / web sunucusudur. Şuan kişisel blogumda nginx üzerinde çalışmaktadır ve bununla ilgili bir yazı daha yazacağım ancak şuan konumuz değil.[/accordion-group] [accordion-group title=”Centos Nedir ?”]Centos, her bilgisayarın bir işletim sistemine ihtiyacı olduğu gibi web sunucularında işletim sistemine ihtiyaç duymakta. Centos bu ihtiyacı karşılayan son derece yaygın olarak kullanılan bir web sunucu işletim sistemi aynı zamanda masaüstü işletim sistemidir. Yani, kullandığınız bilgisayarlara bu işletim sistemini kurabilir ve kullanabilirsiniz. Biz genelikle centos’u internet sitelerimizi yayınlamak için kullandığımız sunucularda kullanıyoruz, yazımızın temel amacı budur.[/accordion-group] [accordion-group title=”OpenSSL Nedir ?”]OpenSSL, SSL ve TLS protokollerinin açık kaynak kodlu uygulamasıdır. C programlama dili ile yazılmış ana kütüphane temel kriptografik fonksiyonları uygular. OpenSSL’i farklı programlama dilleriyle kullanabilmek için geliştirilmiş ara yazılımlar da bulunmaktadır. Kaynak: wikipedia[/accordion-group] [/accordion]

Bunları anladıysak adım adım yapacağımız işlemleri aşağıda sıraladım ve sırasıyla bu adımları gerçekleştireceğiz.

  1. Centos 6 kurulu VPS sunucumuza nginx kurulumunu yapacağız. Nginx bu sefer reverse proxy değil normal hali ile kuracağız.
  2. Nginx kurulumu bittikten sonra OpenSSL ile sistemimize ssl sertifikası kurup, çalıştıracağız.

Önemli: Bu yazımda sadece nginx kurulumu ve openssl kurulumunu anlatacağım. Yani, php kurulumu yapmayacağız veya herhangi bir sunucu yönetim paneli kurmayacağız direkt kontrol panelsiz web sunucusu kuracağız.

Centos 6 Yüklü Sunucuya Nginx Kurulumu

Adım 1: EPEL kütüphanesinin sunucumuza kurulması ve çalıştırılması. Bu kütüphane Centos için gerekli olan son güncel modülleri ve paketleri ve  nginx’in en son sürümünü indirmemizi sağlayacak. Aşağıda ki komutu SSH ekranınızdan çalıştırın.

Adım 2:  Nginx kurulumu için aşağıda ki komutu çalıştırın. İlk adım da nginx’in son sürümünü sunucumuza indirmiş ve hazır halde bekletiyorduk bu komut nginx’i sunucumuza kuruyoruz.

Karşınıza çıkan sorulara “yes” yani evet diyerek kurulum aşamalarına devam edin. Kullandığınız vps sunucunun performansına bağlı olarak kurulum ortalam 5-10 dakika sürecektir. Daha kısa da sürebilir, değişen bir durumdur bu 🙂

Adım 3: Nginx başlatmak için aşağıda ki komutu çalıştırın. Kurulum işlemi bittikten sonra ne yazık ki nginx otomatik olarak başlamıyor, aşağıda ki komutu girmeniz gerekiyor ki nginx sunucumuzda aktif olarak çalışmaya başlasın.

Artık nginx başarılı bir şekilde sisteminize kuruldu ve çalışır vaziyette. Nginx’in düzgün çalışıp, çalışmadığını kontrol etmek için VPS sunucunuzun ip adresini tarayıcınızda açarak nginx’in çalıştığını görebilirsiniz. Veyahut konsol ekranında nginx -t  yazarak nginx ayarlarının doğru olup olmadığını kontrol edebilirsiniz. Syntax ok cevabını döndürürse konsol ekranında sorunsuz kurulmuştur diyebilirim.

En son olarak tam kontrolü yapmak için aşağıda ki komutu konsol ekranınıza girerek test edebilirsiniz.

Tebrikler!

Helal olsun kardeşime, Centos 6 sunucuya Nginx’i başarılı bir şekilde kurdun, ayakta alkışlıyoruz seni.

Buraya kadar her şey sorunsuz olarak kuruldu ise artık OpenSSL yani HTTPS kurulumuna geçebiliriz. Bu işlemi de yine adım adım yapacağız.

Nginx OpenSSL (HTTPS) Kurulumu ve Ayarları

1.Adım: Sunucumuza OpenSSL için gerekli olan kütüphaneyi indirip, kurulumunu gerçekleştirelim. Aşağıda ki komutu konsol ekranına yazarak, çalıştırın.

2.Adım: SSL için gerekli olan bir takım dosyalar mevcut bu dosyaların hepsinin bir dizin toplaması gerekiyor. Bunun için sunucumuzda bir dizin oluşturacağız. Bunun için konsol ekranınıza aşağıda ki komutu girerek çalıştırın.

3.Adım:  SSL kurulumu için bir adet key (anahtar) adını verdiğimiz bir dosya oluşturmamız gerekiyor.

Not: Bu key anahtarının dosya adı domain isminiz olmalıdır ve www.’lu veya www’suz olarak ekleme yapmanız gerekiyor. Tercihinizi çok iyi yapın çünkü www’lu ayrı bir subdomaindir bilginize. Genelikle www.’lu ile kullanılıyor ama kimi zaman sorun çıkarttığı için bu yapı www yapısı olmadan oluşturabilirsiniz.

Aşağıda ki komutu konsol ekranınızda girin ve huseyinkorbalta.com olan kısmı kendi site adresinize göre düzenleyin.

Kodun sonunda yer alan 2048 ibaresi şifreleme metodur. Standart sertifikalarda bu şifreleme kullanılmaktadır. Biraz olay bilişim güvenliğine girdiği için çok detay veremeyeceğim kafanız karışmasın diye açıklama yapma gereği duydum. Neyse çok takmayın buraları siz 4.adımla devam edin 🙂

4.Adım: Bir önceki adımda anahtar adını verdiğimiz bir dosya oluşturmuştuk şimdi o dosya ile CSR (Certificate signing request) adını verdiğimiz yine SSL için gerekli olan dosyamızı aşağıda ki komut ile yaratalım. Yine, bu kısımda ki huseyinkorbalta.com kısmını kendinize göre düzenleyin.

Bu adımı da başarıyla tamamladıktan sonra sizden doldurmanız gereken birkaç form gelecek. Bu form kısmında dikkat etmeniz gereken nokta Common Name kısmıdır. Bu kısıma alan adınızı yazıyorsunuz bir üstte açıkladığım gibi www.’lu veya www‘lu olmadan buraya yazacaksınız. SSL sertifikasını bir subdomaine yani alt alandına kuruyorsanız buraya örneğin shop.huseyinkorbalta.com yazmanız gerekiyor. Eğer ana alan adına kurulum yapıyorsanız buraya www.huseyinkorbalta.com ya da huseyinkorbalta.com yazmanız gerekiyor. Dikkatli doldurun!

SSL Sertifikasını Yükleme,Aktif Etme ve Nginx SSL Ayarları

Geldik işin en cafcaflı kısmına. Bu adımdan sonra elinizde bir CSR dosyası oluşacak. Bu dosyayı SSL Sertifikası aldığınız firmaya göndermeniz gerekiyor. Eğer, hosting hizmeti veren bir yerden SSL sertifikası aldıysanız eğer bu oluşturduğunuz CSR dosyasını onlara iletmeniz gerekiyor. Daha sonra aldığınız ssl sertifikasının kuruluşuna bağlı olarak ortalama 2-3 gün içerisinde size bir CRT (Certificate) dosyayı gönderecekler.

Dikkat! Yukarıda ki kod kısmında Email Address [] kısmında belirttiğiniz mail adresi çok önemli. Aktif ve çalışıyor vaziyette olması gerekiyor, CRT dosyanız bu mail adresinize gönderilecektir. Sakın bu kısıma gmail vb mail adresleri yazmayın, domainize ait bir mail adresi olmalıdır.

Elinize CRT (Certificate) dosyası geldiyse eğer  2.Adımda oluşturduğumuz SSL dizinine bu dosyayı yükleyin. Yani, gelen CRT dosyasını /etc/nginx/ssl dizinine yükleyin.

Nginx SSL Ayarları

Aşağıda ki komutu konsol ekranınza girin ve nginx.conf dosyanızda gerekli düzenlemeler yapın. Burada huseyinkorbalta.com yazan kısım sizin site adresinizdir. Kendinize göre komutu düzenleyin ve öyle çalıştırın.

Yukarıda server_name kısmı ve ssl_certificate, ssl_certificate_key kısımlarını kendi sitenize göre düzenleyip kaydediyorsunuz.

Gerekli düzenlemeleri yapıp, dosyayı kaydettiyseniz nginx’i aşağıda ki komut ile yeniden başlatarak yaptığınız tüm işlemleri çalışır hale getirin.

Hepsi bu kadar. Sorunsuz bir şekilde Centos 6 sunucumuz Nginx kurduk, daha sonra OpenSSL kurduk ve Nginx.conf ayarlarımızı yapılandırarak sitemizde ssl’yi aktif hale getirdik. Daha ince detaylar var ancak şimdilik bu kadarı yeter 1071 satır yazı olmuş yeter artık, gözlerim ağrıdı hem yaparak hemde bunu yazmak yordu beni.

Selametle kalın, hayırlı çalışmalar kolay gelsin.

2 Yorum

    1. Merhaba,
      Webuzo konusunda bir tecrübem yok ancak Cloudflare’nin Ücretsiz SSL sertifikası hizmetini kullanarak, webuzo panelinizden ekstra bir ayar yapmadan ssl kullanabilirsiniz. Sadece .htaccess kullanarak http ile gelen kullanıcıları https yönlendirme işlemi yapacaksınız. Bu işlemin anlatımları blogta mevcut arama bölümüne https yönlendirme yazarsanız ilgili yazılarıma ulaşabilirsiniz.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir