Bir web sitesi sahibi olmak istediğinizde, bunun en kolay yöntemi hosting satın alıp, domain kayıt işlemi yapmaktır. Hosting hizmetleri sunan firmalar, aslında paylaşımlı bir hosting hizmeti sunar ve çeşitli limitleri bulunur. Web siteniz fazla ziyaretçi alıp, paylaşımlı hosting hizmetinin sınırlarını aşıyorsa (cpu ve ram limiti gibi) artık sanal sunucu veya fiziksel bir sunucu kiralama zamanınız gelmiş demektir.
Sunucu işlemlerinde de en kolay yöntem bir web hosting kontrol paneli kurup, hosting hizmetlerinizi kontrol paneli üzerinden yönetmek olacaktır. İnternet piyasasında, Cpanel, Plesk, Directadmin gibi ücretli veya VestaCP, CentosWebPanel, Sentora gibi ücretsiz paneller bulunur. Bu bağlamda ücretli veya ücretsiz panelleri kurup, kolayca web hosting hizmetlerinizi yönetebilirsiniz.
Fakat bir web hosting kontrol paneline gerçekten ihtiyacınız var mı? Örneğin sadece bir web sitesi kullanıp, mail kullanmayacaksanız web hosting kontrol paneli kurulduğunda sizin için gereksiz mail uygulamaları kurup cpu ve ram tüketimi yapacaktır. Bunun yerine işletim sisteminize sadece ihtiyacınızı karşılayacak uygulamaları kurmanız ve web hosting kontrol paneli tercih etmememiz daha sağlıklı olacaktır. İşte burada devreye LAMP giriyor.
Bu yazıda neler var?
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.
Bu incelememizde Centos üzerine detaylı bir şekilde Apache, Mysql ve PHP kurulumu gerçekleştireceğiz.
Centos 7 kurulumunu yapmadıysanız Centos 7 kurulumu yazımızdan kurulumu gerçekleştirebilirsiniz.
Centos 7 Güncelleme ve Ön hazırlık
Centos 7’yi kurduktan sonra ilk yapmamız işlemlerden birisi, güncelleme işlemi ve işlemleri yapacağımız birkaç küçük uygulama kurmaktır.
yum -y update
komutu ile sistemimizi güncelleyelim.
![](https://blog.pendc.com/wp-content/uploads/2019/09/yumupdate.png)
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.
Artık kurulum işlemlerine geçebiliriz.
Centos Apache Kurulumu
İlk kurulum işleminde Apache ile http servisini kuruyoruz.
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.
![](https://blog.pendc.com/wp-content/uploads/2020/01/apache_default.png)
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
Her ne kadar Mysql kurulumu başlığını atsak da, Centos üzerinde varsayılan repolarda Mysql bulunmuyor, bunun yerine MariaDB kurulumu gerçekleştireceğiz. Öncelikle MariaDB kurulumunu gerçekleştirelim, eğer Mysql kurmak istiyorsanız MariaDB kurulumunu pas geçebilirsiniz.
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.
![](https://blog.pendc.com/wp-content/uploads/2020/01/mysql-successful-installation.png)
Mariadb servisinin başlangıçta çalışması için alttaki komutu yazalım;
systemctl enable mariadb.service
Centos 7 mysql kurulum işlemleri için linkteki yazımızı takip edebilirsiniz.
Centos 7 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://ipadresi/info.php yazdığınızda PHP’nin info sayfasının geldiğini görmelisiniz;
![](https://blog.pendc.com/wp-content/uploads/2020/01/php-running.png)
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.
Add Comment