วิธีการติดตั้ง Apache, MySQL และ PHP (FAMP) Stack บน FreeBSD 12.0

บทนำ

FAMP stack ซึ่งเทียบได้กับ LAMP stack บน Linux คือชุดของซอฟต์แวร์โอเพนซอร์ซที่โดยทั่วไปจะติดตั้งร่วมกันเพื่อให้เซิร์ฟเวอร์ FreeBSD สามารถโฮสต์เว็บไซต์และแอปพลิเคชันเว็บแบบไดนามิก FAMP เป็นตัวย่อที่ย่อมาจากF reeBSD (ระบบปฏิบัติการ), A pache (เซิร์ฟเวอร์ HTTP), M ySQL (เซิร์ฟเวอร์ฐานข้อมูล) และP HP (ภาษาการเขียนโปรแกรมเพื่อประมวลผลเนื้อหา PHP แบบไดนามิก)

ในคู่มือนี้เราจะปรับใช้องค์ประกอบของสแต็ก FAMP ในอินสแตนซ์ของ FreeBSD 12.0 Vultr โดยใช้pkgตัวจัดการแพ็คเกจ FreeBSD

ความต้องการ

ก่อนที่คุณจะเริ่มคู่มือนี้คุณจะต้องมีสิ่งต่อไปนี้:

  • FreeBSD 12.0 VPS
  • ผู้ใช้ที่มีสิทธิ์ใช้งานรูทหรือsudoผู้ใช้ทำการเปลี่ยนแปลงการกำหนดค่า
  • แนะนำให้ใช้ความคุ้นเคยพื้นฐานกับระบบ FreeBSD และอินเตอร์เฟสบรรทัดคำสั่ง

ก่อนที่จะเริ่ม

ตรวจสอบเวอร์ชั่น FreeBSD

uname -ro
# FreeBSD 12.0-RELEASE-p6

ตรวจสอบให้แน่ใจว่าระบบ FreeBSD ของคุณทันสมัย

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

ติดตั้งแพ็คเกจที่จำเป็น

pkg install -y sudo vim bash curl

สร้างบัญชีผู้ใช้ใหม่ด้วยชื่อผู้ใช้ที่คุณต้องการ 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!

รันvisudoคำสั่งและยกเลิกหมายเหตุ%wheel ALL=(ALL) ALLบรรทัดเพื่ออนุญาตให้สมาชิกของwheelกลุ่มเรียกใช้งานคำสั่งใด ๆ

visudo

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

ตอนนี้เปลี่ยนเป็นผู้ใช้ที่คุณสร้างใหม่ด้วยsu:

su - johndoe

หมายเหตุ: แทนที่johndoeด้วยชื่อผู้ใช้ของคุณ

ตั้งค่าเขตเวลา:

sudo tzsetup

ขั้นตอนที่ 1 - การติดตั้ง Apache

เว็บเซิร์ฟเวอร์ Apache ปัจจุบันเป็นหนึ่งในเว็บเซิร์ฟเวอร์ยอดนิยมที่สุดในโลก มันเป็นตัวเลือกที่ยอดเยี่ยมสำหรับการโฮสต์เว็บไซต์

คุณสามารถติดตั้ง Apache ใช้จัดการแพคเกจของ pkgFreeBSD, ผู้จัดการแพ็คเกจช่วยให้คุณสามารถติดตั้งซอฟต์แวร์ส่วนใหญ่ได้อย่างง่ายดายจากที่เก็บซึ่งดูแลโดย FreeBSD คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการใช้งานpkgที่นี่

ในการติดตั้ง Apache ให้ใช้คำสั่งต่อไปนี้:

sudo pkg install -y apache24

ตรวจสอบเวอร์ชั่น:

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

ตอนนี้เปิดใช้งานและเริ่ม Apache:

sudo sysrc apache24_enable=yes
sudo service apache24 start

เพื่อตรวจสอบว่า Apache เริ่มต้นแล้วคุณสามารถเรียกใช้คำสั่งต่อไปนี้:

sudo service apache24 status

ดังนั้นคุณจะเห็นสิ่งที่คล้ายกับ:

# Output
apache24 is running as pid 17772.

คุณสามารถตรวจสอบว่า Apache ได้รับการติดตั้งและทำงานโดยไม่มีข้อผิดพลาดโดยไปที่ที่อยู่ IP สาธารณะของเซิร์ฟเวอร์ของคุณในเว็บเบราว์เซอร์ของคุณ http://your_server_IPนำทางไปยัง คุณจะเห็นหน้าเริ่มต้น "ใช้งานได้! " ของ Apache

ขั้นตอนที่ 2 - การติดตั้ง MySQL 8.0

ตอนนี้คุณมีเว็บเซิร์ฟเวอร์และใช้งานได้แล้วก็ถึงเวลาที่จะติดตั้ง MySQL ซึ่งเป็นระบบจัดการฐานข้อมูลเชิงสัมพันธ์ เซิร์ฟเวอร์ MySQL จะจัดระเบียบและให้การเข้าถึงฐานข้อมูลที่เซิร์ฟเวอร์ของคุณสามารถจัดเก็บข้อมูล

อีกครั้งคุณสามารถใช้pkgเพื่อรับและติดตั้งซอฟต์แวร์ของคุณ

ในการติดตั้ง MySQL 8.0โดยpkgใช้คำสั่งนี้:

sudo pkg install -y mysql80-client mysql80-server

คำสั่งนี้จะติดตั้งรุ่นล่าสุดของลูกค้า MySQL 8.x.xและเซิร์ฟเวอร์ที่เป็นอยู่ในปัจจุบัน

ตรวจสอบเวอร์ชั่น:

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

ตอนนี้เปิดใช้งานและเริ่ม MySQL:

sudo sysrc mysql_enable=yes
sudo service mysql-server start

เพื่อตรวจสอบว่า MySQL เริ่มทำงานแล้วคุณสามารถเรียกใช้คำสั่งต่อไปนี้:

sudo service mysql-server status

คุณจะดูสิ่งที่คล้ายกับที่แสดงต่อไปนี้:

# Output
mysql is running as pid 19171.

ตามแนวปฏิบัติที่ดีคุณอาจเรียกใช้mysql_secure_installationสคริปต์ความปลอดภัยที่จะลบค่าเริ่มต้นที่ไม่ปลอดภัยและ จำกัด การเข้าถึงระบบฐานข้อมูลของคุณเล็กน้อย

sudo mysql_secure_installation

คุณจะถูกขอให้ตั้งรหัสผ่านตามด้วยคำถามอื่น ๆ ป้อนรหัสผ่านที่คาดเดายากจากนั้นกดคำถามที่เหลือENTERเพื่อเลือกค่าเริ่มต้น

ขั้นตอนที่ 3 - การติดตั้ง PHP 7.3

PHP เป็นภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ที่ออกแบบมาสำหรับการพัฒนาเว็บ PHP เป็นองค์ประกอบที่ขาดไม่ได้ของ FAMP stack นอกจากนี้ Python หรือ Perl มักใช้แทน PHP อย่างไรก็ตาม PHP เป็นตัวเลือกที่นิยมใช้บ่อยที่สุด เมื่อใช้ร่วมกับฐานข้อมูลมันจะทำให้เว็บไซต์หรือแอพของคุณมีพฤติกรรมแบบไดนามิก

ยกระดับpkgระบบเพื่อติดตั้งคอมโพเนนต์ PHP อีกครั้ง

หากต้องการติดตั้ง PHP 7.3 ด้วยpkgให้เรียกใช้คำสั่งนี้:

sudo pkg install -y php73 php73-mysqli mod_php73

นี้จะติดตั้งphp73, mod_php73และphp73-mysqliแพคเกจ

ตรวจสอบเวอร์ชั่น

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

คัดลอกไฟล์การกำหนดค่า PHP ตัวอย่างลงในตำแหน่งด้วยคำสั่งนี้:

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

ตอนนี้เปิดใช้งานและเริ่ม PHP-FPM:

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

เพื่อตรวจสอบว่า PHP-FPM เริ่มต้นแล้วคุณสามารถเรียกใช้คำสั่งต่อไปนี้:

sudo service php-fpm status

ดังนั้นคุณจะเห็นสิ่งที่คล้ายกับ:

# Output
php_fpm is running as pid 23005.

การติดตั้งโมดูล PHP (ไม่จำเป็น)

เพื่อปรับปรุงการทำงานของ PHP คุณสามารถเลือกติดตั้งโมดูลเพิ่มเติมบางส่วนได้

หากต้องการดูในปัจจุบันรวบรวมในโมดูล PHP คุณสามารถเรียกใช้นี้:

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

# [Zend Modules]

ในการค้นหาโมดูล PHP ที่มีอยู่คุณสามารถใช้คำสั่งนี้:

pkg search ^php73-*

ผลลัพธ์ส่วนใหญ่จะเป็นโมดูล PHP 7.3 ที่คุณสามารถติดตั้งได้:

# 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
# . . .

หากหลังจากทำการวิจัยคุณตัดสินใจว่าคุณต้องติดตั้งแพคเกจคุณสามารถทำได้โดยใช้pkg installคำสั่ง เว็บแอปพลิเคชั่น PHP ส่วนใหญ่จะต้องการโมดูลเพิ่มเติมดังนั้นจึงเป็นการดีที่จะรู้วิธีค้นหาพวกมัน

ขั้นตอนที่ 4 - การกำหนดค่า Apache เพื่อใช้โมดูล PHP

ก่อนที่จะใช้ PHP คุณต้องกำหนดค่าให้ทำงานกับ Apache

เรียกใช้sudo vi /usr/local/etc/apache24/modules.d/001_mod-php.confและเติมไฟล์ด้วยเนื้อหาด้านล่าง:

<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>

บันทึกไฟล์และออกด้วย:+ W+Q

ตรวจสอบการกำหนดค่าของ Apache

sudo apachectl configtest

เนื่องจากคุณได้ทำการเปลี่ยนแปลงการกำหนดค่าใน Apache คุณต้องโหลดบริการใหม่เพื่อนำไปใช้ มิฉะนั้น Apache จะยังคงทำงานกับการกำหนดค่าก่อนหน้า

sudo apachectl restart

ขั้นตอนที่ 5 - ทดสอบการประมวลผล PHP

เพื่อทดสอบว่าระบบของคุณได้รับการกำหนดค่าอย่างถูกต้องสำหรับ PHP คุณสามารถสร้างสคริปต์ PHP ขั้นพื้นฐานได้ คุณจะเรียกสคริปต์info.phpนี้ โดยค่าเริ่มต้นมีการตั้งค่าDocumentRoot /usr/local/www/apache24/dataคุณสามารถสร้างinfo.phpไฟล์ภายใต้ตำแหน่งนั้นโดยพิมพ์:

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

เพิ่มรหัสนี้ลงในไฟล์:

<?php phpinfo(); ?>

นำทางไปยังhttp://your_server_IP/info.phpและคุณจะเห็นหน้าต่อไปนี้:

วิธีการติดตั้ง Apache, MySQL และ PHP (FAMP) Stack บน FreeBSD 12.0

หลังจากการติดตั้งและการตั้งค่า FAMP แบบกองซ้อนคุณควรลบinfo.phpไฟล์เพื่อหลีกเลี่ยงการเปิดเผยข้อมูลเกี่ยวกับเซิร์ฟเวอร์ต่อสาธารณะ

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

ข้อสรุป

ขอแสดงความยินดีคุณได้ติดตั้ง FAMP สแต็กบน FreeBSD 12.0 VPS ของคุณสำเร็จแล้ว ตอนนี้คุณมีหลายทางเลือกสำหรับสิ่งที่ต้องทำต่อไป คุณได้ติดตั้งแพลตฟอร์มที่จะช่วยให้คุณสามารถติดตั้งเว็บไซต์และซอฟต์แวร์เว็บส่วนใหญ่ได้

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true