一、安装Freebsd
很多人在使用自己的作业系统时,不知道如何对系统分区,对于分区方案没有最好的,只是跟据自己的情况去分。
下面是我的分区方案。
硬盘为120G ,/(根)1G 左右就差不多了,但考滤到/root 工作目录也在这里,所以分大一点。
/home/data 主要是用来存放Email /ftp用户的数据
/tmp 1G 也是考虑到临时文件多,所以给大也点。
/usr/ 10G 因为要安装软件,还有下载的软件,我没有装GUI 所以只分了10G我认为足够了。
/var 3G这个目录存放的东西比较多,如日志、邮件的临时目录,如果空间不够amavisd-new 无法解开邮件进行杀毒。
%df -h FilesystemSizeUsedAvailCapacityMounted on /dev/ad0s1a1.9G481M1.3G26%/
devfs1.0K1.0K0B100%/dev
/dev/ad0s1g92G353M84G0%/home/data
/dev/ad0s1e989M224K910M0%/tmp
/dev/ad0s1f9.7G1.8G7.1G20%/usr
/dev/ad0s1d2.9G105M2.6G4%/var
对于系统的安装,我选择了minimal(最小系统)和ports ,因为有些没必要的包就不装,减少系统体积,
另外作为一台服务器,我从来不装GUI 。
下载BSD时,只需要下载DISK 1 就行了,缺少的软件包可以通过网络安装。
C、配置系统
如果你在安装后期没有配置系统,在系统启动完成后以root的身份登陆系统,运行sysinstall 进行设置,
或通过ee编辑器编辑/etc/rc.conf文件,在这里提醒各位,一会大多数服务都需要在/etc/rc.conf加入启动内容才能正常启动。
设置好固定IP,或通过DHCP 自动分配置机器IP。使用SSH 客户端进行管理服务器将会为你的工作提供方便。
使用SSH 要注意:
启用 sshd
sshd 的启用是作为 FreeBSD 安装中 Standard 安装过程中的一步来进行的。 要查看 sshd 是否已被启用, 请检查 rc.conf 文件中的:
sshd_enable="YES"
这表示在下次系统启动时加载 OpenSSH 的服务程序 sshd(8)。 此外,也可以手动使用 rc(8) 脚本 /etc/rc.d/sshd 来启动 OpenSSH:
/etc/rc.d/sshd start
允许用户登录 AllowUsers 选项
通常限制哪些用户能够登录, 以及从何处登录会是好主意。 采用 AllowUsers 选项能够方便地达到这一目的。 例如, 想要只允许 root 用户从 192.168.1.32 登录, 就可以在 /etc/ssh/sshd_config 文件中加入下述设置:
AllowUsers root@192.168.1.32
要允许用户 admin 从任何地方登录, 则只需列出用户名:
AllowUsers admin
可以在同一行指定多个用户, 例如:
AllowUsers root@192.168.1.32 admin
注意: 列出需要登录机器的用户很重要; 否则他们将被锁在外面。
在完成对 /etc/ssh/sshd_config 的修改之后您必须告诉 sshd(8) 重新加载其配置文件, 方法是执行:
#/etc/rc.d/sshd reload
a、不能用root直接登陆,需要添加一个新用户,指定到wheel 组,用此用户登陆后用使用 su - 提升到管理员。
b、 以我的SecureCRT 为例,Session options ->Authentication ->Primary 选择keyboard Interactive
c、如果你要使用像LINUX 一样的彩色显示,需要把 Emulation -> Terminal ->Xterm 选中ANSI Color 并在/etc/csh.cshrc加入
setenv LSCOLORS ExGxFxdxCxegedabagExEx setenv CLICOLOR yes
set autolist
然后执行
sed -i.bak -E s/set/ prompt/#set/ prompt/g /root/.cshrc
退出重新登陆即可看到彩色目录了。
二、更新软件包
采用Freebsd 最好的地方就是安装软件方便,还可以装到最新的软件包,这就是强大的posts 系统。如果你的系统在安装时没有选择posts ,具休如何操作看BSD 的handbook.
对ports 进行更新,首先修改系统默认下载的FTP地址:
#vi /etc/make.conf
添加下列四个连接地址,第一个为HTTP连接其余都是FTP.
MASTER_SITE_OVERRIDE?= /
http://ports.hshh.org/${DIST_SUBDIR}/ /
ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ /
ftp://ftp.tw.freebsd.org/pub/ports/distfiles/${DIST_SUBDIR}/ /
ftp://freebsd.csie.nctu.edu.tw/pub/ports/distfiles/${DIST_SUBDIR}/ /
CVSUP 的站点很多,你可以选择离你最快的站点去更新posts ,具体查看 freebsd.org /freebsdchina.org.cn
在使用cvsup之前你必须连接到互联网,并需要安装cvsup 这个软件
a、安装cvsup-without-gui
% cd /usr/ports/net/cvsup-without-gui/ % make install clean
b、更新ports
安装完cvsup软件后,
% /usr/local/bin/cvsup -gL 2 -h cvsup4.freebsdchina.org /usr/share/examples/cvsup/ports-supfile
MySQL 版本很多,大家可以据自己需要自行安装。
%cd /usr/ports/databases/mysql41-server/%make install clean
在/etc/rc.conf 加入
mysql_enable="YES"
复制配置文件(非必需)
cp /usr/local/share/mysql/my-small.cnf /usr/local/etc/my.cnf
在此说明:
1、如果不在/etc/rc.conf 加入以上内容,手工是无法启动MySQL的。
2、如果你想知道这个软件应该在/etc/rc.conf加入什么内容,
打开/usr/local/etc/rc.d 目录,找到此软件的启动脚本。然后打开文件,如果有详细的说明。
%/usr/local/etc/rc.d/mysql-server.sh start Starting mysql.
如何去检查一个服务是否正常启动:1、通过ps查看进程,2、检查所打开的端口。
%ps aux|grep mysqlmysql 94899 0.2 0.5 1644 1240 p0 S3:52PM0:00.07 /bin/sh /usr/local/bin/mysqld_safe --mysql 94919 0.0 10.8 55564 27428 p0 S3:52PM0:01.54 /usr/local/libexec/mysqld --defaults-%%netstat -an|grep 3306tcp400 *.3306*.*LISTEN
MySQL安装时,服务器的密码为空,建议你装好系统后,第一时间去更改密码。
% /usr/local/bin/mysqladmin -u root -p password 你的新密码 Enter password:
如果你服务器只供本站内部使用建议在 my.cnf 里加入下面内容,以增加服务器的安全性。
[mysqld]bind_address=127.0.0.1
作为网络的今天apache web服务器已经是街知港闻了。
% cd /usr/ports/www/apache22/% make install clean
│Options for python 2.4.3│
│ │ [X] THREADSEnable thread support│ │
│ │ [ ] HUGE_STACK_SIZE Use a larger thread stack│ │
│ │ [X] UCS4 Use UCS4 for unicode support │ │
│ │ [X] PYMALLOCUse python's internal malloc │ │
│ │ [ ] IPV6 Enable IPv6 support│ │
│ │ [ ] FPECTLEnable floating point exception handling
在/etc/rc.conf 中加入:
apache22_enable="YES"
如果启动时出现httpd: Could not reliably determine the
server's fully qualified domain name, using mail.sharesky.cn for ServerName 的错误,
在/usr/local/etc/apache22/httpd.conf 约第144行的位置加入下面的内容。
ServerName mail.extmail.org
启动apahce
% /usr/local/etc/rc.d/apache22.sh startPerforming sanity check on apache22 configuration:Syntax OKStarting apache22.
% cd /usr/ports/www/mod_php4/% make install clean
Options for mod_php4 4.4.2_1,1xx lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk xx x[ ] DEBUGEnable debugx xx x[X] MULTIBYTE Enable zend multibyte supportx xx x[ ] IPV6Enable ipv6 supportx xx x[X] OPENSSLBuild static OpenSSL extension
在/usr/local/etc/apache22/httpd.conf 里加入
AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps
加入目录索引 index.php,约在httpd.conf 的212行
DirectoryIndex index.html index.php
restart或reload Apache 使之生效
% /usr/local/etc/rc.d/apache22.sh reloadPerforming sanity check on apache22 configuration:Syntax OKPerforming a graceful restart
% cd /usr/ports/lang/php4-extensions/% make install clean
在这里建议大家,如果没有必要尽量不要安装GD库免得浪费时间,大家可据自己需要选择安装模块
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkxOptions for php4-extensions 1.0xx lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk xx x [ ] BCMATHbc style precision math functionsx xx x [X] BZ2bzip2 library supportx xx x [ ] CALENDARcalendar conversion supportx xx x [ ] CRACKcrack supportx xx x [X] CTYPEctype functionsx xx x [X] CURLCURL supportx xx x [ ] DBAdba supportx xx x [ ] DBASEdBase library supportx xx x [ ] DBXdbx supportx xx x [ ] DIODirect I/O supportx xx x [ ] DOMXMLDOM supportx xx x [ ] EXIFEXIF supportx xx x [ ] FILEINFOfileinfo supportx xx x [ ] FILEPROfilePro supportx xx x [ ] FRIBIDIFriBidi supportx x [X] FTPFTP supportx xx x [ ] GDGD library supportx xx x [X] GETTEXTgettext library supportx xx x [ ] GMPGNU MP supportx xx x [X] ICONViconv supportx xx x [ ] IMAGICKImageMagick supportx xx x [X] IMAPIMAP supportx xx x [ ] INTERBASEInterbase 6 database support (Firebird)x xx x [ ] LDAPOpenLDAP supportx xx x [X] MBSTRINGmultibyte string supportx xx x [ ] MCALModular Calendar Access Library supportx xx x [X] MCRYPTEncryption supportx xx x [ ] MCVEMCVE supportx xx x [ ] MHASHCrypto-hashing supportx xx x [ ] MINGming shockwave flash supportx xx x [ ] MNOGOSEARCH mnoGoSearch supportx xx x [ ] MSSQLMS-SQL database supportx xx x [X] MYSQLMySQL database supportx xx x [ ] NCURSESncurses support (CLI only)x xx x [ ] ODBCunixODBC supportx xx x [X] OPENSSLOpenSSL supportx xx x [ ] ORACLEOracle supportx xx x [X] OVERLOADuser-space object overloading supportx xx x [ ] PANDApanda supportx xx x [ ] PCNTLpcntl support (CLI only)x xx x [X] PCREPerl Compatible Regular Expression supportx xx x [ ] PDFPDFlib support (implies GD)x xx x [ ] PFPROPayFlow Pro supportx xx x [ ] PGSQLPostgreSQL database supportx xx x [X] POSIXPOSIX-like functionsx xx x [ ] PSPELLpspell supportx xx x [ ] READLINEreadline support (CLI only)x xx x [ ] RECODErecode supportx xx x [X] SESSIONsession supportx xx x [ ] SHMOPshmop supportx xx x [ ] SNMPSNMP supportx xx x [ ] SOCKETSsockets supportx xx x [ ] SYBASE_CTSybase database supportx xx x [ ] SYSVMSGSystem V message supportx xx x [ ] SYSVSEMSystem V semaphore supportx xx x [ ] SYSVSHMSystem V shared memory supportx xx x [X] TOKENIZERtokenizer supportx xx x [ ] WDDXWDDX support (implies XML)x xx x [X] XMLXML supportx xx x [ ] XMLRPCXMLRPC-EPI supportx xx x [ ] XSLTXSLT Sablotron supportx xx x [ ] YAZYAZ support (ANSI/NISO Z39.50)x xx x [ ] YPYP/NIS supportx xx x [ ] ZIPZIP supportx xx x [X] ZLIBZLIB supportx x
# vi /usr/local/www/apache22/data/test.php
输入:
<?php phpinfo(); ?>
推出保存#chmod 755 test.php
为了去除无聊的安装过程,这里选择手工安装,先下载软件包,然后解压,再复制到/usr/local/www/apache22/data 下面
%cd /usr/ports/databases/phpmyadmin/%make fetch%cd /usr/ports/distfile%tar jxvf phpMyAdmin-2.7.0-pl2.tar.bz2%cp -r /usr/ports/distfiles/phpMyAdmin-2.7.0-pl2 /usr/local/www/apache22/data/phpmyadmin
%cd /usr/local/www/apache22/data/phpmyadmin/%ee config.default.php
将$cfg['Servers'][$i]['auth_type'] = 'config'; 改为
$cfg['Servers'][$i]['auth_type']= 'http';
打开页面弹出验证窗口。
打开http://ip/phpmyadmin 就可以管理你的mysql 数据库了
大家注意,可能你下载的版本与我下载的不一样,不能照搬。设置phpmyadmin phpMyAdmin-2.8.1 版的Port 安装方法.# whereis phpmyadmin
phpmyadmin: /usr/ports/databases/phpmyadmincd /usr/ports/databases/phpmyadminmake install clean #cd /usr/local/www/phpMyAdmin/进入phpmyadmin下的libraries 目录!修改 config.default.php#vi libraries/config.default.php
找到$cfg['PmaAbsoluteUri'] = '';
修改成 $cfg['PmaAbsoluteUri'] = 'http://你的IP/phpmyadmin';
找到
$cfg['Servers'][$i]['auth_type']= 'config';// Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user']= 'root';// MySQL user
$cfg['Servers'][$i]['password']= '';
写上你的Mysql用户名and密码!保存退出!因为phpmyadmin的PATH 是:/usr/local/www/phpmyadmin所以我们需要在APACHE里面建立一个Alias:#vi /usr/local/etc/apache22/httpd.conf在Alias 组加入下列内容:***************************************************Alias /phpmyadmin "/usr/local/www/phpMyAdmin/"
<Directory /usr/local/www/phpMyAdmin/>Order allow,deny
Allow from all</Directory>***************************************************
保存退出.弹出验证窗口。修改/usr/local/www/phpMyAdmin/libraries/config.default.php中的:$cfg['Servers'][$i]['auth_type']= "config"改成: $cfg['Servers'][$i]['auth_type']= 'http';# /usr/local/etc/rc.d/apache22.sh reload 然后用http://your IP/phpmyadmin访问!
5 使用同一个IP的虚拟主机设置方法:
取消中心主机,在ServerName 前面加井号屏蔽.
添加虚拟主机设置,比如说,假设你正在为域名www.domain.tld提供服务, 而你又想在同一个IP地址上加一个名叫www.otherdomain.tld的虚拟主机, 你只需在httpd.conf中加入以下内容:
NameVirtualHost *
<VirtualHost *>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain
</VirtualHost>
<VirtualHost *>
ServerName www.otherdomain.tld
DocumentRoot /www/otherdomain
</VirtualHost>
和添加别名是雷同的.
6 安装WEBMIN
mail# whereis webmin
webmin: /usr/ports/sysutils/webmincd /usr/ports/sysutils/webmin
make install clean
cd /usr/local/etc/webmin
sh start
然后访问 http://IP:10000