NetBSD2.0下架设入门级www服务器[附动画]

发表于:2007-06-09来源:作者:点击数: 标签:
[size=14:c022bcf4bc][b:c022bcf4bc]先说点废话[/b:c022bcf4bc]: 俗话说新猪上任三把火,总要烧烧的,今天我也火上浇油一把。关于写本文的目的可不是为了扬名海内外,主要是看到BSD版绝大部分都是FreeBSD和OpenBSD的帖子,而NetBSD少的是可怜兮兮,再加上阿

[size=14:c022bcf4bc][b:c022bcf4bc]先说点废话[/b:c022bcf4bc]:
  俗话说新猪上任三把火,总要烧烧的,今天我也火上浇油一把。关于写本文的目的可不是为了扬名海内外,主要是看到BSD版绝大部分都是FreeBSD和OpenBSD的帖子,而NetBSD少的是可怜兮兮,再加上阿明斑竹的煽动才鼓起勇气在众高手面前板门弄斧一下,还望多多指教。

[b:c022bcf4bc]看完本教程你将学会[/b:c022bcf4bc]:
  1、利用SSH远程登录进行管理
  2、pkg、源代码包的安装方法
  3、利用VI编辑器修改配置文档
  4、通过修改系统文件自启动服务
  5、初级安全知识

[b:c022bcf4bc]一、前期软件准备[/b:c022bcf4bc]:
  由于个人网络环境因素,是先将pkg和源代码包从单位下载回家做的,所以第一步先下载相关软件:apache-2.0.54nb1.tgz、mysql-server-4.1.12nb1.tgz、mysql-client-4.1.12.tgz、perl-5.8.6nb4.tgz、expat-1.95.8nb2.tgz、apr-0.9.6.2.0.54nb1.tgz,以上软件可以从[url]ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD-2.0/i386/All/[/url]     下载到。另外还需php-4.4.0.tar.bz2源代码包([url]www.php.net[/url]);F-Secure SSH(google一下吧)

[b:c022bcf4bc]二、设置SSH[/b:c022bcf4bc]
1、编辑rc.conf开启ssh
#echo sshd=YES >> /etc/rc.conf
#echo sendmail=NO >> /etc/rc.conf

2、编辑sshd_config允许root帐号登陆
#vi  /etc/ssh/sshd_config
找到#PermitRootLogin  yes将#去掉保存并退出
重启后ssh随即生效。

3、修改网卡IP地址
新建一个ifconfig.pcn0的文件。(pcn0为服务器网卡的类型,可通过ifconfig -a查看到)
#echo  192.168.112.10  netmask  255.255.255.0  >>  /etc/ifconfig.pcn0
注意客户机的IP也应该为192.168.112.*,运行F-Secure SSH client登陆上去,利用file transfer将必要的安装包拷贝至/usr下。

[b:c022bcf4bc]三、安装软件及手工启动[/b:c022bcf4bc]
[b:c022bcf4bc]1、安装perl[/b:c022bcf4bc]
#pkg_add  /usr/perl-5.8.6nb4.tgz
不用多说这个是必装的。

[b:c022bcf4bc]2、安装apache[/b:c022bcf4bc]
#pkg_add  /usr/apache-2.0.54nb1.tgz

============   [b:c022bcf4bc]手工启动apache[/b:c022bcf4bc]   ============
# cd  /usr/pkg/sbin
#./apachectl  start
如果报错,根据提示进行修改即可,一般会提示"using 127.0.0.1 for ServerName",这个时候只需要:
#hostname  127.0.0.1
#./apachectl  start   就应该能启动了。//此时打开ff(讨厌用IE)看看是否正常
---------------------------------------------------------------------

============ [b:c022bcf4bc]设置apache自启动[/b:c022bcf4bc] ============
  #cp /usr/pkg/share/examples/rc.d/apache /etc/rc.d
  #echo  apache=YES  >>  /etc/rc.conf
  #echo  hostname="127.0.0.1"  >>  /etc/rc.conf
---------------------------------------------------------------------

[b:c022bcf4bc]3、安装mysql[/b:c022bcf4bc]
#cd  /usr
#pkg_add  mysql-server-4.1.12nb1.tgz  //安装前最好将所需文件都放至同一目录

============   [b:c022bcf4bc]mysql的手工启动方法[/b:c022bcf4bc]   ============
#cd   /usr/pkg/share/examples/rc.d/
#./mysqld start
#mysql
>show  databases;
>create  database  bbs;  //为论坛创建bbs数据库
>exit
---------------------------------------------------------------------

============   [b:c022bcf4bc]设置mysql自启动[/b:c022bcf4bc]   ============
  #cp /usr/pkg/share/examples/rc.d/mysqld /etc/rc.d
  #echo  mysqld=YES  >>  /etc/rc.conf  
---------------------------------------------------------------------

============   [b:c022bcf4bc]修改mysql默认密码[/b:c022bcf4bc]   ============
  #cd  /usr/pkg/bin
  #./mysqladmin  -u  root  password  '111111'   //111111为root密码,这里要设置更复杂一些
//连接本地数据库的方法:#./mysql  -uroot  -p
//出于安全还应该禁止远程访问3306端口(修改my.cnf),改变数据库root的登陆名等等。
---------------------------------------------------------------------

[b:c022bcf4bc]4、安装php[/b:c022bcf4bc]
#cd  /usr
#tar  zxvf  php-4.4.0.tar.gz
#cd  php-4.4.0.tar.gz
#./configure  --with-mysql  --with-apxs2=/usr/pkg/sbin/apxs  --enable-safe-mode
#make; make  install; make clean 
//zend不需要另行安装


[b:c022bcf4bc]5、修改httpd.conf[/b:c022bcf4bc]
安装完PHP后,还需要手工配置一下httpd.conf文件才能正常解析php文件
============   [b:c022bcf4bc]配置httpd.conf[/b:c022bcf4bc]   ============
#vi  /usr/pkg/etc/httpd/httpd.conf
进入vi后,输入/AddType后回车(通过输入n可以向下寻找),找到不带#开头的后输入命令o,即可往下面添加:
AddType  application/x-httpd-php  .php
AddType  application/x-httpd-php  .inc
AddType  application/x-httpd-php  .class //以上两行是为了防止代码泄露
保存并退出
#/usr/pkg/sbin/apachectl  restart

//[b:c022bcf4bc]注意:如果此文档配置出错,apache将不能正常启动![/b:c022bcf4bc]
//为了防范脚本攻击和SQL注入还可以添加mod_security.c模块并进行合理设置
//寻找Options  Indexes,将Indexes去掉,可以不让别人索引你的的站点目录
//设置ServerSignature 为off
//关闭CGI,注释掉:
ScriptAlias /cgi-bin/ "/usr/pkg/libexec/cgi-bin/"  以及下一段
<Directory "/usr/pkg/libexec/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
//由于本文不是专门针对apache的,所以很多配置项请参考其它文章

---------------------------------------------------------------------

[b:c022bcf4bc]6、修改php.ini[/b:c022bcf4bc]
============   [b:c022bcf4bc]设置php.ini[/b:c022bcf4bc]   ============
#cd   /usr/php-4.4.0
#cp   php.ini-dist   /usr/local/lib/php.ini
编辑此文档:
safe_mode=on  //增加了许多限制能使php更加安全
register_global=off  //关闭全局变量
open_basedir= /usr/pkg/share/httpd/htdocs  //限制用户访问路径为站点目录
disable_function=phpinfo,get_cfg_var  //防止泄露必要的信息
display_errors=off  //php的所有错误和警告都不会显示
---------------------------------------------------------------------

[b:c022bcf4bc]三、安装论坛[/b:c022bcf4bc]
  略,详细的步骤看动画。论坛一定要到官方站点下载,安装完后一定要打上最新的补丁。

[b:c022bcf4bc]四、最后[/b:c022bcf4bc]
  最后不要忘了关闭ssh,或者采用密钥登陆。
  最好在服务器上开启防火墙,过滤没必要的端口或者防范端口扫描。
  将常用的系统命令top等最好备份到软盘上。
    
[b:c022bcf4bc]本文存在的一些不足[/b:c022bcf4bc]:
  1、没有对系统作针对性的优化
  2、软件安装没有采用通常建议的ports方式
  3、没有对apache(httpd.conf)、php(php.ini)、mysql(my.cnf)进行更加深入更全面的设置和讲解

[b:c022bcf4bc]如何进一步提高自己的水平[/b:c022bcf4bc]:
  1、学习如何优化系统
  2、学习ports的安装方式
  3、学习SSH的密钥登陆方式
  4、学习关于www服务器的安全(知识较多、较难也比较碎,例如jail和chroot等)
  5、学习关于www服务器的性能测试
  6、学会仔细看帮助文档

[b:c022bcf4bc]感谢[/b:c022bcf4bc]:chinaunix.net的BSD版和Freebsdchina.org、中文BSD用户组,也感谢我的父母和老婆能容忍:我这么肆无忌惮的使用电脑而从来不做饭。

动画下载:ftp://222.38.196.16
[/size:c022bcf4bc]



netbsd2.0简易安装过程


 gvim 回复于:2005-08-10 21:29:17
好心人。看大家情绪这么高,过两天我闲一点,也原创一个NB的文章算了 :mrgreen:  :mrgreen: 
捧场哦

 bb8848 回复于:2005-08-10 22:42:50
好,最还再来个nbsd安装

 mafa 回复于:2005-08-11 08:05:07
nb的安装还是动画比较好学。

 剑心通明 回复于:2005-08-11 08:17:49
不错不错,请继续!

 剑心通明 回复于:2005-08-11 08:20:10
已加入精华收集贴,大家如果发现以前的有什么好的帖子,请推荐过来,我还没有时间去翻以前的老帖子,主要是想要一些新的帖子,以前的老帖子大多数都过时了

 mafa 回复于:2005-08-11 08:22:37
好的,我也帮你找找。

 mafa 回复于:2005-08-11 08:40:51
比较初级的,ipfilter+ipnat。分成了4卷,需要全部下载,然后放到同一目录中解压缩第一个文档,注意都要将jpg改成rar。在图片上点右键另存。

文章可以参考:
http://bbs.chinaunix.net/forum/viewtopic.php?t=591764&show_type=new











 mafa 回复于:2005-08-11 08:43:07
第3和第4卷











 mafa 回复于:2005-08-11 08:56:34
一个播放器,可以用来看chu888的视频动画。
下载后需要该扩展名为rar



播放器


 剑心通明 回复于:2005-08-11 09:10:20
不错,已经下载合并过了,没有问题

 mafa 回复于:2005-08-11 09:15:42
谢谢测试,可惜没有ftp空间,下午到单位开一个。

原文转自:http://www.ltesting.net