FreeBSD 12.0 Üzerinde Apache, MySQL ve PHP (FAMP) Yığını Nasıl Yüklenir

Giriş

Linux'taki bir LAMP yığını ile karşılaştırılabilir bir FAMP yığını, bir FreeBSD sunucusunun dinamik web sitelerini ve web uygulamalarını barındırmasını sağlamak için genellikle birlikte kurulan bir açık kaynak yazılım koleksiyonudur. FAMP , F reeBSD (işletim sistemi), A önbellek (HTTP sunucusu), M ySQL (veritabanı sunucusu) ve P HP (dinamik PHP içeriğini işlemek için programlama dili ) anlamına gelen bir kısaltmadır .

Bu kılavuzda, bir FAMP yığınının öğelerini pkg, FreeBSD paket yöneticisi olan bir FreeBSD 12.0 Vultr örneğine dağıtacağız .

Gereksinimler

Bu kılavuza başlamadan önce aşağıdakilere ihtiyacınız olacaktır:

  • Bir FreeBSD 12.0 VPS.
  • Kök ayrıcalıklarına sahip bir kullanıcı veya sudoyapılandırma değişiklikleri yapmak için kullanıcı.
  • FreeBSD sistemi ve komut satırı arayüzü ile temel aşinalık önerilir.

Sen başlamadan önce

FreeBSD sürümünü kontrol edin.

uname -ro
# FreeBSD 12.0-RELEASE-p6

FreeBSD sisteminizin güncel olduğundan emin olun.

freebsd-update fetch install
pkg update && pkg upgrade -y

Gerekli paketleri kurun.

pkg install -y sudo vim bash curl

Tercih ettiğiniz kullanıcı adıyla yeni bir kullanıcı hesabı oluşturun. Biz kullanıyoruz johndoe.

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

Grup üyelerinin herhangi bir komutu yürütmesine izin vermek için visudokomutu çalıştırın ve %wheel ALL=(ALL) ALLsatırı kaldırın wheel.

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

Şimdi, yeni oluşturduğunuz kullanıcıya şu yolla geçin su:

su - johndoe

NOT: Kullanıcı adınızla değiştirin johndoe.

Saat dilimini ayarlayın:

sudo tzsetup

Adım 1 - Apache Kurulumu

Apache web sunucusu şu anda dünyanın en popüler web sunucularından biridir. Bir web sitesi barındırmak için mükemmel bir seçimdir.

Apache'yi FreeBSD'nin paket yöneticisini pkg,. Paket yöneticisi, çoğu yazılımı FreeBSD tarafından tutulan bir depodan zahmetsizce kurmanıza izin verir. Nasıl kullanılacağıpkg hakkında daha fazla bilgiyi buradan edinebilirsiniz .

Apache'yi kurmak için aşağıdaki komutu verin:

sudo pkg install -y apache24

Versiyonu kontrol et:

httpd -v
# Server version: Apache/2.4.39 (FreeBSD)

Şimdi Apache'yi etkinleştirin ve başlatın:

sudo sysrc apache24_enable=yes
sudo service apache24 start

Apache'nin başlatıldığını kontrol etmek için aşağıdaki komutu çalıştırabilirsiniz:

sudo service apache24 status

Sonuç olarak, aşağıdakine benzer bir şey görürsünüz:

# Output
apache24 is running as pid 17772.

Web tarayıcınızda sunucunuzun genel IP adresini ziyaret ederek Apache'nin kurulduğunu ve sorunsuz çalıştığını doğrulayabilirsiniz. Adresine gidin http://your_server_IP. Varsayılan " Çalışıyor! " Apache sayfasını göreceksiniz .

Adım 2 - MySQL 8.0 Kurulumu

Artık web sunucunuzu çalışır duruma getirdiğinize göre, ilişkisel veritabanı yönetim sistemi olan MySQL'i kurmanın zamanı geldi. MySQL sunucusu, sunucunuzun bilgi depolayabileceği veritabanlarını organize eder ve bunlara erişim sağlar.

Yine, pkgyazılımınızı edinmek ve yüklemek için kullanabilirsiniz .

MySQL yüklemek için 8.0kullanan pkg, bu komutu kullanın:

sudo pkg install -y mysql80-client mysql80-server

Bu komut, şu anda MySQL istemcisinin ve sunucusunun en son sürümünü yükleyecektir 8.x.x.

Versiyonu kontrol et:

mysql --version
# mysql  Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)

Şimdi MySQL'i etkinleştirin ve başlatın:

sudo sysrc mysql_enable=yes
sudo service mysql-server start

MySQL'in başladığını kontrol etmek için aşağıdaki komutu çalıştırabilirsiniz:

sudo service mysql-server status

Aşağıdakine benzer bir şey görürsünüz:

# Output
mysql is running as pid 19171.

İyi bir uygulama olarak, mysql_secure_installationbazı güvenli olmayan varsayılanları kaldıracak ve veritabanı sisteminize erişimi biraz sınırlandıracak güvenlik komut dosyasını çalıştırabilirsiniz .

sudo mysql_secure_installation

Bir şifre belirlemeniz ve ardından başka sorular sormanız istenecektir. Güçlü bir parola girin ve ardından kalan sorular ENTERiçin varsayılanları seçmek üzere düğmesine basın .

Adım 3 - PHP 7.3 Kurulumu

PHP, web geliştirme için tasarlanmış bir sunucu tarafı kodlama dilidir. PHP, FAMP yığınının vazgeçilmez bir bileşenidir. Ayrıca, PHP yerine Python veya Perl yaygın olarak kullanılmaktadır. Ancak, PHP en popüler seçenek olarak en sık kullanılır. Veritabanıyla birlikte, web sitelerinize veya uygulamalarınıza dinamik davranış sağlar.

pkgPHP bileşenlerini kurmak için sistemden bir kez daha yararlanın .

PHP 7.3 ile birlikte kurmak için pkgşu komutu çalıştırın:

sudo pkg install -y php73 php73-mysqli mod_php73

Bu yükler php73, mod_php73ve php73-mysqlipaketler.

Versiyonu kontrol et.

php --version
# PHP 7.3.7 (cli) (built: Jul 25 2019 01:28:53) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies

Örnek PHP yapılandırma dosyasını şu komutla yerine kopyalayın:

sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Şimdi, PHP-FPM'yi etkinleştirin ve başlatın:

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

PHP-FPM'nin başladığını kontrol etmek için aşağıdaki komutu çalıştırabilirsiniz:

sudo service php-fpm status

Sonuç olarak, aşağıdakine benzer bir şey görürsünüz:

# Output
php_fpm is running as pid 23005.

PHP Modüllerini Kurmak (İsteğe Bağlı)

PHP'nin işlevselliğini artırmak için isteğe bağlı olarak bazı ek modüller yükleyebilirsiniz.

Şu anda PHP modüllerinde derlenmiş olanları görmek için şunu çalıştırabilirsiniz:

php -m
# [PHP Modules]
# Core
# date
# libxml
# mysqlnd
# pcre
# Reflection
# SPL
# standard

# [Zend Modules]

Kullanılabilir PHP modüllerini aramak için şu komutu kullanabilirsiniz:

pkg search ^php73-*

Sonuçlar çoğunlukla yükleyebileceğiniz PHP 7.3 modülleri olacaktır:

# Output
# php73-7.3.7                    PHP Scripting Language
# php73-Ice37-3.7.2              Modern alternative to object middleware such as CORBA/COM/DCOM/COM+
# php73-aphpbreakdown-2.2.2      Code-Analyzer for PHP for Compatibility Check-UP
# php73-aphpunit-1.8             Testing framework for unit tests
# php73-bcmath-7.3.7             The bcmath shared extension for php
# php73-brotli-0.7.0             Brotli extension for PHP
# php73-bsdconv-11.5.0           PHP wrapper for bsdconv
# php73-bz2-7.3.7                The bz2 shared extension for php
# php73-calendar-7.3.7           The calendar shared extension for php
# php73-composer-1.8.6           Dependency Manager for PHP
# php73-ctype-7.3.7              The ctype shared extension for php
# php73-curl-7.3.7               The curl shared extension for php
# . . .

Araştırdıktan sonra, bir paket kurmanız gerektiğine karar verirseniz, bunu pkg installkomutu kullanarak yapabilirsiniz . Çoğu PHP web uygulaması ek modüller gerektirir, bu nedenle bunları nasıl arayacağınızı bilmek iyidir.

Adım 4 - Apache'yi PHP Modülünü Kullanacak Şekilde Yapılandırma

PHP'yi kullanmadan önce, Apache ile çalışacak şekilde yapılandırmalısınız.

sudo vi /usr/local/etc/apache24/modules.d/001_mod-php.confDosyayı aşağıdaki içerikle çalıştırın ve doldurun:

<IfModule dir_module>
  DirectoryIndex index.php index.html
  <FilesMatch "\.php$">
    SetHandler application/x-httpd-php
  </FilesMatch>
  <FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
  </FilesMatch>
</IfModule>

Dosyayı kaydedin ve :+ W+ ile çıkınQ

Apache'nin yapılandırmasını kontrol edin.

sudo apachectl configtest

Apache'de yapılandırma değişiklikleri yaptığınızdan, uygulanacaklar için hizmeti yeniden yüklemeniz gerekir. Aksi takdirde, Apache daha önceki yapılandırmayla çalışmaya devam edecektir.

sudo apachectl restart

Adım 5 - PHP İşlemeyi Test Etme

Sisteminizin PHP için doğru yapılandırıldığını test etmek için çok temel bir PHP betiği oluşturabilirsiniz. Bu komut dosyasını çağıracaksınız info.php. Varsayılan olarak, DocumentRootolarak ayarlıdır /usr/local/www/apache24/data. Aşağıdakileri info.phpyazarak dosyayı bu konum altında oluşturabilirsiniz :

sudo vim /usr/local/www/apache24/data/info.php

Bu kodu bu dosyaya ekleyin:

<?php phpinfo(); ?>

Şuraya gidin http://your_server_IP/info.phpve aşağıdaki sayfayı göreceksiniz:

FreeBSD 12.0 Üzerinde Apache, MySQL ve PHP (FAMP) Yığını Nasıl Yüklenir

FAMP yığın kurulum ve kurulumundan sonra info.php, sunucu hakkındaki bilgileri halka açıklamaktan kaçınmak için dosyayı kaldırmalısınız .

sudo rm /usr/local/www/apache24/data/info.php

Sonuç

Tebrikler, FreeBSD 12.0 VPS'nize başarıyla bir FAMP yığını kurdunuz. Şimdi ne yapacağınız için birden fazla seçeneğiniz var. Üstüne birçok web sitesi ve web yazılımı yüklemenizi sağlayacak bir platform yüklediniz.



Leave a Comment

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun