FreeBSD 6.1 入门级Web服务器配置手记末
|
QUOTE: # chmod u+x /usr/local/etc/rc.d/pure-ftpd.sh # ee /etc/rc.conf CODE: pure-ftpd_enable=”YES” 安装配置pureftpdadmin QUOTE: # mount /cdrom # cp R /cdrom/pureftpdadmin /usr/www/pureftpdadmin # ee /usr/www/pureftpdadmin/pureftp.config.php CODE: $PUREFTP_CONFIG_FILE = "/usr/local/etc/pureftpd-mysql.conf"; QUOTE: # ee /usr/www/pureftpdadmin/goodies/Quota_Checker.php CODE: $PUREFTP_CONFIG_FILE = "/usr/local/etc/pureftpd-mysql.conf"; QUOTE: # chmod 755 /usr/local/sbin/pure-ftpwho # chmod ug+s /usr/local/sbin/pure-ftpwho 设置pureftpdadmin安全 QUOTE: # ee /usr/local/etc/apache22/httpd.conf CODE: <Directory "/usr/www/pureftpdadmin"> QUOTE: # ee /usr/www/pureftpdadmin/.htaccess CODE: AuthType Basic QUOTE: # htpasswd -bc /usr/local/ftpadmin.pwd ftpadmin adminpassword 四、系统安全 1、防火墙IPFW 启用防火墙 QUOTE: # ee /etc/rc.conf CODE: firewall_enable="YES" QUOTE: # ee /etc/sysctl.conf CODE: net.inet.ip.fw.verbose=1 编辑防火墙规则 QUOTE: # ee /etc/ipfw.rules CODE: # 具体语法请参考http://doc.code365.net/Manual/FreeBSD_HandBook/firewalls-ipfw.html # ee /etc/ssh/sshd_config 一路回车默认 # cp /root/.ssh/identity.pub /usr/www # 复制到一个可以用ftp下载的地方 用ftp下载identity.pub,保存到本地; 在本地启动putty.exe(免费软件); 在session设置中填好IP和端口; 在connection-SSH-Auth中,Browse下载的identity.pub; 勾选Attempt TIS or CryptoCard auth(SSH-1); 点击open连接; 按照提示输入用户名、密码 3、其他安全设置 关闭一些不安全的服务 # ee /etc/rc.conf 禁止一般用户查看系统日志 # chmod g-w,o-r /var/log/* 对bin和sbin进行安全保护 # chflags schg /bin/* # ee /var/cron/allow 五、安装旧版软件 默认情况下,通过ports编译安装的都是软件的最新版本,在某些情况下需要自定义安装特定的旧版本(传说中的稳定版),这个时候需要特殊处理 首先要知道准备安装的port属于哪个类别,比如常见的Mysql4.0.26属于databases,php4.4.0属于lang等等……我们这里以php4为例 然后,到http://www.freebsd.org/cgi/cvsweb.cgi/ports/查看相应软件的发布日期,php4.4.1最后的发布日期为2005年12月9日 根据相应版本的发布日期(通常以公布日期稍延后一点,但一定要在下一个版本日期之前)修改cvsup文件 # ee /usr/share/examples/cvsup/ports-supfile 然后将ports回滚到那个时候: 最后就可以安装了 # cd /usr/lang/php4 六、FreeBSD目录架构 / 文件系统的根目录。 /bin/ 在单个用户和多用户环境下的基本工具目录。 /boot/ 在操作系统在启动加载期间所用的程序和配置 /dev/ 设备节点,请查阅 intro(4)。 /etc/ 系统启动的配置和脚本。 /etc/defaults/ 系统默认的启动配置和脚本,请参考 rc(8) 。 /etc/mail/ 关系到邮件系统运作的配置, 请参考 sendmail(8)。 /etc/namedb/ named 配置文件,请参考 named(8)。 /etc/periodic/ 每天、每星期和每月周期性地运行的脚本, 请通过 cron(8)查阅 periodic(8)。 /etc/ppp/ ppp配置文件,请查阅ppp(8)。 /mnt/ 由管理员习惯使用挂接点的临时空目录。 /proc/ 运行中的文件系统,请参阅 procfs(5) 和 mount_procfs(8)。 /rescue/ 用于紧急恢复的一组静态联编的程序; 参见 rescue(8)。 /root/ root用户的Home(主)目录。 /sbin/ 在单个用户和多用户环境下的存放系统程序和管理所需的基本实用目录。 /stand/ 独立的程序环境。 /tmp/ 临时文件。 /tmp 目录中的内容,一般不会在系统重新启动之后保留。 通常会将基于内存的文件系统挂在 /tmp 上。 这一工作可以用一系列 tmpmfs 相关的 rc.conf(5) 变量来自动完成。 (或者, 也可以在 /etc/fstab 增加对应项; 参见 mdmfs(8))。 /usr/ 存放大多数用户的应用软件。 /usr/bin/ 存放实用命令,程序设计工具,和应用软件。 /usr/include/ 存放标准 C include 文件. /usr/lib/ 存放库文件。 /usr/libdata/ 存放各种实用工具的数据文件。 /usr/libexec/ 存放系统实用或后台程序 (从另外的程序启动执行)。 /usr/local/ 存放本地执行文件, 库文件等等, 同时也是 FreeBSD ports 安装的默认安装目录。 /usr/local 在 /usr 中的目录布局大体相同,请查阅 hier(7)。 但 man 目录例外, 它们是直接放在 /usr/local 而不是 /usr/local/share 下的, 而 ports 说明文档在 share/doc/port /usr/ports 存放 FreeBSD 的 Ports Collection (可选)。 /usr/sbin/ 存放系统后台程序 和 系统工具 (由用户执行)。 /usr/share/ 存放架构独立的文件。 /usr/src/ 存放 BSD 或者本地源码文件。 /usr/X11R6/ 存放 X11R6 可执行文件、 库文件、 配置文件等的目录(可选)。 /var/ 多用途日志、 临时或短期存放的, 以及打印假脱机系统文件。有时会将基于内存的文件系统挂在 /var 上。 这一工作可以通过在 rc.conf(5) 中设置一系列 varmfs 变量 (或在 /etc/fstab 中加入一行配置; 参见 mdmfs(8)) 来完成。 /var/log/ 存放各种的系统记录文件。 /var/mail/ 存放用户mailbox(一种邮件存放格式)文件。 /var/spool/ 各种打印机和邮件系统spooling(回环)的目录。 /var/tmp/ 临时文件。 这些文件在系统重新启动时通常会保留, 除非 /var 是一个内存中的文件系统。 /var/yp NIS 映射。 /etc 一般的系统配置信息。这儿的数据是与特定系统相关的。 /etc/defaults 系统配置文件的默认版本。 /etc/mail 额外的 sendmail(8) 配置信息,其他 MTA 配置文件。 /etc/ppp 用于用户级和内核级 ppp 程序的配置。 /etc/namedb named(8) 数据的默认位置。通常 named.conf 和区域文件存放在这里。 /usr/local/etc 被安装的应用程序配置文件。可以参考每个应用程序的子目录。 /usr/local/etc/rc.d 被安装程序的 启动/停止 脚本。 /var/db 特定系统自动产生的数据库文件,像 package 数据库,位置数据库等等。 七、FreeBSD配置文件说明 /etc/resolv.conf
nameserver 按顺序要查询的名字服务器的 IP 地址,最多三个。 search 搜索机器名的列表。这通常由本地机器名的域决定。 domain 本地域名。 /etc/hosts 是 Internet 早期使用的一个简单文本数据库。它结合 DNS 和 NIS 提供名字到 IP 地址的映射。 syslog.conf 是 syslogd(8) 程序的配置文件。 它指出了的 syslog 哪种信息类型被存储在特定的日志文件中。 newsyslog.conf 是一个通常用 cron(8) 计划运行的 newsyslog(8) 程序的配置文件。指出了什么时候日志文件需要打包或者重新整理。指出了哪个日志文件要被管理,要保留多少和它们什么时候被创建。日志文件可以在它们达到一定大小或者在特定的日期被重新整理。 sysctl.conf 看起来很像 rc.conf。它用 variable=value 的形式来设定值。指定的值在系统进入多用户模式之后被设定。并不是所有的变量都可以在这个模式下设定。 至此,关于用FreeBSD组架的web服务器基本上就可以告一段落了。 关于本文中提到的 QUOTE: # mount /cdrom 其实是我自己做的一张光盘镜像,现在把这个镜像提供给大家。光盘里还包括了文中提到的所有配置文件的范例供大家参考 |
