Freebsd7.0+Apache2.2+MySQL5+PHP5

最近装个了FreeBSD7.0,不太会用.以前用过一点Linux和Solaris,昨天花了一天的时间来装上述软件,把一天的操作和心得整理一下,也许对像我一样的BSD新有点作用吧.
以前在Linux装上述软件时我是一个一个编译安装的,Solaris上是用pkgadd安装的Apache和MySQL,然后手动编译安装的PHP.
开始上网先搜索了一些关于配置这方面的资料,由于最近才玩BSD,对ports安装软件也不熟悉,况且我那台机器只能在内网使用,没有连接外网,也许所要安装的这些软件在光盘里有(我安装完系统后就把光盘放一边去了,太懒了),综合上述原因我决定下载上述软件的源码包一下一个的手动安装.
一、安装apache2.2.8
首先去http://www.apache.org网站上下载apache2.2.8源码包
解压缩
#tar zxvf httpd-2.2.8.tar.gz
得到 httpd-2.2.8文件夹
#cd httpd-2.2.8
配置
#./configure --prefix=/usr/local/apache --enable-so --enable-module=rewrite
编译
#make
安装
#make install
安装完成
测试一下安装效果
#cd /usr/local/apache
#cd bin
# ./apachectl start
httpd: apr_sockaddr_info_get() failed for
httpd: Could not reliably determine the server's fully qualifIEd domain name, using 127.0.0.1 for ServerName
[Thu Apr 03 09:37:41 2008] [warn] (2)No such file or Directory: Failed to enable the 'httpready' Accept Filter
出现上述提示
#vi /usr/local/apache/conf/httpd.conf
修改SeverName一项即可解决(1)错误提示
产生(2)的原因是:FreeBSD 系统还提供了http filter,会自动过滤掉不完整的HTTP请求 。
解决方法:
kldload accf_http
修改/boot/defaults/loader.conf中,以便下次启动自动装载模块
accf_http_load="YES"
在浏览器是输入http://serverip
出现 "It works!" 表明apache安装成功
二、安装MySQL
下载MySQL源码包 (我在是http://www.sunfreeware.com]上下载的)
# ls
httpd-2.2.8.tar.gz mysql-5.0.51.tar.gz
解压缩
【Freebsd7.0 Apache2.2 MySQL5 PHP5】#tar zxvf mysql-5.0.51.tar.gz
# cd mysql-5.0.51
配置
#./configure --prefix=/usr/local/mysql
编译
#make
编译时间可能需要较长时间,请耐心等待 。
安装
#make install
创建MySQL组
# pw groupadd mysql
创建MySQL用户
# pw useradd mysql -g mysql -d /usr/local/mysql/ -m mysql
修改MySQL用户密码
#passwd mysql
建立用户后我们就初始化表 (注意:必须先执行本步骤后才能进行以下步骤)
# ./scripts/mysql_install_db --user=mysql#初试化表并且规定用mysql用户来访问
初始化表以后就开始给mysql和root用户设定访问权限, 我们先到安装mysql的目录:
# cd /usr/local/mysql
然后设置权限
# chown -R root .#设定root能访问/usr/local/mysql
# chown -R mysql var#设定mysql用户能访问/usr/local/mysql/var ,里面存的是mysql的数据库文件
# chown -R mysql var/.#设定mysql用户能访问/usr/local/mysql/var下的所有文件
# chown -R mysql var/mysql/.#设定mysql用户能访问/usr/local/mysql/var/mysql下的所有文件
# chgrp -R mysql .#设定mysql组能够访问/usr/local/mysql
设置完成后,基本上就装好了,好了,我们运行一下我们的mysql:
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
出现如下提示:
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
[2] 7022
# Starting mysqld daemon with databases from /usr/local/mysql/var
# ps -ef
ps: Process environment requires procfs(5)
PID TT STAT TIME COMMAND
1040 v0 Is 0:00.00 /usr/libexec/getty Pc ttyv0
723 v1 Is 0:00.00 /usr/libexec/getty Pc ttyv1
724 v2 Is 0:00.00 /usr/libexec/getty Pc ttyv2
725 v3 Is 0:00.00 /usr/libexec/getty Pc ttyv3

推荐阅读