当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Freebsd6.0下通过ports安装apache2.2.0+mysql5.1.7+php5.1.2

Unix/Linux
Solaris系统性能问题
定时任务
SA299考前简要总结
2005.8.22 310-015考试在TK中出现的原题或类似的题
My sumarization after passing the exam of 310-015
博客序言
SM240 课程内容及学习目标
SA399课程介绍及学习目标
Solaris9的jumpstart服务器配置中文详解(转载自CU)
SA399第一章读书笔记
SA399第二章读书笔记
精灵王的提醒
步长法-解决判断循环链表
SA399第三章读书笔记
真令人惊讶
Solaris介绍(转载)
VxVM中的底层建卷
转: Solaris 10 安装及SVC管理及X及Vmware及其它可能遇到的一些问题
Solaris学习笔记(2)
小型机内存与pc机内存区别

Unix/Linux 中的 Freebsd6.0下通过ports安装apache2.2.0+mysql5.1.7+php5.1.2


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 98 ::
收藏到网摘: n/a

一、安装mysql51  #因为很多文章有提到mysql在php之后安装配置会麻烦一些,所以首先安装(不过与apache谁先谁后无所谓,不管那么多了,我是这么做的)

安装前最好先添加mysql组和mysql用户

QUOTE: pw addgroup mysql
pw adduser mysql

开始安装

 

QUOTE: cd /usr/ports/databases/mysql51-server/
make install clean # n长的编译过程
rehash
cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf #服务器内存1G,但是与apache在一起

/usr/local/share/mysql下面有5个my-xxxx.cnf文件
my-small.cnf                       最小配置安装,内存<=64M,数据数量最少
my-large.cnf                       内存=512M
my-medium.cnf                   32M<内存<64M,或者内存有128M,但是数据库与web服务器公用内存
my-huge.cnf                       1G<内存<2G,服务器主要运行mysql
my-innodb-heavy-4G.cnf    最大配置安装,内存至少4G

 

QUOTE: mysql_install_db -u mysql ; mysqld_safe -u mysql & #建立数据库目录

二、安装apache22+php5

 

QUOTE: cd /usr/ports/www/apache22/
make install clean
cd ../mod_php5
make install clean

配置/usr/local/etc/apache/httpd.conf:
加入

 

QUOTE: AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps #可不加

*注意:第二行主要为查看php代码用,加上的话web目录下的所有扩展名为.phps的文件在被浏览器访问时都显示其源代码,我安装的时候就加了,但少了.phps的s,之后郁闷了半天
 

QUOTE: DocumentRoot "/usr/local/www/apache22/data"
<Directory "/usr/local/www/apache22/data">

这两个是你的主页目录,可以根据自己需要跟改,要一致。

 

QUOTE:     Options Indexes FollowSymLinks

去掉Indexes可以限制浏览你的主页目录

 

QUOTE: rehash  
apachectl start
echo "<?php phpinfo() ?>" > /usr/loacl/www/data/info.php

可能你的apache启动的时候和我一样会报这样的错误:

 

QUOTE: [Wed Apr 12 21:48:09 2006] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter

我在google上找到了解决办法,执行如下操作

 

QUOTE: kldload accf_http

grep accf /boot/defaults/loader.conf
accf_data_load="NO" # Wait for data accept filter
accf_http_load="NO" # Wait for full HTTP request accept filter #将这个"NO"改成"YES"

但是为什么这样做还不知道,而且这个accf是做什么用的也不知道,还请大侠们来解释一下。

访问http://服务器的IP/info.php,如果有php的说明文件说明基本的php+apache2已经工作正常!

php5扩展功能安装

 

QUOTE: cd /usr/port/lang/php5-extensions/
make install clean #如果第一次安装会出现提示框,否则先make conf设置
选择需要的模块,当然也可以选择必须的,日后再添加。

apachectl restart

如果http://服务器ip/info.php有改动,恭喜你!安装成功!!

后续工作:

 

QUOTE: echo ' mysql_enable = "YES" ' >> /etc/rc.conf
echo ' apache22_enable="YES" ' >> /etc/rc.conf

以便开机后自动启动mysql apache