Cách cài đặt FAMP Stack (Apache / MySQL / PHP) trên FreeBSD 12

theanh

Administrator
Nhân viên
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 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 bảo hệ thống FreeBSD của bạn được cập nhật:
Mã:
freebsd-update fetch install
pkg update && pkg upgrade -y
Cài đặt các gói cần thiết:
Mã:
pkg install -y sudo vim bash curl
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 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!
Chạy lệnh 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
Bây giờ, hãy chuyển sang người dùng mới tạo của bạn bằng su:
Mã:
su - johndoe
LƯU Ý: Thay thế 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
Kiểm tra phiên bản:
Mã:
httpd -v
# Phiên bản máy chủ: Apache/2.4.41 (FreeBSD)
Bây giờ, hãy bật và khởi động Apache:
Mã:
sudo sysrc apache24_enable=yes
sudo service apache24 start
Để kiểm tra xem Apache đã khởi động chưa, bạn có thể chạy lệnh sau:
Mã:
sudo service apache24 status
Kết quả là, bạn sẽ thấy nội dung tương tự như sau:
Mã:
# Đầu ra
apache24 đang chạy dưới dạng pid 17775.
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 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
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à 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)
Bây giờ, hãy bật và khởi động MySQL:
Mã:
sudo sysrc mysql_enable=yes
sudo service mysql-server start
Để kiểm tra xem MySQL đã khởi động chưa, bạn có thể chạy lệnh sau:
Mã:
sudo service mysql-server status
Bạn sẽ thấy nội dung tương tự như sau:
Mã:
# Đầu ra
mysql đang chạy dưới dạng pid 19171.
Theo thông lệ tốt, bạn có thể chạy tập lệnh bảo mật 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ạ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.

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
Lệnh này sẽ cài đặt các gói php74, mod_php74php74-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
Sao chép tệp cấu hình PHP mẫu vào đúng vị trí bằng lệnh này:
Mã:
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Bây giờ, hãy bật và khởi động PHP-FPM:
Mã:
sudo sysrc php_fpm_enable=yes
sudo service php-fpm start
Để kiểm tra xem PHP-FPM đã khởi động chưa, bạn có thể chạy lệnh sau:
Mã:
sudo service php-fpm status
Kết quả là, bạn sẽ thấy nội dung tương tự như sau:
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]
Để tìm kiếm các modules PHP khả dụng, bạn có thể sử dụng lệnh này:
Mã:
pkg search ^php74-*
Kết quả sẽ chủ yếu là các modules PHP 7.4 mà bạn có thể cài đặt:
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# . . .
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 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
Lưu tệp và thoát khỏi vim.

Kiểm tra cấu hình của Apache:
Mã:
sudo apachectl configtest
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 đó:
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
Và thêm mã này vào tệp đó:
Mã:
Điều hướng đến 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

Kết luận​

Xin chúc mừng, bạn đã cài đặt thành công ngăn xếp FAMP trên máy chủ FreeBSD 12.1 của mình. Bây giờ bạn có nhiều lựa chọn cho những việc cần làm tiếp theo. Bạn đã cài đặt một nền tảng cho phép bạn cài đặt hầu hết các loại trang web và phần mềm web trên đó.
 
Back
Bên trên