Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

freebsd环境搭建步骤记录

[复制链接]
痞子和痞子 发表于 2008-1-27 18:17:40 | 显示全部楼层 |阅读模式
原本用的是动网,环境是win2003,后台转为discuz后也一直延续用的win环境,在线人数多了后就有些捉襟见肘了,用了两台服务器做负载平衡(win自身的功能,配置很简单,在网络邻居属性里),去年10月干脆选择了unix系列,搜索一系列资料后最选择相对最稳定的freebsd,国庆节从零学起折腾了一个礼拜总算搭建起来,速度和稳定性绝对提升了几个级别。

不过后期论坛出现其他问题导致怀疑系统问题又换成了centos,其他软件apache、linghttpd、nginx、zeus全部安装并且在两个环境都实际应用过几天,后来才发现走了弯路竟然是数据库问题,晕~

系统更换过几次,懒得再换回去了,所以把以前搭建freebsd的步骤记录在这里,有需要的同行也可参考和提提意见。
回复

使用道具 举报

 楼主| 痞子和痞子 发表于 2008-1-27 18:32:47 | 显示全部楼层
一、
首先最小化安装内核 ,选Custom进行最小化安装,分区(我的硬盘是73G Scsi)
参考分区大小:/ 2G ,swap 3G,/var 10G,/tmp 2G,/usr 10G,/home 剩余放置网站
最小化安装,自己定制,manbase和kernels必装(由于是单CPU,所以kernels里面没有选SMP),加上src-sys、ports、base装完之后会回到sysinstall界面。选择configure,选择Configure后回车继续,配置Root新密码,时区,配置网卡(IP,网关,DNS等) ,选 SSH。
我还修改了/etc/ssh/sshd_config,允许PermitRootLogin,这样我可以用软件直接上传登陆不用ftp软件,我喜欢用的是SecureCRT 5.5 和winscp。
# /etc/rc.d/sshd restart,退出重启。

二、
adduser, 直接修改/etc/group文件,把相应的用户加到wheell组就可
wheel:*:0:root,admin



三、
然后更新首先更新ports软件包源码和系统内核源码src
#pkg_add -r cvsup-without-gui
#rehash一下,接着
#cd /usr/share/examples/cvsup
#ee ports-supfile
将里面ftp站点defaulthost值改为cvsup3.cn.freebsd.org,保存退出
#cvsup -g -L 2 ports-supfile
更新完毕,对stable-supfile和doc-supfile做同样修改和cvsup更新

现在基本完成了,以后需要用到什么软件,可以用ports或package的方式。

如果是WEBserver 可以选择只更新 :
ports-databases //mysql5
ports-devel //Zend Optimize
ports-ftp //pure-ftpd
ports-lang //php5
ports-net
ports-www //apache22



四、
安装完系统后,要重新编译内核。目的是要系统支持Firrwall和提高运行效率。(不过我一直没有编译)
方法1. 使用传统方法构建内核。
#cd /usr/src/sys/i386/conf
#cp GENERIC /root/MYKERNEL
#ln -s /root/MYKERNEL
#ee MYKERNEL
# /usr/sbin/config MYKERNEL
# cd ../compile/MYKERNEL
# make depend
# make
# make install
如果你还没有通过任何方法升级你的源代码树(没有运行CVSup, CTM, 没有使用anoncvs),那你应当按如下顺序执行:config,make depend,make,make install

方法2. 使用新近的方法构建内核。
1. 进入 /usr/src目录
# cd /usr/src
2. 编译内核.
# make buildkernel KERNCONF=MYKERNEL
3. 安装新内核
# make installkernel KERNCONF=MYKERNEL


五、
安装Apache2.2.X,我选择默认的prefork模式
使用以下指令:
# cd /usr/ports/www/apache22
#make install clean



六、
安装 PHP5.2.1
执行下列指令:
# cd /usr/ports/lang/php5
# make install clean

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

//不要选DEGUG 否则Zend装不上


七、安装一些常用的 PHP 模块,请执行下列指令:
# cd /usr/ports/lang/php5-extensions
# make install clean
出现一个选单,除了预设的项目外,我们必须再选择下列几个常用的项目:CTYPE、EXIF、FTP(一定选上)mbstring(宽字符集) 、mbctrl 、GD、ICONV、IMAP、MYSQL、PCRE、SESSION、ZLIB。这些项目非常常用,尤其是 SESSION。一般我也把fastcgi选上了,避免后期需要还要重新编译

八、安装eaccelerator
cd /usr/ports/www/eaccelerator/
make install clean
mkdir /tmp/eaccelerator
chown www /tmp/eaccelerator
chmod 0700 /tmp/eaccelerator

然后再php.ini最后增加上
[eAccelerator]
zend_extension="/usr/local/lib/php/20060613/eaccelerator.so"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/tmp/cache/eaccelerator"
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"
zend_optimizer.optimization_level=15

九、安装Zend-options
# cd /usr/ports/devel/ZendOptimizer/
#make install clean

//ok根据提示我们继续.
# ee /usr/local/etc/php.ini
//如果你打开是空白.那一定是忘了
# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini//
//然后再
# ee /usr/local/etc/php.ini
//在最下边加上.
[Zend]
zend_optimizer.optimization_level=15
zend_extension_manager.optimizer="/usr/local/lib/php/20050922-zts/Optimizer"
zend_extension_manager.optimizer_ts="/usr/local/lib/php/20050922-zts/Optimizer_TS"
zend_extension="/usr/local/lib/php/20050922-zts/ZendExtensionManager.so"
zend_extension_ts="/usr/local/lib/php/20050922-zts/ZendExtensionManager_TS.so"

十、

安装 MySQL使用如下指令
# cd /usr/ports/databases/mysql50-server
#make install WITH_CHARSET=gbk WITH_XCHARSET=all clean

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 /etc/my.cnf
#rehash




MySQL5.0.33
基本设定

修改 /etc/rc.conf 并加入下列这一行,以让开机时启动 MySQL:
mysql_enable="yes"
接着您就可以使用下列指令启动 MySQL 了:
# /usr/local/etc/rc.d/mysql-server start
启动 MySQL 后,我们就可以使用下列指令进入 MySQL 交互式命令列了:
# /usr/local/bin/mysql mysql
接着要设定 root 的密码并实时更新设定:
mysql> UPDATE user SET password=password('你的密码') where user='root';
mysql> FLUSH PRIVILEGES;
最后请以 exit; 来离开 MySQL。


//配置/etc/my.cnf改变数据库路径
//通常是var目录下,但我们分配的var并不大,所以把路径指向/data/
sendmail_enable="NONE"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
mysql_dbdir="/data/mysql"
mysql_enable="YES"
rsyncd_enable="YES"


十一、
一、
使用PHPMyAdmin2.9.2进一步测试服务器的功能
在宿主机上登陆http://www.phpmyadmin.net/下载最新版本的PHPMyAdmin(这样下载比较快),目前最新的是2.9.2版。
#mv phpMyAdmin-2.9.0.2 /usr/local/www/apache22/data/phpMyAdmin
#cd /usr/local/www/apache22/data/phpMyAdmin
#cp config.sample.inc.php config.inc.php
#ee config.inc.php
//
找到

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
//
改成
//
如果这儿不添的话.他会提示你"配置文件现在需要绝密的短语密码(blowfish_secret)"
$cfg['blowfish_secret'] = 'fuck'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
//'fuck'
这个你随便写.不一定是root的密码
..

//
继续找

$cfg['Servers'][$i]['controluser'] = 'pmausr';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';
//
找到这句改成
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = '';

或者在宿主机浏览器里输入
http://“虚拟机IP地址”/phpmyadmin/scripts/setup.php
点击Add,进入下一个屏幕,Authentication type选cookie,User for config auth清空,然后点击Add,再点击Display,将生成的东西用记事本储存为config.ini.php,传到虚拟机incoming下

十二、
一、
Apache2.2.X 基本设定
#ee /usr/local/etc/apache22/httpd.conf
//查找 :
ServerName www.example.com:80
#Listen 12.34.56.78:80 //行,将该行下面的内容修改为
Listen 123.123.123.123:80 //此处为您服务器的IP地址
ServerAdmin
admin@abc.com


DocumentRoot "/usr/local/www/apache22/data"

//再往下找..

Options Indexes FollowSymLinks
//改为Options
FollowSymLinks

//避免目录浏览到配置文件.
<IfModule dir_module>


DirectoryIndex index.html index.php index.htm

</IfModule>
AddDefaultCharset ISO-8859-1

//将那行内容更改为AddDefaultCharset gb2312

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz
//再下面添加

AddType application/x-httpd-php .php


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


//最下面
Include etc/apache22/extra/httpd-mpm.conf //把#去掉
//ESC退出保存



设定/usr/local/etc/apache22/extra/httpd-default.conf。
UseCanonicalName 设定导向网址的方式
Apache 在导向网址时,会参考您所设定的服务器名称及端口号,但当主机使用 NAT Port Forwarding 时,主机名称及端口号可能会不同,这时候我们必须将这个选项设为 On,以免 Apache 转向到错误的地址。
上述设定完成后,您就可以存盘离开。
接下来,我们必在修改 /etc/rc.conf ,并加入下列设定以在开机时启动 Apache:
#ee /etc/rc.conf
mysql_enable="YES"
apache22_enable="YES"
sendmail_enable="NONE"
//ESC
保存退出.在/usr/local/www/apache22/data下开一个新文件 test.php,并加入下列内容:
<?
phpinfo();
?>
接下来您就可以连到该网页 http://192.168.0.1/test.php (请将 192.168.0.1 改成您的虚拟机 IP) 看看是否可以使用 PHP。如果有支持 PHP,则会显示 PHP 组态,如果没有,则只会出现上述档案内容。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-11-22 17:40 , Processed in 0.092676 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表