详解FreeBSD 8下部署Apache+MySQL+PHP 5

原创
开发 前端
LAMP和NAMP都是Web开发人员所熟知的开发平台,但安装配置起来不仅麻烦,而且时间很长,而这一切在FreeBSD下用ports就简化了许多,本文将详细的介绍在FreeBSD 8环境下安装与配置PHP 5、MySQL和Apache。

【51CTO独家特稿】众所周知,在生产环境下配置Apache+PHP 5环境或Nginx+PHP 5环境还是很复杂的,即大家熟悉的LAMP或NAMP架构,就算按照详细的部署文档来安装的话也是一个较长和麻烦的过程;但这一切在FreeBSD下用ports就简化了,本人感觉特别适应于开发环境,特将FreeBSD 8下的部署过程记录如下,方便与大家交流共享。

推荐专题:企业内网开发环境部署与管理全攻略(FreeBSD+PHP)

一、安装Apache2.2

  1. cd /usr/ports/www/apache22  
  2. make install clean 

◆去掉IPV6

◆添加MySQL

安装完成后,需要编辑/etc/rc.conf文件,添加下面内容到/etc/rc.conf:

  1. apache22_enable="YES" 

配置Apache 2.2

安装完成后,备份/usr/local/etc/apache22/httpd.conf文件:

  1. cp /usr/local/etc/apache22/httpd.conf /usr/local/etc/apache22/httpd.conf.bak
  2.  

编辑/usr/local/etc/apache22/httpd.conf文件,以使Apache22 Server支持PHP:

  1. vim /usr/local/etc/apache22/httpd.conf 

1.大约354行

在AddType application/x-gzip .gz .tgz下面添加以下内容:

  1. AddType application/x-httpd-php .php  
  2. AddType application/x-httpd-php-source .phps 

2.大约212行

添加'index.php' 到'DirectoryIndex' 主目录索引:

  1. DirectoryIndex index.php index.html 

3.第152行

DocumentRoot "/home/www"  #存放web的路径,根据自己需求更改

4.第178行

<Directory "/home/www">   #存放web的路径,这个根据自己需求更改

二、安装PHP 5.2

  1. cd /usr/ports/lang/php52  
  2. make install clean 

选择如下安装选项:

◆去掉IPV6

◆添加CLI、CGI、APACHE、SUHOSION、FASTCGI、PATHINFO

三、安装PHP 5.2-extensions扩展

  1. cd /usr/ports/lang/php52-extensions  
  2. make config  
  3. make install clean 

make config安装添加选项如下:

添加BZ2、CALENDAR、CTYPE、GD、GETTEXT、ICONV、MBSTRING、MCRYPT、MHASH、MYSQL、MYSQLI、OPENSSL、PCRE、POSIX、SESSION、SOCKETS、TOKENIZER、ZIP、ZLIB。

我在线上服务器的centos5.4下,一个个手动源码编译PHP 5的扩展包,感觉是件非常痛苦的事情;Apache如是,Nginx下亦如是;在FreeBSD 8下一切都简单了,这个过程有点长。

复制/usr/local/etc/php.ini-dist为/usr/local/etc/php.ini:

  1. cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini 

四、安装ZendOptimizer

  1. cd /usr/ports/devel/ZendOptimizer  
  2. make install clean 

安装完成提示如下:

  1. ********************************************************************************  
  2. You have installed the ZendOptimizer package.  
  3. Edit /usr/local/etc/php.ini and add:  
  4. [zend]  
  5. zend_optimizer.optimization_level=15 
  6. zend_extension_manager.optimizer="/usr/local/lib/php/20060613/Optimizer" 
  7. zend_extension_manager.optimizer_ts="/usr/local/lib/php/20060613/Optimizer_TS" 
  8. zend_extension="/usr/local/lib/php/20060613/ZendExtensionManager.so" 
  9. zend_extension_ts="/usr/local/lib/php/20060613/ZendExtensionManager_TS.so" 
  10. ********************************************************************* 

编辑php.ini,复制以上[Zend]内容到文本末尾:

  1. vim /usr/local/etc/php.ini 

重新启动你的Web Server.

  1. /usr/local/etc/rc.d/apache22 restart 

测试Apche Server对PHP和ZendOptimizer支持,在/home/www里面建立一个index.php,输入以下内容:

  1. <? 
  2. phpinfo();  
  3. ?> 

我这里安装此版本为5.2.13,新的PHP已近更新至5.3.3,但是老版本的ZendOptimizer对其不支持,所以本着稳定就好的原则,继续使用5.2.13;

#p#

五、安装MySQL Server5.0

  1. cd /usr/ports/databases/mysql50-server  
  2. make install clean 

配置MySQL

安装完成后,需要编辑/etc/rc.conf文件,添加下面内容到/etc/rc.conf:

  1. mysql_enable="YES" 

复制文件:

  1. cp /usr/local/share/mysql/my-medium.cnf /etc/my.conf 

启动MySQL服务:

  1. /usr/local/etc/rc.d/mysql-server start 

新装的mysql是没有密码的,使用mysqladmin命令更改MySQL密码:

  1. /usr/local/bin/mysqladmin -uroot password '你的密码'   
  2. 例如:/usr/local/bin/mysqladmin -uroot password 12345678 

六、安装PHPmyadmin

1.安装

  1. cd /usr/ports/databases/phpmyadmin  
  2. make fetch  #只下载,不安装 

PHPmyadmin解压以后直接使用了:

  1. cp /usr/ports/distfiles/phpMyAdmin-3.3.2-all-languages.tar.bz2 /home/www    #/home/www为apache指定路径  
  2. tar zxvf phpMyAdmin-3.3.2-all-languages.tar.bz2  
  3. mv phpMyAdmin-3.3.2-all-languages phpmyadmin      #phpmyadmin文件名就为外部地址路径http://xxx.xxx.xxx.xxx/phpmyadmin 

2.配置

  1. cd /home/www/phpmyadmin  
  2. cp config.sample.inc.php  config.inc.php# ee config.inc.php 

3.修改

  1. cfg[‘blowfish_secret’]=’host’;            #随便输入,不要留空这个一定要设置  
  2. cfg[‘Servers’][$i][‘auth_type’]=’cookie’#设置认证方式,默认即可 

4.设置权限

  1. chmod 755 config.inc.php 

这时候你就可以在内网用root等用户进行登陆管理了,PHPMyadmin的强大是有目共睹的,这也是它现在作为Linux/unix发行版的默认软件之一。

值得注意的是,基于线上环境的严谨性,我一般采用64位的Cenots系统,软件均采用源码安装;而以上所述,均是出于开发环境的考虑,即快速方便的部署测试服务器,如果用于线上环境,还需要注意的细巧还有许多,比如PHP要禁用危险的函数、Apache要考虑其Web安全及SSL证书(一个不小心就要考虑支持多域名的SSL证书)等、MySQL要考虑生产环境下的压力及备份等,这里细节繁多就不细述了。

【本文为51CTO独家特稿,转载请表明出处及作者!】

【编辑推荐】

  1. FreeBSD的基本系统下Shell设置
  2. FreeBSD shellcode编写攻略
  3. 在 FreeBSD 4.9 下安装JAVA环境 
责任编辑:王晓东 来源: 51CTO.com
相关推荐

2011-03-08 11:22:29

LinuxLAMP

2011-03-21 13:59:44

Apachemysqlphp

2011-03-23 15:55:41

LAMP

2011-03-08 11:11:38

LinuxLAMP安装

2011-03-08 11:11:38

LinuxLAMP安装

2010-05-21 17:38:22

Mysql+php5+

2011-07-07 13:21:26

DiscuzApacheMySQL

2016-10-07 20:04:53

2011-03-08 10:56:56

LinuxLAMP安装

2009-11-26 09:38:18

Suse Linux

2009-06-29 13:57:28

linuxapachephp

2009-01-20 09:29:53

PHP5Apache2.2MySQL5.1

2012-09-06 09:21:46

Centos5.6HeartbeatMySQL

2017-10-27 16:09:26

UbuntuGraylog日志服务器

2011-03-09 10:50:27

Linuxapachephp

2011-02-23 14:05:57

2017-10-17 11:10:45

UbuntuSQL Server

2020-07-10 15:20:51

Linux​OpenCV代码

2017-06-14 14:00:59

LinuxApachePHP

2010-06-23 10:03:01

点赞
收藏

51CTO技术栈公众号