Linux

Centos Apache+Mysql+PHP kurulumu

yazar root

Daha önce web hosting kontrol paneline ihtiyacınız var mı şeklinde bir yazı yazmıştık. Bu yazıda, standart bir linux hosting kullanıcısı için web işlemlerini nasıl yapılacağını anlatan bir yazı olacaktır. Bu yazımızda LAMP kurulumu gerçekleştireceğiz. Yani bir kontrol paneli kullanmadan web sitenizi yayınlayabilir duruma getirebileceksiniz.

Lamp Nedir?

Lamp, Linux, Apache, Mysql ve PHP uygulamalarının baş harflerinin kısaltmasıdır. Sadece bir kaç web sitesi barındıracak ve bunların üzerinde çok da işlem yapmayacaksanız, bir kere kurup bıraktıktan sonra, uzun bir süre herhangi bir problem yaşamadan web hosting hizmetini barındırabilirsiniz.

Öncelikle sistemimizi update edelim.

yum -y update

Diyerek sistemimizi güncelleyelim.

Güncelleme işlemi bittikten sonra, dilerseniz “reboot” komutu ile sistemi yeniden başlatabilirsiniz. Daha sonra işimize yarayacak bir iki uygulama kuralım;

yum -y install wget

ve

yum -y install nano

Wget sunucumuza dosya indirmemiz için, nano ise metinleri düzenlememiz için bir editör.

Centos Apache+Mysql+PHP Kurulumu

Apache Kurulumu

yum -y install httpd

Kurulum bittikten sonra http servisini başlatalım;

systemctl start httpd.service

Artık ip adresinizi, tarayıcıya yazdığınızda Apache’nin varsayılan sayfası karşınıza gelecektir.

Not : Eğer ulaşamazsanız firewall (güvenlik duvarı) açık demektir. Firewall’ı durdurup daha sonra pasif (disable) edip, tekrar deneyebilirsiniz.

systemctl stop firewalld
systemctl disable firewalld

Apache servisinin sistem açılışında başlaması için aşağıdaki komutu yazalım ve diğer servisimizin kurulumuna geçelim;

systemctl enable httpd.service

Centos 7 MariaDB Kurulumu

Centos 7 üzerine default repolarda Mysql bulunmuyor onun yerine Mariadb kurulumu gerçekleştireceğiz.

yum install mariadb-server mariadb

MariaDB servisini başlatalım;

systemctl start mariadb

Güvenli Mysql kurulum aracını çalıştıralım;

mysql_secure_installation

Aracı çalıştırdığınızda size bir dizi sorular soracaktır. Bunlara aşağıdaki şekilde cevap verebilirsiniz;

Set root password? [y/n] Y
New password: Kullanmak istediğiniz şifreyi yazın
Re-enter new password: Şifreyi tekrar yazın
Remove anonymous users? [y/n] Y
Disallow root login remotely? [y/n] Y
Remove test database and access to it? [y/n] Y
Reload privilege tables now? [y/n] Y

Kurulum tamamlandığında, aşağıdaki çıktıyı alırsınız.

Mariadb servisinin başlangıçta çalışması için yazalım;

systemctl enable mariadb.service

Centos 7 mysql kurulum işlemleri için linkteki yazımızı takip edebilirsiniz.

PHP Kurulumu

MariaDB kurulumnda olduğu gibi, Centos üzerinde varsayılanlar repolarda şu anda PHP 5.6 versiyonu bulunuyor. İlk etapta bu versiyonu kuralım, eğer farklı bir versiyon kuracaksanız bu kurulumu pas geçin, çünkü EPEL reposu üzerinden kurulum gerçekleştireceğiz.

yum -y install php php-mysql

Http servisini restart etmemiz gerekiyor;

systemctl restart httpd.service 

Centos 7 üzerinde varsayılan apache kök klasörümüz /var/www/html şeklinde. Buraya basit bir phpinfo yazmak için dosyamızı açalım;

nano /var/www/html/info.php

Ve aşağıdakileri kopyalayalım;

<?php

phpinfo ();

?>

Tarayıcınıza http://ipadresiniz/info.php yazdığınızda PHP’nin info sayfasının geldiğini görmelisiniz;

PHP 7.3 Kurulumu

Şu anda güncel PHP versiyonu PHP 7.4.1 şeklinde. Biz PHP 7.3 versiyonunu kuracağız. Bunun için yukarıda değindiğimiz gibi EPEL reposunu aktif etmemiz gerekiyor.

EPEL reposunu yükleyelim;

yum install epel-release
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Yum-utils paketini yükleyelim;

yum install yum-utils

PHP 5.6 versiyonunu disable yapalım;

yum-config-manager --disable remi-php56

PHP 7.3 versiyonunu aktif edelim;

yum-config-manager --enable remi-php73

Ve PHP’yi kuralım;

yum install php

Bu şekilde kurulum gerçekleştirdiğimizde PHP 7.3 versiyonu kuralacaktır.

Centos 7 Virtual Host

Eğer tek bir web siteniz var ise, dosyalarınızı /var/www/html/ dizinine attığınız takdirde, web siteniz hazır duruma gelecektir. Fakat birden fazla web siteniz bulunuyorsa virtual host (vhost) ayarlarınızı yapmamız gerekiyor.

İki adet vhost (hosting) örneği oluşturalım.

Öncelikle hostingin klasörlerini oluşturalım;

mkdir -p /var/www/ornek1.com/httpdocs
mkdir -p /var/www/ornek2.com/httpdocs

Vhost için gerekli .conf dosyalarının tutalacağı dizini oluşturalım;

mkdir /etc/httpd/vhosts

httpd.conf dosyası üzerine bu dosyayı gösterelim;

nano /etc/httpd/conf/httpd.conf

ve ekleyip, dosyayı kaydedip çıkalım.

IncludeOptional vhosts/*.conf

Vhost dosyamızın konfigürasyon dosyasını açalım;

nano /etc/httpd/vhosts/ornek1.com.conf

Aşağıdaki satırları yazıp, dosyayı kaydedelim;

<VirtualHost *:80>
    ServerName www.ornek1.com
    ServerAlias ornek1.com
    DocumentRoot /var/www/ornek1.com/httpdocs
    ErrorLog /var/www/ornek1.com/error.log
    CustomLog /var/www/ornek1.com/requests.log combined
</VirtualHost>

Aynı işlemi ornek2.com domainimiz için de yapalım;

nano /etc/httpd/vhosts/ornek2.com.conf
<VirtualHost *:80>
    ServerName www.ornek2.com
    ServerAlias ornek2.com
    DocumentRoot /var/www/ornek2.com/httpdocs
    ErrorLog /var/www/ornek2.com/error.log
    CustomLog /var/www/ornek2.com/requests.log combined
</VirtualHost>

Ve http servisimizi restart edelim;

systemctl restart httpd.service 

Alan adlarının kök klasörleri yukarıda belirttiğimiz şekilde /var/www/ornek1.com/httpdocs ve /var/www/ornek2.com/httpdocs şeklindedir. Bu klasörlere dosyalarınızı attığınızda tarayıcı üzerinden erişebilir duruma gelecektir.

Centos 7 php extension kurulumu

PHP, Apache ve Mysql kurulum işlemlerinden sonra, web sitelerimizin ihtiyacı olan PHP bileşenlerini kurmamız gerekiyor. Tabi her web sitesinin ihtiyacına göre değişkenlik gösteren PHP bileşenlerinin en popülerlerini aşağıdaki şekilde kurabiliriz;

PHP bileşenleri direkt ismi ile kurabiliriz. Eğer varsayılan repo üzerinden kurulum yaptıysanız extensionları aşağıdaki şekilde kurabiliriz;

yum install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml

Fakat EPEL reposu üzerinden kurulum yaptıysanız, yine EPEL üzerinden de bileşenleri kurmamız gerekecek;

yum --enablerepo=remi,remi-php72 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml

İşlemlerimiz bu kadar. Görüldüğü üzere, direkt olarak sadece bir web sitesi için, Linux Hosting ihtiyaçlarımızı karşılayacak şekilde kurulum yaptık. Dolayısı ile bir kontrol panelinde gelecek olan, ftp, dns, mail gibi servislere ihtiyaç duymadık. FTP yerine SFTP kullanabililirsiniz. DNS için Cloudflare de kullanabilirsiniz. Domainizi aldıktan sonra Cloudflare üzerine tanıtmanız yeterli olacaktır. MAil için ise Yandex veya Gmail’in ücretsiz servislerini kullanabilirsiniz.

About the author

root

Leave a Comment