FreeBSD用ports安装 nginx+php+mysql+eA (update:2010/11/8)

本文参考了很多网上的文章,经过修改,更新过一些东西。此外实验场所在PhotonVPS的FreeBSD VPS上面,如果还是有问题的,请告诉我,我会进行更新的。谢谢
首先是ports更新
freebsd下ports更新我主要用cvsup来,因此在更新ports前需要先安装cvsup,执行以下的命令

# pkg_add -r cvsup-without-gui; rehash

添加完cvsup后就可以开始ports更新了,不过为了加快更新速度,我们最好根据需要配置下离我们最近的服务器和选择我们需要的ports

# cp /usr/share/examples/cvsup/ports-supfile /root/ports-supfile
# ee /root/ports-supfile

把请把*default host=CHANGE_THIS.FreeBSD.org修改为离你最近的站点,比如我修改为:

*default host=cvsup.us.Freebsd.org

因为我的服务器在美国,所以我选择了美国的源

把ports-all(约65行)的前面加一个“#”变成:

#ports-all

然后从下面选择您需要的ports,注意,其中的ports-base是必选的,如果没有这个,其他的可能无法正确的build,如果不熟悉的话,直接ports-all就行,反正占用不了多少磁盘空间

保存后执行以下命令来安装ports:

# cvsup -L 2 /root/ports-supfile

等待更新完毕即可,然后我们就开始安装了

安装nginx

# cd /usr/ports/www/nginx

# make install

安装过程中要选择安装模块,这里我选择如下几个模块做示范

HTTP_MODULE
HTTP_REWRITE_MODULE
HTTP_SSL_MODULE
HTTP_STATUS_MODULE

FreeBSD下的ports安装实在是太简单、方便了,没什么可多说的,下面直接安装php。

安装MySQL

cd /usr/ports/databases/mysql55-server
ee Makefile
在第30行下面加上下面的参数(可选,要看自己是否需要)

–enable-thread-safe-client \
–disable-dtrace \
–enable-assembler \
–enable-assembler \
–with-big-tables \
–with-ssl \
–with-embedded-server \
–with-local-infile \
–with-plugins=partition,innobase,myisammrg

然后
#make install clean

3.2 初始化数据库
/usr/local/bin/mysql_install_db –user=mysql
cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf

然后就是修改MYSQL的root的密码,运行
/usr/local/bin/mysqladmin -u root password 'newpassword'
newpassword修改为自己想要的密码

3.3 /etc/rc.conf 增加mysql_enable=”YES”

安装php 5.3.3

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

安装过程中,选择如下模块:

CLI
CGI
SUHOSIN
FASTCGI]
FPM (目前FreeBSD里面已经集成了php-fpm这一项了,所以下面的第三步就不用安装了)
PATHINFO

然后安装php5-extensions

#cd /usr/ports/lang/php5-extensions
#make config //选中mysql的驱动
#make install clean

修改RC.conf

mysql_enable=”YES”
nginx_enable=”YES”
php_fpm_enable=”YES”

启动
/usr/local/etc/rc.d/php-fpm restart

安装php扩展模块安装eaccelerator

cd /usr/ports/www/eaccelerator
make install clean

然后编辑Php.ini,在末尾加上

extension=”/usr/local/lib/php/20090626/eaccelerator.so”
eaccelerator.shm_size=”16″
eaccelerator.cache_dir=”/data/cache/ea”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=””
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”0″
eaccelerator.shm_prune_period=”0″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″

安装memcache

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

安装pdo_mysql

cd /usr/ports/databases/php5-pdo_mysql
make install clean

Author: Lei

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.