Monday, December 22, 2008

SVN|How To Configure Web Access To Subversion Repositories Using Apache

How To Configure Web Access To Subversion Repositories Using Apache

This how to is going to describe the steps to get the mod_dav_svn module to work in an Apache web server. First I'll assume that we don't have Apache and Subversion installed on our FreeBSD box, in a second part I'll explain how to add the module using our current installation.

First we have to install our Apache 2.0.x with Berkeley DB support (because Subversion will use Berkeley DB to save the repositories). To do this we have to go to the ports dir and do this:

box# cd /usr/ports/www/apache20/
box# make -DWITH_BDB4 install clean
some installation steps...

Add apache ability to start automatically at boot time:

box# echo 'apache2_enable="YES"' >> /etc/rc.conf

After we have apache20 installed with bdb support, we'll have to install Subversion:

box# cd /usr/ports/devel/subversion
box# make -DWITH_MOD_DAV_SVN install clean
some installation steps...

After installation we'll have to ensure that mod_dav_svn module was properly installed on apache.

box# cat /usr/local/etc/apache2/httpd.conf | grep svn

LoadModule dav_svn_module libexec/apache2/mod_dav_svn.so
LoadModule authz_svn_module libexec/apache2/mod_authz_svn.so

We have apache with mod_dav_svn module installed properly. At this point we can create a repository. This will help us to test our instalation:

box# mkdir /usr/home/svn
box# mkdir /usr/home/svn/repos
box# svnadmin create /usr/home/svn/repos/test

Then we have to create the files that are going to be used to authenticate the users.

box# mkdir /usr/home/svn/access
box# cd /usr/home/svn/access
box# htpasswd -cm users root
password:****
box# htpasswd -m users viewer
password:*****

box# vi control

[test:/]
root = rw
viewer = r

At this point we have apache with bdb support, subversion with mod_dav_svn module installed, our repository created, the users and the control to our repository. Now we will configure apache to read the repositories:

box# cd /usr/local/etc/apache2/Includes/
box# cat svn.conf


DAV svn
SVNParentPath /usr/home/svn/repos
SVNIndexXSLT "http://svn.example.com/svnindex.xsl"
AuthzSVNAccessFile /usr/home/svn/access/control
# anonymous first
Satisfy Any
Require valid-user
# authenticating them valid ones
AuthType Basic
AuthName "Subversion Repositories at example.com"
AuthUserFile /usr/home/svn/access/users

Apache will read all the files that are under the Includes directory, so our svn.conf will be loaded when apache starts, note that we are loading svnindex.xsl that is the file where the transformations are done, if you would like to give to your repository some look and feel work these file will be the appropiate. The file skeletons are under /usr/local/share/subversion/xslt/ directory, there are two files, one .xsl and another .css. Copy these files to your document root. I have a virtual server called svn.example.com in my machine. I have all my virtual servers under /usr/local/www/pages, so I have svn.example.com directory and I've configured that virtual server in /usr/local/etc/apache2/httpd.conf.

NameVirtualHost *:80

ServerAdmin ecruz@example.com
ServerName svn.example.com
DocumentRoot /usr/local/www/pages/svn.example.com
CustomLog /var/log/svn.example.com-access_log common

Restart the web server:

/usr/local/etc/rc.d/apache2.sh restart

If all went ok, we have our web server working properly, to test it, open in your Firefox or whatever browser and go to http://svn.example.com/svn/repos/test. It will ask you for the credentials, so use root or viewer. It must display the test repository at revision 0. I'll suggest to install TortoiseSVN on Windows boxes to get access to the repositories.

Now, as a plus, we will configure an alert in our subversion test repository to send a notification when a commit was done. To do this we will have to create an executable file under the hooks directory:

box# cd /usr/home/svn/repos/test/hooks/
box# cat post-commit

[code]
#!/usr/local/bin/php
$message = "SubVersion Commit
Project: Test
http://svn.example.com/svn/repos/test full repository
==============Comments==============
";
$repos = $argv[1];
$version = $argv[2];
$message .= `svnlook log -r $version /usr/home/svn/repos/test`;
$message .= "
===========List of Changes========
";
$message .= `svnlog diff -r $version /usr/home/svn/repos/test`;
mail("address@example.com","SubVersion Commit $repos $version",$mensaje,"From: svn@example.com");
?>
[/code]

To get this to work with your current installation you have to change only the subversion installation step:

box# cd /usr/ports/devel/subversion
box# make deinstall
box# make -DWITH_MOD_DAV_SVN -DWITHOUT_BDB4 install clean

Ok, this is the end of this howto, any improvements are welcome. Regards!

Sunday, December 21, 2008

Django|Django Doc python2.6 文档生成用的工具

2008-11-30
python2.6 文档生成用的工具
http://sphinx.pocoo.org/
很不错

easy_install 之后然后 sphinx-quickstart
然后make

Tuesday, December 16, 2008

SVN| Subversion (SVN) through proxy

Subversion (SVN) through proxy

Thursday November 10, 2005 23:18

Getting this thing to work behind a proxy is a little strange.

SVN usually runs over http, and requires more than the usual GET and POST. The widely used squid proxy server won't work until you add some peculiar settings.

/etc/subversion/servers, or a file called .subversion or something in the home directory:

[global]
http-proxy-host=proxyhost
http-proxy-port=3128

In my case I'm running squid on the default port 3128.
Squid had to be convinced it was ok to accept a few extra http commands:
extension_methods REPORT MERGE MKACTIVITY CHECKOUT

View Full Version : subversion - option expected


sirhan
June 29th, 2006, 11:02 PM
I got this error message when I was trying to checkout the file from the svn server:

error /home/svn/repos/LMS/conf/svnserve.conf:32: Option expected

so how do I solve this problem?

routeur01
September 15th, 2006, 02:48 AM
In the svnserve.conf, you just have to delete spaces in front of options.



My actual sample:

[global]
# http-proxy-exceptions = *.exception.com, www.internal-site.org
# http-proxy-host = defaultproxy.whatever.com
http-proxy-host=proxy.a.b.com
# http-proxy-port = 7000
http-proxy-port=8080
# http-proxy-username = defaultusername
http-proxy-username=Stephen.Cheng
# http-proxy-password = defaultpassword
http-proxy-password=password
# http-compression = no
# http-auth-types = basic;digest;negotiate
http-auth-types=basic
# No http-timeout, so just use the builtin default.
# No neon-debug-mask, so neon debugging is disabled.
# ssl-authority-files = /path/to/CAcert.pem;/path/to/CAcert2.pem

Monday, December 15, 2008

FreeBSD|add a user to group

FreeBSD add a user to group

by Vivek Gite [Last updated: October 16, 2007]

Q. How do I add a user to group under FreeBSD operating system?

A. You need to use pw command. The pw utility is a command-line based editor for the system user and group files, allowing the superuser an easy to use and standardized way of adding, modifying and removing users and groups. First login as the root using su or sudo command.

Task: Add existing user to group

You would like to add existing user tom to secondary group called ftpusers. Type the command as follows:
# pw usermod tom -G ftpusers

You can add tom to secondary group ftpuser and wwwusers:
# pw usermod tom -G ftpusers,wwwusers

-G option Set the default groups in which new users are granted membership. This is a separate set of groups from the primary group, and you should avoid nominating the same group as both primary and extra groups.

Task: Add a new user to group

Add new user jerry to system and to secondary group sales:
# pw useradd jerry -G sales
# passwd jerry

First command adds user jerry to secondary group called sales. Second commands set a password for jerry.

Sunday, December 14, 2008

FreeBSD|Portsnap through http proxy

Reply via E-mail
From:"Matthew Gream"
Date:Wed, 18 Jan 2006 14:49:37 -0000 (GMT)
For my scenario, further investigation revealed that this was not about
NTLM authentication, but about a disparity between fetch(3) and phttpget
as used by portsnap.sh when processing proxy authentication data from
environment variables. This is a trivial problem.

PROBLEM

fetch(3) reports that the following two syntaxes are valid:

(a)
HTTP_PROXY=http://:@proxy.example.com:8080

(b)
HTTP_PROXY=http://proxy.example.com:8080
HTTP_PROXY_AUTH=basic:*::

2.

portsnap(8) reports that "Since portsnap uses fetch(1) to download
updates, setting the HTTP_PROXY environment variable will direct it to
fetch updates from the given proxy."

3.

Investigation reveals that phttpget only supports 1(b), not 1(a). If the
syntax in 1(a) is used, phttpget will extract invalid values for host and
port, and not extract authentication values at all. It is a fair
assumption that users will either use the short-form syntax in 1(a), or
assume it is a valid syntax upon reading portsnap(8) and fetch(3).

SOLUTION

For consistency, ensure that phttpget parses basic authentication data
from the proxy url as in 1(a) above. The following patch works (against
HEAD). Note that this handles case where ':pass' is not present.

Download patch-3.diff
--- portsnap/phttpget/phttpget.c        Wed Jan 18 13:39:53 2006
+++ portsnap.x/phttpget/phttpget.c Wed Jan 18 14:43:15 2006
@@ -44,7 +44,7 @@
#include
#include
-static const char * env_HTTP_PROXY;

+static char * env_HTTP_PROXY;
static char * env_HTTP_PROXY_AUTH;
static const char * env_HTTP_USER_AGENT;
static const char * proxyport;
@@ -129,6 +129,13 @@
if (env_HTTP_PROXY != NULL) {
if (strncmp(env_HTTP_PROXY, "http://", 7) == 0)
env_HTTP_PROXY += 7;
+ /* Process user:pass from http://user:pass@host:port */
+ proxy_auth_user = strsep(&env_HTTP_PROXY, "@");
+ if (proxy_auth_user != NULL) {
+ proxy_auth_pass = strchr(proxy_auth_user, ':');
+ if (proxy_auth_pass != NULL)
+ *proxy_auth_pass++ = '\0';
+ }
p = strchr(env_HTTP_PROXY, '/');
if (p != NULL)
*p = 0;
@@ -141,7 +148,8 @@
}
env_HTTP_PROXY_AUTH = getenv("HTTP_PROXY_AUTH");

- if ((env_HTTP_PROXY != NULL) &&
+ if ((proxy_auth_user != NULL || proxy_auth_pass != NULL) &&
+ (env_HTTP_PROXY != NULL) &&
(env_HTTP_PROXY_AUTH != NULL) &&
(strncasecmp(env_HTTP_PROXY_AUTH, "basic:" , 6) == 0)) {
/* Ignore authentication scheme */


--


Matthew Gream
matthew.gream@pobox.com
http://matthewgream.net

FreeBSD|FreeBSD timezone设置时区

FreeBSD设置时区

XP下在虚拟机中装了FreeBSD6.2,使用date命令出来的时间总跟XP的时间相差7个多小时.在XP 下到time.windows.com同步时间正常.如现在是15:04分.在FreeBSD使用ntpdate time.windows.com得到的时间是21:54.
使用
#sysinstall
选择Configure
选择Time Zone
UTC 选择 NO
选择Asia
选择China
选择East China - Beijing,Guangdong,Shanghai etc.
Does the abbreviation `CST' look reasonable? = OK
然后退出sysinstall.
#ntpdate time.windows.com
#date
问题依然存在.显示的时间还是有误.
在网上又找到另一种方法.直接修改/etc/localtime文件.
#cd /usr/share/zoneinfo/Asia
#cp Shanghai /etc/localtime
#adjkerntz -a
#date
问题还是没有解决
在网上搜索到一个装XP,FreeBSD双系统,并均使用GMT+8也出现类似问题.他最后解决问题原因,认为 是XP将cmos时间认为是英国时间.FreeBSD将cmos时间认为是北京时间.我从这得到启发会不会是虚拟机中的cmos时间有问题.重启 FreeBSD按F2进入虚拟机的BIOS,看到果然是cmos时间有误.改为XP系统时间进入系统.再次使用
#ntpdate time.windows.com
#date
系统时间正常了!

=========================

修改 Linux/freeBSD 系统时区

Wikipedia,自由的百科全书

1. 查看当前时区

 # vi /etc/sysconfig/clock

2. 修改设置时区

  方法(1)
# tzselect
方法(2 仅限于RedHat Linux 和 CentOS)
# timeconfig

3. 复制相应的时区文件,替换系统默认时区

  # cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
对于中国服务器则执行:


# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

4. 将当前时间写入BIOS永久生效(避免重启后失效)

  # hwclock
==============================

0 修改FreeBSD 系统时间 (freebsd 时间为:UTC)

首先要了解这两个时间定义

UTC----全球标准时间指的是由世界时间标准设定的时间。原先也被称为格林威治标准时间或者 GMT
CST----CMOS时间,即本机的时间!

因为刚安装系统是使用UTC时间,所以安装系统后,需要设置回上海时区!
#date YYMMHHMM (年月时分) 设定当地时间
#cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 指定时区
#adjkerntz -a 调节COMS时间
#date

重启完后! 时间没有改变!!

PS:
adjkerntz 命令 adjkerntz = adjust kernal timezone
调节改变CMOS时间来反映出时区的改变及让kernel维持着当前的时区
-a 当时区改变时,这个形态被用来更新 CMOS 当地时间

FreeBSD|快速架設 FreeBSD -- 心得筆記

快速架設 FreeBSD -- 心得筆記

前言:

   最近開始嘗試在玩 FreeBSD 後...雖然一開始真的有點給它不太適應...不過在認真的接觸它之後...發現它有一樣東西讓我滿喜歡的...那就是 Port...本來一開始以為FreeBSD 上...所有東西都要自己一步一步慢慢 compiler...那裝到來不就會瘋掉...就在使用過 Port 的安裝之後...對它有了改觀...它有點類似 Linux 上的 APT Server...缺少什麼東西會自動幫你補上...這對於初學者是一項有利的工具...因此在這邊就以 Port 的安裝...來完成大部份的套件...當然也是個人學習 FreeBSD 的一些心得整理...下次要重裝一台Server的話...才不會找不到資料囉... 還有...個人對於FreeBSD也算是半知半解...如果有那裡寫錯的話...還請大家多多指教啦...

學習 FreeBSD 的參考網站(很多資料擷取自此...感謝前輩們的貢獻):
OHaHa's Study Diary :
http://ohaha.ks.edu.tw/
苗栗大湖 FreeBSD :
http://www.lab.mlc.edu.tw/
FreeBSD 的安裝與架設 : http://lin.center.kl.edu.tw/
FreeBSD 使用手冊 : http://freebsd.sinica.edu.tw/handbook/index.html


初學者應該會遇到的問題 :

如何尋找 Port :
如何重新啟動網卡 :
如何重起 inetd :


◎開始架設 :

透過/stand/sysinstall安裝CVSup and bash :
Port Tree 更新 :
使用者環境設定 :

修改預設shell :
架設Apache+MySQL+PHP :
kernel 編譯(加入 Quota & NAT) :
架設 Mail+Pop3+Quota :
架設 NAT 及 Firewall Server :
網路應用(一) Webmin :
網路應用(二) Mrtg :
網路應用(三) Openwebmail :
 
網路應用(四) phpMyAdmin :
網路應用(五) SWAT(Samba Web Configuration Tool) :
掃描工具 Nmap :

如何尋找 Port :

# cd /usr/ports
# make search key="內容"

如何重新啟動網卡 :

# /etc/netstart

如何重起 inetd :


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

透過/stand/sysinstall安裝CVSup and bash :

  CVSup這個程式,對於FreeBSD不論是軟體的安裝、系統更新,都與它密不可分。
其功用主要是更新軟體安裝時採用的port tree、及系統更新採用的source。

1.# /stand/sysinstall
2.選擇 Configure Do Post-install Configuration of FreeBSD 後設定 (以空白鍵選擇)
3.選擇 Packages Install pre-packaged softeare for FreeBSD 安裝軟體
4.選擇 FTP Install form an FTP server 採用FTP方式安裝。
5.選擇 URL Specify some other ftp site by URL 自訂ftp站台位置。
6.輸入自訂ftp站台位置。
 URL: ftp://freebsd.csie.nctu.edu.tw/pub/ports/
7.確認網路已經設定完成。
8.選擇 net Networking Utilities 網路程式。
9.選擇 cvsup-without-gui-16.1f cvsup程式。
 選擇完後請按(tab鍵)再按ok確認。
10.選擇 shells 。
 選擇 bash-2.05b.004
 擇完後請按(tab鍵)再按ok確認。

都確認 ok 之後...離開後即可開始安裝...


* Port Tree 更新 :

  完成cvsup安裝,接下來就是port tree的更新及系統升級了。
為了日後使用方便,且維持原有範例不變,將它複製到/usr/之下。
# cp /usr/share/examples/cvsup/ports-supfile /usr
修改ports-supfile
# vi /usr/ports-supfile
將其中預設的host改為想要的站台
*default host=freebsd.csie.nctu.edu.tw

開始更新 Port :
# cvsup -g -L 2 /usr/ports-supfile

以後有事沒事就可以來更新一下...或是寫個Crontab排程更新也是可以的...


* 使用者環境設定 :


中文顯示環境
要能夠顯示中文是很重要的...^^
以bash為例說明因為我用bash...QQ)

bash的相關設定檔
系統性的:/etc/profile
應該不會有使用者不想要顯示中文吧...所以設定在系統性的檔案,
# vi /etc/profile
在檔案中新增以下三行
LC_CTYPE=en_US.ISO8859-1 ; export LC_CTYPE
LC_ALL=zh_TW.Big5 ; export LC_ALL
LANG=zh_TW.Big5 ; export LANG

再加上:
PS1="[\u@\h \W]\\$ "
說明:
\u --> 顯示使用者帳號
\h --> 顯示系統的hostname(機器名)
\w --> 完整路徑
\$ --> 以#表示root,以$表示一般使用者

加上常用的 alias:
alias dir="ls -alh"
alias cls="clear"


存檔離開後...重新登入即可生效...



* 修改預設shell :

因為系統預設採用csh為root的shell,所以每次我們要用剛剛設定的bash,
還需要額外輸入指令 bash 來啟動bash shell,太麻煩了。

透過幾個步驟:
確認bash的執行檔絕對位置。
which bash --> 察看bash這個指令的位置,位於/usr/loca/bin/bash
利用vipw 指令修改/etc/passwd中root預設的shell位置。
從原先的預設的/bin/csh
變更為 /usr/local/bin/bash

或是用下指令的形式:
# pw usermod user -s /usr/local/bin/bash



* 架設Apache+MySQL+PHP :

最常用到且廣為人知的就是WWW,在FreeBSD架設WWW Server是很簡單的事情;
但是光是單純的靜態網頁,已經不能滿足一般人的需求,
取而代之的是動態頁面配合資料庫存取。
安裝順序 MySQL-->Apache-->PHP4


1. MySQL
# cd /usr/ports/databases/mysql323-server/
修改Makefile 中的CONFIGURE_ARGS;新增--with-charset=big5 。
# make install;make clean

2. Apache
# cd /usr/ports/www/apache13
# make install
Apache安裝完後先不make clean,因馬上要安裝Apache結合PHP4。

3.PHP4
# cd /usr/ports/www/mod_php4
# make install
選擇連結項目MYSQL,若已有勾選,則按OK安裝。
# make clean

4.後續設定
讀取php3檔案:修改Apache的設定檔httpd.conf。有關PHP4的模組。
在php4模組中新增對 .php .php3及.htm檔案的讀取。
# vi httpd.conf
找到這一部份,加上棕色的部分

AddType application/x-httpd-php .php .php3

5.啟動服務
# cd /usr/local/etc/rc.d/
# apache.sh ; mysql-server.sh

6.設定MySQL Password
# mysql mysql
mysql>UPDATE user SET password=password('新密碼') where user='root';
mysql>DELETE FROM user WHERE User = '';
mysql>FLUSH PRIVILEGES;
mysql>exit
完成後...測試是否需要Password
# mysql -u root -p

7. 測試是否正常運作
# cd /usr/local/www/data/
# vi phpinfo.php
phpinfo();
?>

打開Browser:
http://www.your.ip.add/phpinfo.php
如果能夠看到那就正常啦...



* kernel 編譯(加入 Quota & NAT) :

編譯 kernel 之前的動作

a.先做 kernel 的文字敘述檔
 # cd /sys/i386/conf
 # cp GENERIC FREEBSD
  // 保持GENERIC不變,以防不時之需..或許待會會用到..-___-||
  // 通常我們用大寫的host name表示kernel新的文字敘述檔名稱
b.做 kernel 的備份
 # mv FREEBSD /etc/
  // 因為一般備份/etc,常會忘了kernel
c.因為kernel的文字敘述檔一定要位於/usr/src/sys/i386/conf中,所以做一個link
 # ln -s /etc/FREEBSD ./
d.編輯 kernel 新的文字敘述檔
 # vi FREEBSD

  在最後面加入這幾行...以便打開Firewall and Quota 的功能

  
options IPFIREWALL
  options IPFIREWALL_DEFAULT_TO_ACCEPT
  options IPFIREWALL_VERBOSE
  options IPFIREWALL_VERBOSE_LIMIT=10
  options IPDIVERT
  options QUOTA

e.做 config:
 # cd /usr/src/sys/i386/conf
 # config FREEBSD // FREEBSD 為我們先前編好的文字敘述檔名

f
.接下來進行文字敘述檔相依性檢查...編譯及安裝
 # cd /usr/src/sys/compile/FREEBSD
 # make depend
 # make
 #
make install

g .完成後先行重新開機...若成功開機...恭喜...
  這時別忘了做下面這一步驟..將不必要的檔案清除
 # cd /usr/src/sys/compile/FREEBSD
 # make clean

h.若很不幸的您在開機途中掛點...那可以用舊的kernel開機
 (1) lsmod //看現在所用的kernel
 (2) unload //把不能開機的(正確應該說是現行的)kernel unload
 (3) ls //看看現在有哪些檔案
 (4) load kernel.GENERIC //load原先FreeBSD預設的GENERIC kernel
 (5) boot //繼續開機
  檢查問題出在那...然後重新再來一遍



* 架設 Mail+Pop3+Quota :

S
endmail -->收信、發信 25 port (sendmail基本來說不用額外安裝)
pop3 -->取信 110 port

POP3 Server:
qpop3 -->freebsd最常用
# cd /usr/ports/mail/qpopper
# make install clean;
# vi /etc/inetd.conf
加入
pop3 stream tcp nowait root /usr/local/libexec/qpopper qpopper -s
然後把 inetd 重啟
# kill -HUP ` cat /var/run/inetd.pid `

進階:
# vi /usr/local/etc/qpopper/popusers
將禁制名單加入此檔案中,該帳號就無法用pop3的協定自遠端收信。

設定Quota :
# cd /etc
# vi fstab
加入棕色的部份
/dev/da0s2e /var/mail ufs rw,userquota 2 2
注意: 在這邊是 userquota ... 而如果是 Linux 的話...是 usrquota ...少一個字差很多囉...

修改 rc.conf 讓 Quota 一開機就啟動:
# vi rc.conf
加入:
check_quotas="YES"
然後把 inetd 重啟
# kill -HUP ` cat /var/run/inetd.pid `



* 架設 NAT 及 Firewall Server :

使用Firewall
有三個防護的要素:port, host, protocol
兩種基本Firewall種類:
1.filter packets
2.accounting,統計
IPFW這兩種都可作,可直接用在FreeBSD機器或當gateway router,保護LAN中的多部機器。
※最好在本機操作,以免出問題時而無法連線

【啟用Firewall】
在核心設定檔中加入以下options,並重編核心
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10

或是不要重新編譯核心,而是利用/etc/rc.network script自動載入kernel module,在/etc/rc.conf加入幾個項目
※如果要用NATD,還是要重新編譯核心,因natd需要IPDIVERT這個option
# vi /etc/rc.conf

firewall_enable="YES"
firewall_type="open"

若沒有指定firewall_type,會使用預設編號65535的rule:deny ip from any to any
也就是重開機後,所有的網路連線完全被封住無法使用。而設定open就是讓封包通過,而不是block。

當設好/etc/rc.conf後,重開機或在本機執行
# /etc/netstart
會看見有哪些rule被啟用,像這樣
Flushed all rules.
00050 divert 8668 ip from any to any via de0
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
65000 allow ip from any to any
Firewall rules loaded, starting divert daemons:

現在可使用ipfw來設定rule,允許哪種traffic或檢視accounting information
【設定IPFW】
ipfw用來自packet filter或account system中add或delete規則(rule)
規則是由幾個部份組成
action: deny, allow
protocol: tcp, udp, all
address: from, to

幾個例子:
#/sbin/ipfw add deny tcp from badguy.com to any
#/sbin/ipfw add deny all from bad.ip.com/16 to
www.anyplace.com 80
#/sbin/ipfw add allow all from goodone.bad.ip.com to
www.anyplace.com 80
每條rule都有一個號碼,通常以100為一個編號間隔。依號碼順序套用。

檢視目前rule
# ipfw -a list
00050 62 4840 divert 8668 ip from any to any via de0
00100 0 0 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
65000 60 4484 allow ip from any to any
65535 2 356 allow ip from any to any
稍微解釋一下
第一欄:index號碼
第二、三欄:使用統計量,單位是packets/bytes

可在/etc/rc.conf指定數個不同的firewall_types
每個keyword有不同意思,可自/etc/rc.firewall中找到其意思
open:允許全部
closed:除了loopback,關閉所有的IP
client:設定rules,只保護這部機器
simple:設定rules,保護整個網路
unknown:除了65535這條rule,不載入其它rule
:從載入rules

平常用client或simple就夠用了
如果要較特殊的設定,可將rule寫在檔案中,如/etc/firewall.conf,將rule列於其中:
/sbin/ipfw add deny tcp from badguy.com to any
/sbin/ipfw add deny all from bad.ip.com/16 to
www.anyplace.com 80
/sbin/ipfw add allow all from goodone.bad.ip.com to
www.anyplace.com 80
/sbin/ipfw add 65000 allow all from any to any

變更firewall_type="/etc/firewall.conf"
下回重新開機或執行/etc/netstart會以100, 200, 300的編號順序載入/etc/firewall.conf中的規則。



* 網路應用(一) Webmin :

# cd /usr/ports/sysutils/webmin
# make install clean;
起動webmin==>
# /usr/local/etc/webmin/start
Browser:
https://browser:10000

如果您裝的時後有選擇SSL的話...才需要在這邊打 https


* 網路應用(二) Mrtg :

SNMP :
# cd /usr/ports/net/net-snmp/
# make install clean ;
啟動
# /usr/local/sbin/snmpd

net-snmp 的版本是 5.x 版的請注意
請自行新增一個檔案
# vi /usr/local/share/snmp/snmpd.conf
內容為:
rocommunity mrtg
(意思為只唯讀 snmp 資訊的 username)
然後重新啟動你的 snmpd
安裝MRTG :
#
cd /usr/ports/net/mrtg/
# make install clean ;

建立MRTG設定檔
# cd /usr/local/etc/mrtg/
# cfgmaker
mrtg@freebsd.commerce.com.tw > mrtg.cfg
* 在產生index.htm檔之前..別忘了在您的設定檔中加上一行 Workdir:完整路徑
ex:
Workdir: /usr/local/www/data/mrtg
# 如果要使用中文的 MRTG 則加入下面這一行
Language: big5
# 預設的 MRTG 所產生的圖時間是由右到左
# 我喜歡由左到右,故加入下面這一行
Options[_]: growright
然後使用指令 indexmaker 來建立 MRTG 的首頁:
# indexmaker mrtg.cfg > /usr/local/www/data/mrtg/index.htm

輸出的檔案 index.htm 你也可以使用其他的網頁編輯軟體再
去修改美化它。接下來要將MRTG的一些圖片檔複製到 mrtg 的目錄裡:
# cd /usr/ports/distfiles
# tar zxvf mrtg-2.9.25.tar.gz
# cd mrtg-2.9.25
# cp -rf images/* /usr/local/www/data/mrtg/
第一次執行mrtg
# /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg
(若有錯誤..別理他...多弄個一兩次就正常了)

用crontab定期執行 (每5分鐘執行一次)
# crontab -e
*/5 * * * * /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg

打開 Browser 測試 :
http://your.ip.add/mrtg/



* 網路應用(三) Openwebmail :  

# cd /usr/ports/mail/openwebmail
# make all install clean;

Browser:
http://your.ip.address/cgi-bin/openwebmail/openwebmail.pl
別懷疑...你已經裝好openwebmail 了...這個是個人認為最好裝的一個啦...


* 網路應用(四) phpMyAdmin :  
# cd /usr/ports/databases/phpmyadmin

# make install clean;
#
mv /usr/local/www/data.default/phpMyAdmin /usr/local/www/data/phpmyadmin
# cd
/usr/local/www/data/phpmyadmin
# cp config.inc.php.sample config.inc.php
# vi config.inc.php
修改成:
$cfg['PmaAbsoluteUri'] = 'http://www.yourip.com.tw/phpmyadmin';
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = 'Password'; // MySQL password (only needed

Browser:
http://your.ip.address/phpmyadmin




* SWAT(Samba Web Configuration Tool) :

# vi /etc/inetd.conf

#swat stream tcp nowait/400 root /usr/local/sbin/swat swat
將最後一行的 # 拿掉變成
swat stream tcp nowait/400 root /usr/local/sbin/swat swat
然後重起inetd
Browser:
http://your.ip.add:901/




* 掃描工具 Nmap :


# cd /usr/ports/security/nmap
# make all install clean;
操作使用 :
# nmap -v -sS -O www.doamin.com.tw
詳細部份可以只下 nmap 會有簡單說明...

Shell|Freebsd shell setup

3.4. Shells

在 FreeBSD裡,有一大堆每天進行的工作是在一個命令列的介面下完成的  ,而那就叫做 shell 。 一個 shell 的主要工作就是取得您輸入的指令並  解執行它。有很多的 shell 也擁有幫助我們完成每天的工作的內建功能像是  檔案管理,檔案全域樣式,命令列編輯,巨集指令,和環境變數。 FreeBSD 也內含了幾個 shell ,如 sh,Bourne Shell,和 csh,the C-shell。許多 其他的 shell 在 FreeBSD Ports Collection 可以找到且他們的功能也更強 大,如 tcsh 和 bash 。

你用哪一種 shell ? 這就要取決於你的喜好。 如果你是一個 C 語言  程式設計師,你使用 C-like 的 shell 會感到更舒適,如 tcsh。如果你是  從 Linux 轉過來的或是你是一個 UNIX 命令列的新手,你應該試試 bash 。  這點告訴我們每一個 shell 都有其獨特的特性,他們有可能適合或不適合你  的工作環境,你必須選一個你要用的 shell 。

shell 的其中一個共通特性是檔案名稱自動補齊功能。 只要打前幾個你  要的檔名或是指令,你可以按 TAB 鍵來自動補齊其餘的檔名或是指令。這裡  有一個例子。假設你有兩個檔案叫做foobarfoo.bar 。你要刪除 foo.bar。然後你在鍵盤上打: rm fo[TAB].[TAB].

shell 會顯示 rm foo[BEEP].bar.

[BEEP] 是 console 的嗶聲,是 shell 告訴我們它無法完成全部的檔名  因為有超過一個的檔案符合。foobarfoo.bar 都是 fo開頭的,但是他只能完成到 foo。 如果你打 .,然後再按一次 TAB 鍵,這時候 shell 就會為你完 成其餘的檔名。

另一個 shell 的功能是環境變數。環境變數是一個儲存在 shell 空間的變數對 這個空間能夠被任何程式用 shell 所呼叫,而且因此包含了很多程式的設定組態。 這裡是一些常用的環境變數和他們所代表的意義的列表:

變數 詳細說明
USER 現在登入的使用者名稱。
PATH 以冒號分隔的目錄列表以便尋找執行檔的路徑。
DISPLAY X11 顯示連接的網路名稱,如果有的話
SHELL 目前用的 shell 。
TERM 使用者終端的名稱。 用來決定終端機的能力
TERMCAP Database entry of the terminal escape codes to perform various terminal functions.
OSTYPE 作業系統的種類,如 FreeBSD
MACHTYPE 現在系統所用的CPU。
EDITOR 使用者喜好的編輯器。
PAGER 使用者喜好的文字呼叫器。
MANPATH 以冒號分隔的目錄以便尋找線上手冊。

在不同的 shell 底下環境變設的設定看起來有些許的不同。舉個例子  ,在 C-Style 的 shell 像是 tcsh 和 csh ,你會用setenv 去設定和觀看你的環境變數。而在 Bourne shells像是sh和bash,你會用 setexport去設定和觀看 你現在的環境變數。再舉個例子,要去設定或是修改 EDITOR 這個環境變數,在 csh 和 tcsh下要將編輯器設定為/usr/local/bin/emacs 的指令會是:

    % setenv EDITOR /usr/local/bin/emacs 

而在 Bourne shells 則是:

    % export EDITOR="/usr/local/bin/emacs" 

你也可以在命令列用$放在變數的前面來取得環境變數  。像是, echo $TERM就會顯示出$TERM的  設定值,因為 shell 取得了$TERM並把他傳給 echo 顯示出來。

Shell 裡有很多特殊字元代表著一些資料我們叫他做 meta-characters。  最常用的就是*這個字元,他代表檔名的任何字元。  這一些 meta-characters會被用在檔案名稱的全域樣式。舉例來說,鍵入 echo *是和ls有同樣的效果因 為 shell 將所有符合*的檔案傳到命令列給 echo 顯示出來。

為了防止這些特殊的字元被 shell 轉譯,我們可以在前面放一個  反斜線(\)讓他們跳脫出來。echo $TERM 會顯示出你所設定的終端機。而echo \$TERM就會直接 顯示出 $TERM 這幾個字。

3.4.1. 改變你的 shell

改變你的 shell最簡單的方法就是用chsh指令。  執行chsh將會進入你在環境變數中所設定的編輯器 EDITOR裡;如果你沒有設定,你將會進入vi 。改變"Shell:"這一行的對應值。

你也可以用chsh的參數-s; 這樣你就可以設定你的 shell而不用任何的編輯器。例如,你想要將 shell 改變到 bash,只要依照下面這樣做:

    % chsh -s /usr/local/bin/bash 

執行 chsh而不加參數並且編輯也可以達到一向的作用。

Note: 你要使用的 shell 必須列在/etc/shells  裡面。如果你從ports collection安裝一個 shell ,那這個動作就不用再重複。如果你是手動自己安裝一個 shell,那 你就必須再手動做一次。

舉個例子,如果你手動安裝 bash並且裝到/usr/local/bin  裡面,你就必須:

    # echo "/usr/local/bin/bash" >> /etc/shells 

然後重新再執行chsh


====================
If you have always used bash on your machines and now you have FreeBSD with default shell sh/csh this is an article how to change it with bash.

Firstly we have to install the bash shell. We can use the ports packat manager of FreeBSD. We can follow this 2 commands:

cd /usr/ports/shells/bash
make install clean

This has installed bash on your system and now you need to edit the account so you can set the bash shell as default for it. For example I will use the root account. You can edit the file located at /etc/passwd. You can use vi or some other text editor to edit this file. For example:

vi /etc/passwd

There should be a line that looks like this:

root:*:0:0:Charlie &:/root:/bin/sh
or
root:*:0:0:Charlie &:/root:/bin/csh

you should change this line to be like this:

root:*:0:0:Charlie &:/root:/usr/local/bin/bash

As you can see from the example above that we are just changing the path to the shell. That's all. The path to the new shell is /usr/local/bin/bash.

Now after you have done these changes you can logout and login again with the same account and you will be using Bash shell.

=====================

FreeBSD的基本系统下Shell设置

http://developer.51cto.com 2005-09-27 11:11 freebsd使用大全 我要评论(0)

命 令解释程序shell是与用户关系最密切的应用程序,用户主要通过shell使用系统。在每次登录系统之后,就启动了一个与用户交互的shell,这个 shell将给出一个提示符等待用户输入,(sh为 “$” ,csh为 “%” ,如果是使用root用户,登录提示符将是 “#” ),然后对用户的 输入进行解释执行。

FreeBSD的基本系统中可以使用的shell有两个:sh和csh。这两个基本shell的风格不太相同,不同的使用者常常会根据喜好来在两者 之间进行选择。当然当前有更好的shell程序可供使用者选择,这些后续的 shell均是根据sh或csh的风格进一步发展出的,因此可以说在 shell中,也有两种风格,需要使用者根据自己的使用习惯进行选择。

对于管理员来将,要为使用不同shell的用户都设置好基本的环境,就必须了解这两种风格的shell设置方式。系统登录时,sh将首先执行 /etc/profile文件,为每个用户设置最基本的环境,而csh将使用 /etc/csh.cshrc,csh.login和csh.logout 作为系统csh 资源文件。执行了系统级别的登录文件之后,每个用户的shell就在该用户的主目录下寻找该用户个人的资源文件:sh使用. profile文件,csh使用.login和.cshrc文件。这些资源文件均使用相应的shell语言,/etc/profile和个人目录下的. profile使用sh风格的控制语言,/etc/cshrc和个人目录下的.login、.cshrc使用csh 风格的控制语言。系统管理员可以改动 这些资源文件,为用户提供一个最方便的使用环境。当然,系统管理员没有必要直接去修改个人主目录下的资源文件,这些文件应该由用户自己管理,但是系统管理 员可以在生成帐号时为用户产生缺省的资源文件,以减轻用户设置资源文件的麻烦。adduser命令缺省使用/usr/share/skel下的文件为用户 提供各种资源文件的缺省设置,这个目录下除了可以放入shell的资源文件之外,还可以放入其他应用程序的资源文件。由于这些资源文件都是以点开头的隐藏 文件,为了表示清楚,在skel目录下使用了一种转换方式,如使用dot.profile 作为.profile的模板。

# ls /usr/share/skel
dot.cshrc dot.mail_aliases dot.rhosts
dot.login dot.mailrc dot.shrc
dot.login_conf dot.profile

在/usr/share/skel中为用户设置的缺省配置文件,在用户生成之后,就不会对用户产生影响了。因此对系统登录文件进行修改更有效和直 接。对于sh风格的用户,可以更改/etc/profile文件,对csh应更改 /etc/csh.cshrc文件。在这些文件中可以改动shell使 用的环境变量,这样来改变shell的行为方式,或者执行一系列自动操作,完成一些用户登录时需要自动执行的任务。

常用的环境变量

EDITOR 设置用户常用的编辑器,很多程序查看这个变量来启动具体的编辑器,可以 根据系统的情况更改
HOME 用户的主目录的名字,这个变量由login程序设置,一般不需要更改DISPLAYX 使用这个环境变量来标识具体的显示位置,格式为“计算机名字:X服务 器序号.显示屏序号” ,例如:xt1:0.0,它不需要在资源文件中进行定义

LANG 系统使用的语言,用于系统的本地化,缺省为 “C” ,具体的设置可以查看 /usr/share/locale 目录,那里定义了不同的语言,可以将其设置为zh_CN.EUC来使得一些软件使用中文字符。

MAIL 用户mail文件的位置,也不需要改动PATH 使用冒号分隔的一系列路径,系统用它来查找具体可执行程序,因此这个变量非常重要,可以 根据具体的情况改动其值。为了安全的原因,不要将当前目录作为执行程序的搜寻路径,尤其对于root用户。这样在当前目录下启动程序,需要加上路径,例如 启动当前目录下的a.out 程序,输入 “./a.out” 。

MANPATH 使用冒号分隔的一系列路径,系统用它来查找具体命令的在线手册,设置方法与PATH相同。

PS1sh 风格的shell使用这个变量的值作为提示符,缺省值为 “$”(root为 “#” )。更现代的sh就增强了提示符的灵活性,可以在提示符中加入当前目录、用户名、机器名,命令的序号等。

PS2sh 风格的shell使用这个变量的值作为后续提示符,提示命令还没有完全输入,缺省为 “>“TERM 终端的类型,对于需要全屏操作的程序,非常重要。有时要根据情况对设置进行调整。

TZ 时区设置,具体的时区信息位于/usr/share/zoneinfo目录下,需要设置为适合本地 时区的标准值

可以将用户的shell设置为特殊的应用程序,来达到对特殊用户进行限制的目的。例如,仅仅给予用户一个电子邮件信箱,但不想给他终端使用权,可以 将用户的shell更改为/bin/true或者其他立即退出的程序。为了安全起见,用户shell应该是一个不存在漏洞的二进制程序,最好不要使用解释 性语言脚本作为登录shell。由于系统认可的shell 程序是在/etc/shells文件中列出的程序,将特殊用户的shell设置为特殊的应用程 序,但这些应用程序没有列入shells文件,那么这个用户就会被一些应用程序区分出与普通用户的差异,从而拒绝提供服务。例如ftp服务器程序 ftpd,通过检查用户的shell是不是标准shell,来区分这个用户是普通用户还是用于特定目的的用户。

注意,不能轻易更改root用户的shell,因为这可能会造成root无法正常登录,而使得无法正常执行系统维护。即使是将root的shell 更改为其他更新、更强功能的标准shell,例如bash或tcsh,也是不应该。虽然这些shell也是非常成熟的shell程序,仍然不应该使用它们 作为root的shell。主要原因是这些 shell一般没有被安装到根分区中,那么当系统进入单用户状态时就会发生问题。另外这些shell可能会由 于进行版本升级等原因,而偶然形成故障,造成root无法正确登录。此外,由于这些非标准shell不一定来自于系统的安装盘,因此也存在对shell来 源的安全信任问题,必须保证这些shell不是经攻击者更改过的版本。如果要使用它们 shell提供的方便特性,可以在系统登录之后再使用全路径执行它 们。

配置用户shell

事实上sh与csh,并不是普通用户的最佳选择,因为这两个shell在易用性方面做的不够好,例如命令行编辑功能不强、不能利用热键重复执行命令 等。较新的shell,如bash和tcsh都具有这些方便用户使用的功能,但必须安装了这些shell程序之后,才能更改普通用户的shell设置以使 用这些shell程序。更改用户的shell 可以使用pw、vipw或chsh。

这两个shell分别遵照sh和csh的风格,因此喜好csh风格的可以选择tcsh,而喜欢sh风格的选择 bash。除了这两种shell之 外,还有ksh、zsh等shell可供选择。如果对两种shell没有偏好,可以选择bash,它是一个GNU软件,比标准sh功能强大的多。

使用了这两些增强型shell之后,用户就可以使用shell提供的命令行编辑功能。按照习惯的不同,可以选择vi风格的编辑方式或emacs风格 的方式,缺省为emacs方式,这种方式使用方向键来回溯执行过的命令,并进行修改,而vi风格使用字母命令作编辑键,例如使用h、j、k、l四个键来移 动光标,vi风格的好处是不使用基本键盘之外的控制键,因而可以适用于任何终端设备,并且进行编辑时手不需离开基本键盘,熟练操作之后最为快捷。 emacs风格比起vi风格更适合从个人计算机转向Unix的使用者的习惯。bash, ksh ,zsh下使用下面的命令在emacs 风格和vi风格 切换:

bash$ set -o emacs
bash$ set -o vi
tcsh中使用不同的命令:
% bind emacs
% bind vi

还可以为常用的命令设置别名,简化用户输入,例如:

bash$ alias ec=”echo This is a alias”
bash$ ec
This is a alias

shell用于方便用户操作的另一项能力是自动补全命令或文件名的功能,因为FreeBSD下的文件名可能很长,将它们全部输入比较麻烦。事实上可 以输入部分名字,然后按Tab键(在vi风格下是连续两次按Esc键),shell 将自动补全文件名的剩余部分。如果已经输入的这部分名字不能确定具体 的命令或文件,那么shell只将能确定的部分补上,
然后响铃通知使用者继续输入以明确具体的文件。

事实上即使在基本的sh或csh下,也可以使用 “*” 等特殊字符,用模式匹配的方式来简化输入。

bash$ cd /usr/loca*
bash$ pwd
/usr/local

Unix中的多数程序都具备模式匹配的处理能力,而shell的模式匹配功能最为常用。

shell可以使用这些特殊模式来配置多个文件,达到简化操作的目的。如果要熟练掌握Unix,必须掌握模式匹配。

当试图在bash下输入汉字的时候,除了必须设置终端属性能接受8位字符之外(执行stty pass8命令),还需要设置bash的输入输出转换,可以在登录脚本.profile文件中 包括以下设置:

bind 'set convert-meta off'
bind 'set meta-flag on'
bind 'set output-meta on'

============================

Shell启动文件与环境变量

http://developer.51cto.com 2005-09-27 11:28 liuyude liuyude.bokee.com 我要评论(0)

每 个shell的起动动动,执行命令和程序的机制,如何处理命令和程序的输入输出,以及任何编程都受到某些环境变量设置的影响.每个系统都有一个初始的系统 启动文件,通常是/etc/profile.这个文件包含了对shell和其他一些实用程序起作用的重要环境变量的初始设置.另外特定的shell还有一 些隐藏的文件和点文件在你启动该shell的时候执行,这些文件也叫shell的启动文件,通常是一用户的主目录下的~/.profile,或者是一个特 定shell的profile或login文件.例如bash的profile汉蚻ogin文件通常是~/.bash_profile与 ~/.bash_login.

当你登录并且登录shell是bash时,bash首先执行/etc/profile文件中的命令(如果该文件存在),然后它顺序寻找 ~/.bash_profile,~/.bash_logi或~/.profile文件,并执行找到的第一个可读文件中的命令.当登录bash退出时,它 将执行~/.bash_logout文件中的命令.

当启动一个交互的bash时,它将执行~/.bashrc文件中的命令(如果该文件存在并且可读).当非交互地启动以运行一个shell脚本时,bash将查找bash_env环境 变亮康哪谌??确定执行文件的名称.

如果你使用的是TC shell,它将执行/etc/csh.cshrc或 etc/.chsrc文件中的命令(如果该文件存在并且可读).登录shell然后将执行/etc/csh.login文件中的命亮??如果该文件存在并 且可读).每一竤hell(登录shell或非登录 shell)然后将执行~/.tcshrc文件(假如~/.tcshrc不存在就是 ~/.cshrc文件)中的命令,并读取~/.history文件的内容.登录shell将执行~/.login和 ~/.cshdirs文件中的命令.当一个TC shell退出时,它将执行/etc/csh.logout和 ~/.login文件中的命令(如果该文件存在并且可读).

Friday, December 12, 2008

News|11个处于悬崖边缘的 Web 公司

11个处于悬崖边缘的 Web 公司
matrix 发表于 2008年10月13日 09时40分 星期一 Printer-friendly Email story
来自CNET部门
评论 互联网
35公里 写道 "“我们将要失去一些优秀的公司”,最近,一些科技公司的投资者们发出这样的惊呼。他们中的一些我们并不会惋惜,但很多我们深爱的 Web2.0 公司也已处于悬崖的边缘。问题是,深受喜爱和并不意味着一定成功,还记得 Kozmo 吗,这个上一次网络炮沫时代的即时通讯工具,任何使用它的人都喜欢这个工具,这个公司在初期忙于建立用户基础,却一直赔钱,当它终于可以赚钱的时候,已经太晚了,那是个悲剧。以下的名单包括了Twitter,Skype,Second Life,MySpac等。
Twitter

虽然很多人在使用,而且很多人依赖这个工具,然而 Twitter 仍然没有找到盈利模式,Twitter 的用户不会轻易离开,它应当尝试一点广告,很多人会希望看到这个公司赚钱,否则就太晚了。

Meebo

这是一个非常 Cool 的在线服务,但它的在线聊天服务的收入不可能总是那么理想,Meebo 位于 Facebook, 微软等大公司的旗下,但它高昂的估价与整个行业收购的下滑,将对它的继续发展带来障碍。

TripIt

一个用来管理旅游信息的,非常有用的服务。但等一下,在这个经济低迷的时代,谁还会频繁出游?人们都希望呆在家里把钱坐在屁股底下,用远程会议代替出差,要旅行?直接在自家的后院转转算了。

Zillow

地产网站的收入模式就是广告。地产广告或银行广告。然而在目前的经济形式下,人们都不会轻易出手自己的房子,会牢牢地抱住(说的是美国)

Pandora

人们喜欢这个产品,他们用它寻找自己喜欢的音乐。但它的问题是什么?过高的版权使用费会让它的运营成本非常高。它能否生存要看接下来和唱片公司的谈判,但这个公司太张扬了。

Second Life

代表 Web 界面与社会网络的未来,但运行太昂贵,而且很难用。

Skype

这个被 eBay 收购的革命性的 VOIP服务有一天也会遇到麻烦。Skype 不是 eBay 的核心业务,eBay 可能会将该业务剥离,但谁会出一个令 eBay 和自己都满意的价钱?

Ask

它为什么还没死?Ask 是个很好的搜索引擎,然而活在三个搜索巨头(Google, Yahoo!, Live)的阴影下肯定日子不好过,它的竞争成本将非常高。(其实 Ask 走的是知识搜索路线,属于人力搜索领域,这一点和目前的搜索三巨头并不十分冲突,请参阅:人力搜索的未来 - 译者)

DailyMotion

这个在欧洲流行的视频分享站点还没有找到可以用广告收入抵消其宽带开支的方式。

Netvibes

Netvibes 的小竞争对手 Pageflakes 于今年初被收购,这个应当发生在 Netvibes 身上才好。那些 Netvibes 的潜在收购公司,受萎缩的广告市场的影响,可能预告 Netvibes 的死期。

MySpace

虽然很赚钱,而且由 Rupert Murdoch 一手扶持,但这个以冷酷著称的商人很可能随手就将这个左日的社会网络公司摆脱掉。

Thursday, December 11, 2008

Tool|Authentication tool

http://wareseeker.com/free-http-authentication/

http authentication in title

No.
Title
Catelory
Price
License
File size
1
Network & Internet - Other
$179
Demo
1.04 MB
2
Communications - Mail Utilities
Freeware
257 KB
3
Network & Internet - Web Servers
$n/a
Trial
631 KB
4
Security & Privacy - Privacy
Shareware $19.95
3.2 MB
5
System - Registry Tweak
Shareware $19.95
3.2 MB
6
Network & Internet - Offline Browser Tools
$20.00
Shareware
1,425K
7
System - System Miscellaneous
Freeware
104 KB
8
Network & Internet - Misc Networking Tools
$20
Shareware
1.39 MB
9
Web Development - Java Programming Tools
$0
Freeware
0.67 MB
10
Security & Privacy - Encrypting
Free
Freeware
104KB

http authentication in description

No.
Title
Catelory
Price
License
Expand All
1
Software Development - File Editors
Freeware
Show Detail
2
Network & Internet - Download Managers
Freeware
Show Detail
3
Communications - Newsgroup Clients
Freeware
Show Detail
4
Network & Internet - Misc Winsock Tools
Freeware
Show Detail
5
Network & Internet - Web Browsers
FREE
Freeware
Show Detail
6
System - Browser Tweak
Freeware
Show Detail
7
Network & Internet - Newsreaders RSS
Free
Freeware
Show Detail
8
Network & Internet - Newsreaders RSS
Free
Freeware
Show Detail
9
Network & Internet - Newsreaders RSS
Free
Freeware
Show Detail
10
Network & Internet - Newsreaders RSS
Free
Freeware
Show Detail
11
Network & Internet - Newsreaders RSS
Free
Freeware
Show Detail
12
Network & Internet - Newsreaders RSS
Free
Freeware
Show Detail
13
Network & Internet - Newsreaders RSS
Free
Freeware
Show Detail
14
Network & Internet - Newsreaders RSS
Free
Freeware
Show Detail
15
Network & Internet - Newsreaders RSS
Free
Freeware
Show Detail
16
Network & Internet - Newsreaders RSS
Free
Freeware
Show Detail
17
Network & Internet - Newsreaders RSS
Free
Freeware
Show Detail
18
Network & Internet - Newsreaders RSS
Free
Freeware
Show Detail
19
Network & Internet - Proxy Server Tools
$39.00
Shareware
Show Detail
20
Software Development - C, C++, C# Tools
Free
Freeware
Show Detail

http authentication in introduction

No.
Title
Catelory
Price
License
File Size
1
Web Development - Site Management
Beta
915k
user authentication technology
2
Security & Privacy - Firewalls
$29
Shareware
2.08 MB
Software router, firewall, HTTP caching, authentication, VPN, network filtering
3
Security & Privacy - User Access
$19.95
Shareware
645 KB
Add keystroke dynamics authentication to standard Windows authentication
4
Network & Internet - Web Browsers
FREE
Freeware
3 KB
Firefox extension that will automatically submit HTTP authentication dialogs
5
System - Browser Tweak
Freeware
6 KB
Firefox extension that will automatically submit HTTP authentication dialogs
6
Business & Finance - Others
Free
Freeware
7.15MB
Free two-factor authentication
7
Network & Internet - Proxy Server Tools
$29
Shareware
2141K
stealth network firewall, NAT software router, HTTP caching, SOCKS server, access control and authentication, built-in DHCP Server, dial-up control, VPN (PPTP and IPSec), network monitoring and manage
8
Software Development - Misc Programming Tools
$149.00
Shareware
1,368K
An Active-X control that allows you to add a multi-threaded HTTP server into your Win 9X/NT/2000 application. Features: CGI, SSI, authentication. Call internal functions from HTML. Embed web pages int
9
Network & Internet - Misc Networking Tools
$
Freeware
5809K
Free website availability monitoring and performance monitoring tool. The application includes the following features: Multiple URL check, HTTP, HTTP with authentication check. Uptime statistics repor
10
Network & Internet - Misc Networking Tools
$28.95
Demo
0.55 MB
Test the security and robustness of your servers, via remote brute-force attack. Entry is compatible with WWW Basic Authentication, FTP, and POP3 email protocols, HTTP proxy servers, and all popular w