2011年9月8日 星期四
2011年5月8日 星期日
Ntop流量監視(推荐)
NTOP是一種監控網絡流量的工具,甚至可以列出每個節點利用率。
NTOP支持win32平台、linux、Unix、BSD等平台。源代碼:http://sourceforge.net/projects/ntop/
ubuntu安裝NTOP
sudo apt-get install ntop
sudo ntop --set-admin-password #第一次運行須設置密碼
sudo /etc/init.d/ntop start
觀 察port的 情況
設定檔 修改要監控的網卡
vi /var/lib/ntop/init.cfg
重新啟動
/etc/init.d/ntop restart
更 改管理者密碼
sudo ntop –A
設置開機自動啟動:
# echo "ntop -P /var/log/ntop & 2>&1 1> /dev/null" >> /rc.local
查看網絡狀態,直接訪問http://IP:3000/
NTOP支持win32平台、linux、Unix、BSD等平台。源代碼:http://sourceforge.net/projects/ntop/
ubuntu安裝NTOP
sudo apt-get install ntop
sudo ntop --set-admin-password #第一次運行須設置密碼
sudo /etc/init.d/ntop start
觀 察port的 情況
netstat –tuln
設定檔 修改要監控的網卡
vi /var/lib/ntop/init.cfg
重新啟動
/etc/init.d/ntop restart
更 改管理者密碼
sudo ntop –A
設置開機自動啟動:
# echo "ntop -P /var/log/ntop & 2>&1 1> /dev/null" >> /rc.local
查看網絡狀態,直接訪問http://IP:3000/
iftop流量監視(推薦)
iftop是許多top-like程式的其中一個, 主要用途是用來即時監看網路狀態.
ctrl+Z 離開 畫面
$ sudo apt-get install iftop
執行(必須以root身份):
$ iftop
查看ppp0網路介面的即時流量:
$ iftop -i eth0
iftop -i eth1
ADSL用
iftop -i ppp0
以位元組(bytes)為單位顯示流量(預設是位元bits):
$ iftop -B
直接顯示IP, 不進行DNS反解:
$ iftop -n
直接顯示連接埠編號, 不顯示服務名稱:
$ iftop -N
其他參數可下 iftop -h 看說明.
進入iftop畫面時, 可按 p 切換是否顯示連接埠, n 切換顯示IP或主機的domain name, N切換顯示連接埠代號或名稱, p暫停顯示, b切換是否顯示長條, B切換計算幾秒內的平均流量, 其他按鍵可以按h觀看說明.
設定檔的位置在~/.iftoprc , 關於設定檔的寫法可以參考 iftop 的 info page.
--------------------------------------
使用:
# iftop -i eth0
參數說明:
-i: 監控網路卡介面
-B: 以bytes為單位
-n: 以IP顯示不用DNS反解
-N: 只顯示port不顯示服務名稱
-F: 堅看某一網段的網路狀態
快速鍵:
進入iftop後可以使用一些快速鍵來看監控狀態
Host display:
n – 切換解析來源DNS
s – 切換顯示目的ip
d – 切換顯示來源ip
t – 切換進出顯示模式
Port display: N – 切換解析主機port
S – 切換顯示主機port
D – 切換顯示來源port
p – 切換顯示port
Sorting: 1/2/3 – 排列 1/2/3 欄位
< – 排列流量由大至小
> – 排列流量由小至大
o – 凍結目前排列
General: P – 暫停/開始
h – 切換顯示help
b – 切換顯示流量條
B – 切換流量條2/10/40秒的平均數
T – 切換顯示總流量欄位
j/k – j:往下查看 k:往上查看
f – 編輯filter碼
l – set screen filter
L – lin/log scales
! – 執行shell命令
q – 離開
ctrl+Z 離開 畫面
$ sudo apt-get install iftop
執行(必須以root身份):
$ iftop
查看ppp0網路介面的即時流量:
$ iftop -i eth0
iftop -i eth1
ADSL用
iftop -i ppp0
以位元組(bytes)為單位顯示流量(預設是位元bits):
$ iftop -B
直接顯示IP, 不進行DNS反解:
$ iftop -n
直接顯示連接埠編號, 不顯示服務名稱:
$ iftop -N
其他參數可下 iftop -h 看說明.
進入iftop畫面時, 可按 p 切換是否顯示連接埠, n 切換顯示IP或主機的domain name, N切換顯示連接埠代號或名稱, p暫停顯示, b切換是否顯示長條, B切換計算幾秒內的平均流量, 其他按鍵可以按h觀看說明.
設定檔的位置在~/.iftoprc , 關於設定檔的寫法可以參考 iftop 的 info page.
--------------------------------------
使用:
# iftop -i eth0
參數說明:
-i: 監控網路卡介面
-B: 以bytes為單位
-n: 以IP顯示不用DNS反解
-N: 只顯示port不顯示服務名稱
-F: 堅看某一網段的網路狀態
快速鍵:
進入iftop後可以使用一些快速鍵來看監控狀態
Host display:
n – 切換解析來源DNS
s – 切換顯示目的ip
d – 切換顯示來源ip
t – 切換進出顯示模式
Port display: N – 切換解析主機port
S – 切換顯示主機port
D – 切換顯示來源port
p – 切換顯示port
Sorting: 1/2/3 – 排列 1/2/3 欄位
< – 排列流量由大至小
> – 排列流量由小至大
o – 凍結目前排列
General: P – 暫停/開始
h – 切換顯示help
b – 切換顯示流量條
B – 切換流量條2/10/40秒的平均數
T – 切換顯示總流量欄位
j/k – j:往下查看 k:往上查看
f – 編輯filter碼
l – set screen filter
L – lin/log scales
! – 執行shell命令
q – 離開
2011年5月6日 星期五
ubuntu入門1
文章參考http://hi.baidu.com/10105188/blog/item/5e1440b5607a55c236d3caa8.html
1、網絡配置文件/etc/network/interfaces
address 163.23.115.x
netmask 255.255.255.192
network 163.23.115.254
broadcast 163.23.115.255
gateway
eth1內部網卡不要設gateway
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
重啟網路
/etc/init.d/networking restart
域名服務器配置文件
vi /etc/resolv.conf
nameserver 168.95.1.1
nameserver 163.23.115.x
1.讓你的 Linux 具有 router 的能力。
echo "1" > /proc/sys/net/ipv4/ip_forward
2.加入 NAT table 封包偽裝,$innet是內部區網(例如:192.168.1.0/24),
也可以不用設定$innet,這樣代表所有內部網路都會從對外的網路介面出去,
偽裝成對外的網路封包。$EXTIF是對外網路介面(例如:eth0)。
iptables -t nat -A POSTROUTING -s $innet -o $EXTIF -j MASQUERADE
或
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE
3.將上面兩行指令寫到 /etc/rc.local 中,讓server開機的時候就執行。
vi /etc/rc.local
一、安裝Apache
Ubuntu提供了3個apache2的套件,分別是apache2-mpm-worker、
apache2-mpm-prefork、apache2-mpm-event。
如果你在安裝過程選擇了LAMP包的話,那麼安裝的是apache2-mpm-prefork。
如果你沒有選擇安裝LAMP包,安裝完系統之後,執行下面的命令安裝apache2
這個軟件包時,安裝的是apache2-mpm-worker:
sudo apt-get install apache2
1、Apache配置文件說明
*apache2.conf——全局配置文件
*conf.d/——該目錄存放一些一般性的配置
*envvars——存放環境變量,一般不需要修改
*httpd.conf——用戶配置文件
*mods-available/——該目錄下是已經安裝的可用模塊
*mods-enabled/——該目錄下是已經啟用的模塊
*ports.conf——httpd服務的端口
*sites-available/——該目錄下是可用的虛擬主機
*sites-enabled/——該目錄下是已經啟用的虛擬主機
其中,apache2.conf是apache2的主配置文件,它會
讀取上面列出的所有目錄和文件(sites-available目錄除外,
因為apache不需要知道有哪些虛擬主機可用,它只需要加
載那些已經啟用的虛擬主機就可以了。)
Apache網頁文件默認存放的位置
在默認情況下,apache把網站文件放在/etc/www目錄下。
通過DocumentRoot關鍵字的設置,你可以把任意目錄指
定為網頁文件的根目錄。你也可以在裡面建立多個網頁文
件的目錄,如:
/var/www/www.aliwo.net
/var/www/bbs.aliwo.net
也就是說每個網站有自己單獨的文件夾,這樣管理起來比
較清晰。另外/var分區需要大一些,因為mysql數據庫文件
和日誌文件,以及網站日誌文件都保存在這裡。
Apache虛擬機設置
apache既支持基於域名的虛擬主機,也支持基於IP的虛擬主機。
Ubuntu的Apache2為提供虛擬主機支持做了很好的配置。如果
你的服務器只有一個網站,基本上不用修改配置,虛擬機就可以
用了;如果有多個網站,則可以複製defualt虛擬主機的配置文
件進行修改,這樣可以很快的建立多個網站。
每個apache的虛擬主機都有單獨的配置文件。這些虛擬主機的配
置文件放在/etc/apache2/sites-available目錄下。上面提到
的default虛擬主機,位於這個目錄裡。如果你在瀏覽器中訪問服務
器的IP地址,出現頁面「It Worker!」,表明網站已經在提供服務了。
4.1創建一個新的虛擬主機
要創建一個新網站,你需要創建一個新的虛擬主機。假設我現
在要創建一個域名為http://www.aliwo.net/的虛擬主機:
*先將default虛擬主機複製一份,以便用來修改:
sudo cp default http://www.aliwo.net/
*然後編輯http://www.aliwo.net/
sudo nano http://www.aliwo.net/
http://www.aliwo.net/內容如下:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
FCGIWrapper /usr/bin/php5-cgi .php
Options ExecCGI SymLinksIfOwnerMatch
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory 「/usr/lib/cgi-bin」>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ 「/usr/share/doc/」
<Directory 「/usr/share/doc/」>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
修改後:
<VirtualHost *:80>
ServerAdmin aliwo@qq.com
ServerName http://www.aliwo.net/
ServerAlias aliwo.net
DocumentRoot /var/www/www.aliwo.com
<Directory />
FCGIWrapper /usr/bin/php5-cgi .php
Options ExecCGI SymLinksIfOwnerMatch
AllowOverride None
</Directory>
<Directory /var/www/www.aliwo.com>
Options FollowSymLinks MultiViews
AllowOverride ALL
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory 「/usr/lib/cgi-bin」>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
#日誌
CustomLog /var/log/apache2/access.log combined
Alias /doc/ 「/usr/share/doc/」
<Directory 「/usr/share/doc/」>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
4.2、啟動http://www.aliwo.net/
sudo a2ensite http://www.aliwo.net/
同時禁止default(即禁止使用IP訪問)。
sudo a2dissite default
5、建立網站目錄
#cd /var/www
#mkdir /var/www/www.aliwo.net
然後把網頁文件上傳到目錄裡面。
6、重啟apache2,生效網站:
sudo /etc/init.d/apache2 restart
一、安裝Pure-FTPd
$ sudo apt-get install pure-ftpd
$ sudo apt-get install pure-ftpd-mysql
二、配置Pure-FTPd
1.添加用戶和組
$ sudo groupadd -g 2001 ftpgroup
$ sudo useradd -u 2001 -s /bin/false -d /dev/null -c 「Pure-FTPd User」 -g ftpgroup ftpuser
在上面創建用戶的命令中,指定將/bin/false作為shell,使得該用戶無法登錄到服務器的shell環境,從而避免了很多安全問題;而將其HOME目錄設置為/dev/null,也提高操作系統的安全。
2.Chroot 設置
為了安全起見,我們要將每個FTP用戶限制在Chroot環境中。為此,我們可以在其配置目錄/etc/pure-ftpd/conf下面創建一個名為ChrootEveryone的文件,並將內容設置為yes:
$ sudo sh -c 「echo 『yes』 > /etc/pure-ftpd/conf/ChrootEveryone」
這樣設置後,每個FTP用戶自己的HOME目錄就成了他的root目錄,他無法達到上層目錄中,也就無法瀏覽其它目錄下的文件了。
3.手工創建用戶目錄
下面的設置,告訴Pure-FTPd不要為用戶自動創建HOME目錄,我們將手工創建,後面我將會介紹web管理工具創建用戶和HOME目錄:
$ sudo sh -c 「echo 『No』 > /etc/pure-ftpd/conf/CreateHomeDir」
4.為Pure-FTPd 創建MySQL 數據庫
$ mysql -u root -p
mysql> CREATE DATABASE ftpusers;
然後,創建一個名為ftpadmin的MySQL用戶,密碼為ftpadminPassword,並將數據庫ftpusers的相關權限賦給該用戶:
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON ftpusers.* TO
『ftpadmin』@'localhost』 IDENTIFIED BY 『ftpadminPassword』;
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON ftpusers.* TO
『ftpadmin』@'localhost.localdomain』 IDENTIFIED BY 『ftpadminPassword』;
mysql> FLUSH PRIVILEGES;
然後,我們在該數據庫中,創建一個users表,其SQL語句如下:
mysql> USE ftpusers;
mysql> CREATE TABLE IF NOT EXISTS `users` (
`User` varchar(16) NOT NULL default 」,
`Password` varchar(32) NOT NULL default 」,
`Uid` int(11) NOT NULL,
`Gid` int(11) NOT NULL,
`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`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
mysql> quit
5.配置Pure-FTPd 的mysql.conf
$ sudo mv /etc/pure-ftpd/db/mysql.conf /etc/pure-ftpd/db/mysql.conf_orig
$ sudo nano /etc/pure-ftpd/db/mysql.conf
內容為:
MYSQLServer 127.0.0.1
MYSQLSocket /var/run/mysqld/mysqld.sock
MYSQLUser ftpadmin
MYSQLPassword ftpadminPassword
MYSQLDatabase ftpusers
MYSQLCrypt md5
MYSQLGetPW SELECT Password FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MYSQLGetUID SELECT Uid FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MYSQLGetGID SELECT Gid FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MYSQLGetDir SELECT Dir FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetRatioUL SELECT ULRatio FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetRatioDL SELECT DLRatio FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
$ sudo chmod g=o= /etc/pure-ftpd/db/mysql.conf
$ sudo /etc/init.d/pure-ftpd-mysql restart
三、實現FTP用戶的Web管理
1、安裝User manager for PureFTPd
$ cd ~
$ wget http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz
$ cd /var/www
$ sudo tar xfvz ~/ftp_v2.1.tar.gz
2、配置User manager for PureFTPd
我們來修改/var/www/ftp/config.php:
$ sudo nano /var/www/ftp/config.php
[...]
$LANG = 「Chinese」;
$LocationImages = 「images」;
$DBHost = 「127.0.0.1〞;
$DBLogin = 「ftpadmin」;
$DBPassword = 「ftpadminPassword」;
$DBDatabase = 「ftpusers」;
$FTPAddress = 「ubox.mytest.com:21〞;
$DEFUserID = 「2001〞;
$DEFGroupID = 「2001〞;
$UsersFile = 「/etc/passwd」;
$GroupFile = 「/etc/group」;
$StyleSheet = 「style/default.css.php」;
$EnableQuota = 1;
$EnableRatio = 1;
[...]
上述配置中,MySQL數據庫的用戶名、密碼、數據庫名及FTPAddress,請按自己的實際情況修改。最後兩行設置,默認啟用Quota和速率限制。
3、設置User manager for PureFTPd 管理員
$ mysql -u root -p
mysql> USE ftpusers;
mysql> CREATE TABLE IF NOT EXISTS `admin` (
`Username` varchar(35) NOT NULL default 」,
`Password` char(32) NOT NULL default 」,
PRIMARY KEY (`Username`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
然後,我們向「admin」表中,插入一個名為ftpadmin的管理員,該管理員的密碼為「ftpadminPassword」:
INSERT INTO `admin` (`Username`, `Password`) VALUES
(』ftpadmin』, MD5(』ftpadminPassword』));
mysql> quit
1、網絡配置文件/etc/network/interfaces
address 163.23.115.x
netmask 255.255.255.192
network 163.23.115.254
broadcast 163.23.115.255
gateway
eth1內部網卡不要設gateway
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
重啟網路
/etc/init.d/networking restart
域名服務器配置文件
vi /etc/resolv.conf
nameserver 168.95.1.1
nameserver 163.23.115.x
1.讓你的 Linux 具有 router 的能力。
echo "1" > /proc/sys/net/ipv4/ip_forward
2.加入 NAT table 封包偽裝,$innet是內部區網(例如:192.168.1.0/24),
也可以不用設定$innet,這樣代表所有內部網路都會從對外的網路介面出去,
偽裝成對外的網路封包。$EXTIF是對外網路介面(例如:eth0)。
iptables -t nat -A POSTROUTING -s $innet -o $EXTIF -j MASQUERADE
或
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE
3.將上面兩行指令寫到 /etc/rc.local 中,讓server開機的時候就執行。
vi /etc/rc.local
一、安裝Apache
Ubuntu提供了3個apache2的套件,分別是apache2-mpm-worker、
apache2-mpm-prefork、apache2-mpm-event。
如果你在安裝過程選擇了LAMP包的話,那麼安裝的是apache2-mpm-prefork。
如果你沒有選擇安裝LAMP包,安裝完系統之後,執行下面的命令安裝apache2
這個軟件包時,安裝的是apache2-mpm-worker:
sudo apt-get install apache2
1、Apache配置文件說明
*apache2.conf——全局配置文件
*conf.d/——該目錄存放一些一般性的配置
*envvars——存放環境變量,一般不需要修改
*httpd.conf——用戶配置文件
*mods-available/——該目錄下是已經安裝的可用模塊
*mods-enabled/——該目錄下是已經啟用的模塊
*ports.conf——httpd服務的端口
*sites-available/——該目錄下是可用的虛擬主機
*sites-enabled/——該目錄下是已經啟用的虛擬主機
其中,apache2.conf是apache2的主配置文件,它會
讀取上面列出的所有目錄和文件(sites-available目錄除外,
因為apache不需要知道有哪些虛擬主機可用,它只需要加
載那些已經啟用的虛擬主機就可以了。)
Apache網頁文件默認存放的位置
在默認情況下,apache把網站文件放在/etc/www目錄下。
通過DocumentRoot關鍵字的設置,你可以把任意目錄指
定為網頁文件的根目錄。你也可以在裡面建立多個網頁文
件的目錄,如:
/var/www/www.aliwo.net
/var/www/bbs.aliwo.net
也就是說每個網站有自己單獨的文件夾,這樣管理起來比
較清晰。另外/var分區需要大一些,因為mysql數據庫文件
和日誌文件,以及網站日誌文件都保存在這裡。
Apache虛擬機設置
apache既支持基於域名的虛擬主機,也支持基於IP的虛擬主機。
Ubuntu的Apache2為提供虛擬主機支持做了很好的配置。如果
你的服務器只有一個網站,基本上不用修改配置,虛擬機就可以
用了;如果有多個網站,則可以複製defualt虛擬主機的配置文
件進行修改,這樣可以很快的建立多個網站。
每個apache的虛擬主機都有單獨的配置文件。這些虛擬主機的配
置文件放在/etc/apache2/sites-available目錄下。上面提到
的default虛擬主機,位於這個目錄裡。如果你在瀏覽器中訪問服務
器的IP地址,出現頁面「It Worker!」,表明網站已經在提供服務了。
4.1創建一個新的虛擬主機
要創建一個新網站,你需要創建一個新的虛擬主機。假設我現
在要創建一個域名為http://www.aliwo.net/的虛擬主機:
*先將default虛擬主機複製一份,以便用來修改:
sudo cp default http://www.aliwo.net/
*然後編輯http://www.aliwo.net/
sudo nano http://www.aliwo.net/
http://www.aliwo.net/內容如下:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
FCGIWrapper /usr/bin/php5-cgi .php
Options ExecCGI SymLinksIfOwnerMatch
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory 「/usr/lib/cgi-bin」>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ 「/usr/share/doc/」
<Directory 「/usr/share/doc/」>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
修改後:
<VirtualHost *:80>
ServerAdmin aliwo@qq.com
ServerName http://www.aliwo.net/
ServerAlias aliwo.net
DocumentRoot /var/www/www.aliwo.com
<Directory />
FCGIWrapper /usr/bin/php5-cgi .php
Options ExecCGI SymLinksIfOwnerMatch
AllowOverride None
</Directory>
<Directory /var/www/www.aliwo.com>
Options FollowSymLinks MultiViews
AllowOverride ALL
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory 「/usr/lib/cgi-bin」>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
#日誌
CustomLog /var/log/apache2/access.log combined
Alias /doc/ 「/usr/share/doc/」
<Directory 「/usr/share/doc/」>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
4.2、啟動http://www.aliwo.net/
sudo a2ensite http://www.aliwo.net/
同時禁止default(即禁止使用IP訪問)。
sudo a2dissite default
5、建立網站目錄
#cd /var/www
#mkdir /var/www/www.aliwo.net
然後把網頁文件上傳到目錄裡面。
6、重啟apache2,生效網站:
sudo /etc/init.d/apache2 restart
一、安裝Pure-FTPd
$ sudo apt-get install pure-ftpd
$ sudo apt-get install pure-ftpd-mysql
二、配置Pure-FTPd
1.添加用戶和組
$ sudo groupadd -g 2001 ftpgroup
$ sudo useradd -u 2001 -s /bin/false -d /dev/null -c 「Pure-FTPd User」 -g ftpgroup ftpuser
在上面創建用戶的命令中,指定將/bin/false作為shell,使得該用戶無法登錄到服務器的shell環境,從而避免了很多安全問題;而將其HOME目錄設置為/dev/null,也提高操作系統的安全。
2.Chroot 設置
為了安全起見,我們要將每個FTP用戶限制在Chroot環境中。為此,我們可以在其配置目錄/etc/pure-ftpd/conf下面創建一個名為ChrootEveryone的文件,並將內容設置為yes:
$ sudo sh -c 「echo 『yes』 > /etc/pure-ftpd/conf/ChrootEveryone」
這樣設置後,每個FTP用戶自己的HOME目錄就成了他的root目錄,他無法達到上層目錄中,也就無法瀏覽其它目錄下的文件了。
3.手工創建用戶目錄
下面的設置,告訴Pure-FTPd不要為用戶自動創建HOME目錄,我們將手工創建,後面我將會介紹web管理工具創建用戶和HOME目錄:
$ sudo sh -c 「echo 『No』 > /etc/pure-ftpd/conf/CreateHomeDir」
4.為Pure-FTPd 創建MySQL 數據庫
$ mysql -u root -p
mysql> CREATE DATABASE ftpusers;
然後,創建一個名為ftpadmin的MySQL用戶,密碼為ftpadminPassword,並將數據庫ftpusers的相關權限賦給該用戶:
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON ftpusers.* TO
『ftpadmin』@'localhost』 IDENTIFIED BY 『ftpadminPassword』;
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON ftpusers.* TO
『ftpadmin』@'localhost.localdomain』 IDENTIFIED BY 『ftpadminPassword』;
mysql> FLUSH PRIVILEGES;
然後,我們在該數據庫中,創建一個users表,其SQL語句如下:
mysql> USE ftpusers;
mysql> CREATE TABLE IF NOT EXISTS `users` (
`User` varchar(16) NOT NULL default 」,
`Password` varchar(32) NOT NULL default 」,
`Uid` int(11) NOT NULL,
`Gid` int(11) NOT NULL,
`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`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
mysql> quit
5.配置Pure-FTPd 的mysql.conf
$ sudo mv /etc/pure-ftpd/db/mysql.conf /etc/pure-ftpd/db/mysql.conf_orig
$ sudo nano /etc/pure-ftpd/db/mysql.conf
內容為:
MYSQLServer 127.0.0.1
MYSQLSocket /var/run/mysqld/mysqld.sock
MYSQLUser ftpadmin
MYSQLPassword ftpadminPassword
MYSQLDatabase ftpusers
MYSQLCrypt md5
MYSQLGetPW SELECT Password FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MYSQLGetUID SELECT Uid FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MYSQLGetGID SELECT Gid FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MYSQLGetDir SELECT Dir FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetRatioUL SELECT ULRatio FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetRatioDL SELECT DLRatio FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User=」\L」 AND Status=」1〞 AND (Ipaddress = 「*」 OR Ipaddress LIKE 「\R」)
$ sudo chmod g=o= /etc/pure-ftpd/db/mysql.conf
$ sudo /etc/init.d/pure-ftpd-mysql restart
三、實現FTP用戶的Web管理
1、安裝User manager for PureFTPd
$ cd ~
$ wget http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz
$ cd /var/www
$ sudo tar xfvz ~/ftp_v2.1.tar.gz
2、配置User manager for PureFTPd
我們來修改/var/www/ftp/config.php:
$ sudo nano /var/www/ftp/config.php
[...]
$LANG = 「Chinese」;
$LocationImages = 「images」;
$DBHost = 「127.0.0.1〞;
$DBLogin = 「ftpadmin」;
$DBPassword = 「ftpadminPassword」;
$DBDatabase = 「ftpusers」;
$FTPAddress = 「ubox.mytest.com:21〞;
$DEFUserID = 「2001〞;
$DEFGroupID = 「2001〞;
$UsersFile = 「/etc/passwd」;
$GroupFile = 「/etc/group」;
$StyleSheet = 「style/default.css.php」;
$EnableQuota = 1;
$EnableRatio = 1;
[...]
上述配置中,MySQL數據庫的用戶名、密碼、數據庫名及FTPAddress,請按自己的實際情況修改。最後兩行設置,默認啟用Quota和速率限制。
3、設置User manager for PureFTPd 管理員
$ mysql -u root -p
mysql> USE ftpusers;
mysql> CREATE TABLE IF NOT EXISTS `admin` (
`Username` varchar(35) NOT NULL default 」,
`Password` char(32) NOT NULL default 」,
PRIMARY KEY (`Username`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
然後,我們向「admin」表中,插入一個名為ftpadmin的管理員,該管理員的密碼為「ftpadminPassword」:
INSERT INTO `admin` (`Username`, `Password`) VALUES
(』ftpadmin』, MD5(』ftpadminPassword』));
mysql> quit
流量監控BandWidthD 2.0.1(極推薦)
流量監控BandWidthD 2.0.1(極推薦)
比較不消耗資源
http://bandwidthd.sourceforge.net/
BandWidthD 2.0.1
資料來源
http://forum.icst.org.tw/phpbb/viewtopic.php?t=14951
程式
-------------------------------
sudo apt-get -y --force-yes install apache2 bandwidthd
sudo touch /etc/apache2/conf.d/bandwidthd.conf
sudo chmod 666 /etc/apache2/conf.d/bandwidthd.conf
sudo echo "Alias /bandwidthd /var/lib/bandwidthd/htdocs" > /etc/apache2/conf.d/bandwidthd.conf
sudo echo "<Location /bandwidthd>" >> /etc/apache2/conf.d/bandwidthd.conf
sudo echo " Order deny,allow" >> /etc/apache2/conf.d/bandwidthd.conf
sudo sudo echo "# Deny from all" >> /etc/apache2/conf.d/bandwidthd.conf
sudo echo " Allow from 127.0.0.1" >> /etc/apache2/conf.d/bandwidthd.conf
sudo echo " Allow from ::1" >> /etc/apache2/conf.d/bandwidthd.conf
sudo echo " # Allow from .example.com" >> /etc/apache2/conf.d/bandwidthd.conf
sudo echo "</Location>" >> /etc/apache2/conf.d/bandwidthd.conf
sudo /etc/init.d/bandwidthd restart
sudo /etc/init.d/apache2 restart
#chkconfig httpd on
firefox http://localhost/bandwidthd &
比較不消耗資源
http://bandwidthd.sourceforge.net/
BandWidthD 2.0.1
資料來源
http://forum.icst.org.tw/phpbb/viewtopic.php?t=14951
程式
-------------------------------
sudo apt-get -y --force-yes install apache2 bandwidthd
sudo touch /etc/apache2/conf.d/bandwidthd.conf
sudo chmod 666 /etc/apache2/conf.d/bandwidthd.conf
sudo echo "Alias /bandwidthd /var/lib/bandwidthd/htdocs" > /etc/apache2/conf.d/bandwidthd.conf
sudo echo "<Location /bandwidthd>" >> /etc/apache2/conf.d/bandwidthd.conf
sudo echo " Order deny,allow" >> /etc/apache2/conf.d/bandwidthd.conf
sudo sudo echo "# Deny from all" >> /etc/apache2/conf.d/bandwidthd.conf
sudo echo " Allow from 127.0.0.1" >> /etc/apache2/conf.d/bandwidthd.conf
sudo echo " Allow from ::1" >> /etc/apache2/conf.d/bandwidthd.conf
sudo echo " # Allow from .example.com" >> /etc/apache2/conf.d/bandwidthd.conf
sudo echo "</Location>" >> /etc/apache2/conf.d/bandwidthd.conf
sudo /etc/init.d/bandwidthd restart
sudo /etc/init.d/apache2 restart
#chkconfig httpd on
firefox http://localhost/bandwidthd &
2011年2月18日 星期五
系統更新
指令一:sudo apt-get update
說明:用來取得遠端更新伺服器的套件檔案清單。
指令二:sudo apt-get -y dist-upgrade
說明:更新套件。
指令三:sudo apt-get clean
說明:清除更新時所下載回來的更新(安裝)檔案。
說明:用來取得遠端更新伺服器的套件檔案清單。
指令二:sudo apt-get -y dist-upgrade
說明:更新套件。
指令三:sudo apt-get clean
說明:清除更新時所下載回來的更新(安裝)檔案。
訂閱:
文章 (Atom)