FreeBSD7 Apache2.2 PHP5 PostgreSQL8.3 Ports安装笔记

1、安装PostgreSQL8.3

用PREFIX指定安装路径/home/developer/opt/postgresql

#cd /usr/ports/databases/postgresql83-server
#make install clean PREFIX=/home/developer/opt/postgresql

2、安装apache2.2
#cd /usr/ports/www/apache22
#make install clean PREFIX=/home/developer/opt/apache
针对自己需要选择,如果需要支持pgsql,需要选中pgsql这项。可以使用make config命令重新选择。

3、安装php5
#cd /usr/ports/lang/php5
#make install clean PREFIX=/home/developer/opt/php
针对自己需要选择,一般选择apache,suhosin,multibyte这三项即可。可以使用make config命令重新选择。

4、安装php5扩展
#cd /usr/ports/lang/php5-extensions
#make install clean
针对自己需要选择所需的扩展,需要使用postgresql,请选中pgsql项。其它根据自己需要选择。如果拿不准选择什么,可以用默认值,以后需要什么,可以重新到此ports 里单独选中需要的扩展安装。

5、安装ZendOptimizer
cd /usr/ports/devel/ZendOptimizer
make install clean

6、最后的准备工作

(1)到你的安装目录拷贝php.ini-dist到/usr/local/etc/php.ini,由于偶指定了安装目录,所以像下面这样做:
#cp /home/developer/opt/php/etc/php.ini-dist /usr/local/etc/php.ini

(2)修改apache 的httpd.conf,让他支持php5
#vim /home/developer/opt/apache/etc/apache22/httpd.conf
如果httpd.conf中没有下面三行,则加入
AddType application/x-httpd-php .php .phtml
AddType applicatoin/x-httpd-php-source .phps
LoadModule php5_module libexec/apache22/libphp5.so

修改DirectoryIndex为:DirectoryIndex index.html index.php
这样默认首页可以设成index.php

修改默认web主目录位置。

(3)修改php.ini文件,让他支持zendoptimizer.
#vim /usr/local/etc/php.ini
在最下面加入:

zend_optimizer.optimization_level=15
zend_extension_manager.optimizer=”/usr/local/lib/php/20060613/Optimizer”
zend_extension_manager.optimizer_ts=”/usr/local/lib/php/20060613/Optimizer_TS”
zend_extension=”/usr/local/lib/php/20060613/ZendExtensionManager.so”
zend_extension_ts=”/usr/local/lib/php/20060613/ZendExtensionManager_TS.so”

(4)建立pgsql数据库位置
#mkdir /home/developer/opt/postgresql/pgsql/data
#su root
#chown -R pgsql /home/developer/opt/postgresql/pgsql/data

7、启动测试
(1)启动postgresql
#/home/developer/opt/postgresql/bin/pg_ctl -D /home/developer/opt/postgresql/pgsql/data

(2)启动apache
#/home/developer/opt/apache/sbin/apachectl start

(3)在apache的web目录,放一个phpinfo文件,测试一下成功了没~

8、自启动
(1)apache
#cp /home/developer/opt/apache/etc/rc.d/apache22 /usr/local/etc/rc.d

在/etc/rc.conf中加入:
apache22_enable=”YES”

(2)PostgreSQL
#cp /home/developer/opt/postgresql/etc/rc.d/postgresql /usr/local/etc/rc.d/

在/etc/rc.conf中加入:
postgresql_enable=”YES”
postgresql_data=”/home/developer/opt/postgresql/pgsql/data”
postgresql_flags=”-w -s -m fast”
postgresql_initdb_flags=”–encoding=utf-8 –lc-collate=C”
postgresql_class=”default”

9、其它
OK,这样基本就行了,因为偶装的时候定义了安装目录,所以上面的命令都是按偶的安装目录打的,可以改成自己的安装目录:)

偶装php5-extensions时,里面的pgsql扩展没有安装成功,如果你也没有成功,可以到 /usr/ports/databases/php5-pgsql 里重新安装一下~

管理postgresql:
pgsql的bin目录有psql这个脚本可以管理,偶这里运行失败。。

偶装了pgadmin3
/usr/ports/databases/pgadmin3

基于web的phppgadmin,类似phpmyadmin这样的东东。
/usr/ports/databases/phppgadmin

来源:http://blog.chinaunix.net/u2/84304/showart.php?id=1681712

Freebsd7.0下mysql安装笔记

以下内容为根据视频内容做的笔记:

先安装ports,建议ports为最新,不是最新的可以使用portsnap,cvsup,Portmanager或者portupgrade工具进行更新

准备=======================================================

#cd /usr/ports/databases/mysql50-server
#pwd
#make    //时间很长

#make install //安装

#make clean //清除安装过程中产生的临时文件,以节省硬盘空间

或者使用以上三条命令的组合:
#make WITH_XCHARSET=all WITH-CHARSET=utf8 WITH_PROC_SCOPE_PTH=yes SKIP_DNS_CHECK=yes BUILD_OPTIMIZED=yes install clean

安装============================================
#cd /usr/ports/databases/mysql50-server
#pwd
#make
配置============================================

-R 包含目录下的所有目录及文件

#mysql_install_db
#chown -R mysql /var/db/mysql
#chgrp -R mysql /var/db/mysql

#/usr/local/bin/mysqld_safe –user=mysql &   //使用&以后台启用,方便检测进程是否正常

检查安装============================================
#ps -ef|grep mysqld

#netstat -an | grep 3306  检测
#mysql //连接mysql
#show databases //

高级配置============================================

设为系统启用服务
#echo ‘mysql_enable=”YES”‘>>/etc/rc.conf

MySQL优化============================================

mysql优化
#ls /usr/local/share/mysql/*.cnf
#cp /usr/local/share/mysql/my-medium.cnf   /var/db/mysql/my.cnf

[精典教程]freebsd下安装mysql,apache,php,phpmyadmin记录

第一次在FREEBSD下配置环境,感觉好爽,安装的时候也参考了别人的介绍,在此表示感谢。
为了方便以后的操作,现在记录写下来。

安装MYSQL时要注意:
mysql默认数据库放在/var分区里,如果你的数据库很大,那么你需要在前面分区的时候把/var分区分到足够大,
如果你想改变它的安装目录,例如安装到:/usr/db.

#cd /usr/ports/databases/mysql51-server
#make WITH_CHARSET=utf8 WITH_XCHARSET=all WITH_PROC_SCOPE_PTH=yes SKIP_DNS_CHECK=yes BUILD_OPTIMIZED=yes install clean

#cp /usr/local/share/mysql/my-large.cnf    /etc/my.cnf
#/usr/local/bin/mysql_install_db
#chown -R mysql:mysql /var/db/mysql
#/usr/local/bin/mysqld_safe & //启动mysql 服务
#rehash
#mysqladmin -u root password ‘root密码’
#mysql -u root -p
输入root密码,进入mysql>提示符

开始下载并开始安装数据库(上面的with_chraset=all不包含一些字符集的,如GBK,需要安装GBK教程参考:http://blog.haohtml.com/archives/7811)。编译安装完之后,重启机器可以启动mysqld守护进程,可以

#mysql
如果能够见到
mysql>
提示符,说明安装好了。不过,刚装完的mysql默认的数据库连接是100个,远远不能应付大网站的要求。按照这个办法加大吧.

如果用port安装的是mysql55版本的话,在执行mysql_install_db的时候会提示”FATAL ERROR: Could not find ./bin/my_print_defaults“错误,解决办法:http://blog.haohtml.com/archives/9674
最后:在/etc/rc.conf 添加一行命令:
mysql_enable = “YES”
或者直接在命令行中输入命令:
echo ‘mysql_enable=”YES”‘ >> /etc/rc.conf
使mysql成为一项服务,随机启动,省去手动启动mysql服务了.

重启和停止MySQL的命令:

 /usr/local/etc/rc.d/mysql-server start|stop|restart

如果以后要修改mysql的数据保存路径,请参考:http://blog.haohtml.com/archives/7989

安装APACHE

#cd /usr/ports/www/apache22
#make install clean

以上使用ports方式安装的apache默认目录并非大家习惯使用的/usr/local/apache,而是/usr/local/etc/apache22目录,可以使用以下命令指定apache的安装目录:
#make PREFIX=/usr/local/apache install,

Unix下apache默认的mpm模块用的是prefork,如果更换为worker的话,请编译的时候添加参数:–with-mpm=worker,prefork与worker的区别见:http://blog.haohtml.com/archives/4656

详细使用方法点击这里查看(另类用法:make deinstall,make clean,make rmconfig,make reinstall FORCE_PKG_REGISTER=”yes”)

启动APACHE

/usr/local/sbin/httpd -k start

查看是否安装成功
配置httpd.conf
/usr/local/etc/apache22/httpd.conf
设置根目录
/home/web/blog.haohtml.com
在AddType application/x-gzip .gz .tgz后面加上下面3行:
#php support

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

随后设置网站默认启动页允许为index.php。同样在httpd.conf里编辑,不必退出。找到
DirectoryIndex index.html index.html.var
添加index.php进去,为:
DirectoryIndex index.php index.html index.html.var
还有其它设置,根据需要自行处理
最后:在/etc/rc.conf 添加:

apache22_enable = “YES”

或者直接在命令行中输入:

echo ‘apache22_enable=”YES”‘ >> /etc/rc.conf

这样服务器启动时,apache就会启动,注意是apache22_enable,这里是两个数字2.

要注意的:
(在FreeBSD下使用ports安装apache22会出现类似的warming:
No such file or directory: Failed to enable the ‘httpready’ Accept Filter
解决方法是:

#kldload accf_http (有关kldload命令简介点击这里查看)

并将以下语句写入到/boot/defaults/loader.conf中,以便下次启动自动装载模块

accf_data_load=”YES”
accf_http_load=”YES”

这是因为不能启动FreeBSD自带的一个基于http端口过滤的模块。这个模块的作用很不错–检查HTTP请求是否完整,符合规则accpt一个Http进程,否则就扔掉。)

安装PHP5

#cd /usr/ports/lang/php5
#make install clean

+——————————————————————–+
|                      Options for php5 5.3.2                        |
| +—————————————————————-+ |
| |        [X] CLI        Build CLI version                        | |
| |        [X] CGI        Build CGI version                        | |
| |        [X] APACHE     Build Apache module                      | |
| |        [ ] DEBUG      Enable debug                             | |
| |        [X] SUHOSIN    Enable Suhosin protection system         | |
| |        [ ] MULTIBYTE Enable zend multibyte support            | |
| |        [ ] IPV6       Enable ipv6 support                      | |
| |        [ ] MAILHEAD   Enable mail header patch                 | |

#cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
如果提示php.ini-dist,请使用php.ini-production.

修改 /usr/local/etc/php.ini文件,修改date.timezone = PRC,解决php中相差八小时的问题.

安装完毕后,安装扩展

cd /usr/ports/lang/php5-extensions/
make install clean

根据需要选择插件包,安装过程中要在弹出的对话框中选中mysql选项,否则不支持mysql数据库的.建议把mysqli扩展项也选择上,现在用这个扩展的越来越多.如果没有安装请参考:http://blog.haohtml.com/archives/10013.当然包越多所需要的时间越长,大概需要30分钟.测试安装是否成功 .

注意这里先安装了apache,再安装了php,这样安装完php后,将自动在php.ini文件里添加php模块(LoadModule php5_module        libexec/apache22/libphp5.so)

安装Zend Optimizer

cd /usr/ports/devel/ZendOptimizer/
make install clean
===> ZendOptimizer-3.3.0.a cannot install: doesn’t work with PHP version : 5 (Doesn’t support PHP 5).
*** Error code 1

Stop in /usr/ports/devel/ZendOptimizer.

注:如果你用的是FreeBsd8.0版本的可能会出现上面的情况,这里可以使用使用pkg_add命令来安装Zend Optimizer.

#pkg_add -r ZendOptimizer
#rehash
执行结果将类似如下:
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.0-release/Latest/ZendOptimizer.tbz… Done.
pkg_add: warning: package ‘ZendOptimizer-3.3.0.a’ requires ‘libxml2-2.7.5’, but ‘libxml2-2.7.7’ is installed
pkg_add: warning: package ‘ZendOptimizer-3.3.0.a’ requires ‘php5-5.2.11’, but ‘php5-5.3.2’ is installed

********************************************************************************

You have installed the ZendOptimizer package.

Edit /usr/local/etc/php.ini and add:

[Zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer=”/usr/local/lib/php/20060613/Optimizer”
zend_extension_manager.optimizer_ts=”/usr/local/lib/php/20060613/Optimizer_TS”
zend_extension=”/usr/local/lib/php/20060613/ZendExtensionManager.so”
zend_extension_ts=”/usr/local/lib/php/20060613/ZendExtensionManager_TS.so”

NOTE: PHP should be compiled in non-debug mode (default).

********************************************************************************
虽然居然成功了,但也可能用phpinfo时候还是不行的![可惜最后还是不行,得到的教训是,不要用太新的版本,这样资料和环境的支持会很不完善。]

安装phpMyAdmin
# cd /usr/ports/databases/phpmyadmin/
# make fetch
接下来是一些提示,下载。
#cd /usr/ports/distfiles/
#tar xvf phpMyadmin-2-11.9-languages.bz2 -C /home/web/phpmyadmin
设置一下就可以了

设置FTP
[教程]FreeBSD vsftpd+pam虚拟用户方案配置http://blog.haohtml.com/archives/7213

安装memcache(服务端)
1.首先安装memcache,因为是在FreeBSD环境下,所以我们采用最简单的ports方式来安装memcache

cd /usr/ports/databases/memcached/
make install clean

ports会自动寻找源进行下载,然后编译安装
安装好memcache以后,编辑/etc/rc.conf文件,
在最后一行加一句

memcached_enable=”YES”

然后保存退出。
memcache会随着开机自动启动,手动启动的命令是:

/usr/local/etc/rc.d/memcached start

好了,现在memcache已经安装并启动完毕了。
2.安装pecl::memcache扩展(客户端),这是php的扩展,安装以后可以使用Memcache函数库,php手册上有详细的使用法说明。

cd /usr/ports/databases/pecl-memcache/
make install clean

安装好以后,会自动在/usr/local/etc/php/extension.ini 加上一行 extension=memcache.so
用命令查看一下:

cat /usr/local/etc/php/extensions.ini

如果看见最后一行有 extension=memcache.so

说明已经安装好了
这个时候重新启动一下apache server即可
phpinfo()可以看到memcache扩展的信息。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/13004/showart_1190048.html

Freebsd7.0下安装APACHP22服务器

(1)最小化安装FREEBSD7.0-RELEASE
(2)安装APACHE22
b2sun.com#cd /usr/ports/www
这个目录下会有apache22这个目录.安装它就OK了.
b2sun.com#setenv PACKAGESITE ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/i386/packages-7.0-release/Latest/
b2sun.con#pkg_add -f -r apache22
这时系统会自动下载文件并安装
apache22_enable=”YES” 这行加入/etc/rc.conf中.系统会自动启动这个服务.
安装完成后您需要在/usr/local/www/apache22下面建立一个data的目录及一个index.html文件.这样就可正常启动apache22 并在其它客户端中访问您建立的服务器.
(b2sun.com#apachectl start(stop restart))这个非常关键.
最好 安装完后重新启动您的FreeBSD7操作系统.

FAMP架构的建立

LAMP架构早就闻名遐迩了,所谓的LAMP架构就是指Linux+Apache+MySQL+PHP(或Python或Perl),是一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

显然LAMP名字来源于其中每个程序的第一个字母,而这每个程序都是开源软件:Linux是开源的操作系统,Apache是最通用的网络服务器,MySQL是带有基于网络管理附加工具的关系数据库,PHP是流行的对象脚本语言。 随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。

其实后三者都可以跨平台安装使用,如果将Linux系统换做Windows操作系统,那就叫WAMP架构,而如果把Linux换做FreeBSD系统,则叫做FAMP架构。可以说FAMP具有和LAMP同样的优势。

FreeBSD的软件安装大致分为三种:
1 pkg_add直接安装可执行程序。
2 ports编译安装。
3 源码安装。
以下的安装都是在FreeBSD 7.0版本上选择第二种安装方式即ports安装完成,其实选择package方式的话也大致相同。(发现7.0版本诸软件的安装与之前版本又有些不一样)。

一 Apache安装:
Apache 是 UNIX 系统中普遍使用的WWW服务器软件。根据Netcraft的统计 (http://news.netcraft.com/archives/web_server_survey.html),目前因特网中,有超过百分之六十的服务器是使用Apache来提供网页浏览的服务。Apache可以说是目前世界上使用人数最多的网页服务器软件,它不仅可以在 FreeBSD、UNIX、Linux 中运行,也可以安装在 Windows 操作系统中。

Apache和FreeBSD一样,在软件版本上也有多个分支,FB7中存在着1.3、2.0和2.2版本。Apache1.3系列开发已久,已经十分稳定了,不会再有重大的修改。而Apache2及2.2系列是一个开发较活跃的版本,它和1.3最大的不同在于对多线程(multithreaded)的支持。我当然选择新潮的2.2系列,当前最新发布的版本是2.2.8。

在FreeBSD上安装Apache软件非常方便,以下使用ports方式安装:
# cd /usr/ports/www/apache22
# make install clean

以下是一些在实际使用中常常会遇到的问题:
1) 配置文件的位置:
在FreeBSD中位于/usr/local/etc/apache22/httpd.conf,在其他版本可能位置和名称有所不同。

2) 缺省的主目录:
/usr/local/www/apache22/data
系统安装好后,我在该目录下写入了一个简单的index.html文件,只一句:
# nano index.html
This is a Debian server
然后在客户端检查是否输出正确。

3) log文件的位置
log文件的作用是很大的,Apache有二个log文件,一个是所有登陆本apache服务器的IP记录,/var/log/httpd-access.log,文件记录了登陆的ip,时间,浏览器类型等;另一个是联机错误记录文件, /var/log/httpd-error.log,这个文件对于调试apache参数是很有作用的。两个文件都是文本文件,可以由nano等文本编辑器来浏览、编辑,记录文件的位置及文件名是由 httpd.conf中的相应配置来改变。

4) 启动、停止和重新启动httpd服务器的运行:
#apachectl start(stop restart graceful)
这个命令比较有用,尤其是在修改配置文件之后。

5) 开机自动启动apache22服务:
需要编辑/etc/rc.conf文件,在其中加入以下语句:
apache22_enable=”YES”

6) 自动支持中文的问题
网页的缺省字符集有参数 AddDefaultCharset ISO-8859-1
这时候在浏览器浏览中文网页的时候,会乱码,需要手动设置编码方式为GBK或GB2312才能显示中文
去掉注释,修改为AddDefaultCharset GB2312就可以了。

7) Apache状态信息
在安装完 Apache 后,我们需要不断了解服务器的系统各方面的情况。Apache2内建了server-status及server-info二种查看服务器信息的方法。server-status是指服务器状态信息,我们可以了解Apache目前运行的情形,包括占用的系统资源、目前联机数量等。server-info主要是显示Apache的版本、加载的模块信息等。
为使用这两项功能,我们必须先修改 httpd.conf。
首先要把ExtendedStatus On前面的注释去掉。
然后分别找到和这两段,把两段内前面的注释都去掉,并设置好访问权限。不重视安全的话,可以设置allow from all.
然后就可以在浏览器以http://hostname/server-info访问了。

个人用户目录的问题:
修改主配置文件,注释掉#UserDir public_html这句,再在用户test的主目录/home/test下面创建一个index.html文件,就可以浏览:
http://yourip/~test了。

9) 其他一些我认为比较重要的配置参数:
ServerRoot:指出服务器保存其配置、出错和日志文件等的根目录。
Listen:允许你绑定Apache服务到指定的IP地址和端口上,以取代默认值
DocumentRoot:你的文档的根目录。默认情况下,所有的请求从这个目录进行应答。
HostnameLookups:指定记录用户端的名字还是IP地址

(在FreeBSD下使用ports安装apache22会出现类似的warming:
No such file or directory: Failed to enable the ‘httpready’ Accept Filter
解决方法是:
#kldload accf_http

并将以下语句写入到/boot/defaults/loader.conf中,以便下次启动自动装载模块
accf_data_load=”YES”
accf_http_load=”YES”

这是因为不能启动FreeBSD自带的一个基于http端口过滤的模块。这个模块的作用很不错——检查HTTP请求是否完整,符合规则accpt一个Http进程,否则就扔掉。)

值得说明的是,过去的开源WWW服务器几乎是Apache一统天下,近年来,则有两个小型的www服务器lighttp和nginx逐渐流行,也是值得考虑部署的好东西。

二 PHP的安装:
当前的FB7的ports中有两个php版本,即php4和php5,后者发布的时间已经很长了,我想现在应该很少应用系统非要选择安装php4吧,所以当然选择安装PHP5。
安装:
# cd /usr/ports/lang/php5
# make install clean

需要注意的是,缺省的php5配置参数当中没有选择将php5编译为apache的模块,而这是apache+php配合的主要模式,一般情况下都应该把这个选项选上。
编译安装完成之后,按照HandBook还应该在apache的配置文件(文件位置见上)中加入以下语句:
LoadModule php5_module libexec/apache/libphp5.so
AddModule mod_php5.c

DirectoryIndex index.php index.html

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

但我在实践操作中,第一句实际上安装php5的时候就已经自动加上,而第二句在启动apache22的时候报错,不知道是不是apache13才那样,总之,实际修改apache配置文件的时候,前面两句不要。

现在在/usr/local/www/apache22/data下编写测试文件wen1.php文件如下:

再到客户端去打开该文件,如果出现以下界面,则意味着系统的php解析正确,还是目前最新的php5.2.5版本。

三 MySQL的安装:
FB7中的MySQL有三个版本,分别为4.0 5.0和5.1,下面我仍然安装最新潮的版本:
# cd /usr/ports/databases/mysql51-server
# make install clean

安装完成之后,还需要:
# /usr/local/bin/mysql_install_db
# chown -R mysql /var/db/mysql

这一步一定不能少,否则mysql将启动不起来。

启动mysql的方法是:
# /usr/local/bin/mysqld_safe &
如果要设置开机就自动启动的话,需要编辑/etc/rc.conf文件,在其中加入:
mysql_enable=”YES”

因为缺省情况下MySQL的管理员帐户的密码为空,很不安全,所以修改管理员帐号密码这一步骤最好不要省略:
# /usr/local/bin/mysqladmin -u root password ‘123456’

衡量你的MySQL服务器是否正常启动的方法之一是在命令行下面运行mysql的客户端命令(ports安装mysql-server的话,会一并连mysql-client也安装的):
# mysql
如果没有出错的提示而显示出mysql客户端控制台(如下)则表明Mysql服务器正常运行了:
# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.24-rc FreeBSD port: mysql-server-5.1.24_1
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>

四 安装php5-mysql
现在php和mysql都安装好了,但现在的php5还不能操作Mysql数据库,或者说现在的php还缺乏mysql的驱动,另一方面,现在的php功能还很弱,相当多重要的也是常用的扩展还没有安装,这两个问题可以一并解决,就是安装ports里面的php5-extensions:
# cd /usr/ports/lang/php5-extensions
# make install clean
# apachectl graceful

当前的php5-extensions里的选择一共有65个,我就不一一列举,一般至少如mysql GD zlib iconv等肯定是要选择的。
当安装完毕之后,再次运行上面所述的测试文件,发现现在的内容就很多了。

五 其他可选的软件:
1 PHP加速软件:
一般小型的应用使不使用PHP加速软件都没有问题,但是稍微大一点的应用若没有使用PHP加速软件,性能上就会相差比较大。这类软件比较多,出名的有ZendOptimizer和eAccelator,在FB7的ports中都有,以下为安装前者:
# cd /usr/ports/devel/zendoptimizer
# make install clean
# apachectl graceful

注意这里编译安装后,系统提示,需要修改/usr/local/etc/php.ini文件,加入以下内容:

[Zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer=”/usr/local/lib/php/20060613/Optimizer”
zend_extension_manager.optimizer_ts=”/usr/local/lib/php/20060613/Optimizer_TS”
zend_extension=”/usr/local/lib/php/20060613/ZendExtensionManager.so”
zend_extension_ts=”/usr/local/lib/php/20060613/ZendExtensionManager_TS.so”

但是存在两个问题,一是/usr/local/etc目录下面并没有php.ini文件,需要自己把文件php.ini-dist复制为php.ini;但紧接着出现第二个问题:zendoptimizer仍然启动不了,报错说找不到libm.so.4文件,我不知道在FB7的ports里面,这算zendoptimizer的bug,还是compat-6.x的错误,反正我自己在/lib目录下这样做了一个连接解决问题:
# ln -s /usr/local/lib/compat/libm.so.4 /lib/libm.so.4

再次运行上面的测试文件(wen1.php),里面出现如下界面说明安装成功:

2 phpmyadmin
phpmyadmin就是一个操作MySQL数据库的Web界面,适合于不熟悉SQL语法的懒人们:
# cd /usr/ports/databases/phpmyadmin
# make install clean

就写到这里。

(今后但愿能改进本文档,希望能将apache扩展到lighttp和nginx;将php扩展到python和perl—其实上述安装后perl已经安装了;将mysql扩展到postgresql;)

作者: wenheping@gmail.com
时间: 20080502
来源:

FreeBSD 7.0 安装MySQL 5.0.51a

1,去FreeBSD.org下载相应的安装包(packages):

ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/
devel/libtool-1.5.24.tbz
ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/
databases/mysql-client-5.0.51a.tbz
ftp://ftp.freebsd.org/pub/FreeBSD/ports/packages/
databases/mysql-server-5.0.51a.tbz

2,装上面下载的三个文件拷贝到同一个目录下,执行下面的命令进行安装:

cd /var/ftp/incoming
pkg_add mysql-server-5.0.51a.tbz

3,提示安装完成,接着执行:

/usr/local/bin/mysql_install_db –user=mysql

4,启动Mysql:

/usr/local/bin/mysqld_safe –user=mysql &

5,修改mysql的密码:

/usr/local/bin/mysqladmin -u root password ‘123456789’

或者

/usr/local/bin/mysqladmin -u root -h demo.localdomain
password ‘123456789’

初次安装时候root密码为空. 如果用户root有旧密码,此时会提示输入旧密码.

6,在另一台电脑上测试是否启动成功:

telnet 192.168.232.129 3306

出现错误提示:
FHost ‘192.168.232.1′ is not allowed to connect to this MySQL server
解决办法:

/usr/local/bin/mysql -u root -p
输入密码后进入mysql管理控制台:
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED
BY ‘123456789’ WITH GRANT OPTION;

原理是:允许所有用root用户并且输入root密码的用户登入该mysql Server,
如果将’%’换成’10.1.1.1′那么只有10.1.1.1的主机可以登陆.

7,自动启动mysql:

ee /usr/local/etc/rc.d/mysql_start.sh
/usr/local/bin/mysqld_safe –user=mysql &

按 ctrl + [ 保存文件
执行:

chmod +x /usr/local/etc/rc.d/mysql_start.sh

完成mysql安装,并自启动.