- 论坛徽章:
- 0
|
很久没有用FreeBSD了,这段时间工作比较闲,重新回到FB来。把用到的记录下来。
首先就是装系统了。盘放进去,/usr分大一点,最小化安装(装上ports和sys/src,base以便定制内核和安装文件,顺便在装上支持LINUX的)
接下来就是重启了,第一个要做的就是定制内核了。(当然要装上内核源码了。#sysinstall ->configure->Distributions->src(base,src))
#cd /usr/src
#cp /usr/src/sys/i386/conf/GENERIC /root/XUCJ
#ln -s /root/XUCJ /usr/src/sys/i386/conf/XUCJ
#vi /root/XUCJ #以下是我的内核,根据不同的电脑定制
cpu I686_CPU
ident XUCJ
options SCHED_4BSD # 4BSD scheduler
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
options UFS_DIRHASH # Improve performance on big directories
options UFS_GJOURNAL # Enable gjournal-based UFS journaling
options MD_ROOT # MD is a potential root device
options NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFS_ROOT # NFS usable as /, requires NFSCLIENT
options CD9660 # ISO 9660 Filesystem
options PROCFS # Process filesystem (requires PSEUDOFS)
options PSEUDOFS # Pseudo-filesystem framework
options GEOM_PART_GPT # GUID Partition Tables.
options GEOM_LABEL # Provides labelization
options COMPAT_43TTY # BSD 4.3 TTY compat [KEEP THIS!]
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
options COMPAT_FREEBSD6 # Compatible with FreeBSD6
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
options KTRACE # ktrace(1) support
options SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options ADAPTIVE_GIANT # Giant mutex is adaptive.
options STOP_NMI # Stop CPUS using NMI instead of IPI
options AUDIT # Security event auditing
device cpufreq
device eisa
device pci
device fdc
device ata
device atadisk # ATA disk drives
device ataraid # ATA RAID drives
device atapicd # ATAPI CDROM drives
device atapifd # ATAPI floppy drives
device atapist # ATAPI tape drives
options ATA_STATIC_ID # Static device numbering
# output. Adds ~215k to driver.
device scbus # SCSI bus (required for SCSI)
device da # Direct Access (disks)
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device psm # PS/2 mouse
device kbdmux # keyboard multiplexer
device vga # VGA video card driver
device splash # Splash screen and screen saver support
device sc
device agp # support several AGP chipsets
device pmtimer
device cbb # cardbus (yenta) bridge
device pccard # PC Card (16-bit) bus
device cardbus # CardBus (32-bit) bus
device sio # 8250, 16[45]50 based serial ports
device uart # Generic UART driver
device ppc
device ppbus # Parallel port bus (required)
device lpt # Printer
device plip # TCP/IP over parallel
device ppi # Parallel port interface device
device le # AMD Am7900 LANCE and Am79C9xx PCnet
device miibus # MII bus support
device loop # Network loopback
device random # Entropy device
device ether # Ethernet support
device sl # Kernel SLIP
device ppp # Kernel PPP
device tun # Packet tunnel.
device pty # Pseudo-ttys (telnet etc)
device md # Memory "disks"
device bpf # Berkeley packet filter
options IPFILTER
options IPFILTER_LOG
options IPFILTER_DEFAULT_BLOCK ####IPFILTER防火墙
options VESA
options SC_PIXEL_MODE
options SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
options SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)
options SC_KERNEL_CONS_ATTR=(FG_RED|BG_BLACK)
options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED) ###终端色彩
#make buildkernel KERNCONF=XUCJ
#make installkernel KERNCONF=XUCJ
#reboot #接下来就是重启了
如果重启的时候有问题就要用原来的内核启动了。
在重启的时候选择6
OK: unload
OK:boot /root/kernel.old/kernel
就可以启动到就的内核了(所以一般要保存一个能正常启动的内核如,/root/kernel.good/kernel)
能够正常进入到登录界面的话,就可以看到
[freebsd @ /root]# uname -a
FreeBSD freebsd.com.cn 7.0-RELEASE FreeBSD 7.0-RELEASE #1: Mon Jul 7 12:12:03 CST 2008
root@freebsd.com.cn:/usr/obj/usr/src/sys/XUCJ i386
接下来先配置一下系统
#ee /root/.cshrc #添加修改下面的东西
alias rm rm -i
alias cp cp -i
alias ll ls -lGA
alias mv mv -i
set autolist
set prompt = "[`/bin/hostname -s` @ %/]# "
#source /root/.cshrc
然后配置的ssh远程登录了。
#ee /etc/ssh/sshd_config #添加修改下面的东西
Port 22
Protocol 2
PermitRootLogin yes
PasswordAuthentication yes
PermitEmptyPasswords no
#/etc/rc.d/sshd restart
远程登录一下吧
接下来就要安装需要的软件了。
首先安装的vim编辑器
采用pkg_add -r来安装vim
#pkg_add -r vim #这样安装可能会比较慢,为了加快速度在/root/.cshrc中加入setenv PACKAGEROOT ftp://ftp.cn.freebsd.org/
重新登录一下或者
#source /root/.cshrc
#pkg_add -r vim
安装完成之后就是配置vim了。
#cp /usr/local/share/vim/vim71/vimrc_example.vim /root/.vimrc
#cp /usr/bin/vi /usr/bin/vi.bak
#ln -s /usr/local/bin/vim /usr/bin/vi
这样子vim就可以了。
web服务器可是重头戏。先来安装看看
安装apache,现在我采用prots来安装如果没有安装ports,先安装(#sysinstall ->configure->Distributions->ports)
#cd /usr/ports
#make searce name=apache22 #找到PATH
#cd /usr/ports/www/apache22
#make config #选择要安装套件(现在一下DAV模块,接下来还要安装svn)
#make WITH_BERKELEYDB=db42 install clean
记得rehash
没有出错的话,配置。
#vi /etc/rc.conf #添加
apache22_enable="YES"
启动一下看看
#/usr/local/etc/rc.d/apache22 start
打开页面看看有没有“IS WORKS!”字样。
不能少了mysql
#cd /usr/ports/databases/mysql50-server
#make install clean #选择安装的套件。
安装php5
#cd /usr/ports/lang/php5
#make config #选择apache
#make install clean
安装php5-extensions
#cd /usr/ports/lang/php5-extensions
#make config #选择gd mysql等套件
#make install
配置一下
#vi /usr/local/etc/apache22/httpd.conf #修改一下
DirectoryIndex index.html index.php
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
#cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
安装zendOptimizer 可以到/usr/ports/devel/ZendOptimizer下载#make fetch
安装过程中可能出现一些库找不到。可能是的版本太高。locate一下做一个软链接即可。
现在才发现ports安装是最省事的。如果觉得ports安装太慢的话。
#vi /etc/make.conf
MASTER_SITE_OVERRIDE=ftp://ftp.cn.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
就可以了
理所当然,接下来安装的是FTP了,pureftpd也许是不错的选择
#cd /usr/ports/ftp/pure-ftpd/
#make config
#选择一下mysql吧。
#make install clean
#rehash
配置一下。
#vi /etc/rc.conf
添加pureftpd_enable="YES"
#vi /usr/local/etc/pure-ftpd.conf
MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf
UnixAuthentication yes可以保证同时支持系统用户
NoAnonymous yes
CreateHomeDir ye
#创建一下mysql数据库表
CREATE DATABASE ftpusers;
USE ftpusers;
CREATE TABLE `users` (
`User` varchar(16) NOT NULL default '',
`Password` varchar(32) binary NOT NULL default '',
`Uid` int(11) NOT NULL default '14',
`Gid` int(11) NOT NULL default '5',
`Dir` varchar(128) NOT NULL default '',
`QuotaFiles` int(10) NOT NULL default '500',
`QuotaSize` int(10) NOT NULL default '30',
`ULBandwidth` int(10) NOT NULL default '80',
`DLBandwidth` int(10) NOT NULL default '80',
`Ipaddress` varchar(15) NOT NULL default '*',
`Comment` tinytext,
`Status` enum('0','1') NOT NULL default '1',
`ULRatio` smallint(5) NOT NULL default '1',
`DLRatio` smallint(5) NOT NULL default '1',
PRIMARY KEY (`User`),
UNIQUE KEY `User` (`User`)
) TYPE=MyISAM;
INSERT INTO ftpusers.users VALUES ('ftpuser_1',MD5('tmppasswd'),65534, 31, '/usr', 100, 50, 75, 75, '*', 'Ftp user (for
example)', '1', 0, 0);
#
编辑一下pureftpd-mysql.conf
里面的一看就明白了。
Subversion的安装
FreeBSD安装subeversion也不麻烦
#cd /usr/ports/devel/subversion
#make WITH_MOD_DAV_SVN=yes WITH_APACHE2_APR=yes WITH_PYTHON=yes WITH_ASVN=yes install clean
#rehash
和apache配置一下。看看有没有
LoadModule dav_module libexec/apache22/mod_dav.so
LoadModule dav_svn_module libexec/apache22/mod_dav_svn.so
LoadModule authz_svn_module libexec/apache22/mod_authz_svn.so
#vi /usr/local/etc/apche22/httpd.conf
DAV svn
SVNParentPath /usr/local/svn/
SVNListParentPath on
AuthzSVNAccessFile /etc/svnaccesspassword
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/svnpassword
Require user xucj
#htpasswd -c /etc/svnpassword xucj
#vi /etc/svnaccesspassword
#svnadmin create /usr/local/svn/PROJECT_NAME
#vi /etc/svnaccesspassword
[/]
* = r
[PROJECT_NAME:/]
xucj =rw
访问一下看看
安装一下cacti来监视一下自己的电脑,方便!
首先要安装的是net-snmp
#cd /usr/ports/net-mgmt/net-snmp
#make isntall clean
#vi /etc/rc.conf
snmpd_enable="YES"
snmpd_flags="-a -p /var/run/snmpd.pid"
snmptrapd_enable="YES"
snmptrapd_flags="-a -p /var/run/snmptrapd.pid"
#vi /usr/local/share/snmpd
com2sec notConfigUser default public
group MyRWGroup v1 notConfigUser
group MyRWGroup v2c notConfigUser
view systemview included .1
access MyRWGroup "" any noauth exact systemview none none
view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
syslocation paoloVM
syscontact Paolo
proc mountd
proc ntalkd 4
proc sendmail 10 1
exec echotest /bin/echo hello world
disk / 10000
load 12 14 14
pass .1.3.6.1.4.1.2021.255 /bin/sh PREFIX/local/passtest
#/usr/local/etc/rc.d/snmpd start
#/usr/local/etc/rc.d/snmptrapd start
#snmpwalk -v 1 -c public localhost system #测试一下有下面出现就说明snmp安装成功了
SNMPv2-MIB::sysDescr.0 = STRING: FreeBSD freebsd.com.cn 7.0-RELEASE FreeBSD 7.0-RELEASE #1: Mon Jul 7 12:12:03 CST 2008
root@freebsd.com.cn:/usr/obj/usr/src/sys/XUCJ i386
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2793818) 7:45:38.18
SNMPv2-MIB::sysContact.0 = STRING: Paolo
SNMPv2-MIB::sysName.0 = STRING: freebsd.com.cn
SNMPv2-MIB::sysLocation.0 = STRING: paoloVM
SNMPv2-MIB::sysServices.0 = INTEGER: 72
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (23) 0:00:00.23
SNMPv2-MIB::sysORID.1 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.2 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.3 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.4 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.5 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORID.6 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.7 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.8 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.9 = OID: IF-MIB::ifMI
.....
接下来安装rrdtool
#cd /usr/ports/databases/rrdtool
#make config 选择perl
#make install clean
#rehash
下载一下cacti配置一下。
#cd /PATH/TO/cacti
#mysql -p cacti <cacti.sql
#crontab -e
*/1 * * * * /usr/local/bin/php /PATH/TO/cacti/poller.php
#vi /usr/local/etc/apache22/extra/httpd-vhosts.conf配置一下虚拟机
先到这里!
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/18639/showart_1079521.html |
|