FreeNAS Jail中安装 PHP5.X

2015-3-13 13:39 Herald 4227 FreeNASJails

PHP语言这里就不展开介绍了,本教程重点在于配置支持php脚本语言的web环境,这样一来就可以在 Jail 中配置各种web应用了,比如ownCloud网盘、Wordprees博客、OA系统、CRM系统等等。

本教程相关操作,均需在Jail中操作,如果你不知道如何访问Jail终端,请先阅读《如何通过SSH访问Jail虚拟机》。如果你还不了解如何在Jail虚拟机中安装软件程序,请先阅读《FreeNAS:如何在Jail里面安装软件?》。

注意,本教程还会涉及到Nginx服务器的配置修改,相关部分请结合参考《FreeNAS Jail中安装Nginx服务器》。

PHP版本

截止本教程发布,PHP官方发布的最新版本(查看),PHP目前有三个主要版本:开发版php-5.6.6、稳定版 php-5.5.22、历史版 php-5.4.38。这三个版本是PHP官方在支持的版本,即这几个版本如果发现漏洞,官方会进行修补和更新,停止更新的版本大家就不要用了。再者php5.6还需要时间来验证它的可靠性,建议大家暂时不要使用,PHP5.4和PHP5.5根据你的需求选择即可。

20150313115055

我们在Jail中查看一下FreeBSD的软件仓库中打包的 PHP5.5 的二进制版本,使用命令:pkg search php55,如下图所示,实践证明FreeBSD社区对新版软件的打包非常及时,版本号与PHP官方发布的一一对应。

20150313120952

在Jail中安装PHP5.5

使用命令:pkg install php55  如下图所示。

20150313121626

设置php-fpm开机自启动

编辑 /etc/rc.conf 文件,新增一条记录 php_fpm_enable=”YES”。或直接使用命令:

sysrc 'php_fpm_enable=YES'

20150313122752

启动/重启/停止 PHP-FPM

php-fpm作为nginx和php脚本之间的一个处理器,负责处理php代码,当然,能完成解释工作的工具不止PHP-FPM一个,但自从PHP官方将PHP-FPM正式打包到PHP以后,大家就都比较喜欢用它了,因为你不需要再额外安装其他程序,而且php-fpm的性能也非常不错。进一步了解PHP-FPM,请百度一下。

查看php-fpm运行状态:service php-fpm status

20150313124253

启动php-fpm:service php-fpm start

20150313124437

重启php-fpm:service php-fpm restart

20150313124335

停止php-fpm:service php-fpm stop

20150313124408

PHP以及PHP-FPM的配置文件

PHP相关配置文件所在目录  /usr/local/etc  。

20150313124639

创建php.ini配置文件

php.ini文件用来控制PHP对各项功能的支持,是很重要的一个配置文件。包管理器并没有为我们创建这个文件,但是在 /usr/local/etc 目录中为我们提供了两个php.ini的模板:

  • php.ini-production:适用于生产环境;
  • php.ini-development:适用于开发环境;

您尽可根据需要,使用任何一个模板创建php.ini文件即可。创建后不要忘记重新启动 php-fpm 服务加载新的配置文件。下图所示,用CP命令复制了生产环境的模板,并命名为 php.ini。

20150313133202

让Nginx支持PHP

编辑 nginx.conf 配置文件,使用命令 nano /usr/local/etc/nginx/nginx.conf

如下图所示,找到 location / 部分,在 index 这一行中添加 index.php ,注意空格和末尾的半角分号”;”。

20150313125019

继续,找到 location ~ \.php$ 这一段,参照下图,将整段前面的 # 号删除,root 后面修改为nginx网站的根目录,fastcgi_param 这一行 /script 修改为 $document_root。除了网站根目录要根据你实际情况设置以外,其他部分要保证与下面截图一致,nginx配置有一点差错都会导致无法正常启动服务器。设置完成,保存退出。

20150313125800

修改Nginx配置后,不要忘记重新启动Nginx服务器使修改生效。service nginx restart

20150313130548

测试Nginx是否已经支持PHP

测试nginx是否已经支持PHP的最简单方法,是在Nginx网站根目录中创建一个只有 phpinfo() 函数的PHP文件。本例中,我们没有修改Nginx的默认网站根目录,默认位置 /usr/local/www/nginx

使用命令  nano /usr/local/www/nginx/info.php  在编辑器中输入:

<?php phpinfo();?>

完成后,保存并退出编辑器即可。

接下来用浏览器访问测试,本例Jail的IP地址为 192.168.1.16,测试地址为 http://192.168.1.16/info.php  看到下图所示页面,代表Nginx已经成功配置了对PHP语言的支持。

20150313131222

为PHP安装扩展

经过上面的配置,我们现在已经拥有了基本的PHP网站运行环境,但它只能运行基本的PHP脚本,如果想用它来运行ownCloud或wordpress等程序,则需要安装那些程序所需要的一些php扩展,使用包管理器在FreeBSD系统中安装php扩展是件非常轻松简单的事情,因为社区已经为我们打包好了所有常用的PHP扩展二进制包,我们只需要使用 pkg install 命令,就能快速的进行安装。

使用命令 pkg search php55(或 php56)就可以搜索到所有可以安装php扩展,这里需要特别注意的是,php扩展一定要与你所安装的php版本相一致,比如你安装的是 php5.5,那么就要安装 php55-xxx 这样名称的扩展包,如果你安装的是 php5.6 ,则应该安装 php56-xxx 的扩展包。

20150313132132

比如,我们安装了php5.5,现在要让php支持mysql数据库,那么就应该安装 php55-mysql-xxx 和 php55-mysqli-xxx 这两个包。

使用命令:pkg install php55-mysql php55-mysqli

20150313132512

扩展安装完成,不要忘记重新启动php-fpm服务使新的扩展包生效。

20150313132712

在查看一下之前创建 info.php 测试页面,如下图,可以看到已经检测到了新安装的PHP扩展。以此类推,可以用同样的方法安装你需要的所有扩展。

20150313132814

 

{{ headers["x-wp-total"] }} 条评论

{{ post_id = '1205' }}

回复 {{ reply_to }}