當前位置:編程學習大全網 - 源碼下載 - 怎麽樣在Redhat Linux 下配置FTP,Web,MySql服務(要具體的,最好完整的)

怎麽樣在Redhat Linux 下配置FTP,Web,MySql服務(要具體的,最好完整的)

1,Linux下架FTP!!

Linux下壹般最常用的工具wu-ftpd.

wu-ftpd的安裝非常容易,大多數版本的Linux中都包含了wu-ftpd的rpm軟件包,妳可以在安裝Linux時指定裝入。如果妳想自行編譯源代碼,也可以到ftp://ftp.wu-ftpd.org下載最新版本的源代碼包。

安裝好以後,可以用ckconfig命令來檢查是否已經正確安裝。在/etc/passwd中可以指定ftp用戶的登入目錄。

wu-ftpd主要有以下6個配置文件:

ftpaccess(主要配置文件,控制存取權限)

ftpconvertions(配置文件壓縮/解壓縮轉換)

ftpgroups(設定ftp自己定義的群組)

ftphosts(設定個別的用戶權限)

ftpservers(設定不同IP/Domain Name以對應到不同的虛擬主機)

ftpusers(設定哪些帳號不能用ftp連線)

下面我們來壹壹介紹。

⒈/etc/ftpaccess(wu-ftpd的主要配置文件)

class--定義群組,用法如下:

class<種類>;<用戶地址>;[<用戶地址>;……]

由class定義的群組用戶才可以連線進來,可以使用多層式的class來規範哪些群組的用戶能夠從哪些地方上來。這裏有三個重要的種類,real、anonymous個guest。real如果沒有列在定義中,那麽這臺機器中任何真實的壹般用戶都無法用自己的帳號連上來。anonymous如果沒有在定義,就表示不讓沒有帳號的的人連上來。如果有定義guest,那麽guest群組的人就可以上來。另外<用戶地址>;是指ftp上來的用戶會用到的IP地址,則可自行設定。以下是壹些例子:

class all real,guest,anonymous *

定義了壹個名為all的class,包含三種人,所有IP的連線用戶(也就是所有人都包括了)

class local real localhost loopback

local這個class說,只有real的用戶可以從本機機器連上來

class remote guest,anonymous *

remote這個class包含了從任何地方上來的guest和anonymous用戶,但是real用戶不算

class rmtuser real !*.example.com

rmtuser這個class包含了從外面來的(除了example.com)真實用戶

autogroup--自動對應群組,用法如下:

autogroup[……]

當妳定義好的那些同屬於壹個class的用戶,壹旦連線上來就會被對應到壹個相應的群組下面,這樣妳就可以用Unix的文件權限對某壹群人做限制。

deny--拒絕某些地址連線,用法如下:

deny<拒絕連線的地址>;<信息文件>;

禁止某些機器連線,並顯示<信息文件>;。例如:

deny 210.62.146.*:255.255.255.254 /etc/reject.msg

guestgroup--設定訪客群

guestuser--設定訪客帳號

realgroup--設定真實群組

realuser--設定真實帳號

nice--設定給某些class多少優先權,用法如下:

nice

在Linux中,nice的值是-20(最優先)到19(最後處理),這裏妳可以指定負的值來提高某class的優先順序。

defumask--設定某class的umask,用法如下:

defumask[]

umask是建立文件時該文件的的權限掩碼

tcpwindow--設定tcpwindow的大小

keepalive--設定是否使用TCP SO_KEEPALIVE來控制斷線情形

timeout--設定連線超時,用法如下:

timeout accept<秒>;

接受連線超時,預設120秒

timeout connect<秒>;

連線建立超時,預設120秒

timeout data<秒>;

數據傳送超時,預設1200秒

timeout idle<秒>;

用戶發呆超時,預設900秒

file-limit--限制某class只能傳幾個文件,用法如下:

file-limit[][]

對某個class限制存取文件的數目,包含了in(上傳)、out(下載),total raw代表整個傳輸的結果,不光是數據文件。例如:

file-limit out 20 lvfour

限制lvfour這個class的用戶最多只能下載20個文件

byte-limit--限制某class只能傳幾個字節,用法跟file-limit相似

limit-time--限制壹個連線只能持續多久,用法如下:

limit-time{*|anonymous|guest}<分鐘>;

為了避免有人掛在站上不下來,可以用這個方法限制用戶的上線時間,例如:

limit-time guest 5

讓guest帳號的用戶只能用5分鐘

limit--限制某class能同時幾人上線,用法如下:

limit<連線數目>;<時間區段>;<額滿信息文件>;

設定某個class在某壹時間區段內最多能夠幾人同時上線,後面是當超過連線數目時要顯示的信息。例如:

limit all 32 Any /home/ftp/etc/toomanyuser.msg

限制所有連線在任何時間只能有32個用戶,超過則拒絕連線並顯示信息

limit levellone 5 Any2300-0600 /home/ftp/etc/toomanyuser.msg

限制levellone這個class的用戶在23:00到6:00這段時間內只能有5人連線

noretrieve--設定哪些文件不可下載

noretrieve[absolute/relative][class=]…[-][<文件名>;…]

absolute或relative指文件是用絕對路徑還是相對路徑

allow=retrieve--設定哪些文件可以下載

allow[absolute/relative][class=]…[-][<文件名>;…]

loginfails--設置登入錯誤可嘗試的次數

當用戶連線時可能打錯ID或密碼,這個設定可以讓他打錯幾次以後就斷線,避免有人用窮舉法猜測密碼。

private--設定線上是否可以執行SITE GROUP/SITE GPASS

當開放SITE GROUP與SITE GPASS指令時,可以用這兩個指令切換到/etc/ftpgroup的群組。壹般而言我們不會用到這個功能,以避免安全漏洞。

greeting--顯示Server的版本信息,用法如下:

greeting

當用戶登入畫面顯示的server信息,full是預設值,包含版本號以及hostname,brief只有hostname,而terse只有“FTP server ready”的信息。

barnner--設定未進入Login畫面之前用戶看到的信息,用法如下:

banner<文件路徑>;

這裏敘述了在用戶登入時,在還沒打ID/Password之前要出現的信息。文件路徑指的是相對於真實的路徑,而不是相對於ftp的根目錄。

host--設定ftp主機名

email--指定ftp管理者的email地址

message--信息文件的設定,用法如下:

message<文件>;{<何時>;{……}}

這裏的文件的路徑是相對於ftp的根目錄的,“何時”是指當妳做了什麽動作之後的反應,有幾個選擇:

login(登入時)

cwd=<目錄>;(進入某目錄時)

class 名稱是前面已經定義過的,允許妳的信息只對哪些人發出。

而信息文件的內容除了文字以外,還可以使用以下壹些事先定義好的代號:

%T(本機時間)

%F(目前分區所剩余的空間)

%C(目前所在的目錄)

%E(管理者的E-mail)

%R(客戶端主機名稱)

%L(本機主機名稱)

%U(用戶名稱)

%M(與我相同class用戶允許多少人連線)

%N(與我相同class用戶目前有多少人連線)

%B(絕對磁盤限制大小,目前分區(單位blocks))

%b(preferred磁盤限制大小,目前分區(單位blocks))

%Q(目前已使用的blocks)

%I(最大可使用的inodes(+1))

%i(Preferred inodes限制)

%q(目前使用的indoes)

%H(超量使用磁盤空間的時間限制)

%h(超量使用文件數目的時間限制)

readme--通知用戶哪些README文件已經更新

log commands--記錄用戶所使用過的命令,用法如下:

log commands<用戶種類>;

log transfers--記錄用戶所傳輸的文件,用法如下:

log transfers<用戶種類>;<傳輸方向>;

設定有哪些類型的用戶傳輸文件需要記錄,包含了inbound(用戶上傳)和outbound(用戶下載),例如:

log transfers anonymous,guest inbound,outbound

log security--記錄安全性,用法如下:

log security<用戶種類>;

特別用於記錄某類用戶關於noretrive、notar等有關安全性的記錄

log syslog--記錄到系統的syslog文件

alias--設定目錄別名,用法如下:

alias<別名字符串>;<目錄>;

cdpath--設定cd更換目錄搜索順序

compress,tar--設定是否自動壓縮,用法如下:

compress[……]

tar[……]

定義哪些人可以執行壓縮以及tar

shutdown--通知用戶要關站了

shutdown<信息文件>;

如果信息文件存在的話,當這個文件指定的某時間以後,就會拒絕連線並切斷已有的連線,等時間壹到就關機。這個信息文件的格式如下:

<年>;<月>;<日>;<時>;<分>;<拒絕倒數>;<斷線倒數>;<文字>;

daemon address--指定只監聽某個IP地址,用法如下:

daemon address

當妳有許多IP的時候,使用這個選項將會取消其它任何虛擬FTP主機的設定。不設定的話,監聽所有IP。

virtual--設定虛擬FTP站臺

wu-ftpd提供了虛擬主機的功能,也就是說,在同壹臺機器上提供了不同FTP站臺,以主機名稱或IP來區分;當然妳要用名稱的話,還需要跟DNS配合才行。virtual有很多個設定:

virtual

<路徑>;

可以是主機名或IP地址

root指的是ftp的根目錄,banner是歡迎信息,logfile指的是這個虛擬站臺的log文件

以下是壹些例子:

virtual virtual.com.bj root /home/ftp2

virtual virtual.com.bj banner /etc/vftpbanner.2

virtual virtual.com.bj logfile /etc/viftplog.2

virtual

<字母>;

用戶可以查到hostname跟管理者email,以下是壹些例子:

virtual 210.62.146.50 hostname virtual.site.com.bj

virtual vritual.site.com.bj email ftpown@virtual.site.com.bj

virtual

allow<用戶>;[<用戶>;……]

virtual

deny<用戶>;[<用戶>;……]

很明顯,以上兩個選項是設定是否允許連線的,以下是壹些例子:

virtual virtual.site.com.bj allow *

virtual virtual.site.com.bj deny badman

virtual

private

本虛擬站臺拒絕anonymous用戶

defaultserver deny <用戶>;[<用戶>;……]

defaultserver allow <用戶>;[<用戶>;……]

當我們使用了虛擬主機,原先的deny,allow設定不知道要設哪個server,所以會無效,用defaultserver代表原來的主機

defaultserver private

主站臺拒絕anonymous用戶

passive address--轉換IP數值

passive address<外部IP>;/cidr

passive ports--passive的ports範圍

passive ports

pasv-allow--允許使用pasv

pasv-allow[<地址>;……]

port-allow--允許使用port

port-allow[<地址>;……]

mailserver--指定Upload通知的mail服務器

incmail--指定anonymous upload的email通知地址

virtual incmail--指定虛擬主機anonymous upload的email通知地址

defaultserver incmail--指定預設主機anonymous upload的email通知地址

mailfrom--通知的寄信人upload

virtual mailfrom--虛擬主機upload通知的寄信人

defaultserver mailfrom--預設主機upload通知的寄信人

chmod--設定是否可以改變文件權限

delete--設定是否可以刪除文件

overwrite--覆蓋文件

rename--重命名文件

umask--允許設定umask

passwd-check--設定anonymous FTP的密碼檢查程度,用法如下:

passwd-check()

設定對anonymous ftp用戶的密碼是否檢查,none表示不檢查,trivial為包含@的任意密碼,rfc822則表示密碼要遵循RFC822格式,enforce表示密碼檢查不過不允許進入,warn表示密碼檢查不過只出現警告信息。

deny=email--拒絕特定的email當密碼

path-filer--攝定哪些文件名不可使用

path-filer<錯誤信息文件>;<允許字符>;<不允許字符>;

upload--設定upload權限

upload[absloute/relative][class=]…[-]<設定的目錄>; >;[dirs/nodirs][d_mode]

用來對我們要設定的目錄做權限設定:

absoulte/relative使用絕對路徑或是相對路徑

class=指定某個class

root-dir指的是對哪些root-dir的人,也就是chroot後的登入目錄,應用這個規則

設定的目錄指的就是我們要限制的目錄

yes/no指得是能否在此目錄下開新文件

owner,group指出是開出來的文件擁有者及群組

Mode指的是文件權限

dirs/nodirs指的是能否開新目錄

d_mode設定建立新目錄時目錄的權限,如果不設定會根據mode來設定

thoughput--控制下載速度

thoughput<子目錄列表>;<文件>;<遠端地址列表>;

對遠端的地址,控制他抓某個子目錄下的某些文件時的速度,例如:

thoughput /e/ftp * * oo - *

thoughput /e/ftp /sw* * 1024 0.5 *

thoughput /e/ftp sw* readme oo - *

thoughput /e/ftp sw* * oo - *.foo.com

以上的設定妳是否能夠看出來呢?“oo”表示不限制bytes/sec,“-”或是“1.0”都是代表壹倍。第壹行的意思是說,在/e/ftp下面的文件不限制下載速度;第二行說,在/sw*下面的任何文件限速為1024bytes/sec*

0.5=512bytes/sec;第三行又把readme文件的限速取消;最後壹行則對*.foo.com開放全速。

anonymous-root--對某class設定匿名用戶的根目錄

anonymous-root[]

guest-root--預設壹個guest用戶根目錄

guest-root[]

其中用於指定uid的範圍

deny-uid,deny-gid--拒絕某段UID(GID)範圍

allow-uid,allow-gid--允許某段UID(GID)範圍

restricted-uid,restricted-gid--限制用戶不能離開他的登錄目錄

unrestricted-uid,unrestricted-gid--用戶可以離開他的登錄目錄

dns refuse_mismatch--設定DNS查到名稱與用戶設定不符的動作

dns refuse_mismatch<信息文件>;[override]

當用戶使用未註冊IP時,拒絕他的連線,override則是不理會錯誤而讓他連線,信息文件則是我們要給用戶看的。

dns refuse_no_reverse--設定無反查記錄拒絕連線

dns refuse_no_reverse<信息文件>;[override]

當用戶的IP反查無記錄時,拒絕他的連線

dns resolveoptions--設定DNS解析選項

dns resolveoptions[options]

這裏可以設定DNS解析選項

⒉/etc/ftphosts

ftphosts文件其實跟ftpaccess裏面的access,deny很像,它是特別用來設定某些ID的連線,它沒有class定義,所以必須是真實用戶。

allow|deny<用戶>;<地址>;[<地址>;……]

以下是壹些例子:

allow rose 140.0.0/8

deny jack 140.123.0.0:255.255.0.0

允許rose從140.*.*.*進來,拒絕jack從140.123.*.*上來

⒊/etc/ftpservers

這個文件控制了當妳有不同的IP/hostname的時候,進來的連線使用哪壹個配置文件。例如:

10.196.145.10 /etc/ftpd/ftpaccess.somedomain/

10.196.145.200 /etc/ftpd/ftpaccess.someotherdomain/

some.domain internal

10.196.145.20 /etc/ftpd/config/faqs.org/

ftp.some.domain /etc/ftpd/config/faqs.org/

⒋/etc/ftpusers

在這個文件裏記錄的用戶禁止使用FTP

⒌/etc/ftpgroups

給SITE GROUP指令使用,線上切換group。SITE EXEC容易造成安全漏洞,壹般我們都不開放。

⒍/etc/ftpconversions

用來做tar、compress、gzip等動作指令配置文件,只要用預設即可,如果妳不開放即時壓縮打包,也可以把內容清除。

2,Linux操作系統近幾年有了蓬勃的發展,在整個世界範圍內得到了越來越多公司和團體的支持,尤其是最近IBM公司的鼎力支持,更是使Linux服務器如虎添翼,更上壹層樓

Linux操作系統近幾年有了蓬勃的發展,在整個世界範圍內得到了越來越多公司和團體的支持,尤其是最近IBM公司的鼎力支持,更是使Linux服務器如虎添翼,更上壹層樓。而在國內,Linux的應用也是方興未艾,眾多公司已經投入到Linux系統的研發和推廣工作中。壹些優秀的Linux操作系統相繼出現,比如紅旗Linux等。但是我國的Linux應用水平還很低,熟悉Linux的人員嚴重缺乏,Linux專業人才的缺乏已成為Linux在國內應用和普及的瓶頸問題。據《開放系統世界》2003年第八期介紹,中國五年內Linux人才需求量將會超過120萬。而“1+1+1”工程的實施,也是間接地告訴我們這個問題的嚴重性。如此大好時機,我們幹嗎還楞著不動呢!如果妳是壹位Linux愛好者,妳可能已經掌握了基本的Linux的知識與操作,毫無疑問,妳並不會去滿足這樣小小的成就。Linux為何如此的流行?其最大的特點莫過於功能強大,性能穩定的服務器應用了。像WWW,MAIL,FTP,DNS和SMB等。在這篇文章中,我將以Redhat Linux 9為藍本,從Web服務器的壹些最基本的操作入手,從初學者使用的態度,讓讀者正確充分的認識Apache。好,現在就讓我們壹起踏上征服Apache的自由之路吧。

Apache的主要特征是:

. 可以運行上所有計算機平臺;

. 支持最新的HTTP 1.1協議;

. 簡單而強有力的基於文件的配置;

. 支持通用網關接口CGI;

. 支持虛擬主機;

. 支持HTTP認證;

. 集成Perl腳本編程語言;

. 集成的代理服務器;

. 具有可定制的服務器日誌;

. 支持服務器端包含命令(SSI)

. 支持安全Socket層(SSL)

. 用戶會話過程的跟蹤能力;

. 支持FastCGI;

. 支持Java Servlets。

安裝Apache

下面我們就開始漫漫征服Apache之旅,通過循序漸進的需求實例,壹步步地學習使用Apache,從入門到精通。

系統需求

運行Apache不需要太多的計算資源。它在有6-10MB硬盤空間和8MB RAM的Linux系統上運行得很好。然而,只運行Apache可能不是妳想做的事情。更可能的是,妳想運行Apache來提供WWW服務、啟動CGI進程以及充分利用所有WWW能夠提供的令人驚奇的功能。在這種情況下,妳需要提供反映負載要求的額外的磁盤空間和內存空間。也就是說,如果僅僅是啟動WWW服務並不需要太多的系統資源,但是想要能為大量的客戶提供服務就需要更多的系統資源。

獲取軟件

妳可以在http://www.apache.org中獲得Apache的最新版。而幾乎所有的Linux發行版中均包含有Apache軟件包,妳也可以直接使用它。

需要註意的是,Apache軟件包有兩種:壹種是源代碼,下載後需要自己重新編譯;另壹種是可執行文件,下載後只需解壓就可以使用。

安裝軟件

妳可以通過以下三種方法安裝Apache服務器。

1.如果妳安裝的Linux版本中帶用Apache的話,就在選擇所要安裝的服務器的時候,將httpd這個服務選上,Linux安裝程序將自動完成Apache的安裝工作,並做好基本的配置。

2.使用可執行文件軟件包,這比較適合那些對編譯工作不是太熟悉的初級用戶,因為它相對比較簡單。

下載軟件包apache_1.2.4.e.tar.gz

tar xvzf apache_1.2.4.e.tar.gz

這就完成了安裝工作,簡單吧!

如果妳使用的是RedHat Linux的話,妳也可以下載apache_1.2.4.rpm軟件安裝包,然後使用rpm -ivh apache_1.2.4.rpm命令安裝。

3.如果妳想把Apache服務器充分利用起來的話,就壹定要自己編譯Apache定制其功能。

下載包含Apache源代碼的軟件包apache_1.2.4.tar.gz; 然後用tar命令將它解開; 將當前目錄改變為Apache源代碼發行版的src目錄; 將配置樣本文件(Configuration.tmpl)復制為Configuration文件;

編輯Configuration文件中的配置選項:

Makefile配置選項:壹些編譯選項:

. "CC="壹行指定用什麽編譯軟件編譯,壹般為"CC=gcc";

. 如果需要將額外的標誌(參數)指定給C編譯軟件,可以使用:

EXTRA_CFLAGS=

EXTRA_LFLAGS=

. 如果系統需要特殊的庫和包含文件,可以在這裏指定它們:

EXTRA_LIBS=

EXTRA_INCLUDES=

. 如果妳要改變代碼優化設置的話,妳須將下面壹句去掉註釋,然

後改成妳所需要的值:

#OPTIM=-O2

Rule配置選項:用來決定需要什麽功能,壹般情況下無需改變。

模塊配置:模塊是Apache的組成部分,它為Apache內核增加新功能。通過使用模塊配置,可以自定義在Apache服務器中需要什麽功能,這個部分也是Apache靈活性的表現。模塊配置行如下所示:

AddModule modules/standard/mod_env.o

如果妳需要Apache服務器具備什麽功能,就將那個模塊用AddModule語句加到配置文件Configuration中去。

3,壹、 MYSQL的基本概念

1、MYSQL的定義

MYSQL壹種多用戶、多任務的數據庫服務器軟件

2、MYSQL的特點

支持多平臺,沒有內存漏洞,分布式處理

支持JAVA、PHP、PERL、支持數據類型

支持ODBC,支持SQL查詢

二、 安裝MYSQL的服務器

1、 RPM方式MYSQL

#RPM –ivh MYSQL-3。23-3.i386.rpm

#RPM –ivh MYSQL-client-3.23-33.i386.rpm

#RPM-ivh MYSQL-Shared.3.23-33.i386.rpm

#Tpm -ivh MYSQL –server.3.23-33.i386.rpm

2.編譯安裝方式

#tar -xvzf mysql 3.23.tar.gz

# cd mysql-3.23

#/configure --prdfix=/usr/local

#make

#malke install

# cd/usr/local/bin/

#/mysql-install-db 初始數據庫系統。

系統庫作用:記錄服務器的設置參數,存放用戶庫信息

安全選項

#safe-mysqld

  • 上一篇:植樹遊戲源代碼
  • 下一篇:2020最新情侶源代碼
  • copyright 2024編程學習大全網