介绍
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-mysql
和php-mysqli
包。
要安装 PHP 5.6 以pkg
,请运行以下命令:
1sudo pkg install mod_php56 php56-mysql php56-mysqli
在确认提示中输入y
,安装php56
,mod_php56
,php56-mysql
和php56-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
你看到的页面应该看起来像这样:
此页面基本上为您提供从PHP的角度了解您的服务器的信息,这对于调试和确保您的设置得到正确应用是有用的。
如果这是成功的,那么你的PHP正按预期运作。
您可能希望在测试后删除此文件,因为它实际上可以向未经授权的用户提供有关您的服务器的信息。
1sudo rm /usr/local/www/apache24/data/info.php
您可以随时重建此页面,如果您需要稍后再次访问该信息。
结论
现在你已经安装了FAMP堆栈,你有许多选择,下一步要做什么,基本上,你已经安装了一个平台,可以让你在你的服务器上安装大多数类型的网站和Web软件。
如果您对在新FAMP堆栈上设置WordPress感兴趣,请参阅本教程: 如何在FreeBSD 10.1上安装WordPress与Apache。