如何在 FreeBSD 10.1 上安装 Apache、MySQL 和 PHP (FAMP) 协议栈

介绍

FAMP 堆栈,类似于 Linux 上的 LAMP 堆栈,是一组开源软件,通常被安装在一起,以允许 FreeBSD 服务器托管动态网站和 Web 应用程序。

在本指南中,我们将使用 FreeBSD 包管理器 pkg 在 FreeBSD 10.1 云服务器上安装一个 FAMP 堆栈。

<$>[注] 注: 截至 2022 年 7 月 1 日,DigitalOcean 不再支持通过控制面板或 API 创建新的 FreeBSD Droplets. 但是,您仍然可以使用自定义图像创建 FreeBSD Droplets。

前提条件

在开始本指南之前,您应该有一个 FreeBSD 10.1 服务器,并且您必须作为具有超级用户权限的用户连接到您的 FreeBSD 服务器(即允许使用sudo或更改为 root 用户)。

步骤一:安装Apache

Apache Web 服务器目前是世界上最受欢迎的 Web 服务器,这使得它成为托管网站的绝佳选择。

我们可以轻松地使用FreeBSD的包管理器pkg安装Apache,一个包管理器允许我们从FreeBSD维护的存储库中无痛无痛地安装大多数软件。

要使用「pkg」安装Apache 2.4,请使用以下命令:

1sudo pkg install apache24

在确认快递中输入y

它安装了Apache及其依赖。

要启用 Apache 作为服务,请将 apache24_enable="YES" 添加到 /etc/rc.conf' 文件中,我们将使用这个 `sysrc' 命令来执行以下操作:

1sudo sysrc apache24_enable=yes

现在启动 Apache:

1sudo service apache24 start

您可以立即进行点击检查,以验证一切按计划进行,通过访问您的网络浏览器中的服务器的公共IP地址(请参阅下面的标题下面的注释,以了解您的公共IP地址是什么,如果您还没有这些信息):

1http://your_server_IP_address/

您将看到默认的 FreeBSD Apache 网页,该网页是用于测试的,它应该说:它工作!表示您的网页服务器已正确安装。

如何找到您的服务器的公共IP地址

如果你不知道你的服务器的公共IP地址是什么,有几种方法可以找到它,通常,这是你用来通过SSH连接到你的服务器的地址。

查找IP地址的一种通用方法是使用ifconfig命令,在服务器本身。ifconfig命令将打印有关您的网络接口的信息。为了将输出缩小到服务器的公共IP地址,请使用此命令(请注意,突出部分是网络接口的名称,并且可能有所不同):

1ifconfig vtnet0 | grep "inet " | awk '{ print $2 }'

现在你有公共IP地址,你可以使用它在你的网页浏览器的地址栏访问你的网页服务器。

步骤二:安装MySQL

现在我们有我们的Web服务器并运行,是时候安装MySQL,关系数据库管理系统MySQL服务器将组织和提供访问我们的服务器可以存储信息的数据库。

再次,我们可以使用pkg来获取和安装我们的软件。

若要使用「pkg」安装 MySQL 5.6,请使用以下命令:

1sudo pkg install mysql56-server

在确认快递中输入y

这将安装MySQL服务器和客户端包。

要启用 MySQL 服务器作为服务,请将 mysql_enable="YES" 添加到 /etc/rc.conf' 文件中。

1sudo sysrc mysql_enable=yes

现在开始使用 MySQL 服务器:

1sudo service mysql-server start

现在您的MySQL数据库正在运行,您将想要运行一个简单的安全脚本,这将删除一些危险的默认文件,并稍微限制访问您的数据库系统。

1sudo mysql_secure_installation

提示会询问您当前的 root 密码(MySQL 管理员用户, root)。 因为您刚刚安装了 MySQL,您很可能没有一个,所以请按一下RETURN来空,然后提示会询问您是否想要设置 root 密码。 继续输入Y并遵循说明:

 1Enter current password for root (enter for none): [RETURN]
 2OK, successfully used password, moving on...
 3
 4Setting the root password ensures that nobody can log into the MySQL
 5root user without the proper authorization.
 6
 7Set root password? [Y/n] Y
 8New password: password
 9Re-enter new password: password
10Password updated successfully!

对于其他问题,你应该在每个提示键上按RETURN键来接受默认值,这样会删除一些样本用户和数据库,禁用远程 root 登录,并加载这些新规则,以便MySQL立即尊重我们所做的更改。

此时,您的数据库系统已设置,我们可以继续前进。

第三步:安装PHP

PHP 是我们设置的组件,它将处理代码以显示动态内容,它可以运行脚本,连接到 MySQL 数据库以获取信息,并将处理的内容传递给 Web 服务器以显示。

我们可以再次利用pkg系统来安装我们的组件,我们也将包括mod_php,php-mysqlphp-mysqli包。

要安装 PHP 5.6 以pkg,请运行以下命令:

1sudo pkg install mod_php56 php56-mysql php56-mysqli

在确认提示中输入y,安装php56,mod_php56,php56-mysqlphp56-mysqli包。

现在用这个命令将样本PHP配置文件复制到位置:

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

现在,运行rehash命令来恢复系统关于安装的可执行文件的缓存信息:

1rehash

在使用PHP之前,您必须将其配置为与Apache一起工作。

安装 PHP 模块(可选)

为了增强PHP的功能,我们可以选择安装一些额外的模块。

要查看 PHP 5.6 模块和库的可用选项,您可以在系统中键入以下内容:

1pkg search php56

结果将主要是您可以安装的 PHP 5.6 模块:

 1mod_php56-5.6.3
 2php56-5.6.3
 3php56-bcmath-5.6.3
 4php56-bz2-5.6.3
 5php56-calendar-5.6.3
 6php56-ctype-5.6.3
 7php56-curl-5.6.3
 8php56-dba-5.6.3
 9php56-dom-5.6.3
10php56-exif-5.6.3
11...

要了解有关每个模块的更多信息,您可以搜索互联网,或者通过输入查看包的长篇描述:

1pkg search -f package_name

将有大量的输出,一个名为 评论的字段将有模块提供的功能的解释。

例如,要找出「php56-calendar」套件的功能,我们可以输入以下内容:

1pkg search -f php56-calendar

除了大量的其他信息,你会发现一些看起来像这样的东西:

1php56-calendar-5.6.3
2Name           : php56-calendar
3Version        : 5.6.3
4...
5Comment        : The calendar shared extension for php
6...

如果经过研究后,您决定要安装一个软件包,您可以通过使用pkg install命令这样做,就像我们在其他软件中所做的那样。

例如,如果我们决定‘php56日历’是我们需要的东西,我们可以输入:

1sudo pkg install php56-calendar

如果您想一次安装多个模块,您可以通过按照pkg install命令列出每个模块,分隔一个空间,如下:

1sudo pkg install package1 package2 ...

步骤四:配置Apache以使用PHP模块

在Apache处理PHP页面之前,我们必须将其配置为使用mod_php。

打开 Apache 配置文件:

1sudo vi /usr/local/etc/apache24/Includes/php.conf

首先,我们将配置Apache以通过添加以下行来默认地加载 index.php 文件:

1<IfModule dir_module>
2    DirectoryIndex index.php index.html

接下来,我们将配置Apache以使用PHP处理器处理请求的PHP文件。

1<FilesMatch "\.php$">
2        SetHandler application/x-httpd-php
3    </FilesMatch>
4    <FilesMatch "\.phps$">
5        SetHandler application/x-httpd-php-source
6    </FilesMatch>
7</IfModule>

保存和退出。

现在重新启动 Apache 以执行这些更改:

1sudo service apache24 restart

在此时,您的 FAMP 堆栈已安装和配置,让我们现在来测试您的 PHP 设置。

步骤五:测试PHP处理

为了测试我们的系统是否正确配置为PHP,我们可以创建一个非常基本的PHP脚本。

我们将这个脚本称为info.php。为了让Apache找到文件并正确地服务它,它必须被保存在一个非常特定的目录中--DocumentRoot--这是Apache在用户访问Web服务器时搜索文件的地方。

默认情况下,DocumentRoot 设置为 /usr/local/www/apache24/data. 我们可以通过键入下面的位置创建 info.php 文件:

1sudo vi /usr/local/www/apache24/data/info.php

这会打开一个空的文件. 将此PHP代码插入到文件中:

1<?php phpinfo(); ?>

保存和退出。

现在我们可以测试我们的网页服务器是否可以正确地显示由PHP脚本生成的内容. 要尝试,我们只需要在我们的网页浏览器中访问这个页面。

您想访问的地址将是:

1http://your_server_IP_address/info.php

你看到的页面应该看起来像这样:

FreeBSD info.php

此页面基本上为您提供从PHP的角度了解您的服务器的信息,这对于调试和确保您的设置得到正确应用是有用的。

如果这是成功的,那么你的PHP正按预期运作。

您可能希望在测试后删除此文件,因为它实际上可以向未经授权的用户提供有关您的服务器的信息。

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

您可以随时重建此页面,如果您需要稍后再次访问该信息。

结论

现在你已经安装了FAMP堆栈,你有许多选择,下一步要做什么,基本上,你已经安装了一个平台,可以让你在你的服务器上安装大多数类型的网站和Web软件。

如果您对在新FAMP堆栈上设置WordPress感兴趣,请参阅本教程: 如何在FreeBSD 10.1上安装WordPress与Apache

Published At
Categories with 技术
comments powered by Disqus