LAMP之路

不积跬步,无以至千里!

Freebsd8.2 32位ports安装php5.2+fpm+mysql5.1+nginx+Zend

2012-11-21 一抹阳光 环境架设

一、安装软件前的准备:

系统的安装:让机房最小化安装32freebsd8.2系统。

ports的安装:机房装好系统后,远程登录,自己在线安装ports

命令:

sysinstall->Configure->Distributions->ports->FTP->China->OK

修改系统密码:passwd回车

二、手动安装nginx+php

 1  进入系统后,准备cvs更新:

    1.    cd /usr/ports/net/cvsup-without-gui

   # make install clean

    2. cp /usr/share/examples/cvsup/ports-supfile /etc/ports-supfile

    3.    # ee /etc/ports-supfile

  将其中的#*default host=CHANGE_THIS.FreeBSD.org一行改为:

  *default host=cvsup4.FreeBSDchina.org

    {也可以指定更新版本日期,例如加上:*default date=2009.10.05.00.00.00

(这个可以省略)

}

 4.        更新ports

  /usr/local/bin/cvsup -g -L 2 /etc/ports-supfile

2)        安装mysql

#cd /usr/ports/databases/mysql51-server

#make WITH_CHARSET=gbk WITH_XCHARSET=all WITH_PROC_SCOPE_PTH=yes BUILD_OPTIMIZED=yes BUILD_STATIC=yes SKIP_DNS_CHECK=yes WITHOUT_INNODB=yes install clean

#cp /usr/local/share/mysql/my-large.cnf /usr/local/etc/my.cnf   ##mysql的优化参数,也可以手动修改

#rehash

# mysql_install_db --user=mysql          ##初始化mysql

#/usr/local/bin/mysqld_safe &            ##启动mysql

#/usr/local/bin/mysqladmin -u root password 'newpass'  

 ##设置root密码,newpass是你需要设置的密码

关闭mysql可以使用mysqladmin -uroot -p shutdown

mysqladmin -uroot -p password '新密码'    回车后输入旧密码

 mysql -uroot -p  #登陆mysql monitor.

3)  安装php

# cd /usr/ports/lang/php52装的是5.2版本,后装php5-extensions的时候对应的要cd /usr/ports/lang/php52-extensions

#make config   ##配置编译参数

[X] CLI       Build CLI version

[X] CGI       Build CGI version

 [ ] APACHE     Build Apache module

[ ] DEBUG     Enable debug

[X] SUHOSIN   Enable Suhosin protection system

[X] MULTIBYTE Enable zend multibyte support

[ ] IPV6      Enable ipv6 support

[ ] REDIRECT  Enable force-cgi-redirect support (CGI only)

[ ] DISCARD   Enable discard-path support (CGI only)

[X] FASTCGI   Enable fastcgi support (CGI only)

[X] FPM      Build FPM version //php5.2 FPM依赖FASTCGI

[X] PATHINFO  Enable path-info-check support (CGI only)

#make install clean

# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini

4)升级libtool

#cd /usr/ports/devel/libtool/ && make reinstall clean

 

5) 安装php52-extensions

#cd /usr/ports/lang/php52-extensions //5.2版本的php必须对应装5.2版本的扩展

#make config

Options for php5-extensions 1.1

-------------------------------------------------

[X] CURL       CURL support

[ ] FTP       FTP support//咱们不要

[X] GD       e in

[X] GETTEXT

[X] MBSTRING multibyte string support

[X] MCRYPT     Encryption support 

[X] MYSQL

[X] MYSQLi

[ ] PCRE        Perl Compatible Regular Expression support

[ ] POSIX //去掉.

[ ] SQLITE //去掉.

[X] ZIP        ZIP support

[X] ZLIB

# make install clean

不同以前版本,安装完php52-extensions发现很多扩展并没有安装,手动挨个去安装吧,包括:mysqlmysqligdmbstingcurl,其中,安装gd扩展耗时较长,下载依赖类库较多,多次弹出选择框。

# cd /usr/ports/databases/php52-mysql

# make install clean

# cd /usr/ports/databases/php52-mysqli

# make install clean

# cd /usr/ports/graphics/php52-gd

# make install clean

# cd  /usr/ports/converters/php52-mbstring

# make install clean

# cd  /usr/ports/ftp/php52-curl

# make install clean

 

6    安装Zend Optimizer

 

#cd /usr/ports/devel/ZendOptimizer/

 

#make                       #不要安装,只需要下载解包

 

#cd /usr/ports/devel/ZendOptimizer/work/ZendOptimizer-*

 

#./install-tty               ##会出现一个文字的安装界面,只是最后一步,不要选择apache就可以了

 

点击查看原图点击查看原图


通过上图中配置信息得知,php.ini所在位置较以前有变化,且php加载扩展的配置已单独拿出放到extensions.ini中,一行一个扩展,扩展so文件所在目录也可得出。

6)        安装nginx

#cd /usr/ports/www/nginx/

#make install

 

配置nginx

index.html前面添加一个index.php

 

location / {

    root   /usr/local/www/nginx; #虚拟目录名

index   index.html index.htm;

}

#location ~ \.php$ {

#    fastcgi_pass    127.0.0.1:9000;

#    fastcgi_index   index.php;

#   fastcgi_param     SCRIPT_FILENAME     /scripts$fastcgi_script.name;

#    include     fastcgi_params;

#}

将前面的#去掉,修改为

location ~ \.php$ {

    fastcgi_pass    127.0.0.1:9000;

    fastcgi_index   index.php;

    fastcgi_param CRIPT_FILENAME     /usr/local/www/nginx$fastcgi_script_name;

    include     fastcgi_params;

}

/usr/local/sbin/php-fpm  //手动启动php-fpm

/usr/local/sbin/nginx  // 手动启动nginx

7)添加开机自启动:

/etc/rc.conf中加入下面三行内容:

mysql_enable="YES"

nginx_enable="YES"

php_fpm_enable="YES"