Ubuntu 18.04’e 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 tipik olarak birlikte kurulan 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 saklanır ve dinamik içerik P HP tarafından işlenir .

Bu kılavuzda, bir Ubuntu 18.04 sunucusuna bir LAMP yığını kuracağız.

Önkoşullar

Bu öğreticiyi tamamlamak için, root olmayan bir sudokullanıcı hesabına ve temel bir güvenlik duvarına sahip bir Ubuntu 18.04 sunucusuna ihtiyacınız olacak . Bu, Ubuntu 18.04 için ilk sunucu kurulum kılavuzumuz kullanılarak yapılandırılabilir .

Adım 1 – Apache Kurulumu ve Güvenlik Duvarının Güncellenmesi

Apache web sunucusu, dünyanın en popüler web sunucuları arasındadır. İyi belgelenmiştir ve web tarihinin büyük bölümünde yaygın olarak kullanılmaktadır, bu da onu bir web sitesini barındırmak için mükemmel bir varsayılan seçenek haline getirir.

Apache Ubuntu’nun paket yöneticisini kullanarak yükleme apt:

sudo apt update
sudo apt install apache2

Bu bir sudokomut olduğu için bu işlemler root ayrıcalıklarıyla yürütülür. Niyetinizi doğrulamak için sizden normal kullanıcı şifrenizi isteyecektir.

Parolanızı girdikten sonra, apthangi paketleri kurmayı planladığını ve ne kadar fazla disk alanı kaplayacağını size söyleyecektir. YDevam ENTERetmek için basın ve tıklayın , kurulum devam edecektir.

Güvenlik Duvarını Web Trafiğine İzin Verecek Şekilde Ayarlayın

Ardından, ilk sunucu kurulum talimatlarını izlediğinizi ve UFW güvenlik duvarını etkinleştirdiğinizi varsayarak, güvenlik duvarınızın HTTP ve HTTPS trafiğine izin verdiğinden emin olun. UFW’nin Apache için aşağıdaki gibi bir uygulama profiline sahip olup olmadığını kontrol edebilirsiniz:

sudo ufw app list
OutputAvailable applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

Apache FullProfile bakarsanız, bağlantı noktalarına trafik sağladığını 80ve 443:

sudo ufw app info "Apache Full"
OutputProfile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.

Ports:
  80,443/tcp

Bu profil için gelen HTTP ve HTTPS trafiğine izin verin:

sudo ufw allow in "Apache Full"

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

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

Ubuntu 18.04 Apache varsayılanı

Bu sayfayı görürseniz, web sunucunuz artık doğru şekilde kurulmuştur ve güvenlik duvarınız üzerinden erişilebilir durumdadır.

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.

Bunu komut satırından yapmanın birkaç farklı yolu vardır. Öncelikle, şunu iproute2yazarak IP adresinizi almak için araçları kullanabilirsiniz :

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

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

Alternatif bir yöntem kullanmaktır curlnasıl söylemek bir dış tarafla temas programı o sunucu görür. Bu, belirli bir sunucuya IP adresinizin ne olduğunu sorarak yapılır:

sudo apt install curl
curl http://icanhazip.com

IP adresinizi almak için kullandığınız yöntemden bağımsız olarak, varsayılan Apache sayfasını görüntülemek için web tarayıcınızın adres çubuğuna yazın.

Adım 2 – MySQL’i Kurmak

Artık web sunucunuz hazır ve çalışır durumda olduğuna göre, MySQL’i kurmanın zamanı geldi. MySQL, bir veritabanı yönetim sistemidir. Temel olarak, sitenizin bilgileri depolayabileceği veritabanlarını düzenleyecek ve bunlara erişim sağlayacaktır.

Yine, aptbu yazılımı edinmek ve kurmak için kullanın :

sudo apt install mysql-server

Not : Bu durumda, sudo apt updatekomuttan önce çalıştırmanız gerekmez . Bunun nedeni, Apache’yi kurmak için onu yakın zamanda yukarıdaki komutlarda çalıştırmış olmanızdır. Bilgisayarınızdaki paket dizini zaten güncel olmalıdır.

Bu komut da size yükleyecekleri disk alanı miktarıyla birlikte yüklenecek paketlerin bir listesini gösterecektir. Devam Yetmek için girin .

Kurulum tamamlandığında, bazı tehlikeli varsayılanları kaldıran ve veritabanı sisteminize erişimi kilitleyen MySQL ile önceden yüklenmiş olarak gelen basit bir güvenlik komut dosyası çalıştırın. Etkileşimli komut dosyasını çalıştırarak başlatın:

sudo mysql_secure_installation

Bu VALIDATE PASSWORD PLUGIN,.

Not: Bu özelliği etkinleştirmek, bir karar çağrısıdır. Etkinleştirilirse, belirtilen kriterlere uymayan şifreler MySQL tarafından bir hata ile reddedilecektir. PhpMyAdmin için Ubuntu paketleri gibi MySQL kullanıcı kimlik bilgilerini otomatik olarak yapılandıran yazılımla birlikte zayıf bir parola kullanırsanız bu sorunlara neden olacaktır. Doğrulamayı devre dışı bırakmak güvenlidir, ancak veritabanı kimlik bilgileri için her zaman güçlü, benzersiz parolalar kullanmalısınız.

Evet’i Yveya etkinleştirmeden devam etmek için herhangi bir şeyi yanıtlayın.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:

“Evet” cevabını verirseniz, bir şifre doğrulama seviyesi seçmeniz istenecektir. Girerseniz unutmayın 2güçlü düzeyi için üst numaraları ve küçük harfleri ve özel karakterler içermiyor veya ortak Sözlük kelimelere dayalı olan herhangi bir şifre ayarlamak çalışırken hatalarla alacaksınız.

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

Kurmayı VALIDATE PASSWORD PLUGINseçip seçmemenize bakılmaksızın, sunucunuz bundan sonra MySQL kök kullanıcısı için bir parola seçmenizi ve onaylamanızı isteyecektir . Bu, MySQL’de artan ayrıcalıklara sahip bir yönetici hesabıdır. Bunu sunucunun kendi kök hesabına benzer olarak düşünün ( şu anda yapılandırmakta olduğunuz hesap MySQL’e özgü bir hesap olsa da). Bunun güçlü, benzersiz bir şifre olduğundan emin olun ve boş bırakmayın.

Parola doğrulamayı etkinleştirdiyseniz, girdiğiniz kök parolanın parolası size gösterilecek ve sunucunuz bu parolayı değiştirmek isteyip istemediğinizi soracaktır. Mevcut şifrenizden memnunsanız N, istemde “hayır” yazın:

Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

Soruların geri kalanı Yiçin ENTER, her komut isteminde tuşuna basın ve tuşuna basın . Bu, bazı anonim kullanıcıları ve test veritabanını kaldıracak, uzak kök oturum açma işlemlerini devre dışı bırakacak ve MySQL’in yaptığınız değişikliklere anında saygı göstermesi için bu yeni kuralları yükleyecektir.

MySQL 5.7 (ve sonraki sürümleri) çalıştıran Ubuntu sistemlerinde, kök MySQL kullanıcısının auth_socketbir şifre yerine varsayılan olarak eklentiyi kullanarak kimlik doğrulaması yapacak şekilde ayarlandığını unutmayın. Bu, birçok durumda daha fazla güvenlik ve kullanılabilirlik sağlar, ancak harici bir programın (örn. PhpMyAdmin) kullanıcıya erişmesine izin vermeniz gerektiğinde işleri karmaşıklaştırabilir.

MySQL’e kök olarak bağlanırken bir parola kullanmayı tercih ederseniz , kimlik doğrulama yöntemini olarak olarak auth_socketdeğiştirmeniz gerekecektir mysql_native_password. Bunu yapmak için terminalinizden MySQL istemini açın:

sudo mysql

Ardından, aşağıdaki komutla MySQL kullanıcı hesaplarınızın her birinin hangi kimlik doğrulama yöntemini kullandığını kontrol edin:

SELECT user,authentication_string,plugin,host FROM mysql.user;
Output+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)

Bu örnekte, kök kullanıcının aslında auth_socketeklentiyi kullanarak kimlik doğrulaması yaptığını görebilirsiniz . Kök hesabını bir parolayla kimlik doğrulaması yapacak şekilde yapılandırmak için aşağıdaki ALTER USERkomutu çalıştırın . passwordSeçtiğiniz güçlü bir şifreyle değiştirdiğinizden emin olun :

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Ardından, FLUSH PRIVILEGESsunucuya hibe tablolarını yeniden yüklemesini ve yeni değişikliklerinizi yürürlüğe koymasını söyleyen çalıştır :

FLUSH PRIVILEGES;

Kökün artık auth_socketeklentiyi kullanarak kimlik doğrulaması yapmadığını onaylamak için her bir kullanıcınız tarafından kullanılan kimlik doğrulama yöntemlerini tekrar kontrol edin :

SELECT user,authentication_string,plugin,host FROM mysql.user;
Output+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)

Bu örnek çıktıda, kök MySQL kullanıcısının artık bir parola kullanarak kimlik doğrulaması yaptığını görebilirsiniz. Bunu kendi sunucunuzda onayladıktan sonra MySQL kabuğundan çıkabilirsiniz:

exit

Bu noktada, veritabanı sisteminiz artık kurulmuştur ve LAMP yığınının son bileşeni olan PHP’yi kurmaya geçebilirsiniz.

Adım 3 – PHP’yi Kurmak

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

Bir kez daha, aptPHP’yi kurmak için sistemden yararlanın. Ek olarak, PHP kodunun Apache sunucusu altında çalışabilmesi ve MySQL veritabanınızla konuşabilmesi için bu sefer bazı yardımcı paketleri ekleyin:

sudo apt install php libapache2-mod-php php-mysql

Bu, PHP’yi sorunsuz bir şekilde kurmalıdır. Bunu birazdan test edeceğiz.

Çoğu durumda, bir dizin istendiğinde Apache’nin dosyaları sunma şeklini değiştirmek isteyeceksiniz. Şu anda, bir kullanıcı sunucudan bir dizin isterse, Apache önce adlı bir dosyayı arayacaktır index.html. Web sunucusuna PHP dosyalarını diğerlerine tercih etmesini söylemek istiyoruz, bu yüzden Apache’nin index.phpönce bir dosya aramasını sağlayın .

Bunu yapmak için, dir.confdosyayı kök ayrıcalıklarına sahip bir metin düzenleyicide açmak için bu komutu yazın :

sudo nano /etc/apache2/mods-enabled/dir.conf

Bunun gibi görünecek:/etc/apache2/mods-enabled/dir.conf

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

PHP dizin dosyasını (yukarıda vurgulanan) DirectoryIndexbelirtimden sonra aşağıdaki gibi ilk konuma taşıyın :/etc/apache2/mods-enabled/dir.conf

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Bitirdiğinizde, dosyayı kaydedip tuşuna basarak kapatın CTRL+X. Kaydetmeyi yazarak onaylayın Yve ardından ENTERdosya kaydetme konumunu doğrulamak için tuşuna basın.

Bundan sonra, değişikliklerinizin tanınması için Apache web sunucusunu yeniden başlatın. Bunu yazarak yapın:

sudo systemctl restart apache2

Ayrıca aşağıdakileri apache2kullanarak hizmetin durumunu kontrol edebilirsiniz systemctl:

sudo systemctl status apache2
Sample Output● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Tue 2018-04-23 14:28:43 EDT; 45s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 13581 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
  Process: 13605 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
    Tasks: 6 (limit: 512)
   CGroup: /system.slice/apache2.service
           ├─13623 /usr/sbin/apache2 -k start
           ├─13626 /usr/sbin/apache2 -k start
           ├─13627 /usr/sbin/apache2 -k start
           ├─13628 /usr/sbin/apache2 -k start
           ├─13629 /usr/sbin/apache2 -k start
           └─13630 /usr/sbin/apache2 -k start

QBu durum çıktısından çıkmak için basın .

PHP’nin işlevselliğini geliştirmek için bazı ek modüller kurma seçeneğiniz vardır. PHP modülleri ve kitaplıkları için mevcut seçenekleri görmek için, sonuçlarını diğer komutların çıktıları arasında gezinmenizi sağlayan bir çağrı apt searchcihazına lessaktarın:

apt search php- | less

Yukarı ve aşağı kaydırmak için ok tuşlarını kullanın ve Qçıkmak için tuşuna basın .

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

bandwidthd-pgsql/bionic 2.0.1+cvs20090917-10ubuntu1 amd64
  Tracks usage of TCP/IP and builds html files with graphs

bluefish/bionic 2.2.10-1 amd64
  advanced Gtk+ text editor for web and software development

cacti/bionic 1.1.38+ds1-1 all
  web interface for graphing of monitoring systems

ganglia-webfrontend/bionic 3.6.1-3 all
  cluster monitoring toolkit - web front-end

golang-github-unknwon-cae-dev/bionic 0.0~git20160715.0.c6aac99-4 all
  PHP-like Compression and Archive Extensions in Go

haserl/bionic 0.9.35-2 amd64
  CGI scripting program for embedded environments

kdevelop-php-docs/bionic 5.2.1-1ubuntu2 all
  transitional package for kdevelop-php

kdevelop-php-docs-l10n/bionic 5.2.1-1ubuntu2 all
  transitional package for kdevelop-php-l10n
…
:

Her modülün ne yaptığı hakkında daha fazla bilgi edinmek için, onlar hakkında daha fazla bilgi için internette arama yapabilirsiniz. Alternatif olarak, paketin uzun açıklamasına şunu yazarak bakın:

apt show 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-climodülün ne yaptığını öğrenmek için şunu yazabilirsiniz:

apt show php-cli

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

Output…
Description: command-line interpreter for the PHP scripting language (default)
 This package provides the /usr/bin/php command interpreter, useful for
 testing PHP scripts from a shell or performing general shell scripting tasks.
 .
 PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
 open source general-purpose scripting language that is especially suited
 for web development and can be embedded into HTML.
 .
 This package is a dependency package, which depends on Ubuntu's default
 PHP version (currently 7.2).
…

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

Bunun php-cliihtiyacınız olan bir şey olduğuna karar verdiyseniz, şunu yazabilirsiniz:

sudo apt install php-cli

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

sudo apt install package1 package2 ...

Bu noktada, LAMP yığınınız kurulur ve yapılandırılır. Başka bir şey yapmadan önce, sunucunuzun yapılandırma ayrıntılarını saklayabileceğiniz bir Apache sanal ana bilgisayarı kurmanızı öneririz.

Apache web sunucusunu kullanırken, yapılandırma ayrıntılarını kapsüllemek ve tek bir sunucudan birden fazla etki alanını barındırmak için sanal konakları (Nginx’teki sunucu bloklarına benzer) kullanabilirsiniz. Alan_adiniz adında bir alan oluşturacağız , ancak bunu kendi alan adınızla değiştirmelisiniz . DigitalOcean ile bir alan adı oluşturma hakkında daha fazla bilgi edinmek için DigitalOcean DNS’e Giriş bölümümüze bakın .

Ubuntu 18.04 üzerindeki Apache, dizinden belgeleri sunmak için yapılandırılmış varsayılan olarak etkinleştirilmiş bir sunucu bloğuna sahiptir /var/www/html. Bu, tek bir site için iyi çalışsa da, birden fazla siteyi barındırıyorsanız, hantal hale gelebilir. Değiştirmek yerine, alan_adiniz sitemiz için /var/www/htmlbir dizin yapısı oluşturalım ve bir müşteri isteği diğer sitelerle eşleşmezse sunulacak varsayılan dizin olarak yerinde bırakalım ./var/www/var/www/html

Dizinini oluştur alan_adiniz.com.tr adresindeki şöyle:

sudo mkdir /var/www/your_domain

Ardından, dizinin sahipliğini $USERortam değişkeniyle atayın :

sudo chown -R $USER:$USER /var/www/your_domain

unmaskDeğerinizi değiştirmediyseniz, web köklerinizin izinleri doğru olmalıdır , ancak şunu yazarak emin olabilirsiniz:

sudo chmod -R 755 /var/www/your_domain

Ardından, veya favori düzenleyicinizi index.htmlkullanarak bir örnek sayfa oluşturun nano:

nano /var/www/your_domain/index.html

İçeriye aşağıdaki örnek HTML’yi ekleyin:/var/www/your_domain/index.html

<html>
    <head>
        <title>Welcome to Your_domain!</title>
    </head>
    <body>
        <h1>Success!  The your_domain server block is working!</h1>
    </body>
</html>

Bitirdiğinizde dosyayı kaydedin ve kapatın.

Apache’nin bu içeriği sunabilmesi için doğru yönergelere sahip bir sanal konak dosyası oluşturmak gerekir. /etc/apache2/sites-available/000-default.confDoğrudan adresinde bulunan varsayılan yapılandırma dosyasını değiştirmek yerine, şu adresten yeni bir tane yapalım :/etc/apache2/sites-available/your_domain.conf

sudo nano /etc/apache2/sites-available/your_domain.conf

Varsayılana benzeyen, ancak yeni dizinimiz ve alan adımız için güncellenen aşağıdaki yapılandırma bloğunu yapıştırın:/etc/apache2/sites-available/your_domain.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Alanını DocumentRootyeni dizinimize ve alan_adiniz site yöneticisinin erişebileceği ServerAdminbir e-postaya güncellediğimize dikkat edin . Ayrıca iki yönerge ekledik: Bu sanal ana bilgisayar tanımıyla eşleşmesi gereken temel etki alanını oluşturan ve temel admış gibi eşleşmesi gereken diğer adları tanımlayan.ServerNameServerAlias

Bitirdiğinizde dosyayı kaydedin ve kapatın.

Dosyayı a2ensitearaçla etkinleştirelim :

sudo a2ensite your_domain.conf

Aşağıda tanımlanan varsayılan siteyi devre dışı bırakın 000-default.conf:

sudo a2dissite 000-default.conf

Ardından, yapılandırma hatalarını test edelim:

sudo apache2ctl configtest

Aşağıdaki çıktıyı görmelisiniz:

OutputSyntax OK

Değişikliklerinizi uygulamak için Apache’yi yeniden başlatın:

sudo systemctl restart apache2

Apache, şimdi alan adınıza hizmet ediyor olmalıdır. Bunu, aşağıdaki gibi bir şey görmeniz gereken yere giderek test edebilirsiniz :http://your_domain

Apache sanal konak örneği

Bununla, sanal ana makineniz tamamen kurulmuş olur. Daha fazla değişiklik yapmadan veya bir uygulamayı konuşlandırmadan önce, çözülmesi gereken herhangi bir sorun olması durumunda PHP yapılandırmanızı proaktif olarak test etmeniz faydalı olacaktır.

Adım 5 – Web Sunucunuzda PHP İşlemeyi Test Etme

Sisteminizin PHP için doğru yapılandırıldığını test etmek için, adlı çok basit bir PHP betiği oluşturun info.php. Apache’nin bu dosyayı bulması ve doğru bir şekilde sunması için web kök dizininize kaydedilmesi gerekir.

Önceki adımda oluşturduğunuz web kökünde dosyayı şu şekilde oluşturun:

sudo nano /var/www/your_domain/info.php

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

<?php
phpinfo();
?>

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

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

Ziyaret etmek isteyeceğiniz adres:

http://your_domain/info.php

Geldiğiniz sayfa şuna benzemelidir:

Ubuntu 18.04 varsayılan PHP bilgisi

Bu sayfa, PHP perspektifinden sunucunuz hakkında bazı temel bilgiler sağlar. Hata ayıklama ve ayarlarınızın doğru bir şekilde uygulandığından emin olmak için kullanışlıdır.

Bu sayfayı tarayıcınızda görebiliyorsanız, 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 aşağıdaki komutu çalıştırın:

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

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

Sonuç

Artık bir LAMP yığınına sahip olduğunuza göre, daha sonra ne yapacağınız konusunda birçok seçeneğiniz var. Temel olarak, sunucunuza çoğu türde web sitesi ve web yazılımı kurmanıza izin verecek bir platform kurdunuz.

Hemen bir sonraki adım olarak, web sunucunuza HTTPS aracılığıyla hizmet vererek bağlantıların güvenliğini sağlamalısınız. Buradaki en kolay seçenek , sitenizi ücretsiz bir TLS / SSL sertifikası ile güvence altına almak için Let’s Encrypt’i kullanmaktır .

Diğer bazı popüler seçenekler şunlardır:

Kaynak