Chinaunix

标题: 交流与分享——FreeBSD8的在企业中的部署应用 [打印本页]

作者: surpass_li    时间: 2011-07-26 16:59
FreeBSD8做为服务器安全方面可能会很好,但入门门坎比centos高一点。
关注freeBSD...
作者: renxiao2003    时间: 2011-07-26 17:02
本帖最后由 renxiao2003 于 2011-08-01 15:23 编辑

我们一直在使用centos,对于FreeBSD,我曾经尝试过,但没有安装成功(在VMWare下),对于Apache+PHP+Mysql的配置,在各中类Unix系统下的安装都基本一致,所以可以不用太在意和区分是FreeBSD还是Centos。
对于本次的讨论主题,个人觉得实在是强和FreeBSD扯上的关系。不过至于讨论中提到的3点我还是比较认同的。
特别是和日本人做过项目的朋友都知道,如果你的环境和日本人要求的环境有些许的差别,那么出现问题的时候他们都可能耐到你的环境上,所以统一的内网开发环境是十分重要的。
至于代码和文档的统一管理,形成制度,这点中国的企业真的要向日本企业学习一下。多于的话就不废话啊。大家都明白的。
作者: yuhongchun    时间: 2011-07-26 17:20
提示: 作者被禁止或删除 内容自动屏蔽
作者: yuhongchun    时间: 2011-07-26 17:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: yuhongchun    时间: 2011-07-26 17:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: kns1024wh    时间: 2011-07-26 21:07
Jail的优点
很多资料介绍的都比较多,我这里就不浪费篇幅。在我们实际的开发环境中,我们是用一台8核CPU、 ...
yuhongchun 发表于 2011-07-26 17:20



    Jail  这个使用有很大的针对性
作者: yuhongchun    时间: 2011-07-27 10:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: www36836com    时间: 2011-07-27 12:12
表示关注freeBSD...
作者: king_819    时间: 2011-07-27 14:49
jail是操作系统层面的虚拟产品
作者: king_819    时间: 2011-07-27 14:50
jail是操作系统层面的虚拟产品
作者: king_819    时间: 2011-07-27 15:14
freebsd构建NFS服务器

一、NFS安装配置:

安装rpc

# cd /usr/ports/math/rpc

# make install clean



NFS服务器这端,确认/etc/rc.conf 文件里头以下开关都配上了:



nfs_server_enable="YES"

rpcbind_enable="YES"

nfs_server_flags="-u -t -n 4"

mountd_flags="-r"

每当NFS服务器启动时,mountd就自动运行了。在选项 nfs_server_flags 中,-u 表示我们提供 UDP 方式联机,而 -t 表示以 TCP 方式联机。-n 4标志,告诉nfsd运行自己的4个相同的拷贝



某些应用程序需要文件上锁支持才能正常运行。在使用 NFS 时, 可以用 rpc.lockd 来支持文件上锁功能。 要启用它, 需要在服务器和客户机的 /etc/rc.conf 中加入 (假定两端均已配好了 NFS):



rpc_lockd_enable="YES"

rpc_statd_enable="YES"



然后使用下述命令启动该程序:



# /etc/rc.d/lockd start

# /etc/rc.d/statd start



在客户端一侧,确认下面这个开关出现在 /etc/rc.conf里头:



nfs_client_enable="YES"

nfs_client_flags="-n 4"  #像nfsd,-n 4告诉nfsiod运行自己的4个拷贝



二、exports配置文件相关设置参数:

etc/exports文件指定了哪个文件系统 NFS应该输出(有时被称为“共享”)。 /etc/exports里面每行指定一个输出的文件系统和哪些机器可以访问该文件系统。在指定机器访问权限的同时,访问选项开关也可以被指定。



实例说明:

# cat /etc/exports



# /usr/src /usr/obj -ro 192.168.9.224

-ro             表示 read only,只读



# /home   -alldirs       192.168.9.220 192.168.9.221 192.168.9.222

-alldirs      标记允许子目录被作为挂载点,但前提是 /data 必须是一个独立的 filesystem



# /a      -maproot=0 -network 192.168.9.0 -mask 255.255.248.0

-maproot=root         标记授权远端系统上的 root 用户在被输出的文件系统上以root身份进行读写,-network IP -mask MASK 指定允许联机的网域



# /cdrom -ro -mapall=alex

-mapall              将所有 client 的存取联机对映到 user,也就是说所有人的身份都转成 user



配置文件/etc/exports内容如下:

# cat /etc/exports

/data        -alldirs      192.168.9.223



三、NFS启动与重载配置文件

启动NFS

# /etc/rc.d/nfsd start



重新加载NFS配置文件:



在修改了 /etc/exports 文件之后, 就必须让 mountd 服务重新检查它, 以便使修改生效。一种方法是通过给正在运行的服务程序发送 HUP 信号来完成:

# kill -HUP `cat /var/run/mountd.pid`



或指定适当的参数来运行 mountd 脚本:

# /etc/rc.d/mountd reload



如果第一次设定,所以连 mountd 都还没有启动,所以你可以选择重新开机或是执行下列指令来启动 NFS 服务

# rpcbind

# nfsd -u -t -n 4

# mountd -r



在 NFS 客户端:

# nfsiod -n 4



四、客户端配置:

1.查看NFS服务器的输出

# showmount -e 192.168.9.134



2.挂载NFS服务器中的共享目录到本地目录/data2/下

# mount -t nfs 192.168.9.134:/data /data2/





3.卸载系统中已挂载的NFS共享目录

# umount /data/



4.修改fstab文件让系统启动时自动挂载NFS文件

# ee /etc/fstab

192.168.1.134:/data    /data2    nfs     defaults    0 0
作者: king_819    时间: 2011-07-27 15:16
freebsd双线代理服务器架设

# 电信网通双线代理:网通用户通过代理访问电信服务器



1、IP初始化
bce0 网通接口,默认设置网通网关
bce1 电信接口,访问电信服务器设置静态路由



2、静态路由设置
freebsd# cat /etc/rc.conf



static_routes="static1 static2 static3 static4 static5 static6 static7 static8 static9 static10"
route_static1="-net 61.147.19.0/24 22.224.199.25"
route_static2="-net 222.93.106.56/29 22.224.199.25"
route_static3="-net 222.18.114.0/24 22.224.199.25"
route_static4="-net 222.16.29.0/24 22.224.199.25"
route_static5="-net 61.13.24.0/24 22.224.199.25"
route_static6="-net 219.15.6.0/24 22.224.199.25"
route_static7="-net 220.19.20.0/24 22.224.199.25"
route_static8="-net 218.193.9.0/24 22.224.199.25"
route_static9="-net 61.15.9.192/26 22.224.199.25"
route_static10="-net 61.155.18.120/29 22.224.199.25"



3、优化内核,调整文件描述符(重要)
freebsd# ee /etc/sysctl.conf



kern.ipc.somaxconn=8192
kern.ipc.maxsockbuf=2097152
kern.maxfilesperproc=65536
kern.maxfiles=65536
net.inet.tcp.sendspace=65536
net.inet.tcp.recvspace=32768
net.inet.udp.maxdgram=57344
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=0
net.inet.ip.redirect=0
net.inet.icmp.icmplim=100
net.inet.tcp.always_keepalive=0
net.inet.tcp.delayed_ack=0
net.inet.tcp.log_in_vain=0
net.inet.udp.log_in_vain=0
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.local.stream.sendspace=65535
net.local.stream.recvspace=32768
net.inet.ip.fastforwarding=1
net.inet.tcp.syncookies=1
net.inet.ip.portrange.hifirst=8888
net.inet.ip.portrange.first=8888
compat.linux.osrelease=2.6.16
//使sysctl.conf配置生效
freebsd# sysctl -p

freebsd# ee /boot/loader.conf

kern.ipc.maxsockets="4008"
kern.ipc.nmbclusters="32768"
kern.ipc.nmbufs="65535"
kern.ipc.nsfbufs="2496"
net.inet.tcp.tcbhashsize="2048"
linux_load="YES"



4、安装squid
freebsd# groupadd squid
freebsd# useradd -g squid -s /sbin/nologin squid
freebsd# mkdir -p /cache/{cache,logs}
freebsd# chown -R squid.squid /cache/cache
freebsd# chown -R squid.squid /cache/logs
freebsd# cd /usr/ports/www/squid3
freebsd# make install clean



5、编辑squid.conf
freebsd# ee /usr/local/etc/squid/squid.conf



visible_hostname squid.king.com
http_port 8008
http_port 80
cache_mgr king_819@163.com
cache_effective_user squid
cache_effective_group squid
cache_mem 1024 MB
maximum_object_size_in_memory 10 MB
memory_replacement_policy lru
cache_replacement_policy lru
cache_dir ufs /cache/cache 8000 32 128
max_open_disk_fds 0
maximum_object_size 300 MB
cache_swap_low 90
cache_swap_high 95
http_access allow all
#logs
access_log none
cache_log /cache/logs/cache.log
cache_store_log none
error_directory  /usr/local/squid/share/errors/Simplify_Chinese



6、初始化squid并启动
freebsd# /usr/local/sbin/squid -z
freebsd# /usr/local/etc/rc.d/squid start



7、squid自启动
freebsd# ee /etc/rc.conf
squid_enable="YES"



8、pf设置
# macros
ext_if = "bce0"
icmp_types = "echoreq"
table <master> {222.93.106.56/29,202.12.54.99}
table <ddos> persist
table <gm> {222.93.106.58,119.36.79.9}
table <web> {222.93.106.56/29,61.155.19.12/26}

# options
set block-policy return
set loginterface $ext_if
set limit states 60000

# scrub
scrub in all

# filter rules
#pass quick all
pass in quick inet from <master>
block in quick from <ddos>
block in all
pass quick on lo0 all
pass in quick proto tcp to ($ext_if) port 80 flags S/SA keep state (max-src-conn 100, max-src-conn-rate 30/5, overload <ddos> flush)
pass in quick proto tcp to ($ext_if) port 8080 flags S/SA keep state (max-src-conn 100, max-src-conn-rate 30/5, overload <ddos> flush)
pass quick inet proto icmp all icmp-type $icmp_types
pass quick proto udp to any port 53
pass out to <gm>
pass out to <web>

#<master>表里面的为管理IP,允许访问所有
#允许网通玩家访问80,8080端口
#经过此双线服务器中转,只允许访问<gm> <web> 定义的电信服务器
作者: king_819    时间: 2011-07-27 15:19
freebsd下安装配置socks代理服务器

ss5

1、安装ss5
----------------------------------------
freebsd# cd /usr/ports/net/ss5/
freebsd# make install clean

报错:
===>   openldap-client-2.4.19 depends on package: libtool>=2.2 - not found
===>   Found libtool-1.5.24, but you need to upgrade to libtool>=2.2.
*** Error code 1

Stop in /usr/ports/net/openldap24-client.
*** Error code 1

解决办法:
freebsd# cd /usr/ports/devel/libtool22/
freebsd# make install clean
freebsd# cd /usr/ports/devel/libltdl22
freebsd# make install clean

然后再继续:
freebsd# cd /usr/ports/net/ss5/
freebsd# make install clean

2、修改配置文件
---------------------------------------
freebsd# vi /usr/local/etc/ss5/ss5.conf

auth 0.0.0.0/0 – u
permit u 0.0.0.0/0 – 0.0.0.0/0 – – – – -

freebsd# vi /usr/local/etc/ss5/ss5.passwd     //添加认证用户

king 1q2w3e

freebsd# vi /etc/rc.conf

ss5_enable="YES"           //添加ss5启动项

freebsd# /usr/local/etc/rc.d/ss5 start


socks5

1、安装socks5
---------------------------------------
freebsd# cd /usr/ports/net/socks5/

freebsd# make install clean

2、配置socks5
---------------------------------------
freebsd# vi /usr/local/etc/socks5.conf

#指定SOCKS v5绑定的ip地址和监听的端口。假如不指定绑定的IP将使用0.0.0.0

set SOCKS5_BINDINFC 0.0.0.0:1080

   
#忽略ident请求。当客户机没有运行identd时,使用SOCKS5_NOIDENT将降低超时值

set SOCKS5_NOIDENT

   
#指定连接停顿最长时间。超过最大值后,socks5断开连接

set SOCKS5_TIMEOUT 15

   
#socks5将接受SOCKS V4 协议的请求,默认不接受

set SOCKS5_V4SUPPORT

   
#指定同时存在的最大子进程数,Socks5预设为64

set SOCKS5_MAXCHILD 4

   
#指定密码文档

set SOCKS5_PWDFILE /usr/local/etc/socks5.passwd



#指定日志文件

set SOCKS5_LOGFILE /var/log/socks5.log


#任何的客户连接都使用username/password用户认证方法

#auth - - u  //用户认证方法
auth - - -      //允许所有用户

   
#允许来自192.168.0.X的任何经过用户认证的连接, 这里我没做限制.
  
permit - - - - - -       //允许所有IP

#permit u - - - - -   //允许认证用户

#permit u - 192.168.0.X - - -



freebsd# vi /usr/local/etc/socks5.passwd

king 741852

freebsd# vi /etc/rc.conf   #添加socks5项  

socks5_enable="YES"

socks5_flags="-t -b 222.192.55.99:8080"



#pf开放8080端口

pass in quick proto tcp to $ext_if port 8080



3、开始测试
freebsd# /usr/local/bin/socks5 -f -s
如果出现下面的信息表示测试成功。  
18210: Socks5 starting at Mon Dec 14 18:23:45 1998 in normal mode


4、启动socks5


freebsd# /usr/local/etc/rc.d/socks5 start
作者: mayu8758    时间: 2011-07-27 16:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: mayu8758    时间: 2011-07-27 16:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: foxwb    时间: 2011-07-27 17:22
  特别喜欢FreeBSD的快速性和高度的定制性
作者: yuhongchun    时间: 2011-07-27 17:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: yuhongchun    时间: 2011-07-27 17:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: king_819    时间: 2011-07-27 17:56
另外,感谢King_819提供这么多FreeBSD下的工作文档,赞!!
yuhongchun 发表于 2011-07-27 17:49


大家一起分享下各自的经验!
作者: beyondfly    时间: 2011-07-27 20:25
我觉得,FreeBSD用做企业网的网关,用ipfw进行数据包过滤,还有很不错的
作者: to407    时间: 2011-07-27 23:49
ORACLE在FreeBSD环境下的支持度不高, 有没有谁有这方面案例,或者有实践PostgreSQL/MySQL?
作者: yuhongchun    时间: 2011-07-28 01:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: yuhongchun    时间: 2011-07-28 01:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: 蓝色虫    时间: 2011-07-28 06:11
觉得这么多版主都没去想过客户真正的需求

一个系统过于复杂会引出很多公司管理问题

讨论技术还是要回到简单实用的路子为基本诉求
作者: yuhongchun    时间: 2011-07-28 11:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: garfieldls    时间: 2011-07-28 12:55
FreeBSD简介:

FreeBSD,是AT&T的后裔间接通过Berkeley Software Distribution(BSD)伯克利软件发行版UNIX,其漫长而动荡的历史可以追溯到1993年。不同于Linux发行版,这被定义为集成 Linux内核和数以千计的应用软件组成的解决方案,FreeBSD是一个紧密集成的操作系统基于BSD kernel和所谓的“userland(用户建造)”(因此,甚至没有额外的扩展程序)。发行版巨大失去了在普通电脑系统安装的机会 – 像许多Linux发行版本,一个易于安装的(大部分)开放源码的应用扩展提供了FreeBSD的核心,但这些通常是由第三方捐助者提供的和不严格的 FreeBSD的一部分。
FreeBSD开发作为一个快速,高性能和极其稳定的操作系统,尤其是适合网络服务器和类似任务。许多大型搜索引擎网站,或组织的关键任务计算基础设施上部署和使用,并在他们的计算机系统上运行FreeBSD多年。相较于Linux操作系统,FreeBSD是分布在一个更宽松的许可证,这几乎可以无限制地重复使用和源代码修改为任何目的。即使是知名的苹果的Mac OS X也是从BSD派生。除了核心的操作系统,该项目还提供超过15,000种二进制和源代码形式

FreeBSD软件方便的应用于BSD核心安装。虽然可以肯定的是FreeBSD能够作为桌面操作系统使用,但它在这方面不具有Linux发行版流行。文本模式的安装程序提供的系统硬件检测或系统配置方面并没有,留下复杂的工作,这让在安装后的用户来设置。在现代的硬件支持方面,FreeBSD普遍滞后Linux操作系统,特别是在支持笔记本电脑和上网本等小工具,如无线网卡或流行数码相机。这些用户寻求现有的桌面FreeBSD的项目是考虑利用FreeBSD在台式机或工作站的速度和稳定,而不是FreeBSD的自身。


一.安装准备:
1.1、操作系统安装:参见http://bbs.linuxtone.org/thread-6422-1-1.html附件
默认FreeBSD不允许Root直接ssh登陆,在安装系统时候可以添加一个wheel组的用户。以确保FreeBSD系统安全!切记:FreeBSD只允许wheel组的用户可以ssh登陆。

例如:pw useradd coralzd -g wheel



1.2 系统环境

引用

FreeBSD 8.0 I386
Nginx 0.7.65
PHP 5.2.13
Mysql 5.5.4 M3




二、系统初始化



2.1 更新ports
用portsnap 更新ports树,已获得最新的软件。
修改portsnap配置文件的server 为国内的镜像
ee /etc/porsnap.conf

引用

将SERVERNAME=portsnap.freebsd.org
修改为SERVERNAME=portsnap.hshh.org

#初次运行portsnap fetch extract
以后运行portsnap fetch update


2.2 优化rc.conf配置文档
添加syslogd_flags="-ss"
sendmail_enable="NONE"
2.3 内核增加IPFW防火墙
cd /usr/src/sys/i386/conf
cp GENERIC IPFW
ee IPFW
将ident GENERIC
修改为ident IPFW
在下面增加

引用

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options IPFIREWALL_DEFAULT_TO_ACCEPT



编译内核

引用

# cd ../compile/IPFW
# make cleandepend && make depend
# make && make install


编译完成后在/etc/rc.conf 最后添加以下语句

引用

firewall_enable="YES"
firewall_script="YES"
firewall_script="/etc/ipfw.conf"
firewall_quiet="NO"
firewall_logging_enable="YES"


:编辑/etc/syslog.conf文件
  在文件最后加入如下内容:
  !ipfw *.* /var/log/ipfw.log
这行的作用是将IPFW的日志写到/var/log/ipfw.log文件里
ee /etc/ipfw.conf


引用

#!/bin/sh
IPFW='/sbin/ipfw -q'
$IPFW -f flush
$IPFW add 2000 allow ip from any to any via lo*
$IPFW add 2010 deny log ip from 127.0.0.0/8 to any in
$IPFW add 2020 deny log ip from any to 127.0.0.0/8 in
$IPFW add 2030 deny log ip from 224.0.0.0/3 to any in
$IPFW add 2040 deny log tcp from any to 224.0.0.0/3 in
$IPFW add 2050 allow log tcp from any to any out
$IPFW add 2060 allow log tcp from any to any established
$IPFW add 2070 allow log tcp from any to any 22 in
$IPFW add 2080 allow log tcp from any to any 80 in
$IPFW add 12190 deny log tcp from any to any


2.4 安装axel提高ports的安装速度
cd /usr/ports/ftp/axel
make install
#修改 /et/make.conf
ee /etc/make.conf
#加入以下内容

引用

FETCH_CMD=axel
FETCH_BEFORE_ARGS= -n 10 -a
FETCH_AFTER_ARGS=
DISABLE_SIZE=yes
MASTER_SITE_OVERRIDE?=\
http://ports.hshh.org/${DIST_SUBDIR}/\
http://ports.cn.freebsd.org/${DIST_SUBDIR}/\
ftp://ftp.freeBSDchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP



2.5 优化内核

ee /etc/sysctl.conf

引用


security.bsd.see_other_uids=0
net.inet.tcp.sendspace=65536
net.inet.tcp.recvspace=65536
#net.inet.udp.sendspace=65536
net.inet.udp.maxdgram=65536
net.local.stream.sendspace=65536
net.inet.tcp.rfc1323=1
#net.inet.tcp.rfc1644=1
net.inet.tcp.rfc3042=1
net.inet.tcp.rfc3390=1
kern.ipc.maxsockbuf=2097152
kern.maxfiles=65536
kern.maxfilesperproc=32768
net.inet.tcp.delayed_ack=0
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=1
net.inet.ip.redirect=0
net.inet.icmp.bmcastecho=0
net.inet.icmp.maskrepl=0
net.inet.icmp.icmplim=100
net.inet.icmp.icmplim_output=0
#net.inet.tcp.drop_synfin=1
net.inet.tcp.always_keepalive=1
net.inet.ip.intr_queue_maxlen=1000 (这儿太大了。建议不用或小点值)
net.inet.tcp.msl=7500 (太大了。建议2500-2000左右)
net.inet.tcp.blackhole=2
net.inet.tcp.inflight.enable=1
net.inet.ip.fastforwarding=0
kern.ipc.somaxconn=32768
kern.securelevel=0
#net.inet.tcp.log_in=1
#net.inet.udp.log_in=1
net.inet.udp.checksum=1
net.inet.tcp.syncookies=1
kern.ipc.shm_use_phys=1
kern.ipc.shmmax=67108864
kern.ipc.shmall=32768
kern.coredump=0
net.local.stream.recvspace=65536
net.local.dgram.maxdgram=16384
net.local.dgram.recvspace=65536
#net.inet.tcp.mssdflt=1460
#net.inet.tcp.minmss=1640
net.inet.raw.maxdgram=65535
net.inet.raw.recvspace=65535
net.inet.ip.fw.dyn_max=65535
net.inet.ipf.fr_tcpidletimeout=864000



ee /boot/loader.conf


引用


kern.dfldsiz="2147483648" # Set the initial data size limit
kern.maxdsiz="2147483648" # Set the max data size
kern.ipc.nmbclusters="0" # Set the number of mbuf clusters
kern.ipc.nsfbufs="66560" # Set the number of sendfile(2) bufs




三、配置mysql php nginx
3.1 安装mysql 5.5.4 m3

引用

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


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

引用

echo 'mysql_enable="YES"' >> /etc/rc.conf



3.4 安装php

引用

cd /usr/ports/lang/php52
#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
[X] REDIRECT Enable force-cgi-redirect support (CGI only)
[X] DISCARD Enable discard-path support (CGI only)
[X] FASTCGI Enable fastcgi support (CGI only)
[X] PATHINFO Enable path-info-check support (CGI only)
make install clean



# cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
3.5 配置php.ini
ee php.ini
找到如下语句

引用

;open_basedir =
disable_functions =
expose_php = On
expose_php = Off
display_errors = On
output_buffering = Off


修改为

引用

open_basedir = /data/www/wwwroot:/tmp
disable_functions =
phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsock
open,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
display_errors = Off

output_buffering = On


3.6 安装php52-extensions

引用

# cd /usr/ports/lang/php52-extensions/
#make config
Options for php52-extensions 1.3
-------------------------------------------------
[X] CURL CURL support
[X] FTP FTP support
[X] GD
[X] GETTEXT
[X] MBSTRING multibyte string support
[X] MCRYPT Encryption support
[X] MYSQL
[X] PCRE Perl Compatible Regular Expression support
[ ] POSIX //去掉
[ ] SQLITE //去掉.
[X] ZIP ZIP support
[X] ZLIB
# make install clean


3.7 安装php扩展模块安装eaccelerator

引用

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


ee /usr/local/etc/php.ini
在后面加上

引用

zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-
20060613/eaccelerator.so"
eaccelerator.shm_size="32"
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/php52-pdo_mysql
make install clean


安装ImageMagick

引用

# cd /usr/ports/graphics/ImageMagick/
# make install clean



看是否安装成功 convert --version
PHP还需安装两个.so
安装 php imagick extend (imagick.so)

引用

# cd /usr/ports/graphics/pecl-imagick
# make install clean


安装 php magickwand extend (magickwand.so)

引用

# cd /usr/ports/graphics/php-magickwand
# make install clean


关于magicwand的说明:http://www.imagemagick.org/script/api.php#php
然后看下扩展
<?php
phpinfo();
?>
安装lighttpd 获得spawn-fcgi

引用

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


安装nginx

引用

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


修改php.ini cgi.fix_pathinfo=1,让SCRIPT_FILENAME有效
安装Zendoptimizer
cd /usr/ports/devel/ZendOptimizer/
make (不要安装,只需下载下来即可)
cd work/ZendOptimizer-3.3.0a-freebsd6.0-i386
./install-tty 一路按回车,到最后选择no,不使用apache。
zend 将自动在php.ini最后添加参数的。
让nginx和spawn-fcgi开机启动

引用

echo 'spawn_fcgi_enable="YES" '>> /etc/rc.conf



引用

echo 'nginx_enable="YES"' >> /etc/rc.conf


3.8 整合nginx和php
ee fastcgi_params


引用

#fix_php_path
if ($request_filename ~* (.*)\.php) {
set $php_url $1;
}
if (!-e $php_url.php) {
return 403;
}
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;





ee nginx.conf







user www www;
worker_processes 10;
pid /var/log/nginx.pid;
# [ debug | info | notice | warn | error | crit ]
error_log /dev/null;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
events
{
use kqueue; #FreeSBD下要启用kqueue,Linux下是epoll
#maxclient = worker_processes * worker_connections /
cpu_number
worker_connections 51200;
}
http
{
include /usr/local/nginx/conf/mime.types;
default_type application/octet-stream;
charset gb2312;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
log_format main '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent
"$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';
#access_log /data/www/logs/access.log main;
access_log /dev/null;
sendfile on;
tcp_nopush on;

keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

fastcgi_buffer_size 128k;
fastcgi_buffers 4 128k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
fastcgi_intercept_errors on;
client_max_body_size 50m;
client_body_buffer_size 256k;

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
#
proxy_temp_path /dev/proxy_temp;
fastcgi_temp_path /dev/fastcgi_temp;
client_body_temp_path /dev/client_body_temp;

server
{
listen 80;
server_name www.linuxtone.org;
root /data/www/wwroot;
index index.html index.htm index.php;


location ~ \.php$ {
#root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /data/www/wwwroot$fastcgi_script_name;
include fastcgi_params;
}
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;

}
}




3.9 安装phpmyadmin

引用

cd /usr/ports/databases/phpmyadmin/
make (只需获得软件包就可以了)
cd work && mv phpMyAdmin* /data/www/wwroot/phpmyadmin


编辑 config.default.php

引用

cd phpmyadmin/lib*
ee config.default.php
将$cfg['blowfish_secret'] = '';
修改为$cfg['blowfish_secret'] = 'cookie';


然后就可以通过phpmyadmin 来管理mysql了!
文档修改历史
V1.0 初稿完成
V1.1 整理文档排版,增加fastcgi_params,修复php_pathinfo漏洞。
V1.2 修改nginx.conf 不正确的地方;整理/etc/make.conf 笔误。
V1.3 增加phpmyadmin 管理,修改spawn_fcgi 启动参数。
参考文章:
http://willzh.javaeye.com/blog/252362
http://hi.baidu.com/cajecx/blog/item/279f00e903578036b80
作者: garfieldls    时间: 2011-07-28 13:02
FreeBSD 安装分布式监控软件 zabbix

FreeBSD简介:

FreeBSD,是AT&T的后裔间接通过Berkeley Software Distribution(BSD)伯克利软件发行版UNIX,其漫长而动荡的历史可以追溯到1993年。不同于Linux发行版,这被定义为集成 Linux内核和数以千计的应用软件组成的解决方案,FreeBSD是一个紧密集成的操作系统基于BSD kernel和所谓的“userland(用户建造)”(因此,甚至没有额外的扩展程序)。发行版巨大失去了在普通电脑系统安装的机会 – 像许多Linux发行版本,一个易于安装的(大部分)开放源码的应用扩展提供了FreeBSD的核心,但这些通常是由第三方捐助者提供的和不严格的 FreeBSD的一部分。
FreeBSD开发作为一个快速,高性能和极其稳定的操作系统,尤其是适合网络服务器和类似任务。许多大型搜索引擎网站,或组织的关键任务计算基础设施上部署和使用,并在他们的计算机系统上运行FreeBSD多年。相较于Linux操作系统,FreeBSD是分布在一个更宽松的许可证,这几乎可以无限制地重复使用和源代码修改为任何目的。即使是知名的苹果的Mac OS X也是从BSD派生。除了核心的操作系统,该项目还提供超过15,000种二进制和源代码形式

FreeBSD软件方便的应用于BSD核心安装。虽然可以肯定的是FreeBSD能够作为桌面操作系统使用,但它在这方面不具有Linux发行版流行。文本模式的安装程序提供的系统硬件检测或系统配置方面并没有,留下复杂的工作,这让在安装后的用户来设置。在现代的硬件支持方面,FreeBSD普遍滞后Linux操作系统,特别是在支持笔记本电脑和上网本等小工具,如无线网卡或流行数码相机。这些用户寻求现有的桌面FreeBSD的项目是考虑利用FreeBSD在台式机或工作站的速度和稳定,而不是FreeBSD的自身。


zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
以前在freebsd 8.0下安装zabbix试用了一下,相较商业的SolarWinds,差距还是比较大的。
但就开源方案来讲功能还是算很强大的了。

//操作系统要为/var空间保证足够数据库容量
pkg_add -r zabbix-server
pkg_add -r zabbix-frontend
pkg_add -r nginx
pkg_add -r mysql51-server
pkg_add -r spawn-fcgi
echo 'mysql_enable="YES"' >> /etc/rc.conf
echo 'nginx_enable="YES"' >> /etc/rc.conf
echo 'zabbix_server_enable="YES"' >> /etc/rc.conf
echo 'spawn_fcgi_enable="YES"' >> /etc/rc.conf
//必须先创建数据库(假定为zabbix),登录数据库名<user>和登录密码<pwd>
mysql> create database zabbix character set utf8; //建库
mysql> grant all on zabbix.* to <user>@localhost identified by '<pwd>';
mysql> quit;
//将zabbix中的各种报表导入数据库zabbix中:
mysql -u root -p
mysql>use zabbix
mysql>source /usr/local/share/zabbix/server/create/schema/mysql.sql
mysql>source /usr/local/share/zabbix/server/create/data/data.sql
mysql>source /usr/local/share/zabbix/server/create/data/images_mysql.sql
//修改zabbix的配置
cd /usr/local/etc/zabbix/
cp ./zabbix_server.conf.sample ./zabbix_server.conf
vi ./zabbix_server.conf
   修改数据库名,登录用户名和密码
//修改nginx的配置文件
vi /usr/local/etc/nginx/nginx.conf
    server {
        listen       80;
        server_name  localhost;
        location ~ .php$ {
          fastcgi_pass   127.0.0.1:9000;
          fastcgi_index  index.php;
          fastcgi_param SCRIPT_FILENAME /usr/local/www/zabbix/$fastcgi_script_name;
          include fastcgi_params;
        }
        location / {
            root   /usr/local/www/zabbix/;
            index  index.html index.htm index.php;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/www/nginx-dist;
        }
cd /usr/local/www/zabbix
编辑并添加如下内容
vi /usr/local/www/zabbix/include/db.inc.php
<?php
$DB_TYPE ="MYSQL";
$DB_SERVER ="localhost";
$DB_DATABASE ="zabbix";
$DB_USER ="<user>";
$DB_PASSWORD="<pwd>";
$DB_PWD ="<pwd>";
$DB_PORT = "10051";
//修改相应的权限
chown -R zabbix zabbix /usr/local/www/zabbix
chmod -R 777 /usr/local/www/zabbix等安装结束之后再执行下边的。
chmod -R 775 /usr/local/www/zabbix
cd /usr/local/etc
cp ./php.ini-production php.ini
根据zabbix的安装提示编辑如下文件以满足zabbix的安装条件
vi ./php.ini
登录默认用户名为admin/zabbix

安装过程中:
启动zabbix提示:Cannot allocate shared memory of size
需要在/etc/sysctl.conf中增加如下内容:
kern.ipc.shmall=2097152
kern.ipc.shmmax=2147483648
kern.ipc.semmsl=250
kern.ipc.semopm=100
同时在文件/boot/loader.conf中增加如下内容:
kern.ipc.semmni=128
kern.ipc.semmns=32000
kern.ipc.shmmni=4096

感谢以下网址提供的参考信息:
http://skyxue.blog.51cto.com/446502/192579
http://www.zabbix.com/forum/showthread.php?t=14445
作者: garfieldls    时间: 2011-07-28 13:04
本帖最后由 garfieldls 于 2011-07-28 13:10 编辑

概要
* 在 FreeBSD 上运行PostgreSQL数据库


Postgresql 个人觉得用的比mysql要少的多,但也不是无一用处。在数据完整性、特别的服务器端的特性、本地语言支持、锁定和并行的支持、SQL标准兼容性比mysql要强,但在稳定性和速度来说要比mysql稍逊。好了闲话少说,开始。
配置FreeBSD内核
  options         SYSVSHM
  options         SYSVSEM
  options         SYSVMSG
  options         SHMMAXPGS=65536
  options         SEMMNI=40
  options         SEMMNS=240
  options         SEMUME=40
  options         SEMMNU=120从Posts安装PostgreSQL
#cd /usr/ports/databases/postgresql90-server/ && make install
配置PostgreSQL
往rc.conf里增加启动项

postgresql_enable="YES"
postgresql_data="/usr/pgsql"             #这里写你中间的数据库存放路径
postgresql_class="postgres"初始化数据库

# /usr/local/etc/rc.d/postgresql initdb终端回显

tomato# /usr/local/etc/rc.d/postgresql initdb
属于此数据库系统的文件宿主为用户 "pgsql".
此用户也必须为服务器进程的宿主.
数据库簇将带有一下 locales 初始化
  COLLATE:  C
  CTYPE:    zh_CN.UTF-8
  MESSAGES: zh_CN.UTF-8
  MONETARY: zh_CN.UTF-8
  NUMERIC:  zh_CN.UTF-8
  TIME:     zh_CN.UTF-8
initdb: 无法为语言环境"zh_CN.UTF-8" 找到合适的编码配置
缺省的文本搜索配置将会被设置到"simple"

创建目录 /usr/pgsql ... 成功
正在创建子目录 ... 成功
选择默认最大联接数 (max_connections) ... 100
选择默认共享缓冲区大小 (shared_buffers) ... 32MB
创建配置文件 ... 成功
在 /usr/pgsql/base/1 中创建 template1 数据库 ... 成功
初始化 pg_authid ...  成功
初始化dependencies ... 成功
创建系统视图 ... 成功
正在加载系统对象描述 ... 成功
创建字符集转换 ... 成功
正在创建字典 ... 成功
对内建对象设置权限 ... 成功
创建信息模式 ... 成功
loading PL/pgSQL server-side language ... 成功
清理数据库 template1 ... 成功
拷贝 template1 到 template0 ... 成功
拷贝 template1 到 template0 ... 成功

警告: 为本地连接启动了 "trust" 认证.
你可以通过编辑 pg_hba.conf 更改或你下
次运行 initdb 时使用 -A 选项.

成功. 您现在可以用下面的命令运行数据库服务器:

    /usr/local/bin/postmaster -D /usr/pgsql
或者
    /usr/local/bin/pg_ctl -D /usr/pgsql -l logfile start

tomato#
运行PostgreSQL服务

# /usr/local/etc/rc.d/postgresql start修改管理员密码

#psql -U pgsql postgres
postgres=# \password
postgres=#\q允许其他非本地IP链接

vi /usr/pgsql/postgresql.conf
   listen_addresses = '*'修改pg_hba.conf文件里的文件验证方式 ,这个文件的位置是你数据库所在的目录,也就是rc.conf里配置的那个修改用户密码加密方式

               
# TYPE  DATABASE        USER            CIDR-ADDRESS            METHOD

#"local" is for Unix domain socket connections only
local   all             pgsql                                   md5

# "local" is for Unix domain socket connections only
local   all             pgsql                                     md5
# IPv4 local connections:
host    all             pgsql             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 trust重启服务

#/usr/local/etc/rc.d/postgresql restart安装phpPgAdmin,网页版PGSQL管理工具

    #cd /usr/ports/databases/phppgadmin
    #make install clean
    #ln -s /usr/local/www/phpPgAdmin /usr/local/www/data/配置phpPgAdmin,修改/usr/local/www/phpPgAdmin/conf/config.inc.php文件的第88行true改成false

$conf['extra_login_security'] = false;通过http://localhost/phppgadmin,登录,管理PostgreSQL了
作者: garfieldls    时间: 2011-07-28 13:11
欢迎大家踊跃发言!
作者: yuhongchun    时间: 2011-07-28 13:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: 只爱睡觉    时间: 2011-07-28 15:28
ipfw+jail。
作者: fire_cpp    时间: 2011-07-28 16:27
顶啊。因为各种纠结,BSD系列的商用介绍比较少。
作者: fire_cpp    时间: 2011-07-28 16:50
试过,不推荐!!
yuhongchun 发表于 2011-07-28 01:17



    为什么不推荐?
作者: 智勇双全    时间: 2011-07-29 10:01
企业中应用FreeBSD系统还是少数,系统基本没更新。许多linux下的习惯没有办法在BSD下延伸。

现在就用FreeBSD装m0n0及Panabit等应用平台,FreeBSD系统很稳定,这是实践中得到的结论。{:3_203:}
作者: jacklv159    时间: 2011-07-29 12:37
FreebSD  我顶一下
作者: sopato    时间: 2011-07-29 22:13
谢谢大家的文档,都非常棒。
作者: taojie2000    时间: 2011-07-31 23:52
freebsd 小白飘过   ....

一直坚守在 redhat  centos   
作者: xindi10631    时间: 2011-08-01 14:37
关注话题,这个不错,值得学习!
作者: w3g8    时间: 2011-08-01 21:53
freebsd8如何定制无人值守安装光盘(硬盘分区+定制软件+系统优化)、ghost光盘只恢复系统不破坏其它数据分区???
作者: wrt304    时间: 2011-08-02 08:38
谢谢。
作者: daocaoren0311    时间: 2011-08-02 14:07
本人管理数台linux服务器,但是bsd没用过。昨天面试问:既然没用过bsd,那让你熟悉这个系统 需要多少时间?楼主认为一个linux管理员大概需要多少时间?
作者: angelwait    时间: 2011-08-02 16:46
本帖最后由 angelwait 于 2011-08-02 16:47 编辑

支持楼主,一样是用的ezjail来快速部署jail

我有几个更偷懒的方法,
刚开始build basejail 的时候,可以ezjail-admin install 来装,这样会自动去官方ftp下载编译好的basejail,省去编译了。

当下完一个basejail后,可以将下载下来的/usr/jails/下的几个目录打包,下次再部署宿主机时,直接copy过去解压就能用。

还有可以把新创建好的jail归档成一个模板:ezjail-admin archive
下次创建新的类似功能的jail时,直接ezjail-admin create -a 就可以
作者: yuhongchun    时间: 2011-08-02 19:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: yuhongchun    时间: 2011-08-02 19:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: congli    时间: 2011-08-02 20:44
本帖最后由 congli 于 2011-08-02 20:47 编辑
试过,不推荐!!
yuhongchun 发表于 2011-07-28 01:17



    为什么不推荐?
公司有一应用就是FreeBSD8 + PG8, 暂时同时在线100+左右.
作者: congli    时间: 2011-08-02 20:47
企业中应用FreeBSD系统还是少数,系统基本没更新。许多linux下的习惯没有办法在BSD下延伸。

现在就用Fre ...
智勇双全 发表于 2011-07-29 10:01



    通常都是FreeBSD + Panabit + PF 一起上!
作者: congli    时间: 2011-08-02 20:54
freebsd8如何定制无人值守安装光盘(硬盘分区+定制软件+系统优化)、ghost光盘只恢复系统不破坏其它数据分区 ...
w3g8 发表于 2011-08-01 21:53


定制无人安装光盘也不难.
作者: congli    时间: 2011-08-02 21:09
不知道在FreeBSD跑OpenLDAP的多不?
作者: w3g8    时间: 2011-08-02 22:03
定制无人安装光盘也不难.
congli 发表于 2011-08-02 20:54



    版主可否告知详细的定制过程、重装freebsd系统时如何不破坏数据分区???谢谢了。
作者: kisswen    时间: 2011-08-02 22:05
我们目前在用Freebsd8.2 amd64

有一台跑pf加squid以及cacti,ntpd部分测试

另外一台跑nginx mysql php
作者: yuhongchun    时间: 2011-08-02 22:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: mirnshi    时间: 2011-08-02 23:11
似乎都是从技术层面考虑问题,而没有从应用考虑。企业里的服务大概可以分为
1. 基础类的服务,有固定可用的软件包,比如邮件服务/DNS/文件/打印之类的,基本不用开发或修改,只需安装配置就可以了。
    这类服务,如果有源码的,linux和freebsd没啥区别,几乎都是通吃。没有源码的,比如oracle,在freebsd上支持就很差了。如果应用不挑数据库的话,可以使用mysql或pg,pg某种程度上要好于mysql,特别是可以用其他通用语言写存储过程或者触发器之类的,比如php/python,甚至java,在存储过程里还可以调用外部程序。
   linux的oomkiller着实厉害,初次接触是因为mysql数据库服务器上做一个统计,耗费的内存比较多了,不够用,结果mysql数据库却被干掉了。某种程度上也是个陷阱。

2. 应用类的服务,比如web之类的,就需要根据技术实现考虑OS的选择了,如果是java的,还是linux支持得好一些。如果是php之类的就无所谓了,只要管理员熟悉就可以了。如果是php的话,nginx+fastcgi+php的方式可能会优于apache+php,ng的架构可以做得很灵活,而且处理能力也非常高,占用资源很少。

freebsd的结构比较清晰,而且资源消耗少一些,缺省安装后台进程比linux少。freebsd6以后的版本锁的粒度变小了,smp的性能提高了很多。freebsd的开发维护有个核心团队,用户在新版本的跟进上相对linux可以更靠前一些。

在企业里,是选择freebsd还是linux,更多地取决于管理员的熟悉程度。
作者: mirnshi    时间: 2011-08-02 23:16
回复  congli

我们当时是拿二台机器装MySql,一台FreeBSD8.0 x86_64,一台Centos5.5 x86_64,在内网环境 ...
yuhongchun 发表于 2011-08-02 22:35


pg的特长在于繁多的数据类型及其处理,以及事务性处理。mysql就是简单的快。用过mysql的主从备份,如果网络环境不好的话,经常出现从备份错误,比较惹人烦。
作者: mirnshi    时间: 2011-08-02 23:17
本帖最后由 mirnshi 于 2011-08-02 23:25 编辑
版主可否告知详细的定制过程、重装freebsd系统时如何不破坏数据分区???谢谢了。
w3g8 发表于 2011-08-02 22:03


这和安装windows不破坏数据盘(比如D盘)没啥区别呀。

定制思路:
1. 将根分区等tar成包,
2. 编写一个shell程序,将目标分区mount到一个挂接点,比如/mnt,然后展开备份包。如果有必要可以重写boot块
3. 修改发行盘,用这个shell程序取代sysinstall,光盘引导后,就可以直接运行这个shell程序了。
作者: congli    时间: 2011-08-02 23:40
版主可否告知详细的定制过程、重装freebsd系统时如何不破坏数据分区???谢谢了。
w3g8 发表于 2011-08-02 22:03



    无人值守安装, 做个install.cfg文件就可以.
重装时能不能不破坏分区, 要测试过才知道.
作者: congli    时间: 2011-08-02 23:42
这和安装windows不破坏数据盘(比如D盘)没啥区别呀。

定制思路:
1. 将根分区等tar成包,
2. 编写 ...
mirnshi 发表于 2011-08-02 23:17



    以前尝试修改sysinstall, 可以做到一键式定制安装.
作者: yuhongchun    时间: 2011-08-03 11:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: bjruntest    时间: 2011-08-04 14:37
标题: 778899
啦啦啦啦啦啦43214321
作者: w3g8    时间: 2011-08-04 18:38
以前尝试修改sysinstall, 可以做到一键式定制安装.
congli 发表于 2011-08-02 23:42

楼主可否将修改过程贴出来看看,谢谢!!!
作者: w3g8    时间: 2011-08-04 18:42
无人值守安装, 做个install.cfg文件就可以.
重装时能不能不破坏分区, 要测试过才知道.
congli 发表于 2011-08-02 23:40


哪里有install.cfg文件的帮助。我在网上没有搜到,你能否提供下?谢谢
作者: gashero    时间: 2011-08-05 15:02
部署的问题确实有很多值得研究的地方,我在公司都是用rsync来做部署的。
作者: mirnshi    时间: 2011-08-05 16:37
部署的问题确实有很多值得研究的地方,我在公司都是用rsync来做部署的。
gashero 发表于 2011-08-05 15:02



如果部署应用系统,是可以通过rsync的,如果是安装系统,最好是定制化一个,然后将系统备份还原到其他机器上去。这样是最快的了。
作者: jackshan    时间: 2011-08-05 17:16
萝卜青菜各有所爱,没有最好只有适合
作者: congli    时间: 2011-08-05 17:44
回复 65# w3g8

文件在这里:
    /usr/src/usr.sbin/sysinstall/install.cfg
作者: flycentos    时间: 2011-08-07 03:06
这些都测试过嘛???可以用嘛?
作者: spark8103    时间: 2011-08-07 10:44
不错,我们公司用到了pf及其它一些应用,也有centos,呵呵
作者: yuhongchun    时间: 2011-08-07 16:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: flycentos    时间: 2011-08-07 23:45
都是线上文档,放心吧~
yuhongchun 发表于 2011-08-07 16:49


好的。谢谢了。
作者: 智勇双全    时间: 2011-08-08 15:57
回复 51# congli


   现在基本上单纯panabit就够强悍了。小范围内试用还是可以的
作者: 智勇双全    时间: 2011-08-08 16:01
如何监控起FreeBSD服务器,snmp监控一直配置不起来,有无现成的案例呢?
作者: mirnshi    时间: 2011-08-09 09:31
如何监控起FreeBSD服务器,snmp监控一直配置不起来,有无现成的案例呢?
智勇双全 发表于 2011-08-08 16:01



snmp很简单的,是无法监听,还是启动后无法授权访问呢?
作者: niao5929    时间: 2011-08-09 16:27
希望楼主能多给大家出些FreeBSD的PDF文档,另外就是希望能把活动也搞成PDF文档给大家共享下,毕竟使用FreeBSD的人不多,大家都是以学习的精神来的。呵呵
作者: rootsecurity    时间: 2011-08-09 19:48
关注FreeBSD。jail倒是还没尝试过,用VMware装一个FreeBSD能用Jail吗?求指教
作者: yuhongchun    时间: 2011-08-09 21:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: mirnshi    时间: 2011-08-10 17:11
这个是可以的,因为FreeBSD的jail的虚拟原理跟Xen是不一样的,它是基于文件的chroot,个人不是太喜欢在V ...
yuhongchun 发表于 2011-08-09 21:34


如果有服务器,装一个esxi还是不错的。
作者: yuhongchun    时间: 2011-08-10 21:05
提示: 作者被禁止或删除 内容自动屏蔽
作者: jiayanfu    时间: 2011-08-11 08:47
果然是好贴,学习ing。。。
作者: mirnshi    时间: 2011-08-11 10:04
回复  mirnshi

ESXI是挑服务器,组装的服务器未必能装上!!
yuhongchun 发表于 2011-08-10 21:05



虚拟化产品来讲,vmware做得最好。兼容机可以考虑xen嘛,一样可以的。freebsd的jail只能还是freebsd,换成vm就可以安装其他os了。国内一些虚拟化厂商有采用xen,如云主机之类的。
作者: yuhongchun    时间: 2011-08-11 14:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: dmkldmkl    时间: 2011-08-12 09:57
freebsd  上安装qmailadmin     有没有谁有这方面案例.
作者: gerryok    时间: 2011-08-12 18:07
--------------------------------------------------------------------------------


jail是操作系统层面的虚拟产品
作者: lixiaxin200319    时间: 2011-08-16 13:26
了解下
作者: scdjpj    时间: 2011-08-16 18:47
学习了
作者: lala-flag    时间: 2011-08-17 14:39
本帖最后由 lala-flag 于 2011-08-17 14:42 编辑

回复 85# dmkldmkl

freebsd  上安装qmailadmin     有没有谁有这方面案例.

这个是完全可以的。
8年前,我们就在FreeBSD上面跑 qmail + vpopmail + qmailadmin 一套产品
一直使用到2年前,当然FreeBSD也是经历了好几个版本的,qmailadmin也是几经修改定制,使用上是完全没有的。
现在还是在 FreeBSD8上面,qmail + vpopmail +自研发admin界面
很久没有再弄这个东西,但是实现是完全没有问题的,而且非常稳定的。
我们是从FreeBSD4.3 一路走过来的,现在使用FreeBSD8.
作者: yuhongchun    时间: 2011-08-18 17:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: aplah    时间: 2011-08-22 17:27
对的,FreeBSD下的jail一般都是FreeBSD,如果喜欢Xen虚拟化的朋友也可以考虑用Xen的~
yuhongchun 发表于 2011-08-11 14:27



    据说freebsd对xen支持不是特别的好,大多数vps还是选择Linux+xen的
作者: ulovko    时间: 2012-06-02 10:46
向大家学习!
作者: wyw5257    时间: 2012-06-16 15:19
关注freeBSD




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2