Cách cài đặt một Apache, MySQL và PHP (FAMP) trên FreeBSD 12.0
Ngăn xếp FAMP, tương tự như LAMP trên Linux, là một group phần mềm nguồn mở thường được cài đặt cùng nhau để cho phép server FreeBSD lưu trữ các trang web và ứng dụng web động. FAMP là từ viết tắt của F reeBSD (hệ điều hành), A pache ( web server ), M ySQL ( server database ) và P HP (để xử lý nội dung PHP động). Trong hướng dẫn này, ta sẽ cài đặt ngăn xếp FAMP trên server cloud FreeBSD 12.0 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 cần những thứ sau:
- Một server BBSD 12.0 miễn phí .
- Quyền truy cập vào user có quyền root (hoặc được phép sử dụng sudo) để thực hiện thay đổi cấu hình.
- Tường lửa được cấu hình bằng cách sử dụng hướng dẫn này về Các bước được đề xuất cho Server FreeBSD 12.0 mới . Đảm bảo bạn mở cổng
80
và443
như một phần của cài đặt . - Nên làm quen với CLI (Giao diện dòng lệnh). Trình soạn thảo vi của FreeBSD có cú pháp gần giống như vim .
Bước 1 - Cài đặt Apache
Web server Apache hiện là web server phổ biến nhất trên thế giới, đây là một lựa chọn tuyệt vời để lưu trữ một 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 các phần mềm một cách dễ dàng từ repository do FreeBSD duy trì. Bạn có thể tìm hiểu thêm về cách sử dụng pkg
tại đây .
Để cài đặt Apache 2.4 bằng pkg
, hãy sử dụng lệnh sau:
- sudo pkg install apache24
Nhập y
tại dấu nhắc xác nhận để cài đặt Apache và các phụ thuộc của nó.
Để bật Apache dưới dạng một dịch vụ, hãy thêm apache 24 _enable="YES"
vào file /etc/rc.conf
. Bạn sẽ sử dụng lệnh sysrc
để thực hiện điều đó:
- sudo sysrc apache24_enable="YES"
Bây giờ khởi động Apache:
- sudo service apache24 start
Để kiểm tra xem Apache đã khởi động, bạn có thể chạy lệnh sau:
- sudo service apache24 status
Kết quả là bạn sẽ thấy một cái gì đó tương tự như:
Outputapache24 is running as pid 20815.
Bạn có thể kiểm tra tại chỗ ngay lập tức để xác minh mọi thứ đã diễn ra đúng như kế hoạch bằng cách truy cập địa chỉ IP công cộng của server trong trình duyệt web . Xem ghi chú dưới tiêu đề tiếp theo để biết địa chỉ IP công cộng của bạn là gì, nếu bạn chưa có thông tin này:
http://your_server_IP_address/
Bạn sẽ thấy trang web FreeBSD Apache mặc định, trang này dành cho mục đích thử nghiệm. Bạn sẽ thấy: Nó hoạt động! , cho biết rằng web server của bạn đã được cài đặt chính xác.
Cách tìm Địa chỉ IP Công cộng của Server của Bạn
Nếu bạn không biết địa chỉ IP công cộng của server của bạn là gì, có một số cách để bạn có thể tìm thấy nó. Thông thường, đây là địa chỉ bạn sử dụng để kết nối với server của bạn thông qua SSH.
Nếu bạn đang sử dụng DigitalOcean, bạn có thể tìm trong Control panel để biết địa chỉ IP server của bạn . Bạn cũng có thể sử dụng dịch vụ Siêu dữ liệu DigitalOcean, từ chính server , bằng lệnh sau: curl -w "\n" http://169.254.169.254/metadata/v1/interfaces/public/0/ipv4/address
.
Một cách phổ biến hơn để tra cứu địa chỉ IP là sử dụng lệnh ifconfig
, trên chính server . Lệnh ifconfig
sẽ in ra thông tin về các network interface của bạn. Để thu hẹp kết quả chỉ thành địa chỉ IP công cộng của server , hãy sử dụng lệnh này ( lưu ý phần được đánh dấu là tên của network interface và có thể thay đổi):
- ifconfig vtnet0 | grep "inet " | awk '{ print $2; exit }'
Bạn cũng có thể sử dụng curl
để liên hệ với một bên ngoài, như icanhazip , để cho bạn biết cách nó nhìn thấy server của bạn. Điều này được thực hiện bằng cách hỏi một server cụ thể địa chỉ IP của bạn là gì:
- curl http://icanhazip.com
Đến đây bạn đã có địa chỉ IP công cộng, bạn có thể sử dụng nó trong thanh địa chỉ của trình duyệt web để truy cập vào web server của bạn.
Bước 2 - Cài đặt MySQL
Đến đây bạn đã cài đặt và chạy web server của bạn , đã đến lúc cài đặt MySQL, hệ quản trị database quan hệ. Server MySQL sẽ tổ chức và cung cấp quyền truy cập vào database nơi server của bạn có thể lưu trữ thông tin.
, bạn có thể sử dụng pkg
để cài đặt phần mềm của bạn .
Để cài đặt MySQL 8.0 bằng pkg
, hãy sử dụng lệnh sau:
- sudo pkg install mysql80-server
Nhập y
tại dấu nhắc xác nhận để cài đặt server MySQL và các gói client .
Để kích hoạt server MySQL làm dịch vụ, hãy thêm mysql_enable="YES"
vào file /etc/rc.conf
. Bạn có thể cho ta lệnh sysrc
để làm điều đó:
- sudo sysrc mysql_enable="YES"
Bây giờ khởi động server MySQL bằng lệnh sau:
- sudo service mysql-server start
Bạn có thể xác minh dịch vụ đang hoạt động:
- sudo service mysql-server status
Bạn sẽ đọc một cái gì đó tương tự như sau:
Outputmysql is running as pid 21587.
Bây giờ database MySQL của bạn đang chạy, bạn cần chạy một tập lệnh bảo mật đơn giản để loại bỏ một số mặc định nguy hiểm và hạn chế một chút quyền truy cập vào hệ thống database của bạn. Bắt đầu tập lệnh tương tác bằng cách chạy lệnh này:
- sudo mysql_secure_installation
Dấu nhắc sẽ hỏi bạn có muốn đặt password hay không. Vì bạn vừa cài đặt MySQL, rất có thể bạn sẽ không có, vì vậy hãy nhập Y
và làm theo hướng dẫn:
Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: y 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: 0 Please set the password for root here. New password: password Re-enter new password: password Estimated strength of the password: 50 Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
Đối với các câu hỏi còn lại, bạn nên nhấn phím y
tại mỗi dấu nhắc để chấp nhận các giá trị an toàn được đề xuất. Thao tác này sẽ xóa một số user và database mẫu, vô hiệu hóa đăng nhập root từ xa và tải các luật mới này để MySQL áp dụng ngay những thay đổi bạn đã thực hiện.
Đến đây, hệ thống database của bạn đã được cài đặt xong và bạn có thể chuyển sang cài đặt PHP.
Bước 3 - Cài đặt PHP
PHP là thành phần cài đặt của bạn sẽ xử lý mã để hiển thị nội dung động. Nó có thể chạy các tập lệnh, kết nối với database MySQL để lấy thông tin và chuyển giao nội dung đã xử lý cho web server để hiển thị.
Bạn có thể tận dụng hệ thống pkg
để cài đặt các thành phần của bạn . Bạn cũng sẽ bao gồm gói mod_php
, php-mysql
và php-mysqli
.
Để cài đặt PHP 7.3 với pkg
, hãy chạy lệnh sau:
- sudo pkg install php73 php73-mysqli mod_php73
Nhập y
tại dấu nhắc xác nhận. Điều này sẽ cài đặt các gói php 73
, mod_php 73
và php 73 -mysqli
.
Bây giờ sao chép file cấu hình PHP mẫu vào vị trí bằng lệnh này:
- sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Bây giờ hãy chạy lệnh rehash
để tạo lại thông tin đã lưu trong bộ nhớ cache của hệ thống về các file thực thi đã cài đặt của bạn:
- rehash
Trước khi sử dụng PHP, bạn phải cấu hình nó để hoạt động với Apache.
Cài đặt module PHP (Tùy chọn)
Để nâng cao chức năng của PHP, bạn có thể tùy chọn cài đặt một số module bổ sung.
Để xem các tùy chọn có sẵn cho các module và thư viện PHP 7.3 , có thể chạy lệnh:
pkg search php73
Kết quả chủ yếu là các module PHP 7.3 mà bạn có thể cài đặt:
Outputphp73-7.3.5 PHP Scripting Language 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.5 The bcmath shared extension for php php73-brotli-0.6.2 Brotli extension for PHP php73-bsdconv-11.5.0 PHP wrapper for bsdconv php73-bz2-7.3.5 The bz2 shared extension for php php73-calendar-7.3.5 The calendar shared extension for php php73-composer-1.8.4 Dependency Manager for PHP php73-ctype-7.3.5 The ctype shared extension for php php73-curl-7.3.5 The curl shared extension for php php73-dba-7.3.5 The dba shared extension for php php73-deployer-6.4.3 Deployment tool for PHP php73-dom-7.3.5 The dom shared extension for php ...
Để biết thêm thông tin về chức năng của mỗi module , bạn có thể tìm kiếm trên internet hoặc bạn có thể xem mô tả dài của gói bằng lệnh :
- pkg search -f package_name
Sẽ có rất nhiều kết quả , với một trường được gọi là Comment sẽ có giải thích về chức năng mà module cung cấp.
Ví dụ: để tìm hiểu gói php73-calendar
làm gì, có thể chạy lệnh:
- pkg search -f php73-calendar
Cùng với một lượng lớn thông tin khác, bạn sẽ tìm thấy thứ gì đó giống như sau:
Outputphp73-calendar-7.3.5 Name : php73-calendar Version : 7.3.5 ... Comment : The calendar shared extension for php ...
Nếu sau khi nghiên cứu, bạn quyết định rằng bạn muố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
.
Ví dụ: nếu bạn quyết định rằng php73-calendar
là thứ bạn cần, có thể chạy lệnh:
- sudo pkg install php73-calendar
Nếu bạn muốn cài đặt nhiều module cùng một lúc, bạn có thể thực hiện việc đó bằng cách liệt kê từng module , được phân tách bằng dấu cách, theo lệnh pkg install
, như sau:
- sudo pkg install package1 package2 ...
Bước 4 - Cấu hình Apache để sử dụng module PHP
Apache HTTP có một folder chuyên dụng để ghi các file cấu hình vào đó cho các module cụ thể. Bạn sẽ viết một trong những file cấu hình đó cho Apache HTTP để “nói” PHP.
- sudo vi /usr/local/etc/apache24/modules.d/001_mod-php.conf
Thêm các dòng sau vào file đó:
<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>
Bây giờ hãy kiểm tra cấu hình HTTP của Apache có ở tình trạng tốt không:
- sudo apachectl configtest
Bạn sẽ thấy kết quả sau:
OutputPerforming sanity check on apache24 configuration: Syntax OK
Vì bạn đã áp dụng các thay đổi cấu hình trong Apache nên bạn phải khởi động lại dịch vụ để áp dụng những thay đổi đó. Nếu không thì Apache sẽ vẫn hoạt động với cấu hình trước đó.
- sudo apachectl restart
Đến đây bạn có thể chuyển sang thử nghiệm PHP trên hệ thống của bạn .
Bước 5 - Kiểm tra PHP processor
Để kiểm tra xem hệ thống của bạn có được cấu hình đúng cho PHP hay không, bạn có thể tạo một tập lệnh PHP rất cơ bản.
Bạn sẽ gọi script này là info.php
. Để Apache có thể tìm thấy file và phân phát nó một cách chính xác, nó phải được lưu trong một folder cụ thể— DocumentRoot
—đây là nơi Apache sẽ tìm kiếm file khi user truy cập vào web server . Vị trí của DocumentRoot
được chỉ định trong file cấu hình Apache mà bạn đã sửa đổi trước đó ( /usr/local/etc/apache24/httpd.conf
).
Theo mặc định, DocumentRoot
được đặt thành /usr/local/www/apache24/data
. Bạn có thể tạo file info.php
dưới vị trí đó bằng lệnh :
- sudo vi /usr/local/www/apache24/data/info.php
Thao tác này sẽ mở một file trống. Chèn mã PHP này vào file :
<?php phpinfo(); ?>
Lưu và thoát.
Đến đây bạn có thể kiểm tra xem web server của bạn có thể hiển thị chính xác nội dung được tạo bởi tập lệnh PHP hay không. Để dùng thử, bạn có thể truy cập trang này trong trình duyệt web của bạn :
http://your_server_IP_address/info.php
Bạn sẽ thấy trang kiểm tra PHP FreeBSD.
Trang này cung cấp cho bạn thông tin về server của bạn . Nó rất hữu ích để gỡ lỗi và đảm bảo cài đặt của bạn đang được áp dụng chính xác.
Nếu điều này thành công, thì PHP của bạn đang hoạt động như mong đợi.
Bạn nên xóa file này sau khi kiểm tra này vì nó có thể cung cấp thông tin về server của bạn cho user lạ . Để làm điều này, bạn có thể gõ sau:
- sudo rm /usr/local/www/apache24/data/info.php
Bạn luôn có thể tạo lại trang này nếu sau này cần truy cập lại thông tin.
Kết luận
Đến đây bạn đã cài đặt ngăn xếp FAMP, bạn có nhiều lựa chọn cho 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 server của bạn .
Các tin liên quan
Cách cài đặt web server Apache trên CentOS 72019-05-29
Cách bảo mật Apache bằng Let's Encrypt trên CentOS 7
2019-05-23
Cách cài đặt Apache Kafka trên Ubuntu 18.04
2019-05-10
Cách cài đặt Apache Kafka trên Debian 9
2019-05-10
Cách backup, nhập và di chuyển dữ liệu Apache Kafka của bạn trên Debian 9
2019-03-28
Cách cài đặt Apache Kafka trên CentOS 7
2019-03-27
Cách backup, nhập và di chuyển dữ liệu Apache Kafka của bạn trên CentOS 7
2019-03-25
Cách cài đặt và cấu hình Apache ZooKeeper Cluster trên Ubuntu 18.04
2019-01-03
Cách backup, nhập và di chuyển dữ liệu Apache Kafka của bạn trên Ubuntu 18.04
2018-12-20
Cách tạo chứng chỉ SSL tự ký cho Apache trong Debian 9
2018-09-07