Blog / Makaleler

Linux Centos 7 için Apache ve PHP 7.3 kurulumu

Bu yazı 2020 yılından. Anlatılan sürümler, fiyatlar ve adresler o günden bu yana değişmiş olabilir.

Apache, Apache Foundation tarafından geliştirilen bir HTTP sunucusudur. Tarayıcıdan gelen istekleri dinleyip karşılık veren, yani web sitenizi ziyaretçilere sunan yazılımdır. Bu yazıda hem Apache'yi hem de PHP'yi sunucumuza kuracağız.

Güncelleme (Kasım 2026): Bu yazıyı 2020'de yazmıştım ve o günden beri çok şey değişti. CentOS 7'nin desteği Haziran 2024'te bitti, PHP 7.3 ise Aralık 2021'de güncelleme almayı bıraktı. Eski komutlardaki depo adresleri de artık çalışmıyor. Yazıyı bugünkü haline göre güncelledim; PHP sürümünü de desteklenen güncel bir sürümle değiştirdim.

Önce dağıtım seçimi

Yeni bir sunucu kuruyorsanız CentOS 7 kullanmayın, desteği bitti. Onun yerine Rocky Linux ya da AlmaLinux kurun; ikisi de CentOS'un yerini tutmak için çıktı ve komutları neredeyse birebir aynı. Aşağıda hem bu güncel dağıtımlar hem de elinde hâlâ CentOS 7 olanlar için anlatıyorum. Komutları yönetici yetkisiyle çalıştırmanız gerektiği için başlarına sudo ekledim.

Elinizdeki sunucu CentOS 7 ise, depoları arşive taşındığı için önce şu düzeltmeyi yapın, yoksa yum komutları hata verir:

Terminal
sudo sed -i 's/^mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo
sudo sed -i 's|^#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo
sudo yum clean all

1. Apache kurulumu

Apache paketinin adı httpd. Kuruyoruz:

Terminal
sudo dnf install -y httpd

(CentOS 7'de dnf yerine yum yazın, ikisi de aynı işi yapar.)

Sunucu açıldığında Apache'nin kendiliğinden başlaması için etkinleştirip çalıştırıyoruz:

Terminal
sudo systemctl enable --now httpd

Son olarak http ve https bağlantıları için güvenlik duvarında gerekli portları açıyoruz:

Terminal
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Artık tarayıcıya sunucunuzun IP adresini yazdığınızda sizi Apache'nin test sayfası karşılar.

2. PHP kurulumu

PHP'nin sunucu depolarındaki sürümü genelde eski olduğu için güncel sürümü Remi deposundan kuracağız. Remi, PHP'nin bütün sürümlerini hazır tutan, bu işte standart haline gelmiş bir depo.

Önce Remi deposunu ekliyoruz. Aşağıdaki komut Rocky / AlmaLinux (sürüm 9) içindir:

Terminal
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
sudo dnf install -y dnf-utils

(AlmaLinux/Rocky 8 kullanıyorsanız remi-release-9.rpm yerine remi-release-8.rpm, hâlâ CentOS 7'deyseniz yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm yazın.)

Şimdi hangi PHP sürümünü istediğimizi seçiyoruz. Eski yazıda PHP 7.3 kurmuştuk ama o sürüm artık güvenlik güncellemesi almıyor. Bu yüzden güncel ve desteklenen PHP 8.3'ü kuruyoruz:

Terminal
sudo dnf module reset php -y
sudo dnf module enable php:remi-8.3 -y
sudo dnf install -y php php-opcache php-mysqlnd php-gd php-mbstring php-xml

Yanına en sık lazım olan eklentileri de (veritabanı, görsel, metin işleme) ekledim. İhtiyacınıza göre azaltıp çoğaltabilirsiniz.

CentOS 7'de dnf module komutu çalışmaz. Orada sürümü şöyle seçersiniz: sudo yum-config-manager --enable remi-php83 ardından sudo yum install -y php php-opcache php-mysqlnd.

Kurulum bittikten sonra Apache'yi yeniden başlatıyoruz, PHP artık aktif:

Terminal
sudo systemctl restart httpd

Çalışıyor mu diye test etmek

PHP'nin çalıştığını görmek için geçici bir test dosyası oluşturabilirsiniz:

Terminal
echo "<?php phpinfo();" | sudo tee /var/www/html/info.php

Tarayıcıdan http://sunucu-ip/info.php adresine girdiğinizde PHP'nin sürümünü ve ayarlarını gösteren bir sayfa açılır.

⚠️ Bu dosya sunucunuzun bütün yapılandırmasını dışarıya gösterir. Test bittikten sonra mutlaka silin, güvenlik açısından açık bırakmayın:

Terminal
sudo rm /var/www/html/info.php

Web sitenizin dosyalarını /var/www/html/ klasörünün içine koyarak yayına alabilirsiniz.

Bu yazıyı paylaşXFacebook