如何在FreeBSD 12.0上安装Apache,MySQL和PHP(FAMP)堆栈

介绍

FAMP堆栈可与Linux上的LAMP堆栈相比,是一组开源软件,通常会一起安装以使FreeBSD服务器能够托管动态网站和Web应用程序。援外物资项目是代表的首字母缩写˚F reeBSD(操作系统), 一个帕什(HTTP服务器),中号 ySQL(数据库服务器)和P HP(编程语言来处理动态PHP内容)。

在本指南中,我们将使用pkgFreeBSD软件包管理器在FreeBSD 12.0 Vultr实例上部署FAMP堆栈的元素。

要求

在开始本指南之前,您需要满足以下条件:

  • FreeBSD 12.0 VPS。
  • 具有root特权的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 Web服务器当前是世界上最受欢迎的Web服务器之一。这是托管网站的绝佳选择。

您可以使用FreeBSD的软件包管理器安装Apache pkg。软件包管理器使您可以轻松地从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.

您可以通过在Web浏览器中访问服务器的公共IP地址来验证Apache是​​否已安装并正常工作。导航至http://your_server_IP。您将看到默认的“ It works! ” Apache页面。

第2步-安装MySQL 8.0

现在,您的Web服务器已启动并正在运行,是时候安装关系数据库管理系统MySQL。MySQL服务器将组织并提供对服务器可用来存储信息的数据库的访问。

同样,您可以利用它pkg来获取和安装软件。

8.0使用安装MySQL 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是一种专为Web开发而设计的服务器端脚本语言。PHP是FAMP堆栈中必不可少的组件。另外,通常使用Python或Perl代替PHP。但是,最常使用PHP作为最流行的选项。连同数据库一起,它将为您的网站或应用程序提供动态行为。

再次利用pkg系统来安装PHP组件。

要使用安装PHP 7.3 pkg,请运行以下命令:

sudo pkg install -y php73 php73-mysqli mod_php73

这将安装php73mod_php73php73-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 Web应用程序将需要其他模块,因此很高兴知道如何搜索它们。

第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,您将看到以下页面:

如何在FreeBSD 12.0上安装Apache,MySQL和PHP(FAMP)堆栈

在安装和设置FAMP堆栈之后,应删除info.php文件,以避免将有关服务器的信息公开。

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

结论

恭喜,您已经在FreeBSD 12.0 VPS上成功安装了FAMP堆栈。现在,您可以选择下一步做什么。您已经安装了一个平台,该平台将允许您在其之上安装大多数类型的网站和网络软件。



Leave a Comment

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。