Freebsd6.0下通过ports安装apache2.2.0+mysql5.1.7+php5.1.2


    一、安装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