Ubuntu 20.04 Sunucu / Masaüstü Üzerinde LAMP Yığını Kurulumu

Bu öğretici, Ubuntu 20.04’e LAMP yığınının (Apache, MariaDB ve PHP 7.4) nasıl kurulacağını gösterecektir. Yazılım yığını demek, birlikte paketlenmiş bir dizi yazılım aracı anlamına gelir. LAMP, hepsi açık kaynak kodlu ve kullanımı ücretsiz olan Linux, Apache, MariaDB / MySQL ve PHP’yi temsil eder. Dinamik web sitelerine ve web uygulamalarına güç veren en yaygın yazılım yığınıdır. Linux işletim sistemidir, Apache web sunucusudur, MariaDB / MySQL veritabanı sunucusudur ve PHP dinamik web sayfaları oluşturmaktan sorumlu sunucu tarafı kodlama dilidir.

Ön gereksinimler

  • Bu eğiticiyi takip etmek için, yerel bilgisayarınızda veya uzak bir sunucuda çalışan Ubuntu 20.04 işletim sistemine ihtiyacınız vardır.
  • Ubuntu 20.04 LTS kurulu bulut sunucu için DigitalOcean tavsiyemdir.

Adım 1: Yazılım Paketlerini Güncelleyin

LAMP yığınını yüklemeden önce, Ubuntu 20.04 işletim sisteminizde aşağıdaki komutları çalıştırarak depo ve yazılım paketlerini güncelleyin:

sudo apt update
sudo apt upgrade -y

Adım 2: Apache web sunucusunu yükleyin

Apache web sunucusunu kurmak için aşağıdaki komutu girin. apache2-utils paketi, Apache HTTP sunucusu için bazı yardımcı programları yükleyecektir:

sudo apt install apache2 apache2-utils -y

Şimdi durumunu kontrol edin:

systemctl status apache2

Çıktı:

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-04-24 08:44:32 CEST; 10s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 6244 (apache2)
      Tasks: 55 (limit: 4566)
     Memory: 5.8M
     CGroup: /system.slice/apache2.service
             ├─6244 /usr/sbin/apache2 -k start
             ├─6245 /usr/sbin/apache2 -k start
             └─6246 /usr/sbin/apache2 -k start

Apr 24 08:44:31 sizinalanadiniz systemd[1]: Starting The Apache HTTP Server...
Apr 24 08:44:32 sizinalanadiniz systemd[1]: Started The Apache HTTP Server.

Eğer çalışmıyorsa şu komutu çalıştırın:

sudo systemctl start apache2

Kurulduktan sonra, Apache’yi aşağıdaki komutu çalıştırarak önyükleme de otomatik olarak başlatmayı etkinleştirebilirsiniz:

sudo systemctl enable apache2

Apache versiyonunu kontrol edin:

apache2 -v

Çıktı:

Server version: Apache/2.4.41 (Ubuntu)
Server built:   2020-04-13T17:19:17

Şimdi Ubuntu 20.04 sunucunuzun genel IP adresini tarayıcı adres çubuğuna yazın. Apache web sunucusunun düzgün çalıştığı anlamına gelen Apache2 Ubuntu Default Page web sayfasını görmelisiniz. Yerel Ubuntu 20.04 bilgisayarınıza LAMP yüklüyorsanız, tarayıcı adres çubuğuna 127.0.0.1 yazın veya localhost yazın.

Bağlantı reddedilirse veya tamamlanamazsa, TCP bağlantı noktası 80’e gelen istekleri engelleyen bir güvenlik duvarı olabilir. iptables güvenlik duvarı kullanıyorsanız, TCP bağlantı noktası 80’i açmak için aşağıdaki komutu çalıştırmanız gerekir.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

UFW güvenlik duvarı kullanıyorsanız, TCP bağlantı noktası 80’i açmak için bu komutu çalıştırın.

sudo ufw allow http

Son olarak, web dizininin sahibini www-data (Apache kullanıcısı) yapmamız gerekiyor. Varsayılan olarak, kök kullanıcıya aittir.

sudo chown www-data:www-data /var/www/html/ -R

Adım 3: MariaDB veritabanı sunucusunu yükleyin

MariaDB, MySQL için bir drop-in yerine geçer. Yani Oracle üzerindeki ticari kaygılar nedeniyle eski MySQL geliştiricileri tarafından geliştirilmiştir. MariaDB’i Ubuntu 20.04’e yüklemek için aşağıdaki komutu girin:

sudo apt install mariadb-server mariadb-client -y

Yüklendikten sonra, MariaDB sunucusu otomatik olarakbaşlatılacaktır. Durumunu kontrol etmek için systemctl komutunu kullanın:

systemctl status mariadb

Çıktı:

● mariadb.service - MariaDB 10.3.22 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-04-24 08:49:07 CEST; 5s ago
       Docs: man:mysqld(8)
             https://mariadb.com/kb/en/library/systemd/
   Main PID: 7811 (mysqld)
     Status: "Taking your SQL requests now..."
      Tasks: 31 (limit: 4566)
     Memory: 66.8M
     CGroup: /system.slice/mariadb.service
             └─7811 /usr/sbin/mysqld

Apr 24 08:49:07 sizinalanadiniz /etc/mysql/debian-start[7849]: information_schema
Apr 24 08:49:07 sizinalanadiniz /etc/mysql/debian-start[7849]: mysql
Apr 24 08:49:07 sizinalanadiniz /etc/mysql/debian-start[7849]: performance_schema
Apr 24 08:49:07 sizinalanadiniz /etc/mysql/debian-start[7849]: Phase 6/7: Checking and upgrading tables
Apr 24 08:49:07 sizinalanadiniz /etc/mysql/debian-start[7849]: Processing databases
Apr 24 08:49:07 sizinalanadiniz /etc/mysql/debian-start[7849]: information_schema
Apr 24 08:49:07 sizinalanadiniz /etc/mysql/debian-start[7849]: performance_schema
Apr 24 08:49:07 sizinalanadiniz /etc/mysql/debian-start[7849]: Phase 7/7: Running 'FLUSH PRIVILEGES'
Apr 24 08:49:07 sizinalanadiniz /etc/mysql/debian-start[7849]: OK
Apr 24 08:49:07 sizinalanadiniz /etc/mysql/debian-start[7906]: Checking for insecure root accounts.

Çalışmıyorsa, şu komutla başlatın:

sudo systemctl start mariadb

MariaDB’in önyükleme sırasında otomatik olarak başlamasını sağlamak için:

sudo systemctl enable mariadb

Şimdi yükleme sonrası güvenlik komut dosyasını çalıştırın:

sudo mysql_secure_installation

MariaDB kök şifresini girmenizi istediğinde, kök şifre henüz ayarlanmadığından ENTER tuşuna basın. Ardından, MariaDB sunucusunun kök şifresini ayarlamak için Y yanıtını girin.

Ardından, anonim kullanıcıyı kaldıracak, uzak kök girişini devre dışı bırakacak ve test veritabanını kaldıracak kalan tüm soruları cevaplamak için Y ve ENTER tuşuna basabilirsiniz. Bu adımlar, MariaDB veritabanı güvenliği için temel bir gerekliliktir. (Y’nin büyük harfle yazıldığına dikkat edin, bu da varsayılan cevap olduğu anlamına gelir.)

Varsayılan olarak, Ubuntu’da ki MariaDB paketi, unix_socket ile kullanıcı girişini doğrular. Bu, temelde MariaDB konsoluna giriş yapmak için işletim sisteminin kullanıcı adını ve şifresini kullanabileceğiniz anlamına gelir. Böylece MariaDB kök şifresi vermeden giriş yapmak için aşağıdaki komutu çalıştırabilirsiniz.

sudo mariadb -u root

Çıkmak için:

exit;

MariaDB sunucu sürüm bilgilerini denetleyin:

mariadb --version
mariadb  Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Gördüğünüz gibi, MariaDB 10.3.22 sürümünü kurduk.

Adım 4: PHP 7.4’ü yükleyin

PHP 7.4, Ubuntu 20.04 deposuna dahil edilmiştir ve PHP 7.3 sürümüne göre küçük bir performans iyileştirmesine sahiptir. PHP 7.4 ve bazı gerekli uzantılarını yüklemek için aşağıdaki komutu girin.

sudo apt install php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline -y

PHP uzantıları genellikle WordPress gibi içerik yönetim sistemleri (CMS) için gereklidir. Bu PHP uzantılarını yüklemek, CMS’inizin sorunsuz çalışmasını sağlar.

Apache php7.4 modülünü etkinleştirin, ardından Apache web sunucusunu yeniden başlatın.

sudo a2enmod php7.4
sudo systemctl restart apache2

PHP versiyonunu kontrol edin:

php --version

Çıktı:

PHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

Apache ile PHP-FPM Nasıl Çalışır?
PHP kodunu Apache web sunucusuyla çalıştırmanın temel olarak iki yolu vardır:

  1. Apache PHP modülü
  2. PHP-FPM

Yukarıdaki adımlarda biz, PHP kodunu işlemek için Apache PHP 7.4 modülü kullandık. Ancak bazı durumlarda, PHP kodunu PHP-FPM ile çalıştırmanız gerekir. Şu şekilde yapabilirsiniz:

Apache PHP7.4 modülünü devre dışı bırakın:

sudo a2dismod php7.4

PHP-FPM’yi yükleyin:

sudo apt install php7.4-fpm -y

proxy_fcgi ve setenvif modülünü etkinleştirin:

sudo a2enmod proxy_fcgi setenvif

/etc/apache2/conf-available/php7.4-fpm.conf yapılandırma dosyasını etkinleştirin:

sudo a2enconf php7.4-fpm

Değişikliklerin etkili olması için Apache’yi yeniden başlatın:

sudo systemctl restart apache2

Aşağıda ben iki şekilde de test ettim, ekran görüntülerini inceleyebilirsiniz.

Adım 6: PHP 7.4’ü test edin

PHP’yi Apache Web sunucusu ile test etmek için site ana dizini de bir bilgi.php dosyası oluşturmamız gerekiyor:

sudo nano /var/www/html/bilgi.php

Aşağıdaki PHP kodunu dosyaya yapıştırın.

<?php phpinfo(); ?>

Kaydedin ve dosyayı kapatın.

Şimdi tarayıcı adres çubuğuna http://sunucuipadresi/bilgi.php girin. Bu öğreticiyi yerel bilgisayarınızda izliyorsanız 127.0.0.1/bilgi.php yazmalısınız.

Şu an sunucunuzun ve PHP’nizin bilgilerini görüyor olmalısınız. Bu sayfa, PHP betiklerinin Apache web sunucusu ile düzgün çalışabileceği anlamına gelir.

Tebrikler! Ubuntu 20.04’te Apache, MariaDB ve PHP 7.4’ü başarıyla kurdunuz. Sunucunuzun güvenliği için, bilgi.php dosyasını şimdi silmelisiniz.

sudo rm /var/www/html/bilgi.php

İşte bu! Umarım bu öğretici Ubuntu 20.04 LTS üzerinde LAMP yüklemenize yardımcı olmuştur.

Her zaman olduğu gibi, bu yazıyı yararlı bulduysanız beğenebilir, aşağıdan fikirlerinizi bizimle paylaşabilirsiniz :slight_smile::+1:

2 Beğeni