1 安装MySql5.1
先添加mysql组和mysql用户
# pw addgroup mysql
# pw adduser mysql
开始安装
# cd /usr/ports/databases/mysql51-server
# ee Makefile 把--localstatedir=/var/db/mysql 改成--localstatedir=/usr/local/db/mysql后保存退出(我安装时没有修改安装目录,如果修改这个目录则需要修改/usr/local/etc/rc.d/mysql-server文件中的mysql_dbdir=”/usr/local/db/mysql”为你的新目录。否则开机启动会有问题)。
这步主要是因为/var目录缺省分配的空间比较小。我们直接指定到一个大空间去存储mysql数据。在CONFIGURE_ARGS=后面增加--with-charset=gb2312 /和--with-xcharset=all / 两行才能支持中文字符。 # make install clean 编译、安装MySql
# cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf 不同性能的数据库服务器选择下面有5个my-xxxx.cnf文件中的一个进行拷贝:
my-small.cnf 最小配置安装,内存<=64M,数据数量最少
my-medium.cnf 32M<内存<64M,或者内存有128M,但是数据库与web服务器公用内存
my-large.cnf 内存=512M my-huge.cnf 1G<内存<2G,服务器主要运行mysql my-innodb-heavy-4G.cnf innodb格式数据大于4G的
# /usr/local/bin/mysql_install_db --user=mysql 建立数据库目录 //记住 一定是 --user两个横线
如果有报错请执行:/usr/local/bin/mysql_install_db --user=mysql --basedir=/usr/local/ --datadir=/var/db/mysql &
# /usr/local/bin/mysqld_safe & 启动mysql
# /usr/local/bin/mysqladmin -u root password 'newpass' 修改root密码,newpass是你需要改的密码,若是修改成功没有出错信息,表明MySql安装成功 设置自启动服务 先检查确定
/usr/local/etc/rc.d/文件夹中含有mysql-server启动服务文件
# ee /etc/rc.conf 增加mysql_enable="YES" 重启系统即可
2 安装Apache2.2
# cd /usr/ports/www/apache22/
# make install clean
编译选项不需要很大改变,把有关IP6的选项去掉就行了
设置自启动服务
先检查确定 /usr/local/etc/rc.d/文件夹中含有apache22启动服务文件
# ee /etc/rc.conf
增加apache22_enable="YES"
重启系统即可
启动与错误分析
启动apache时显示的提示错误
# /usr/local/sbin/httpd -k start
[warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
错误一
解决apache Failed to enable the 'httpready' Accept Filter
Apache无法开启FreeBSD下accept filter 的机制。
FreeBSD 系统还提供了http filter,会自动过滤掉不完整的HTTP请求。
1. 解决方法:
# vi /boot/defaults/loader.conf
#打开,下次启动自动装载模块
accf_data_load="YES"
accf_http_load="YES"
2. 或在以下位置添加/boot/loader.conf /etc/loader.conf
accf_http_load="yes"
3. 然后reboot一下就可以解决了
错误二
# netstat -an |grep tcp4
发现80端口没有启动,查看apache错误日志内容
# cat /var/log/httpd-error.log
[Sun Jun 13 10:40:32 2010] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Sun Jun 13 10:40:32 2010] [alert] (EAI 8)hostname nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of ""
Configuration Failed
# vi /usr/local/etc/apache22/httpd.conf
#注释掉以下内容
#LoadModule unique_id_module libexec/apache22/mod_unique_id.so
3 安装PHP
# cd /usr/ports/lang/php5
# make install clean
编译选项选择如下:
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Options for php5 5.3.6 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x [X] CLI Build CLI version x x
x x [X] CGI Build CGI version x x
x x [ ] FPM Build FPM version (experimental) x x
x x [X ] APACHE Build Apache module x x
x x [ X] AP2FILTER Use Apache 2.x filter interface (experimental) x x
x x [ ] DEBUG Enable debug x x
x x [X] SUHOSIN Enable Suhosin protection system x x
x x [X] MULTIBYTE Enable zend multibyte support x x
x x [] IPV6 Enable ipv6 support x x
x x [ ] MAILHEAD Enable mail header patch x x
x x [ ] LINKTHR Link thread lib (for threaded extensions) x x
x x x x
x x x x
x x x x
x x x x
tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
4 安装PHP扩展
# cd /usr/ports/lang/php5-extensions
# make install clean
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Options for php5-extensions 1.4 x
x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x
x x [ ] BCMATH bc style precision math functions x x
x x [X] BZ2 bzip2 library support x x
x x [X] CALENDAR calendar conversion support x x
x x [X] CTYPE ctype functions x x
x x [ ] CURL CURL support x x
x x [ ] DBA dba support x x
x x [X] DOM DOM support x x
x x [ ] EXIF EXIF support x x
x x [X] FILEINFO fileinfo support x x
x x [X] FILTER input filter support x x
x x [ ] FRIBIDI FriBidi support x x
x x [X] FTP FTP support x x
x x [X] GD GD library support x x
x x [ ] GETTEXT gettext library support x x
x x [ ] GMP GNU MP support x x
x x [X] HASH HASH Message Digest Framework x x
x x [X] ICONV iconv support x x
x x [ ] IMAP IMAP support x x
x x [ ] INTERBASE Interbase 6 database support (Firebird) x x
x x [X] JSON JavaScript Object Serialization support x x
x x [ ] LDAP OpenLDAP support x x
x x [X] MBSTRING multibyte string support x x
x x [X] MCRYPT Encryption support x x
x x [ ] MSSQL MS-SQL database support x x
x x [X] MYSQL MySQL database support x x
x x [X] MYSQLI MySQLi database support x x
x x [ ] ODBC unixODBC support x x
x x [ ] OPENSSL OpenSSL support x x
x x [ ] PCNTL pcntl support (CLI only) x x
x x [X] PDF PDFlib support (implies GD) x x
x x [X] PDO PHP Data Objects Interface (PDO) x x
x x [X] PDO_SQLITE PDO sqlite driver x x
x x [ ] PGSQL PostgreSQL database support x x
x x [X] POSIX POSIX-like functions x x
x x [ ] PSPELL pspell support x x
x x [ ] READLINE readline support (CLI only) x x
x x [ ] RECODE recode support x x
x x [X] SESSION session support x x
x x [ ] SHMOP shmop support x x
x x [X] SIMPLEXML simplexml support x x
x x [ ] SNMP SNMP support x x
x x [X] SOAP SOAP support x x
x x [X] SOCKETS sockets support x x
x x [X] SQLITE sqlite support x x
x x [ ] SYBASE_CT Sybase database support x x
x x [ ] SYSVMSG System V message support x x
x x [ ] SYSVSEM System V semaphore support x x
x x [ ] SYSVSHM System V shared memory support x x
x x [ ] TIDY TIDY support x x
x x [X] TOKENIZER tokenizer support x x
x x [ ] WDDX WDDX support (implies XML) x x
x x [X] XML XML support x x
x x [X] XMLREADER XMLReader support x x
x x [X] XMLRPC XMLRPC-EPI support x x
x x [X] XMLWRITER XMLWriter support x x
x x [ ] XSL XSL support (Implies DOM) x x
x x [ ] YAZ YAZ support (ANSI/NISO Z39.50) x x
x x [X] ZIP ZIP support x x
x x [X] ZLIB ZLIB support x x
tqmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjqu
可以根据自己的需要自定义选择,中间会有多次选项,我一般选择默认
5 配置Apache和PHP
1、配置/usr/local/etc/apache22/httpd.conf:
# ee /usr/local/etc/apache22/httpd.conf
修改 DirectoryIndex index.html index.htm index index.php index.phps
2、如果你需要修改网站根目录,就修改下面两个地方,下面仅仅是个例子,大家可根据需要自行修改,确保一致即可。
DocumentRoot "/usr/local/www/web"
3、Options Indexes FollowSymLinks
去掉Indexes可以限制浏览你的主页目录
4、加入
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps #可不加
*注意:第二行主要为查看php代码用,加上的话web目录下的所有扩展名为.phps的文件在被浏览器访问时都显示其源代码
5、配置/usr/local/etc/php.ini:
# cd /usr/local/etc/
# cp php.ini-recommended php.ini //在freebsd9.2中改成了:cp php.ini-production php.ini
# ee php.ini
将short_open_tags = Off 改为On,否则不支持短脚本标记
在error_reporting = E_ALL前面加上;
将error_reporting = E_ALL & ~E_NOTICE前面的;去掉
*将报错信息设置改成去掉notice
upload_max_filesize = 2M
上传最大文件尺寸可根据需要修改
date.timezone = CST
设置服务器时区为中国的时区