Pardus 19.5 Server Üzerine Let's Encrypt ile Birlikte LEMP Yığını Kurulumu

nycto

New member
Katılım
2 Nis 2021
Mesajlar
1
Tepkime puanı
0
Puanları
1
Yaş
32
Hesap Türü
Bireysel
LEMP.png

Giriş

Bu makalede; açık kaynak koldu bir işletim sistemi olan Pardus 19.5 sunucusuna, LEMP yığını kurulumu ve Let's Encrypt ile SSL Sertifikasının ayarlanmasını anlattım. MySQL, Pardus' daki varsayılan depolarda bulunmasına rağmen, bu makalede veri tabanı yönetim sistemi olarak MariaDB tercih ettim. Dilerseniz sizler MySQL tercih edebilirsiniz.

LEMP Yığını (LEMP Stack) Nedir?

LEMP, Nginx (Engine X), MariaDB veya MySQL ve PHP' nin kısaltmasıdır. Stack ise veri/yazılım yığını anlamına gelir. LEMP yığını tüm açık kaynak kodlu olan Linux işletim sistemlerine kurulabilir ve dinamik web sitelerinin ve web uygulamalarının yayınlanması için en yaygın olarak kullanılan yazılım yığınıdır.
  • Nginx; web sunucusu
  • MariaDB/MySQL; veri tabanı yönetim sistemi
  • PHP; dinamik web sayfaları oluşturmaktan sorumlu sunucu taraflı kodlama dili
  • Let's Encrypt; Transport Layer Security şifrelemesi için ücretsiz X.509 sertifikası dağıtan bir sertifika otoritesidir.
  • SSL Sertifikası; Secure Sockets Layer) sertifikaları, site adreslerinin doğruluğunu kontrol eden, iki nokta arasındaki veri iletişimini şifreli kanal üzerinden yaparak güvenli bir şekilde iletilmesini sağlayan bir üründür. (SSL sertifikaları, hiç bir zaman yazdığınız kodun veya web sitenizin güvenliğini sağlamaz.)
Ön Gereksinimler
  • *Pardus 19.5 Server Kurulu Sunucu,
  • sudo ayrıcalıklarına sahip bir kullanıcı hesabı,
  • Terminal erişimi,
  • İnternet bağlantısı,
  • APT yazılım paketi yükleyicisi (varsayılan olarak Pardus 19.5' te dahildir),
  1. ADIM: Pardus 19.5 İşletim Sisteminin Güncellenmesi ve Gerekli Temel Araçların Kurulumu

    **Pardus 19.5 işletim sistemine ssh aracılığı ile root olarak giriş yapın.
    İşletim sistemimizi güncelleyip, yükseltme işlemini yapıyoruz.
    Bash:
    apt update
    apt upgrade

  2. ADIM: LEMP Yığını Kurulumu Öncesi Pardus 19.5 Server Üzerinde Bazı Ayarların Yapılması/Yapılandırılması

    Hostname' imizi ayarlıyoruz.
    Bash:
    nano /etc/hostname
    turkiye.linux.web.tr
    buradaki hostname adını siz kendinize göre seçmelisiniz.

    Ayrıca şu komutu uyguluyoruz.
    Bash:
    hostname turkiye.linux.web.tr

    Kontrolümüzü yapıyoruz.
    Bash:
    hostname
    turkiye.linux.web.tr

    Sonrasında nano metin editörü ile hosts dosyasına ip adresi ve hostname' imizi girioyoruz.
    Bash:
    nano /etc/hosts
    Örnek içerik şu şekilde olmalı
    192.168.90.34 turkiye.linux.web.tr
    buradaki ip adresi ve hostname adını siz kendinize göre seçmelisiniz.

    Sunucumuzu yeniden başlatıyoruz.
    Bash:
    reboot

  3. ADIM: Nginx Web Sunucusunun Pardus 19.5 Server Üzerine Kurulumu

    Sistem güncellemesi, gerekli temel araçların kurulumu ve bazı ayar yapılandırmalarından sonra NGINX kurulumuna geçiyoruz.
    NGINX ile birlikte ileride web site oluştururken lazım olacağı için zip, unzip ve net-tools araçlarını da beraberinde kurmak için komutu uygulayın;
    Bash:
    apt -y install net-tools nginx zip unzip

    NGINX servisini, sunucumuzun yeniden başlatılması, kapatılıp - açılması sonrası otomatik başlaması için aktif durumuna getiriyoruz
    Bash:
    systemctl enable nginx
    Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
    Executing: /lib/systemd/systemd-sysv-install enable nginx

    NGINX servisini başlatıyoruz;
    Bash:
    systemctl start nginx

    NGINX servisinin durumunu kontrol etmek için;
    Bash:
    systemctl status nginx
    nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/nginx.service.d
    └─restart.conf
    Active: active (running) since Fri 2021-04-02 16:35:34 +03; 1 day 1h ago
    Docs: man:nginx(8)
    Main PID: 23468 (nginx)
    Tasks: 9 (limit: 4915)
    Memory: 34.4M
    CGroup: /system.slice/nginx.service
    ├─23468 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
    ├─23469 nginx: worker process
    ├─23470 nginx: worker process
    ├─23471 nginx: worker process
    ├─23472 nginx: worker process
    ├─23475 nginx: worker process
    ├─23476 nginx: worker process
    ├─23477 nginx: worker process
    └─23478 nginx: worker process

    Nis 02 16:35:34 turkiye.linux.web.tr systemd[1]: Starting A high performance web server and a reverse proxy server...
    Nis 02 16:35:34 turkiye.linux.web.tr systemd[1]: Started A high performance web server and a reverse proxy server.

  4. ADIM: MariaDB Veritabanı Yönetim Sisteminin Pardus 19.5 Server Üzerine Kurulumu

    MariaDB veritabanı yönetim sistemi kurulumunu yapmadan önce depomuza MAriaDB depo bağlantısı ekleyip doğruluyoruz. Bunun için gerekli araçları kurmamız lazım.
    Gerekli araçları kurmak için komutları uygulayın.
    Bash:
    apt -y install curl
    apt -y install gnupg
    apt -y install gnupg1
    apt -y install gnupg2

    Doğrulama için komutu uygulayın.
    Bash:
    apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'

    nano metin editörü ile, depomuza MariaDB listesini ekliyoruz.
    Bash:
    nano /etc/apt/sources.list.d/mariadb.list

    Komutu uygulayarak varsa güncellemeleri alıyoruz;
    Bash:
    apt update

    MariaDB kurulumu için sırasıyla komutları uyguluyoruz;
    Bash:
    apt -y install mariadb-serverapt -y install mariadb-client

    MariaDB sunucumuzu aktif edip, başlatıyoruz ve durumunu sorguluyoruz;
    Bash:
    systemctl enable mariadb
    Synchronizing state of mariadb.service with SysV service script with /lib/systemd/systemd-sysv-install.
    Executing: /lib/systemd/systemd-sysv-install enable mariadb

    Bash:
    systemctl start mariadb

    Bash:
    systemctl status mariadb
    mariadb.service - MariaDB 10.5.9 database server
    Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/mariadb.service.d
    └─migrated-from-my.cnf-settings.conf
    Active: active (running) since Fri 2021-04-02 16:35:35 +03; 1 day 4h ago
    Docs: man:mariadbd(8)
    Main PID: 23548 (mariadbd)
    Status: "Taking your SQL requests now..."
    Tasks: 19 (limit: 4915)
    Memory: 346.6M
    CGroup: /system.slice/mariadb.service
    └─23548 /usr/sbin/mariadbd

    Sunucumuza MariaDB kurulumunu yaptıktan sonra sunucu içi yapılandırma kurulumu için komutu uyguluyoruz;
    Bash:
    mysql_secure_installation

    Çıkan seçeneklerde hepsini Y olarak işaretliyoruz. Ayrıca root şifrenizi oluşturmanızı isteyecektir. Şifrenizi de oluşturup, aşağıdaki komut ile MariaDB sunucumuza root olarak erişebilirsiniz. Komut sonrası oluşturduğunu root şifrenizi girmenizi isteyecektir.
    Bash:
    mysql -u root -p
    Enter password:
    Welcome to the MariaDB monitor. Commands end with ; or \g.
    Your MariaDB connection id is 84043
    Server version: 10.5.9-MariaDB-1:10.5.9+maria~buster mariadb.org binary distribution

    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

    MariaDB [(none)]>

    Bash:
    exit;
    Komutunu uygulayarak çıkış yapıyoruz.
    ***MariaDB üzerinde; veritabanı oluşturma, veritabanı kullanıcısı oluşturma, yetkilendirmeler, tablo oluşturma, veritabanı silme ve veritabanı kullanıcısı silme gibi detaylı MariaDB kullanımını, bir başka konu anlatımımızda bahsediyor olacağım.

    MariaDB sunucumuzu yeniden başlatmamız gerekirse aşağıdaki komutlardan birini uygulamanız yeterli;
    Bash:
    systemctl restart mysqld
    systemctl restart mysql.service
    systemctl restart mysqld.service
    systemctl restart mariadb
    systemctl restart mariadb.service

  5. ADIM: PHP-FPM Kodlama Dilinin Pardus 19.5 Server Üzerine Kurulumu
  6. ADIM: PHP Kodlama Dilini Nginx ile Test Edilmesi
  7. ADIM: Nginx Web Sunucusunun Otomatik Yeniden Başlatma Ayarının Yapılması
  8. ADIM: Let's Encrypt ile Hostname ve Alan Adlarına SSL Sertifikasının Kurulumu

Sonraki Anlatımları.
*Pardus 19.5 Server Kurulumu için; Pardus 19.5 Server İşletim Sistemi Kurulumu başlıklı konuyu inceleyin.
**root erişimi için; Pardus 19.5 İşletim Sistemine root Erişimi için Gerekli root İzinlerinin Ayarlanması başlıklı konuyu inceleyin.
 
Moderatör tarafında düzenlendi:
  • Like
Tepkiler: root