Ngăn xếp FAMP, tương tự như ngăn xếp LAMP trên Linux, là tập hợp các phần mềm nguồn mở thường được cài đặt cùng nhau để cho phép máy chủ FreeBSD lưu trữ các trang web động và ứng dụng web. FAMP là từ viết tắt của FreereeBSD (hệ điều hành), Apache (máy chủ HTTP), MySQL/MariaDB (máy chủ cơ sở dữ liệu) và PHP (ngôn ngữ lập trình để xử lý nội dung PHP động).
Trong hướng dẫn này, chúng ta sẽ thiết lập các thành phần của ngăn xếp FAMP trên máy chủ FreeBSD 12.1 bằng cách sử dụng
Đảm bảo hệ thống FreeBSD của bạn được cập nhật:
Cài đặt các gói cần thiết:
Tạo một tài khoản người dùng mới với tên người dùng bạn muốn. Chúng tôi sử dụng
Chạy lệnh
Bây giờ, hãy chuyển sang người dùng mới tạo của bạn bằng
LƯU Ý: Thay thế
Thiết lập múi giờ:
Bạn có thể cài đặt Apache bằng trình quản lý gói của FreeBSD,
Để cài đặt Apache, hãy đưa ra lệnh sau:
Kiểm tra phiên bản:
Bây giờ, hãy bật và khởi động Apache:
Để kiểm tra xem Apache đã khởi động chưa, bạn có thể chạy lệnh sau:
Kết quả là, bạn sẽ thấy nội dung tương tự như sau:
Bạn có thể xác minh rằng Apache đã được cài đặt và hoạt động mà không có lỗi bằng cách truy cập địa chỉ IP công khai của máy chủ trong trình duyệt web của bạn. Điều hướng đến
Một lần nữa, bạn có thể sử dụng
Để cài đặt MySQL
Lệnh này sẽ cài đặt phiên bản mới nhất của máy khách và máy chủ MySQL, hiện tại là
Kiểm tra phiên bản:
Bây giờ, hãy bật và khởi động MySQL:
Để kiểm tra xem MySQL đã khởi động chưa, bạn có thể chạy lệnh sau:
Bạn sẽ thấy nội dung tương tự như sau:
Theo thông lệ tốt, bạn có thể chạy tập lệnh bảo mật
Bạn sẽ được yêu cầu đặt mật khẩu, sau đó là một số câu hỏi khác. Nhập mật khẩu mạnh và sau đó cho các câu hỏi còn lại, hãy nhấn :key_enter: để chọn mặc định.
Một lần nữa tận dụng hệ thống
Để cài đặt PHP
Lệnh này sẽ cài đặt các gói
Kiểm tra phiên bản PHP:
Sao chép tệp cấu hình PHP mẫu vào đúng vị trí bằng lệnh này:
Bây giờ, hãy bật và khởi động PHP-FPM:
Để kiểm tra xem PHP-FPM đã khởi động chưa, bạn có thể chạy lệnh sau:
Kết quả là, bạn sẽ thấy nội dung tương tự như sau:
Để xem các modules PHP hiện đang được biên dịch, bạn có thể chạy lệnh này:
Để tìm kiếm các modules PHP khả dụng, bạn có thể sử dụng lệnh này:
Kết quả sẽ chủ yếu là các modules PHP 7.4 mà bạn có thể cài đặt:
Nếu sau khi nghiên cứu, bạn quyết định rằng mình cần cài đặt một gói, bạn có thể thực hiện bằng cách sử dụng lệnh
Chạy
Lưu tệp và thoát khỏi vim.
Kiểm tra cấu hình của Apache:
Vì bạn đã thực hiện các thay đổi cấu hình trong Apache, bạn phải tải lại dịch vụ để những thay đổi đó được áp dụng. Nếu không, Apache vẫn sẽ hoạt động với cấu hình trước đó:
Và thêm mã này vào tệp đó:
Điều hướng đến
Sau khi cài đặt và thiết lập ngăn xếp FAMP, bạn nên xóa tệp
Trong hướng dẫn này, chúng ta sẽ thiết lập các thành phần của ngăn xếp FAMP trên máy chủ FreeBSD 12.1 bằng cách sử dụng
pkg
, trình quản lý gói FreeBSD.Yêu cầu
Trước khi bắt đầu hướng dẫn này, bạn sẽ cần những điều sau:- Một FreeBSD 12.1.
- Một người dùng có quyền root hoặc người dùng
sudo
để thực hiện các thay đổi cấu hình. - Khuyến nghị nên có sự quen thuộc cơ bản với hệ thống FreeBSD và giao diện dòng lệnh.
Trước khi bắt đầu
Kiểm tra phiên bản FreeBSD:
Mã:
freebsd-version
# 12.1-RELEASE
Mã:
freebsd-update fetch install
pkg update && pkg upgrade -y
Mã:
pkg install -y sudo vim bash curl
johndoe:
Mã:
adduser
# Tên người dùng: johndoe
# Tên đầy đủ: John Doe
# Uid (Để trống theo mặc định):
# Nhóm đăng nhập [johndoe]:
# Nhóm đăng nhập là johndoe. Mời johndoe vào các nhóm khác? []: wheel
# Lớp đăng nhập [mặc định]:
# Shell (sh csh tcsh nologin) [sh]: bash
# Thư mục gốc [/home/johndoe]:
# Quyền thư mục gốc (Để trống theo mặc định):
# Sử dụng xác thực dựa trên mật khẩu? [có]:
# Sử dụng mật khẩu trống? (có/không) [không]:
# Sử dụng mật khẩu ngẫu nhiên? (có/không) [không]:
# Nhập mật khẩu: your_secure_password
# Nhập lại mật khẩu: your_secure_password
# Khóa tài khoản sau khi tạo? [không]:
# OK? (có/không): có
# Thêm người dùng khác? (có/không): không
# Tạm biệt!
visudo
và bỏ chú thích ở dòng %wheel ALL=(ALL) ALL
để cho phép các thành viên của nhóm wheel
thực hiện bất kỳ lệnh nào:
Mã:
visudo
# Bỏ chú thích bằng cách xóa dấu thăng (#)
# %wheel ALL=(ALL) ALL
su
:
Mã:
su - johndoe
johndoe
bằng tên người dùng của bạn.Thiết lập múi giờ:
Mã:
sudo tzsetup
Bước 1 — Cài đặt Apache 2.4
Máy chủ web Apache hiện là một trong những máy chủ web phổ biến nhất trên thế giới. Đây là lựa chọn tuyệt vời để lưu trữ trang web.Bạn có thể cài đặt Apache bằng trình quản lý gói của FreeBSD,
pkg
. Trình quản lý gói cho phép bạn cài đặt hầu hết phần mềm một cách dễ dàng từ kho lưu trữ do FreeBSD duy trì.Để cài đặt Apache, hãy đưa ra lệnh sau:
Mã:
sudo pkg install -y apache24
Mã:
httpd -v
# Phiên bản máy chủ: Apache/2.4.41 (FreeBSD)
Mã:
sudo sysrc apache24_enable=yes
sudo service apache24 start
Mã:
sudo service apache24 status
Mã:
# Đầu ra
apache24 đang chạy dưới dạng pid 17775.
http://your_server_IP
. Bạn sẽ thấy trang Apache mặc định "Nó hoạt động!".Bước 2 — Cài đặt MySQL 8.0
Bây giờ bạn đã có máy chủ web và chạy, đã đến lúc cài đặt MySQL, hệ thống quản lý cơ sở dữ liệu quan hệ. Máy chủ MySQL sẽ sắp xếp và cung cấp quyền truy cập vào các cơ sở dữ liệu nơi máy chủ của bạn có thể lưu trữ thông tin.Một lần nữa, bạn có thể sử dụng
pkg
để tải xuống và cài đặt phần mềm của mình.Để cài đặt MySQL
8.0
bằng pkg
, hãy sử dụng lệnh này:
Mã:
sudo pkg install -y mysql80-client mysql80-server
8.x.x
.Kiểm tra phiên bản:
Mã:
mysql --version
# mysql Ver 8.0.17 cho FreeBSD12.0 trên amd64 (Bản phân phối nguồn)
Mã:
sudo sysrc mysql_enable=yes
sudo service mysql-server start
Mã:
sudo service mysql-server status
Mã:
# Đầu ra
mysql đang chạy dưới dạng pid 19171.
mysql_secure_installation
để xóa một số mặc định không an toàn và hạn chế một chút quyền truy cập vào hệ thống cơ sở dữ liệu của bạn:
Mã:
sudo mysql_secure_installation
Bước 3 — Cài đặt PHP 7.4
PHP là ngôn ngữ kịch bản phía máy chủ được thiết kế cho phát triển web. PHP là thành phần không thể thiếu của ngăn xếp FAMP. Ngoài ra, Python hoặc Perl thường được sử dụng thay cho PHP. Tuy nhiên, PHP là tùy chọn phổ biến nhất được sử dụng thường xuyên nhất. Cùng với cơ sở dữ liệu, nó sẽ cung cấp cho các trang web hoặc ứng dụng của bạn hành vi động.Một lần nữa tận dụng hệ thống
pkg
để cài đặt các thành phần PHP.Để cài đặt PHP
7.4
với pkg
, hãy chạy lệnh này:
Mã:
sudo pkg install -y php74 php74-mysqli mod_php74
php74
, mod_php74
và php74-mysqli
.Kiểm tra phiên bản PHP:
Mã:
php --version
# PHP 7.4.1 (cli) (được xây dựng: 02/01/2020 01:32:38) (NTS)
# Bản quyền (c) The PHP Group
# Zend Engine v3.4.0, Bản quyền (c) Zend Technologies
Mã:
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Mã:
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
Mã:
sudo service php-fpm status
Mã:
# Đầu ra
php_fpm đang chạy dưới dạng pid 23005.
Cài đặt các mô-đun PHP (Tùy chọn)
Để tăng cường chức năng của PHP, bạn có thể tùy chọn cài đặt một số modules.Để xem các modules PHP hiện đang được biên dịch, bạn có thể chạy lệnh này:
Mã:
php -m
# [PHP Modules]
# Core
# date
# libxml
# mysqlnd
# pcre
# Reflection
# SPL
# standard
# [Zend Modules]
Mã:
pkg search ^php74-*
Mã:
# Output# php74-7.4.0 PHP Scripting Language# php74-Ice37-3.7.2_1 Giải pháp thay thế hiện đại cho phần mềm trung gian đối tượng như CORBA/COM/DCOM/COM+# php74-aphpbreakdown-2.2.2 Code-Analyzer for PHP for Compatibility Check-UP# php74-aphpunit-1.9 Khung kiểm thử cho các bài kiểm tra đơn vị# php74-bcmath-7.4.0 Phần mở rộng chia sẻ bcmath cho php# php74-brotli-0.7.0 Phần mở rộng Brotli cho PHP# php74-bsdconv-11.5.0 Trình bao bọc PHP cho bsdconv# php74-bz2-7.4.0 Phần mở rộng chia sẻ bz2 cho php# php74-calendar-7.4.0 Phần mở rộng chia sẻ lịch cho php# php74-composer-1.8.6 Trình quản lý phụ thuộc cho PHP# php74-ctype-7.4.0 Phần mở rộng chia sẻ ctype cho php# php74-curl-7.4.0 Phần mở rộng chia sẻ curl cho php# . . .
pkg install
. Hầu hết các ứng dụng web PHP sẽ yêu cầu các mô-đun bổ sung, vì vậy, bạn nên biết cách tìm kiếm chúng.Bước 4 — Cấu hình Apache để sử dụng Mô-đun PHP
Trước khi sử dụng PHP, bạn phải cấu hình để nó hoạt động với Apache.Chạy
sudo vim /usr/local/etc/apache24/modules.d/001_mod-php.conf
và điền nội dung bên dưới vào tệp:
Mã:
DirectoryIndex index.php index.html SetHandler application/x-httpd-php SetHandler application/x-httpd-php-source
Kiểm tra cấu hình của Apache:
Mã:
sudo apachectl configtest
Mã:
sudo apachectl restart
Bước 5 — Kiểm tra Xử lý PHP
Để kiểm tra xem hệ thống của bạn đã được cấu hình đúng cho PHP chưa, bạn có thể tạo một tập lệnh PHP rất cơ bản. Bạn sẽ gọi tập lệnh này làinfo.php
. Theo mặc định, DocumentRoot
được đặt thành /usr/local/www/apache24/data
. Bạn có thể tạo tệp info.php
trong vị trí đó bằng cách nhập:
Mã:
sudo vim /usr/local/www/apache24/data/info.php
Mã:
http://your_server_IP/info.php
và bạn sẽ thấy trang sau:Sau khi cài đặt và thiết lập ngăn xếp FAMP, bạn nên xóa tệp
info.php
để tránh tiết lộ thông tin về máy chủ cho công chúng:
Mã:
sudo rm /usr/local/www/apache24/data/info.php