Centos

Centos 7 Apache Let’s Encrypt Kurulum ve Kullanımı

Linux Hosting kullanan kullanıcılar çoğunlukla web hosting kontrol panellerini tercih ediyor. Cpanel, Plesk, Directadmin gibi ücretli panelleri kullanan veya CyberPanel, Vesta CP, Centow Web Panel (cwp) gibi ücretsiz panelleri kullanıp, işlemlerini kontrol paneli üzerinden yapan kullanıcılar da bulunuyor.

Eğer sunucunuzu sadece web sitelerini barındırmak için kullanacaksanız, bunun için kontrol panellerine çok da ihtiyacınız bulunmuyor. SSH üzerinden işlemlerinizi bir kaç komutla kendiniz de halledebilirsiniz. Basit bir şekilde apache web server kurulumu, virtual host ayarları ve Let’s Encrypt kurulumu yapıp yapılandırma işlemlerini inceliyoruz.

Centos 7 Apache Kurulumu

Öncelikle sunucuya SSH üzerinden root kullanıcı ile erişim sağlayıp, sunucunuzu güncelleyin;

yum update -y

Güncelleme bittikten sonra apache web serveri kuralım;

sudo yum -y install httpd

Kurulum bittikten sonra httpd servisini başlangıçta açılacak şekilde ayarlayalım;

sudo systemctl enable httpd.service

Apache kurulum işlemleri tamamlandı. Tabi ki apache web serverin daha bir çok ayarı bulunuyor, basit bir şekilde kurulum yapıyoruz. Apache kurulumundan sonra, virtual host ayarlarınızı yapılandıralım;

Centos 7 Apache Virtual Host

Host edeceğimiz domainler deneme1.com ve deneme2.com şekilde yapılandırıyoruz. Siz domaini, yolunu veya logları istediğiniz şekilde değiştirebilirsiniz.

mkdir -p /var/www/deneme1.com/public_html
mkdir -p /var/www/deneme2.com/public_html

Çalışıp, çalışmadığını test etmemiz için her iki klasörde de index.html dosyamızı oluşturalım;

nano /var/www/deneme1.com/public_html/index.html
<html>
  <head>
    <title>Deneme.com'a hos geldiniz!</title>
  </head>
  <body>
    <h1>Deneme.com working!</h1>
  </body>
</html>
cp /var/www/deneme1.com/public_html/index.html /var/www/deneme2.com/public_html/index.html

Apache virtual dosyası oluşturma

Domainlerimizin conf dosyaları için dizin oluşturalım

mkdir /etc/httpd/domainler

Conf dosyalarını httpd.conf dosyasına tanıtmak için httpd.conf dosyasını açalım;

nano /etc/httpd/conf/httpd.conf

Ve ekleyelim;

Include domainler/*.conf

Virtual host dosyamızı domain için oluşturalım;

nano /etc/httpd/domainler/deneme1.com.conf

Ve ekleyelim;

<VirtualHost *:80>

    ServerName www.deneme1.com
    ServerAlias deneme1.com
    DocumentRoot /var/www/deneme1.com/public_html
    ErrorLog /var/www/deneme1.com/error.log
    CustomLog /var/www/deneme1.com/access.log combined
</VirtualHost>

Aynı işlemi deneme2.com domaini için de yapalım;

nano /etc/httpd/domainler/deneme2.com.conf
<VirtualHost *:80>

    ServerName www.deneme2.com
    ServerAlias deneme2.com
    DocumentRoot /var/www/deneme2.com/public_html
    ErrorLog /var/www/deneme2.com/error.log
    CustomLog /var/www/deneme2.com/access.log combined
</VirtualHost>

Ve apache servisimizi restart edelim;

service httpd restart

Tarayıcıya domain adınızı yazdığınızda, web sitenize erişebilirsiniz.

Let’s Encrypt Kurulumu

Let’s Encrypt’in çalışması için gerekli modülleri kurmamız gerekiyor;

Certbot’un çalışması için mod_ssl kurmamız gerekiyor;

yum install epel-release mod_ssl

Let’s Encrypt istemcisini yani certbot‘u kuralım;

yum install python-certbot-apache

Certbot kurulurken, aynı zamanda bir kaç tane python kütüphanesi de kuracaktır.

Certbot kurulumu tamamlandıktan sonra, SSL sertifikası kurulumu yapabiliriz;

certbot --apache -d deneme1.com

Komutu çalıştırdıktan sonra, ssl yenilemeleri için mail adresinizi girmenizi isteyecektir. Daha sonra [A] harfi ile kabul etmeniz gerekir.

“Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access” sorusuna 1 veya 2 ile seçip cevap verebilirsiniz. 2 seçeneği http’siz gelen istekleri https’e yönlendirecektir.

Virtual host dosyasını kendisi ayarlayacaktır. Diğer domaininiz için de aynı ayarları yapabilirsiniz.

Ayrıca firewall servisiniz açıksa, 443. nolu porta izin verelim;

firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload

Apache, virtual host ve Let’s Encrypt ssl işlemleri bu kadar.

Sertifikanızın yenileme işlemi için de;

certbot renew

komutunu kullanabilirsiniz.