如何安装FreeBSD 12.0.MySQL和PHP (FAMP )堆栈

分享于 

13分钟阅读

FreeBSD

  繁體

介绍

FAMP堆栈类似于Linux上的LAMP堆栈,是一组开源软件,通常会一起安装以便让FreeBSD服务器能够托管动态网站和Web应用程序,FAMP是代表FreeBSD (操作系统),pache (网络服务器),MySQL (数据库服务器)和PHP (PHP处理动态内容)的缩写词。

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

前提条件

在开始本指南之前,你需要执行以下操作:

一台FreeBSD 12.0 服务器。使用root权限(或者使用sudo允许)访问用户,以便进行配置更改,确保打开端口80443

步骤1-安装Apache

Apache服务器目前是世界上最流行的网络服务器,这使得它成为托管网站的最佳选择。

你可以使用FreeBSD管理器软件包pkg安装Apache ,软件包管理器允许你从FreeBSD维护的仓库中免费安装大多数软件,

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


sudo pkg install apache24

在确认提示下输入y以安装Apache及它依赖项。

要将Apache启用为服务,请添加 apache24_enable="YES" 对于/etc/rc.conf文件,你将使用sysrc命令执行以下操作:


sudo sysrc apache24_enable="YES"

现在启动Apache :


sudo service apache24 start

要检查Apache是否已启动,可以运行以下命令:


sudo service apache24 status

结果,你将看到类似于以下内容的内容:


Outputapache24 is running as pid 20815.

通过访问你的web浏览器中的public服务器IP地址,你可以立即进行检查以验证所有内容,如果你没有此信息,请参阅下一个标题下的注释查找你的public IP地址:


http://your_server_IP_address/

你将看到默认的FreeBSD页面,该页面用于测试目的,你会看到: it Works ! 表明你的web服务器已正确安装。

如何查找服务器的公共ip地址

curl -w"n" http://169.254.169.254/metadata/v1/interfaces/public/0/ipv4/address

查找IP地址的一种更普遍的方法是使用服务器本身的ifconfig命令,ifconfig命令将输出有关你的网络接口的信息,


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

通过向特定服务器询问你的IP地址是什么:


curl http://icanhazip.com

现在你有了外部IP地址,在Web浏览器的地址栏中使用它来访问Web服务器。

步骤2-安装MySQL

同样,你可以使用pkg来获取和安装你的软件。

安装MySQL 8.0 使用pkg,请使用以下命令:


sudo pkg install mysql80-server

在确认提示下输入y以安装MySQL服务器和客户端包。

要使MySQL服务器成为服务,请将mysql_enable="YES"添加到/etc/rc.conf文件,通过sysrc命令执行以下操作:


sudo sysrc mysql_enable="YES"

现在,使用以下命令启动MySQL服务器:


sudo service mysql-server start

你可以验证服务是否已启动并运行:


sudo service mysql-server status

你将阅读类似以下内容的内容:


Outputmysql is running as pid 21587.

现在MySQL数据库正在运行,你需要运行一个简单的安全脚本来删除一些危险的缺省值,并略微限制对数据库系统的访问,运行以下命令启动交互式脚本:


sudo mysql_secure_installation

提示将询问你是否要设置密码,


 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

对于其余问题,应该在每个提示下按y键以接受推荐的安全值,这将删除一些例子用户和数据库,禁用远程root登录,并加载这些新规则,以便MySQL立即遵守你所做的更改。

现在,数据库系统已经设置好了,你可以继续安装PHP了。

步骤3-安装PHP

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

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


sudo pkg install php73 php73-mysqli mod_php73

在确认提示下输入y,这将安装 php73mod_php73 还有 php73-mysqli 软件包。

现在将例子PHP配置文件复制到下面的命令中:


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

现在运行rehash命令重新生成关于已安装的可执行文件的系统信息的缓存:


rehash

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

安装PHP模块(可选)

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

查看PHP的可用选项 7.3 模块和库,你可以键入以下内容:


pkg search php73

结果主要是PHP 7.3 你可以安装的模块:


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

...


pkg search -f package_name

例如要了解 php73-calendar 软件包,你可以键入:


pkg search -f php73-calendar

随着大量其他信息,你会发现看起来东西:


Outputphp73-calendar-7.3.5
Name : php73-calendar
Version : 7.3.5
...
Comment : The calendar shared extension for php
...

如果在研究之后,你决定要安装一个包,你可以使用pkg install命令来进行安装。

例如如果你决定 php73-calendar 是你需要的东西,你可以键入:


sudo pkg install php73-calendar

如果要一次安装多个模块,可以通过在pkg install命令之后列出每个模块,如下所示:


sudo pkg install package1 package2 ...

步骤4-配置Apache以便使用PHP模块

Apache HTTP有专门的目录来将配置文件写入到特定模块中。


sudo vi /usr/local/etc/apache24/modules.d/001_mod-php.conf

将以下行添加到该文件中:

/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>

现在检查Apache的HTTP配置是否处于良好状态:


sudo apachectl configtest

你将看到以下输出:


OutputPerforming sanity check on apache24 configuration:
Syntax OK

因为你在Apache中进行了配置更改,所以必须重新启动服务以便将它应用,否则Apache仍将使用先前的配置。


sudo apachectl restart

现在你可以在你的系统上测试PHP了。

步骤5-测试PHP处理

通过键入以下命令在该位置创建info.php文件:


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

这将打开一个空白文件,将此PHP代码插入到文件中:

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

<?php phpinfo(); ?>

保存并退出。

现在你可以测试web服务器是否可以正确显示由PHP脚本生成的内容,你可以在你的网页浏览器中访问此网页:


http://your_server_IP_address/info.php

你将看到一个PHP测试页面。

这个页面从PHP的角度向你提供关于服务器的信息,它对于调试和确保正确应用设置非常有用。

在这个测试之后你应该删除这个文件,因为它可以向未授权用户提供关于你的服务器的信息,要执行这个操作,可以键入:


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

结束语

现在,你已经安装了FAMP堆栈,接下来的操作有很多选择,因为你已经安装了一个平台,以后可以在服务器上安装大多数类型的网站和网络软件。


STA  PHP  FREE  Apache  堆栈  Freebsd  
相关文章