Ubuntu 16.04 Üzerine LAMP (Linux, Apache, MySQL, PHP) Yığını Kurulumu: Kapsamlı Bir Rehber
Bu kapsamlı rehber, Ubuntu 16.04 sunucusu üzerine popüler LAMP (Linux, Apache, MySQL, PHP) yığınını adım adım nasıl kuracağınızı ve yapılandıracağınızı detaylı bir şekilde açıklamaktadır. LAMP, dinamik web siteleri ve web uygulamaları geliştirmek ve barındırmak için endüstri standardı haline gelmiş güçlü ve açık kaynaklı bir yazılım paketidir. “L” Linux işletim sistemini, “A” Apache web sunucusunu, “M” MySQL veritabanı yönetim sistemini ve “P” ise PHP programlama dilini temsil eder. Bu bileşenlerin birleşimi, WordPress, Joomla, Drupal gibi içerik yönetim sistemlerinden özel olarak geliştirilmiş web uygulamalarına kadar geniş bir yelpazede projelerin temelini oluşturur. Ubuntu 16.04, uzun süreli destek (LTS) sağlayan kararlı bir sürüm olması nedeniyle, bu tür yığınların kurulumu için hala tercih edilen bir platformdur. Bu rehber, her bir bileşenin kurulumunu, temel yapılandırmalarını ve güvenlik iyileştirmelerini ele alarak, size sağlam ve işlevsel bir LAMP ortamı oluşturma konusunda yol gösterecektir.
Giriş: LAMP Yığını Nedir ve Neden Önemlidir?
LAMP yığını, web geliştirme dünyasının temel taşlarından biridir ve milyonlarca web sitesinin ve uygulamasının arkasındaki teknolojik altyapıyı oluşturur. Açık kaynaklı bileşenlerden oluşması, maliyet etkinliği, esnekliği ve geniş topluluk desteği sayesinde hem bireysel geliştiriciler hem de büyük kuruluşlar tarafından yaygın olarak benimsenmiştir. Linux, işletim sistemi olarak yığının temelini oluşturur ve kararlılığı, güvenilirliği ve yüksek performansıyla bilinir. Apache HTTP Sunucusu, dünya genelinde en çok kullanılan web sunucularından biridir. Gelen web isteklerini işler, web sayfalarını sunar ve dinamik içeriklerin oluşturulmasına olanak tanır. MySQL, ilişkisel bir veritabanı yönetim sistemi olarak, web uygulamalarının ihtiyaç duyduğu tüm verileri (kullanıcı bilgileri, ürün katalogları, blog yazıları vb.) depolar ve yönetir. PHP ise sunucu tarafında çalışan bir betik dili olup, dinamik web içeriği oluşturmak, veritabanlarıyla etkileşim kurmak ve kullanıcı etkileşimlerini yönetmek için kullanılır. Bu dört bileşenin uyumlu bir şekilde bir araya gelmesi, geliştiricilere güçlü ve ölçeklenebilir web çözümleri sunma imkanı tanır. Ubuntu 16.04 üzerinde bu yığını kurmak, hem öğrenme hem de üretim ortamları için sağlam bir başlangıç noktası sağlar.
Ön Koşullar
Bu rehbere başlamadan önce, aşağıdaki ön koşulların karşılandığından emin olmanız gerekmektedir:
* Ubuntu 16.04 Sunucusu: Temiz bir Ubuntu 16.04 sunucusu kurulumu önerilir. Bu sunucu fiziksel bir makine, bir sanal makine (VM) veya bir bulut sunucusu olabilir.
* Sudo Yetkilerine Sahip Bir Kullanıcı: Root kullanıcısı yerine, sudo ayrıcalıklarına sahip, root olmayan bir kullanıcı ile çalışmanız güvenlik açısından daha iyidir. Bu rehberdeki tüm komutlar sudo önekiyle kullanılacaktır.
* İnternet Bağlantısı: Sunucunuzun paketleri indirebilmesi için aktif bir internet bağlantısına sahip olması gerekmektedir.
* Temel Linux Komut Satırı Bilgisi: Temel Linux komutlarını (dizin değiştirme, dosya düzenleme vb.) bilmek, kurulum sürecini daha rahat yönetmenizi sağlayacaktır.
Bu koşullar sağlandığında, LAMP yığınını kurmaya başlayabiliriz.
1. Sistem Güncellemesi
Herhangi bir yazılım kurulumuna başlamadan önce, sunucunuzdaki paket listelerini ve kurulu paketleri en güncel hallerine getirmek her zaman iyi bir uygulamadır. Bu, potansiyel güvenlik açıklarını kapatır ve yazılım çakışmalarını önler.
Öncelikle, paket listelerinizi güncelleyin:
sudo apt update
Bu komut, yerel paket indeksinizi uzak depolardaki en son bilgilerle senkronize eder. Ardından, kurulu paketleri güncelleyin:
sudo apt upgrade
Bu komut, mevcut kurulu paketlerinizi yeni sürümlerine yükseltir. Kernel veya diğer önemli sistem bileşenleri için bir yükseltme varsa, dist-upgrade komutu daha kapsamlı bir yükseltme sağlayabilir:
sudo apt dist-upgrade
Yükseltme işlemi tamamlandıktan sonra, artık ihtiyaç duyulmayan bağımlılıkları ve eski çekirdekleri temizlemek için aşağıdaki komutu kullanabilirsiniz:
sudo apt autoremove
Bu adımları tamamladıktan sonra, sunucunuz LAMP yığını kurulumu için hazır hale gelecektir.
2. Apache Web Sunucusu Kurulumu
LAMP yığınının “A” harfini temsil eden Apache web sunucusu, web isteklerini işlemek ve web sayfalarını sunmak için kullanılır. Ubuntu’da Apache’yi kurmak oldukça basittir.
Apache Kurulum Komutu
Apache web sunucusunu kurmak için aşağıdaki komutu kullanın:
sudo apt install apache2
Kurulum tamamlandıktan sonra, Apache otomatik olarak başlayacak ve sistem açılışında da otomatik olarak çalışacak şekilde ayarlanacaktır.
Güvenlik Duvarı Ayarları (UFW)
Eğer sunucunuzda UFW (Uncomplicated Firewall) etkinse, Apache’nin dışarıdan erişilebilir olması için güvenlik duvarında gerekli izinleri vermeniz gerekir. İlk olarak, UFW’nin hangi uygulama profillerini tanıdığını kontrol edin:
sudo ufw app list
Bu komutun çıktısında “Apache Full”, “Apache” ve “Apache Secure” gibi profiller görmelisiniz. “Apache Full” profili, hem 80 (HTTP) hem de 443 (HTTPS) portlarına izin verirken, “Apache” sadece 80 portuna, “Apache Secure” ise sadece 443 portuna izin verir. Şimdilik sadece HTTP erişimine ihtiyacımız olduğu için “Apache Full” veya “Apache” kullanabiliriz. İleride SSL kurduğunuzda “Apache Full” daha uygun olacaktır.
Aşağıdaki komut ile Apache için gerekli izinleri verin:
sudo ufw allow 'Apache Full'
Eğer UFW henüz etkin değilse, aşağıdaki komutla etkinleştirebilirsiniz (bu, SSH bağlantınızı kesebileceği için dikkatli olun ve önce SSH için izin verdiğinizden emin olun):
sudo ufw enable
Güvenlik duvarı durumunu kontrol etmek için:
sudo ufw status
Çıktıda Apache’ye izin verildiğini görmelisiniz.
Apache Durumunu Kontrol Etme
Apache’nin düzgün çalışıp çalışmadığını kontrol etmek için birkaç yöntem vardır:
1. Sistem Hizmeti Kontrolü:
sudo systemctl status apache2
Çıktıda “active (running)” ifadesini görmeniz, Apache’nin çalıştığını gösterir.
2. Web Tarayıcısı ile Kontrol:
Web tarayıcınızı açın ve sunucunuzun IP adresini yazın (örneğin, http://your_server_ip). Eğer her şey yolundaysa, “Apache2 Ubuntu Default Page” başlıklı varsayılan Apache sayfasını görmelisiniz. Sunucunuzun IP adresini bilmiyorsanız, aşağıdaki komutlardan birini kullanabilirsiniz:
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
veya harici IP adresiniz için:
curl -4 icanhazip.com
Temel Apache Ayarları
Apache’nin ana yapılandırma dosyası /etc/apache2/apache2.conf konumunda bulunur. Ancak, çoğu yapılandırma ayarı bu dosya yerine, daha düzenli bir yapı sağlayan alt dizinlerde tutulur.
* /etc/apache2/ports.conf: Apache’nin hangi portları dinlediğini tanımlar.
* /etc/apache2/sites-available/: Her bir web sitesi (Virtual Host) için yapılandırma dosyalarını içerir.
* /etc/apache2/sites-enabled/: Etkin olan Virtual Host’ların sembolik bağlantılarını içerir. Apache, bu dizindeki bağlantıları okur.
* /var/www/html: Varsayılan web kök dizinidir. Web sitenizin dosyalarını buraya veya Virtual Host yapılandırmanızda belirttiğiniz başka bir dizine yüklersiniz.
Yeni bir Virtual Host etkinleştirmek için a2ensite komutunu, devre dışı bırakmak için a2dissite komutunu kullanırız. Herhangi bir yapılandırma değişikliğinden sonra Apache’yi yeniden başlatmanız gerekir:
sudo systemctl restart apache2
Bu adımlarla Apache web sunucunuz başarıyla kurulmuş ve temel olarak yapılandırılmıştır.
3. MySQL Veritabanı Kurulumu
LAMP yığınının “M” harfini temsil eden MySQL, veritabanı yönetim sistemidir. Web uygulamalarınızın verilerini depolamak, yönetmek ve almak için kullanılır.
MySQL Kurulum Komutu
MySQL sunucusunu kurmak için aşağıdaki komutu kullanın:
sudo apt install mysql-server
Kurulum sırasında, MySQL root kullanıcısı için bir parola belirlemeniz istenecektir. Bu parola, veritabanı sunucusunun yönetiminde kullanılacak kritik bir paroladır, bu yüzden güçlü ve güvenli bir parola seçtiğinizden emin olun.
Güvenlik Scripti
MySQL kurulumu tamamlandıktan sonra, veritabanı sunucunuzun güvenliğini artırmak için bir güvenlik scripti çalıştırmanız şiddetle tavsiye edilir:
sudo mysql_secure_installation
Bu script size bir dizi soru soracaktır:
1. VALIDATE PASSWORD PLUGIN: Bu eklenti, kullanıcı parolalarının gücünü kontrol etmenizi sağlar. İsteğe bağlıdır, ancak güvenlik için etkinleştirilmesi önerilir. Eğer etkinleştirirseniz, parola gücü seviyelerinden birini seçmeniz gerekecektir (Düşük, Orta, Güçlü).
2. Change the root password?: Kurulum sırasında belirlediğiniz root parolası zaten varsa, bunu değiştirmenize gerek yoktur. N tuşuna basarak geçebilirsiniz.
3. Remove anonymous users?: Anonim kullanıcılar test amaçlıdır ve üretim ortamlarında güvenlik riski oluşturur. Y tuşuna basarak bunları kaldırmanız önerilir.
4. Disallow root login remotely?: Root kullanıcısının sadece localhost üzerinden bağlanabilmesi, uzaktan saldırı riskini azaltır. Y tuşuna basarak uzaktan root girişini devre dışı bırakmanız önerilir.
5. Remove test database and access to it?: Varsayılan olarak gelen test veritabanı da güvenlik riski oluşturabilir. Y tuşuna basarak bunu kaldırmanız önerilir.
6. Reload privilege tables now?: Yukarıdaki değişikliklerin hemen uygulanması için ayrıcalık tablolarının yeniden yüklenmesi gerekir. Y tuşuna basarak işlemi tamamlayın.
Bu adımları tamamladıktan sonra MySQL sunucunuz daha güvenli hale gelecektir.
MySQL Durumunu Kontrol Etme
MySQL sunucusunun düzgün çalışıp çalışmadığını kontrol etmek için:
sudo systemctl status mysql
Çıktıda “active (running)” ifadesini görmeniz, MySQL’in çalıştığını gösterir.
MySQL’e Bağlanma ve Yeni Kullanıcı/Veritabanı Oluşturma
Web uygulamalarınız için genellikle root kullanıcısı yerine, belirli ayrıcalıklara sahip ayrı bir veritabanı kullanıcısı oluşturmak daha güvenlidir.
MySQL kabuğuna bağlanın:
mysql -u root -p
Parola istendiğinde, MySQL root parolanızı girin.
Şimdi, uygulamanız için yeni bir veritabanı ve kullanıcı oluşturalım. mydatabase, myuser ve password yerine kendi tercih ettiğiniz değerleri kullanın:
CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Bu komutlar sırasıyla:
* mydatabase adında yeni bir veritabanı oluşturur ve UTF-8 desteği ekler.
* myuser adında, sadece localhost‘tan bağlanabilen ve password parolasına sahip yeni bir kullanıcı oluşturur.
* myuser kullanıcısına mydatabase üzerindeki tüm ayrıcalıkları verir.
* Ayrıcalık tablolarını güncelleyerek değişikliklerin hemen etkili olmasını sağlar.
* MySQL kabuğundan çıkar.
Artık web uygulamanız, myuser kullanıcısı ve password parolası ile mydatabase veritabanına bağlanabilir. Bu adımlarla MySQL sunucunuz da başarılı bir şekilde kurulmuş ve yapılandırılmıştır.
4. PHP Kurulumu
LAMP yığınının “P” harfini temsil eden PHP, dinamik web içeriği oluşturmak için kullanılan sunucu tarafı bir betik dilidir. Apache ile entegre çalışarak web uygulamalarınızın mantığını yürütür ve veritabanıyla etkileşim kurar.
Temel PHP Paketi ve Apache Entegrasyonu
Ubuntu 16.04 genellikle PHP 7.0 ile gelir. PHP’yi ve Apache ile entegrasyonu sağlayan modülü kurmak için aşağıdaki komutu kullanın:
sudo apt install php libapache2-mod-php php-mysql
* php: Temel PHP yorumlayıcısı ve ilgili dosyaları kurar.
* libapache2-mod-php: PHP’nin Apache ile bir modül olarak çalışmasını sağlayan pakettir. Bu sayede Apache, .php uzantılı dosyaları PHP yorumlayıcısına iletebilir.
* php-mysql: PHP’nin MySQL veritabanlarıyla etkileşim kurmasını sağlayan uzantıdır. Bu, web uygulamalarınızın veritabanına bağlanabilmesi için kritik öneme sahiptir.
Kurulum tamamlandıktan sonra, Apache’nin PHP modülünü yüklemesi için yeniden başlatılması gerekir:
sudo systemctl restart apache2
Yaygın Kullanılan PHP Uzantıları
Çoğu modern web uygulaması, temel PHP kurulumunun ötesinde çeşitli PHP uzantılarına ihtiyaç duyar. Bu uzantılar, görüntü işleme, cURL ile dış kaynaklara bağlanma, çok dilli karakter setlerini yönetme gibi farklı işlevsellikler sağlar. İhtiyaçlarınıza göre ek uzantıları kurabilirsiniz. İşte bazı yaygın kullanılan uzantılar ve kurulum komutu:
sudo apt install php-cli php-gd php-curl php-mbstring php-xml php-zip
* php-cli: PHP’yi komut satırından çalıştırmak için kullanılan arayüzdür. Geliştirme ve bakım görevleri için faydalıdır.
* php-gd: Görüntü işleme fonksiyonları sağlar (örneğin, küçük resim oluşturma, resim boyutlandırma).
* php-curl: Çeşitli protokoller (HTTP, FTP vb.) kullanarak uzak sunucularla iletişim kurmayı sağlar. API entegrasyonları için vazgeçilmezdir.
* php-mbstring: Çok baytlı karakter dizilerini (örneğin, Türkçe, Çince gibi dillerdeki karakterler) düzgün bir şekilde işlemek için kullanılır.
* php-xml: XML verilerini işlemek için fonksiyonlar sağlar.
* php-zip: ZIP arşivlerini oluşturma ve yönetme yeteneği sunar.
Kurulumdan sonra, yeni uzantıların etkinleşmesi için Apache’yi tekrar yeniden başlatın:
sudo systemctl restart apache2
PHP Sürümünü Kontrol Etme
Kurulu PHP sürümünü kontrol etmek için komut satırında aşağıdaki komutu kullanabilirsiniz:
php -v
Bu, PHP sürümünüzü ve ilgili bilgileri gösterecektir. Ubuntu 16.04 üzerinde genellikle PHP 7.0.x sürümünü görmelisiniz.
5. PHP’nin Çalıştığını Test Etme
Apache’nin PHP dosyalarını doğru bir şekilde işleyip işlemediğini test etmek için, web kök dizininize basit bir PHP bilgi dosyası oluşturalım.
info.php Dosyası Oluşturma
Varsayılan Apache web kök dizini /var/www/html‘dir. Bu dizinde info.php adında yeni bir dosya oluşturalım:
sudo nano /var/www/html/info.php
Dosyanın içine aşağıdaki kodu ekleyin:
Dosyayı kaydedin ve kapatın (Nano’da CTRL+X, Y ve Enter).
Tarayıcıdan Kontrol
Şimdi web tarayıcınızı açın ve sunucunuzun IP adresine info.php dosyasını ekleyerek gidin:
http://your_server_ip/info.php
Eğer her şey yolundaysa, PHP’nin yapılandırma ayarları, kurulu uzantılar ve diğer bilgileri içeren kapsamlı bir PHP bilgi sayfasını görmelisiniz. Bu sayfa, PHP’nin Apache ile başarılı bir şekilde entegre olduğunu gösterir.
Güvenlik Uyarısı
phpinfo() sayfası, sunucunuz hakkında hassas bilgiler (PHP sürümü, yapılandırma yolları, uzantılar vb.) içerir. Bu bilgiler potansiyel saldırganlar tarafından kötüye kullanılabilir. Bu nedenle, testi tamamladıktan sonra info.php dosyasını sunucunuzdan kaldırmanız şiddetle tavsiye edilir:
sudo rm /var/www/html/info.php
Bu adım, LAMP yığınınızın temel kurulumunu tamamlar ve PHP’nin düzgün çalıştığını doğrular. Artık web uygulamalarınızı geliştirmeye veya mevcut olanları dağıtmaya başlayabilirsiniz.
6. Ek Yapılandırmalar ve Güvenlik İpuçları
LAMP yığınınızın temel kurulumu tamamlanmış olsa da, üretim ortamları için veya daha spesifik ihtiyaçlar için bazı ek yapılandırmalar ve güvenlik önlemleri almak önemlidir.
Apache Virtual Host Kurulumu
Birden fazla web sitesini aynı sunucu üzerinde barındırmak istiyorsanız, Virtual Host’ları kullanmanız gerekir. Virtual Host’lar, Apache’ye belirli bir alan adı için hangi dizinden içerik sunacağını ve hangi yapılandırmaları kullanacağını söyler.
Yeni bir Virtual Host dosyası oluşturalım. Örneğin, your_domain.com için:
sudo nano /etc/apache2/sites-available/your_domain.com.conf
İçine aşağıdaki temel yapılandırmayı ekleyin. your_domain.com yerine kendi alan adınızı, /var/www/your_domain yerine ise sitenizin dosyalarının bulunacağı dizini yazın:
ServerAdmin webmaster@localhost
ServerName your_domain.com
ServerAlias www.your_domain.com
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
* ServerAdmin: Yöneticinin e-posta adresi.
* ServerName: Alan adınız.
* ServerAlias: Alan adınızın alternatifleri (örn. www.your_domain.com).
* DocumentRoot: Web sitenizin dosyalarının bulunduğu kök dizin. Bu dizini oluşturmayı unutmayın: sudo mkdir -p /var/www/your_domain.
* ErrorLog ve CustomLog: Hata ve erişim kayıtlarının tutulacağı yerler.
* bloğu: DocumentRoot dizini için özel ayarlar tanımlar. AllowOverride All Apache’nin .htaccess dosyalarını okumasına izin verir, bu da WordPress gibi CMS’ler için önemlidir.
Virtual Host dosyasını kaydettikten sonra, yeni Virtual Host’u etkinleştirin ve varsayılan Virtual Host’u devre dışı bırakın (eğer artık kullanmayacaksanız):
sudo a2ensite your_domain.com.conf
sudo a2dissite 000-default.conf
Son olarak, Apache’yi yeniden başlatarak değişiklikleri uygulayın:
sudo systemctl restart apache2
Alan adınızın DNS kayıtlarını sunucunuzun IP adresine yönlendirdiğinizden emin olun.
PHP Yapılandırması (php.ini)
PHP’nin çalışma şeklini kontrol eden ana yapılandırma dosyası php.ini‘dir. Ubuntu 16.04’te Apache için PHP yapılandırma dosyası genellikle /etc/php/7.0/apache2/php.ini konumunda bulunur. Bu dosyayı düzenleyerek PHP’nin performansını ve güvenlik ayarlarını optimize edebilirsiniz.
sudo nano /etc/php/7.0/apache2/php.ini
Bazı yaygın olarak değiştirilen direktifler şunlardır:
* upload_max_filesize: Bir HTTP POST isteğiyle yüklenebilecek maksimum dosya boyutu.
* post_max_size: POST verilerinin maksimum boyutu. upload_max_filesize değerinden büyük veya eşit olmalıdır.
* memory_limit: Bir betiğin kullanabileceği maksimum bellek miktarı.
* max_execution_time: Bir betiğin çalışmasına izin verilen maksimum süre (saniye cinsinden).
* display_errors: Hataların tarayıcıda gösterilip gösterilmeyeceğini belirler. Üretim ortamlarında Off olarak ayarlanmalıdır (display_errors = Off) ve hatalar log dosyalarına (error_log) yazdırılmalıdır.
* date.timezone: PHP betiklerinin tarih ve saat fonksiyonlarını doğru kullanabilmesi için zaman dilimini ayarlayın (örn. date.timezone = Europe/Istanbul).
Değişiklikleri yaptıktan sonra dosyayı kaydedin ve Apache’yi yeniden başlatın:
sudo systemctl restart apache2
MySQL Güvenliği (Tekrar Vurgu)
MySQL veritabanınız, web uygulamanızın en hassas verilerini içerir. Bu nedenle, güvenliğine özel önem vermelisiniz:
* Güçlü Parolalar: MySQL root ve uygulama kullanıcıları için her zaman karmaşık ve tahmin edilmesi zor parolalar kullanın.
* En Az Ayrıcalık Prensibi: Her veritabanı kullanıcısına yalnızca ihtiyaç duyduğu ayrıcalıkları verin. Örneğin, bir web uygulaması kullanıcısının genellikle DROP veya GRANT gibi ayrıcalıklara ihtiyacı yoktur.
* Uzak Erişimi Kısıtlama: MySQL sunucusuna uzaktan erişimi mümkün olduğunca kısıtlayın. Uygulamalarınız genellikle aynı sunucu üzerinde çalıştığı için localhost‘tan erişim yeterlidir. Eğer uzaktan erişim gerekiyorsa, bunu belirli IP adresleriyle sınırlayın.
* Veritabanı Yedeklemeleri: Veri kaybını önlemek için düzenli olarak veritabanı yedeklemeleri alın.
SSL/TLS Kurulumu (HTTPS)
Web sitenizin güvenliğini ve ziyaretçi gizliliğini sağlamak için SSL/TLS sertifikası kullanarak HTTPS’ye geçmek hayati öneme sahiptir. Let’s Encrypt, ücretsiz, otomatik ve açık bir Sertifika Yetkilisi (CA) olup, kolayca SSL sertifikaları almanızı sağlar.
Let’s Encrypt istemcisi Certbot’u kurun:
sudo apt install certbot python-certbot-apache
Ardından, alan adınız için bir SSL sertifikası alın. Bu komut, Apache yapılandırmanızı otomatik olarak güncelleyecektir:
sudo certbot --apache -d your_domain.com -d www.your_domain.com
Certbot size bir e-posta adresi sağlamanızı ve hizmet şartlarını kabul etmenizi isteyecektir. Ayrıca HTTP trafiğini HTTPS’ye yönlendirmek isteyip istemediğinizi de soracaktır. Genellikle “Redirect” seçeneğini tercih etmek en iyisidir. Sertifikalar otomatik olarak yenilenecek şekilde ayarlanır, bu da yönetimi kolaylaştırır.
Düzenli Güncellemeler
Sisteminizi ve kurulu tüm bileşenleri düzenli olarak güncellemek, güvenlik açıklarını kapatmak ve performans iyileştirmelerinden yararlanmak için kritik öneme sahiptir:
sudo apt update && sudo apt upgrade
Bu komutu düzenli aralıklarla (örneğin, haftalık veya aylık) çalıştırmak, sunucunuzun güvenli ve güncel kalmasını sağlar.
Sonuç
Bu kapsamlı rehberde, Ubuntu 16.04 sunucusu üzerine güçlü ve esnek LAMP (Linux, Apache, MySQL, PHP) yığınını başarıyla kurdunuz ve temel yapılandırmalarını gerçekleştirdiniz. Sistem güncellemelerinden başlayarak, her bir bileşenin (Apache, MySQL, PHP) kurulumunu, güvenlik duvarı ayarlarını, veritabanı kullanıcı oluşturmayı ve PHP’nin çalıştığını doğrulamayı adım adım ele aldık. Ayrıca, Virtual Host kurulumu, PHP yapılandırması, MySQL güvenliği, Let’s Encrypt ile SSL/TLS entegrasyonu ve düzenli güncellemeler gibi ek yapılandırmalar ve güvenlik ipuçları hakkında da bilgi edindiniz.
Artık dinamik web siteleri ve uygulamaları barındırmak için sağlam bir temele sahipsiniz. Bu yığın üzerinde WordPress, Joomla, Drupal gibi popüler içerik yönetim sistemlerini kurabilir, kendi özel web uygulamalarınızı geliştirebilir veya çeşitli web tabanlı hizmetleri dağıtabilirsiniz. Unutmayın ki Ubuntu 16.04 bir LTS sürümü olsa da, daha yeni Ubuntu sürümleri (örneğin 18.04, 20.04 veya 22.04) daha güncel yazılım paketleri ve güvenlik yamaları sunmaktadır. Uzun vadeli projeleriniz için daha yeni bir LTS sürümüne geçiş yapmayı düşünebilirsiniz, ancak bu rehber, LAMP yığınının temel prensiplerini ve kurulum adımlarını anlamanız için mükemmel bir başlangıç noktası sağlamıştır. Güvenlik ve performans için sisteminizi düzenli olarak izlemeye ve güncellemeye devam etmeniz, başarılı bir web sunucusu yönetimi için kritik öneme sahiptir.
