CentOS 7’de Linux, Apache, MySQL, PHP (LAMP) Yığını Nasıl Kurulur

Giriş

“LAMP” yığını, bir sunucunun dinamik web sitelerini ve web uygulamalarını barındırmasını sağlamak için genellikle birlikte yüklenen bir grup açık kaynaklı yazılımdır. Bu terim aslında A pache web sunucusu ile birlikte L inux işletim sistemini temsil eden bir kısaltmadır . Site verileri bir M ySQL veritabanında (MariaDB kullanılarak) saklanır ve dinamik içerik P HP tarafından işlenir .

Bu kılavuzda, bir CentOS 7 VPS üzerine kurulu bir LAMP yığını alacağız. CentOS ilk ihtiyacımızı karşılayacak: bir Linux işletim sistemi.

Not: LAMP yığını, başlatılırken bu komut dosyasını Kullanıcı Verilerine ekleyerek Droplet’inize otomatik olarak yüklenebilir . Damlacık Kullanıcı Verileri hakkında daha fazla bilgi edinmek için bu eğiticiye göz atın .

Önkoşullar

Bu kılavuza başlamadan önce, sunucunuzda ayrı, root olmayan bir kullanıcı hesabınızın kurulu olması gerekir. CentOS 7 için ilk sunucu kurulumunda 1-4 arası adımları tamamlayarak bunu nasıl yapacağınızı öğrenebilirsiniz .

Birinci Adım – Apache’yi Yükleyin

Apache web sunucusu şu anda dünyadaki en popüler web sunucusudur ve bu da onu bir web sitesini barındırmak için mükemmel bir varsayılan seçenek haline getirir.

Apache’yi CentOS’un paket yöneticisini kullanarak kolayca kurabiliriz yum. Bir paket yöneticisi, çoğu yazılımı sorunsuz bir şekilde CentOS tarafından sağlanan bir depodan yüklememize olanak tanır. Nasıl kullanılacağı hakkındayum buradan daha fazla bilgi edinebilirsiniz.

Amaçlarımız için şu komutları yazarak başlayabiliriz:

sudo yum install httpd

sudoKomut kullandığımız için bu işlemler root ayrıcalıklarıyla yürütülüyor. Niyetinizi doğrulamak için sizden normal kullanıcı şifrenizi isteyecektir.

Daha sonra web sunucunuz kurulur.

Kurulduktan sonra, Apache’yi VPS’nizde başlatabilirsiniz:

sudo systemctl start httpd.service

Web tarayıcınızda sunucunuzun genel IP adresini ziyaret ederek her şeyin planlandığı gibi gittiğini doğrulamak için hemen nokta kontrolü yapabilirsiniz (bu bilgiye sahip değilseniz genel IP adresinizin ne olduğunu öğrenmek için sonraki başlığın altındaki nota bakın. zaten):

http://your_server_IP_address/

Bilgilendirme ve test amaçlı olan varsayılan CentOS 7 Apache web sayfasını göreceksiniz. Bunun gibi bir şeye benzemeli:

Bu sayfayı görürseniz, web sunucunuz artık doğru bir şekilde kurulmuştur.

Yapmak isteyeceğiniz son şey, Apache’nin önyükleme sırasında başlamasını sağlamaktır. Bunu yapmak için aşağıdaki komutu kullanın:

sudo systemctl enable httpd.service

Sunucunuzun Genel IP Adresini Nasıl Bulunur?

Sunucunuzun genel IP adresinin ne olduğunu bilmiyorsanız, onu bulmanın birkaç yolu vardır. Bu genellikle sunucunuza SSH aracılığıyla bağlanmak için kullandığınız adrestir.

Komut satırından bunu birkaç yolla bulabilirsiniz. Öncelikle, şunu iproute2yazarak adresinizi almak için araçları kullanabilirsiniz :

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Bu size bir veya iki satır geri verecektir. Her ikisi de doğru adreslerdir, ancak bilgisayarınız bunlardan yalnızca birini kullanabilir, bu nedenle her birini denemekten çekinmeyin.

Alternatif bir yöntem nasıl söylemek dışarıdan bir partiyi kullanmaktır o sunucu görür. Bunu, belirli bir sunucuya IP adresinizin ne olduğunu sorarak yapabilirsiniz:

curl http://icanhazip.com

IP adresinizi almak için kullandığınız yöntem ne olursa olsun, sunucunuza ulaşmak için web tarayıcınızın adres çubuğuna yazabilirsiniz.

İkinci Adım – MySQL (MariaDB) Kurun

Artık web sunucumuz hazır ve çalışır durumda olduğuna göre, MySQL’in yerini alan MariaDB’yi kurmanın zamanı geldi. MariaDB, MySQL ilişkisel veritabanı yönetim sisteminin topluluk tarafından geliştirilen bir çataldır. Temel olarak, sitemizin bilgileri depolayabileceği veritabanlarını düzenleyecek ve bunlara erişim sağlayacaktır.

Yine, yumyazılımımızı edinmek ve kurmak için kullanabiliriz . Bu sefer, bileşenlerimizin birbiriyle iletişim kurmasını sağlamamıza yardımcı olacak başka “yardımcı” paketler de kuracağız:

sudo yum install mariadb-server mariadb

Kurulum tamamlandığında, MariaDB’yi aşağıdaki komutla başlatmamız gerekir:

sudo systemctl start mariadb

Artık MySQL veritabanımız çalıştığına göre, bazı tehlikeli varsayılanları kaldıracak ve veritabanı sistemimize erişimi biraz engelleyecek basit bir güvenlik komut dosyası çalıştırmak istiyoruz. Etkileşimli komut dosyasını çalıştırarak başlatın:

sudo mysql_secure_installation

Komut istemi sizden mevcut kök şifrenizi soracaktır. MySQL’i yeni kurduğunuz için, büyük olasılıkla bir tane sahip olmayacaksınız, bu yüzden enter tuşuna basarak boş bırakın. Ardından komut istemi size bir kök şifresi belirlemek isteyip istemediğinizi soracaktır. Devam edin ve girin Yve talimatları izleyin:

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorization.

New password: password
Re-enter new password: password
Password updated successfully!
Reloading privilege tables..
 ... Success!

Soruların geri kalanı için, varsayılan değerleri kabul etmek için her komut isteminde “ENTER” tuşuna basmanız yeterlidir. Bu, bazı örnek kullanıcıları ve veritabanlarını kaldıracak, uzak kök oturumlarını devre dışı bırakacak ve MySQL’in yaptığımız değişikliklere hemen saygı göstermesi için bu yeni kuralları yükleyecektir.

Yapmak isteyeceğiniz son şey, MariaDB’nin önyükleme sırasında başlamasını sağlamaktır. Bunu yapmak için aşağıdaki komutu kullanın:

sudo systemctl enable mariadb.service

Bu noktada, veritabanı sisteminiz artık kurulmuştur ve devam edebiliriz.

Üçüncü Adım – PHP’yi Yükleyin

PHP, dinamik içeriği görüntülemek için kodu işleyecek kurulumumuzun bileşenidir. Komut dosyalarını çalıştırabilir, bilgi almak için MySQL veritabanlarımıza bağlanabilir ve işlenen içeriği görüntülemek için web sunucumuza teslim edebilir.

yumBileşenlerimizi kurmak için sistemden bir kez daha yararlanabiliriz . Php-mysql paketini de dahil edeceğiz:

sudo yum install php php-mysql

Bu, PHP’yi sorunsuz bir şekilde kurmalıdır. PHP ile çalışabilmesi için Apache web sunucusunu yeniden başlatmamız gerekiyor. Bunu yazarak yapabilirsiniz:

sudo systemctl restart httpd.service

PHP Modüllerini Kurun

PHP’nin işlevselliğini geliştirmek için, isteğe bağlı olarak bazı ek modüller kurabiliriz.

PHP modülleri ve kitaplıkları için mevcut seçenekleri görmek için, bunu sisteminize yazabilirsiniz:

yum search php-

Sonuçlar, takabileceğiniz tüm isteğe bağlı bileşenlerdir. Her biri için size kısa bir açıklama verecektir:

php-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php-cli.x86_64 : Command-line interface for PHP
php-common.x86_64 : Common files for PHP
php-dba.x86_64 : A database abstraction layer module for PHP applications
php-devel.x86_64 : Files needed for building PHP extensions
php-embedded.x86_64 : PHP library for embedding in applications
php-enchant.x86_64 : Enchant spelling extension for PHP applications
php-fpm.x86_64 : PHP FastCGI Process Manager
php-gd.x86_64 : A module for PHP applications for using the gd graphics library
. . .

Her bir modülün ne yaptığı hakkında daha fazla bilgi almak için internette arama yapabilir veya paketteki uzun açıklamaya şunu yazarak bakabilirsiniz:

yum info package_name

DescriptionModülün sağladığı işlevselliğin daha uzun bir açıklamasına sahip olan bir alan aranan çok sayıda çıktı olacaktır.

Örneğin, php-fpmmodülün ne yaptığını öğrenmek için şunu yazabiliriz:

yum info php-fpm

Çok sayıda başka bilginin yanı sıra, şuna benzer bir şey bulacaksınız:

. . .
Summary     : PHP FastCGI Process Manager
URL         : http://www.php.net/
License     : PHP and Zend and BSD
Description : PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI
            : implementation with some additional features useful for sites of
            : any size, especially busier sites.

Araştırdıktan sonra, bir paket kurmak istediğinize karar verirseniz, bunu, yum installdiğer yazılımlarımız için yaptığımız gibi , komutu kullanarak yapabilirsiniz .

Bunun php-fpmihtiyacımız olan bir şey olduğuna karar verirsek, şunu yazabiliriz:

sudo yum install php-fpm

Birden fazla modül kurmak istiyorsanız, bunu her birini bir boşlukla ayırarak ve aşağıdaki yum installgibi komutu takip ederek yapabilirsiniz :

sudo yum install package1 package2 ...

Bu noktada, LAMP yığınınız kurulur ve yapılandırılır. Yine de PHP’mizi test etmeliyiz.

Dördüncü Adım – Web Sunucunuzda PHP İşlemesini Test Edin

Sistemimizin PHP için doğru yapılandırıldığını test etmek için çok basit bir PHP betiği oluşturabiliriz.

Bu senaryoyu arayacağız info.php. Apache’nin dosyayı bulması ve doğru bir şekilde sunması için “web kökü” adı verilen çok özel bir dizine kaydedilmesi gerekir.

CentOS 7’de bu dizin, adresinde bulunur /var/www/html/. Dosyayı şu konumda yazarak oluşturabiliriz:

sudo vi /var/www/html/info.php

Bu boş bir dosya açacaktır. Geçerli PHP kodu olan aşağıdaki metni dosyanın içine koymak istiyoruz:

<?php phpinfo(); ?>

Bitirdiğinizde, dosyayı kaydedin ve kapatın.

Bir güvenlik duvarı çalıştırıyorsanız, HTTP ve HTTPS trafiğine izin vermek için aşağıdaki komutları çalıştırın:

sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Artık web sunucumuzun bir PHP betiği tarafından oluşturulan içeriği doğru şekilde görüntüleyip görüntüleyemeyeceğini test edebiliriz. Bunu denemek için web tarayıcımızda bu sayfayı ziyaret etmeliyiz. Sunucunuzun genel IP adresine tekrar ihtiyacınız olacak.

Ziyaret etmek istediğiniz adres:

http://your_server_IP_address/info.php

Geldiğiniz sayfa şuna benzemelidir:

Bu sayfa temelde size PHP perspektifinden sunucunuz hakkında bilgi verir. Hata ayıklama ve ayarlarınızın doğru bir şekilde uygulandığından emin olmak için kullanışlıdır.

Bu başarılı olduysa, PHP’niz beklendiği gibi çalışıyor demektir.

Yetkisiz kullanıcılara sunucunuz hakkında bilgi verebileceğinden, muhtemelen bu testten sonra bu dosyayı kaldırmak isteyeceksiniz. Bunu yapmak için şunu yazabilirsiniz:

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

Bilgilere daha sonra tekrar erişmeniz gerekirse bu sayfayı her zaman yeniden oluşturabilirsiniz.

Kaynak