redhat AD2.1架站全攻略——菜鳥專用(轉)

post0發表於2007-08-09
redhat AD2.1架站全攻略——菜鳥專用(轉)[@more@]

宣告:

菜鳥專用,高手免看!本人是一隻linux菜鳥,在架設網站的過程中吃了不少苦頭,在眾多大蝦和老鳥的幫助下,菜鳥終於跌跌撞撞的把自己的網站建成了,呵呵!往事不堪回首,為了幫助眾多的菜鳥(像我一樣)在架站的過程中少走彎路,現將我的架站筆記獻上,裡面包含了眾多老鳥和大蝦的心血,在此衷心的表示感謝!本文的配置過程基於字元介面,如果使用圖形介面,建議安裝webmin。第一次寫此類文章,錯誤難免,望各位兄弟批評指正!

系統功能:

實現網路資源共享(samba),web服務,代理伺服器(squid),dns,dhcp,ftp,webmail以及磁碟配額(quota)和資料庫mysql服務等常規網路服務。

硬體環境:

浪潮英信伺服器2臺,配置如下:至強1G雙CPU,512M記憶體,108G SCSI硬碟,1000M雙網路卡。

軟體環境:

redhat advanced server 2.1作業系統

網路環境:

伺服器A提供web,dns.dhcp,samba,squid等服務

機器名稱: redhat.test.com

機器ip地址: 10.10.1.1 61.133.126.115

伺服器B提供ftp,webmail,mysql等服務

機器名稱: mail.test.com

機器ip地址: 10.10.1.2 61.133.126.116

區域網所用網段: 10.10.1.1-10.10.2.200

區域網子網掩碼: 255.255.0.0

區域網所用域名: test.com

外部DNS伺服器: 61.133.122.164

本文結構:

1.1 安裝redhat advanced server 2.1

1.2 samba (網路共享資源)

1.3 apache (web服務)

1.4 squid (代理伺服器)

1.5 dns (域名解析)

1.6 dhcp (自動分配ip地址)

1.7 wu_ftp (ftp服務)

1.8 webmail (web電子郵件服務)

1.9 quota (磁碟配額)

1.10 mysql postgresql (資料庫服務)

1.1 安裝redhat advanced server 2.1

請把redhat AD2.1的第一張安裝光碟放入光碟機,修改BIOS設定從光碟機啟動!

*選擇圖形安裝方式(如果顯示卡不支援,你只能從文字模式安裝)

*安裝過程使用English,沒有中文可選,不過還不算太糟糕,英文提示都比較簡單,一眼就能看懂!

*設定鍵盤:一般取預設值即可,除非你的鍵盤很特殊,設定完畢可以在下面的測試視窗進行測試。

*設定滑鼠:一般選擇三鍵滑鼠即可,當然你也可以選上“模擬三鍵滑鼠”。

*選擇安裝模式:既然是伺服器,那就選“advanced server”好了,你也可以選擇“custom”。

*硬碟分割槽:我們選擇“manually partition with disk druid”進行手動分割槽,指定交換分割槽(swap)一般為記憶體容量的2倍(作為伺服器使用可以酌情增大容量),指定根分割槽,如果你的硬碟容量足夠大,可以單獨為/home和/var分割槽,這樣做可以提高資料的安全性。

*安裝啟動管理程式:如果以前安裝過別的作業系統,可以做成雙啟動,讓grub進駐MBR。

*設定grub密碼:一般不用。

*設定網路環境:填寫主機名、IP地址、子網掩碼、閘道器和DNS伺服器。

*預設語言:這裡可以選擇簡體中文了,如果你的E文足夠好,那就預設英文好了。

*設定時區:一般不用。

*設定賬號和密碼:建議填寫一個足夠複雜的管理員密碼,否則系統危矣!

*設定認證加密配置:若無特殊要求,一般採用預設值。

*選擇桌面管理器:有Gnome和KDE可供選擇,一般選擇Gnome

*設定顯示卡:根據自己的實際情況設定顯示卡

*安裝:在安裝過程中需要插入第二張安裝盤,所耗費的時間與你的機器配置有關。

*設定圖形環境:你可以選擇開機進入圖形模式還是文字模式,同時可以測試x-windows圖形模式。

*製作啟動軟盤:建議製作一張啟動軟盤,以備不時之需!也可以跳過以後製作!

*重新啟動系統,怎麼樣?成功執行了吧!

1.2 samba伺服器的安裝配置

一般情況下,在安裝系統的時候samba伺服器就已經自動安裝了,我們所要做的就是根據自己的需要進行合理配置。假設我們的伺服器的名稱是redhat,所在的工作組是server,想要實現的功能是在伺服器上建立income和share兩個資料夾,其中使用者root和test都可以在income資料夾內讀取和寫入檔案,share資料夾內root使用者能寫入test使用者只能讀取,這裡samba的安全級別是使用者級別(為什麼不用share共享級別呢?這是最簡單的共享方式,如果你只想給別人共享自己的檔案,不想讓他們寫入的話,這是一個好主意,否則您的共享資料夾可能會成為病毒集中營,不過想要實現更靈活的許可權設定的話,我勸您還是採用user使用者級別,大不了把test賬號公佈給大家使用了)ok!let's go!!!

建立共享資料夾income和share

cd /home

mkdir income

mkdir share

設定資料夾的許可權

chmod 777 /home/income #(任何人都可以讀取和寫入)

chmod 755 /home/share #(root可以寫入其他人可讀取)

修改samba配置檔案smb.conf

cd /etc/samba

vi smb.conf

你需要修改的地方主要有:

workgroup = server #工作組

netbios name = redhat #伺服器名稱

security = user #安全級別(預設)

encrypt passwords = yes #使用加密的使用者密碼(預設)

在配置的檔案的最後加入以下內容

[income]

comment = everyone's folder

path = /home/income

valid users = root,test #如果去掉這一行那麼所有的系統使用者都可以訪問

public = yes

writable = yes

[share]

comment = root's folder

path = /home/share

valid users = root,test

public = yes

writable=yes

新增系統使用者test

useradd test #新增使用者

passwd test #修改密碼

設定samba密碼檔案:

cat /etc/passwd | mksmbpasswd.sh >/etc/samba/smbpasswd

chmod 500 /etc/samba

chmod 600 /etc/samba/smbpasswd

設定使用者root和test的samba密碼:

smbpasswd root

smbpasswd test

最後測試一下samba的配置檔案smb.conf是否合法

testparm #如果出現loaded services file OK,就可以了

最後重新啟動samba服務

/etc/rc.d/init.d/smb restart

好了,現在你就可以在其他的機器上用網路上的芳鄰登入redhat檢視共享目錄。

注意:如果你的作業系統是nt/2000/xp會出現輸入使用者名稱和密碼的對話方塊,如果是95/98/me,那你只好新建一個和linux賬號相同的使用者然後用它登入才能使用共享資源。

最後奉送兩個samba伺服器常用的命令:

smbclient #檢視伺服器共享的目錄

smbstatus #列出伺服器資源被使用的情況

1.3 web伺服器的配置

redhat advanced server2.1中的web服務配置非常簡單,因為大部分配置工作系統已經替你做好了,預設情況下就支援php和cgi,當然如果你想使它支援asp的話可能還需要做更多工作,asp不用也罷!還是自由的php更讓我傾心,如果你實在想修改apache配置檔案的話,那就修改一下預設主頁的名稱吧!呵呵!高手不要扁我!誰讓我們是菜鳥呢?

cd /etc/httpd/conf

vi httpd.conf

:/index.html

找到index.html後修改為default.htm,存檔退出。

如果你還想開通個人主頁空間的話,那也非常簡單,隨我來!假設使用者cat想開通主頁空間,我們可以這樣做:

useradd cat #建立新使用者

passwd cat #修改密碼

mkdir /home/cat/public_html #建立使用者家目錄中的網頁目錄,所有網頁內容必須放在裡面

chmod 755 /home/cat/public_html #設定網頁目錄的許可權,其他人可以訪問

chown cat.cat /home/cat/public_html #將public_html目錄的所有人和組改為cat

chmod 711 /home/cat #開放使用者家目錄許可權,其他人可以進入

1.4 squid代理伺服器

redhat AD2.1預設狀態下已經安裝了squid代理伺服器,我們只需要修改配置檔案中的幾個地方就可以讓它踏踏實實地為我們工作了,呵呵!等不及了吧!隨我來!

vi /etc/squid/squid.conf

……

http_prot 8888 #代理伺服器埠號8888,預設3128

cache_mem 200M #設定代理服務使用的記憶體大小,一般推薦為實體記憶體的三分之一。

cache_dir /var/spool/squid/cache 2000 16 256 #設定快取目錄和快取最大值

 

cache_access_log /var/log/squid/access.log #設定快取儲存記錄檔名稱和目錄,如不需要設為none

reference_age 1 month #設定快取中的資料可以儲存一個月

acl flag src 10.8.0.0 #根據需要自己加上,定義從10.8.*.*訪問代理的連線為flag

http_access allow flag

http_access deny all #設定除了10.8.*.*可以訪問代理以外其它一概拒絕

maximum_object_size 6M #指定Squid可以接收的最大物件的大小為6M

……

重新啟動Squid

/etc/rc.d/init.d/squid restart

在區域網內的任何一臺工作站上開啟IE瀏覽器,然後選擇“工具”-“internet選項”-“連線”-“區域網設定”中使用代理伺服器,地址:10.10.1.1 埠:8888 確定後看一下是不是能夠透過伺服器上網了(首先要保證你的伺服器能夠上網),如果你的代理伺服器要代理區域網內所有機器上網,那你就要考慮一下代理伺服器的安全問題,感興趣的的話可以參考一下防火牆的設定!

1.5 DNS伺服器的配置

預設狀態下DNS伺服器(bind)是沒有安裝的,我們需要手動安裝,把redhat AD2.1的第二張光碟放進光碟機:

mount /mnt/cdrom

cd /mnt/cdrom/RedHat/RPMS

rpm -ivh bind-9.1.3-5.i386.rpm

稍待片刻,bind就安裝完成了。

OK!現在把我們要實現的目標說一下,我們準備把本伺服器配製成一臺區域網內的DNS伺服器,負責解析區域網內的域名XXX.test.com,無法解析的域名轉發給外部DNS(61.133.122.164)進行解析,這樣區域網內的客戶機只需要使用內部DNS即可瀏覽所有網站(包括區域網內的網站)。

需要修改的配置檔案:

/etc/named.conf

/etc/resolv.conf

/var/named/test.com.hosts

/var/named/10.10.rev

首先修改/etc/resolv.conf

vi /etc/resolv.conf

……

domain test.com #域名

nameserver 10.10.1.1 #名稱伺服器

……

然後修改/etc/named.conf,如果沒有的話,就自己建一個。

vi /etc/named.conf

……

options {

directory "/var/named"; #DNS目錄

pid-file "/var/run/named/named.pid"; #PID檔案路徑

forwarders {

61.133.122.164; #轉發的外部DNS伺服器地址

};

};

zone "test.com" { #正向解析區域

type master; #主區域

file "/var/named/test.com.hosts"; #正向解析區域的配置檔案

};

zone "10.10.in-addr.arpa" { #反向解析區域

type master; #主區域

file "/var/named/10.10.rev" #反向解析區域的配置檔案

};

……

修改/var/named/test.com.hosts正向解析區域的配置檔案

vi /var/named/test.com.hosts

……

$ttl 38400

test.com IN SOA redhat.test.com. webmaster.mail.test.com. ( #伺服器名稱和管理員信箱

1056588054

10800

3600

604800

38400 )

test.com. IN NS redhat.test.com

IN A 10.10.1.1 #正向解析A紀錄

mail.test.com. IN A 10.10.1.2

ftp.test.com. IN A 10.10.1.2

mail.test.com. IN MX 10 10.10.1.2 #郵件伺服器MX紀錄

……

修改/var/named/10.10.rev反向解析區域的配置檔案

vi /var/named/10.10.rev

……

$ttl 38400

10.10.in-addr.arpa. IN SOA redhat.test.com. webmaster.mail.test.com (

1056591689

10800

3600

604800

38400 )

10.10.in-addr.arpa. IN NS redhat.test.com

1.1.10.10.in-addr.arpa. IN PTR

2.1.10.10.in-addr.arpa. IN PTR mail.test.com

2.1.10.10.in-addr.arpa. IN PTR ftp.test.com

……

怎麼樣?簡單吧!重新啟動dns服務

/etc/rc.d/init.d/named restart

然後在任何一臺客戶機上把dns伺服器設定為10.10.1.1,測試一下本地域名和外部域名是否能夠正常解析,如果能夠正常上網,那就說明沒有問題了。

1.6 DHCP伺服器的配置

預設情況下dhcp服務並沒有安裝,我們需要手動安裝一下,把第二張系統安裝盤放入光碟機,然後:

mount /mnt/cdrom

cd /mnt/cdrom/RedHat/RPMS

rpm -ivh dhcp-2.0pl5-8.i386.rpm

稍待片刻,就可以安裝成功了。

修改dhcp服務的配置檔案

Vi /etc/dhcpd.conf

……

subnet 10.10.0.0 netmask 255.255.0.0{

range dynamic-bootp 10.10.1.1 10.10.2.200; #IP地址分配範圍

option routers 10.10.1.1; #預設閘道器

option subnet-mask 255.255.0.0; #預設子網掩碼

option domain-name "test.com"; #預設域名

option domain-name-servers 10.10.1.1,61.133.122.164; #dns伺服器

default-lease-time 21600; #預設租賃時間

max-lease-time 43200; #最大租賃時間

}

……

在DNS伺服器設定中,之所以把10.10.1.1放在前面是想讓客戶機在作域名解析的時候優先選擇內部dns伺服器,若域名不能解析,則用下一個dns伺服器解析,如果你的dns伺服器可以轉發的話,那麼只需要內部dns即可正常工作。

注意:

如果你的伺服器是雙網路卡的話,可能還需要稍微調整一下dhcpd.conf配置,在配置檔案的最後加上一句:

……

subnet 61.133.126.115 netmask 255.255.255.248{

} #這裡是不需要進行dhcp服務的網路卡地址和子網掩碼

……

最後重新啟動服務:

/etc/rc.d/init.d/dhcpd start

如果你還想看一下ip地址的租賃情況,開啟/var/lib/dhcp/dhcpd.leases檔案看看就知道了。

1.7 配置FTP伺服器

redhat AD2.1預設安裝沒有ftp伺服器,但是它的第二張安裝盤中帶有wu_ftp的rpm安裝包,wu_ftp是linux系統中最常用的ftp伺服器軟體,但是由於wu_ftp存在許多問題,而且也不是很安全,所以在這裡我們不選擇wu_ftp而使用功能更為強大的、安全性更高的proftp,你可以從網上下載它的最新的原始碼包進行編譯安裝,當然你也可以下載專為我們菜鳥準備的rpm安裝包,以下我們就以下載的proftpd-1.2.8- 1.i386.rpm為例進行安裝配置,羅嗦了這麼多,趕快開始吧!!

安裝proftp

rpm -ivh proftp-1.2.8-1.i386.rpm

稍待片刻,安裝完畢!

cp /usr/sbin/proftpd /etc/rc.d/init.d #複製執行檔案

cp /usr/share/doc/proftp-1.2.8/sample-configurations/basic.conf /etc/proftpd.conf #複製proftp的配置檔案

建立匿名ftp使用者的主目錄

mkdir /var/ftp #建立匿名使用者主目錄

cd /var/ftp

mkdir share #建立共享資料夾

mkdir upload #建立上傳資料夾

chown ftp.ftp upload #將upload目錄的所有權賦予ftp使用者和組

chmod 700 upload #除使用者ftp之外其他人沒有任何許可權

OK!現在我們開始配置proftp

cd /etc

vi proftpd.conf

……

# This is a basic ProFTPD configuration file (rename it to

# 'proftpd.conf' for actual use. It establishes a single server

# and a single anonymous login. It assumes that you have a user/group

# "nobody" and "ftp" for normal operation and anon.

ServerName "天楓FTP資源站" #ftp站點名稱

ServerType standalone #執行方式,除此之外還有xinetd和inetd方式

DefaultServer on #預設服務

RequireValidShell off #匿名訪問需要

PassivePorts 20000 30000 #被動模式埠段

UseReverseDNS off #加快連線速度

TimeoutLogin 30 #身份驗證超時

TimeoutIdle 120 #無活動超時

TimeoutNoTransfer 300 #無資料傳輸超時

# Port 21 is the standard FTP port.

Port 21 #ftp服務埠

# Umask 022 is a good standard umask to prevent new dirs and files

# from being group and world writable.

Umask 022 #掩碼,預設安全級別

# To prevent DoS attacks, set the maximum number of child processes

# to 30. If you need to allow more than 30 concurrent connections

# at once, simply increase this value. Note that this ONLY works

# in standalone mode, in inetd mode you should use an inetd server

# that allows you to limit maximum number of processes per service

# (such as xinetd).

MaxInstances 200 #ftp伺服器最大的子程式數,在standalone模式下不宜過大

# Set the user and group under which the server will run.

User nobody #proftp以nobody使用者和組的身份執行

Group nobody

# To cause every FTP user to be "jailed" (chrooted) into their home

# directory, uncomment this line.

DefaultRoot ~ #將使用者限制在自己的家目錄下

# Normally, we want files to be overwriteable.

AllowOverwrite on #允許覆蓋檔案

# A basic anonymous configuration, no upload directories. If you do not

# want anonymous users, simply delete this entire section.

#設定匿名使用者的根目錄

User ftp

Group ftp

AllowAll #允許登陸

AllowRetrieveRestart on #支援下載續傳

RateReadBPS 60000 #限制下載速度

# We want clients to be able to login with "anonymous" as well as "ftp"

UserAlias anonymous ftp #ftp使用者的別名

AuthAliasOnly on #只允許使用別名,即anonymous

# Limit the maximum number of anonymous logins

MaxClients 50 "已達到最大使用者數(%m)稍後再試" #最大使用者數

MaxClientsPerHost 6 "連線數量太多,請減少執行緒" #每個使用者允許的最大執行緒數5

# We want 'welcome.msg' displayed at login, and '.message' displayed

# in each newly chdired directory.

DisplayLogin welcome.msg #使用者驗證時的歡迎資訊

DisplayFirstChdir .message #使用者改變目錄時的資訊

#上傳資料夾的設定

AllowStoreRestart on #支援上傳續傳

AllowAll #允許寫入檔案

DenyAll #不允許下載檔案

……

經過這樣修改之後,proftp伺服器既可以支援匿名登入又可以支援系統使用者登入,如果你的伺服器有個人站點的話,這樣做既便於個人站點使用者更新自己的主頁,又不妨礙匿名使用者的正常訪問。匿名使用者可以從share資料夾中下載檔案,也可以上傳檔案到upload資料夾,當然你也可以根據自己的實際需要進行合理設定!

最後啟動proftpd服務:

/etc/rc.d/init.d/proftpd start

測試一下:nmap 127.0.0.1

如果出現 21/tcp open ftp 就說明已經成功執行了!

讓proftp自動啟動服務:

vi /etc/rc.d/rc.local

……

/usr/sbin/proftpd start

……

或者

cd /etc/rc.d/rc3.d

ln -s /usr/sbin/proftpd S30proftpd

1.8 webmail配置

目前在linux平臺上使用最為廣泛的電子郵件伺服器主要是sendmail和qmail,qmail安裝配置都比較簡單,功能比較強大,但對於吾等菜鳥來說,以最少的修改來獲得最大的功能才是最高的境界,加上現在webmail越來越時髦,所以我們選擇國人開發功能強大的openwebmail加上 sendmail來實現我們的webmail服務,配置嗎?呵呵!當然是非常簡單了!開始吧!

redhat AD2.1預設安裝已經把sendmail安裝好了,那麼我們所需要的的就是從網上下載openwebmail,理論上安裝openwebmail必須具備以下軟體包:

openwebmail-2.00.tgz (主程式,必需)

CGI.pm-2.74.tar.gz (必需)

MIME-Base64-2.12.tar.gz (必需)

libnet-1.0901.tar.gz (必需)

根據我的實際經驗,openwebmail在redhat AD2.1下只需要openwebmail-2.00.tgz主程式和perl-Text-Iconv-1.2-RH73.i386.rpm安裝包即可正常工作,當然你也可以編譯原始碼包進行安裝,不過我必須提醒你在redhat AD2.1系統中編譯原始碼非常不爽(起碼對我們這些菜鳥來說)。

下載安裝軟體 :參考地址

openwebmail-2.00.tgz

perl-Text-Iconv-1.2-RH73.i386.rpm

下載完成後,把它們全部放在root目錄下

安裝支援包:

rpm -ivh perl-Text-Iconv-1.2-RH73.i386.rpm

安裝主程式:

tar -zxvf openwebmail-2.00.tgz

解出cgi-bin和data兩個資料夾,然後把它們移動到你所設定的位置

mv cgi-bin/openwebmail /var/www/cgi-bin

mv data/openwebmail /var/www/html

修改apache的配置檔案httpd.conf

vi /etc/httpd/conf/httpd.conf

修改如下:

……

#修改apache的cgi設定

AllowOverride ALL

Options ExecCGI

Order allow,deny

Allow from all

……

重新啟動apache:

/etc/rc.d/init.d/httpd restart

配置openwebmai:

*修改openwebmail*.pl檔案的屬性,使它們能夠正常執行

cd /var/www/cgi-bin/openwebmail

chown root.mail openwebmail*.pl #修改openwebmail*.pl的所有者為root使用者和mail組

chmod 4755 openwebmail*.pl #修改openwebmail*.pl的許可權

*配置openwebmail.conf

vi /var/www/cgi-bin/openwebmail/etc/openwebmail.conf

需要修改的地方:

……

ow_cgidir /var/www/cgi-bin/openwebmail #所有者的cgi目錄

ow_htmldir /var/www/html/openwebmail #所有者的html目錄

default_language zh_CN.GB2312 #預設語言

……

*根據自己的需要配置openwebmail.conf.default

vi /var/www/cgi-bin/openwebmail/etc/openwebmail.conf.default

這是我自己修改的地方:

……

smtpserver mail.test.com #smtp伺服器

default_language Chinese-Simplified #預設語言

defualt_charset gb2312 #預設語言編碼

#預設簽名

——

歡迎使用openwebmail電子郵件系統

——

default_style Hotmail #預設樣式

default_iconset Cool3D.Chinese.Simplified#預設圖示

default_bgurl Envelope.gif #預設背景圖片

……

*修改auth_unix.pl檔案

vi /var/www/cgi-bin/openwebmail/auth_unix.pl

需要修改的地方:

……

my $unix_passwdfile_encrypted="/etc/shadow"

my $unix_passwdmkdb="none"

……

*初始化設定

/var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init

如果出現welcome to the open webmail,祝賀你!你已經成功了一半!

配置sendmail

*安裝imap和pop3服務

mount /mnt/cdrom

cd /mnt/cdrom/RedHat/RPMS

rpm -ivh imap-2001a-10.0as.i386.rpm

稍待片刻,安裝完畢

*修改sendmail.cf

vi /etc/sendmail.cf

……

O DaemonPortOptions=Port=smtp,Addr=mail.test.com,Name=MTA #設定郵件伺服器的地址,也可用IP地址

……

*修改郵件別名aliases

vi /etc/aliases

……

root webmaster #讓使用者webmaster接收發給root的信件

list zhangsan,lisi,…… #郵件列表

……

*修改中繼郵件設定

vi /etc/mail/access

……

mail.test.com RELAY #中繼mail.test.com的郵件

10.8 RELAY #中繼10.8網段使用者的郵件

……

*重新啟動sendmail

/etc/rc.d/init.d/sendmail restart

最後測試:

在瀏覽器位址列中輸入:

用存在的系統使用者進入(root除外)系統,如果能夠正常收發郵件說明你已經大功告成了

1.9 配置quota(磁碟配額)

無論是samba、ftp還是webmail服務,如果允許使用者無限制的寫入檔案,那麼你就面臨著非常危險的境地,你的硬碟空間很快就會被使用者的檔案所填滿,造成其他使用者無法存取檔案,為了避免這種災難的發生,我們有必要對使用者所使用的磁碟空間進行限制,當然這對於在webmail中限制使用者的郵箱容量也是一個很好的注意!

*編輯fstab檔案

vi /etc/fstab

修改部分如下:

……

LABEL=/home /home ext3 defaults,usrquota 1 2 #在/home分割槽對使用者進行磁碟限額

……

儲存並重新啟動(一定要重啟,否則不會生效)

*產生配置檔案

quotacheck -ugavm

稍待片刻,檢查完成以後會在/home目錄下產生aquota.user配置檔案供設定磁碟限額使用

*編輯使用者磁碟限額(假設使用者為test)

edquota test

……

Disk quotas for user test (uid501):

Filesystem blocks soft hard inodes soft hard

/dev/hdb2 160 15360 20480 65 500 550

……

以上設定使用者test的磁碟限額為:磁碟軟限制15M,磁碟硬限制20M,使用者現有檔案160K;檔案數量軟限制500個,檔案數量硬限制550個,使用者現有檔案65個;使用者使用磁碟空間超過15M或者檔案數量超過500個,在寬限期內系統給出警告資訊;使用者使用磁碟空間達到20M或者檔案數量達到550 個或者寬限期已到,系統禁止存取檔案!

*批次設定使用者磁碟限額

cd /home

edquota -p test *

用設定好磁碟限額的一個使用者作為模本,然後應用到所有使用者

*編輯超過soft limit的寬限期

edquota -t

……

Filesystem block grace period inodes grace period #磁碟空間和檔案數量寬限期

/dev/hdb2 10days 10days

……

*幾個常用命令

quotaoff -avug #取消磁碟空間限制

quotaon -avug #重新啟動磁碟空間限制

quota -v #普通使用者檢查自己是否超過磁碟限額

repquota -au #系統管理員檢查所有使用者

repquota -ag #系統管理員檢查所有組

repquota -a #系統管理員檢查全部資料 (很好用)

1.10 SQL資料庫服務

redhat AD2.1在預設情況下並沒有安裝任何資料庫系統,但是它的安裝盤中卻給我們提供了兩個重量級的資料庫軟體mysql和postgresql,由於網上介紹mysql資料庫的文章已經夠多了,在這裡我們只作簡單介紹,重點向大家介紹另一道大菜那就是postgresql——一種物件關係型資料庫系統。

***mysql資料庫

*安裝mysql

把redhat AD2.1的第二張安裝盤放入光碟機

mount /mnt/cdrom

cd /mnt/cdrom/RedHat/RPMS

rpm -ivh mysql-devel-3.23.41-1.i386.rpm

rpm -ivh mysql-server-3.23.41-1.i386.rpm

稍待片刻,安裝完畢

*啟動mysql伺服器

/etc/rc.d/init.d/mysqld start

*測試一下:

mysql

如果出現Welcome to the MYSQL Monitor字樣,那就說明mysql已經正常工作了

利用mysql可以和proftp以及apache進行整合!在這裡不再贅述,具體操作請參看有關文章!

***postgresql資料庫

*postgresql資料庫的主從式結構設計:一個資料庫的執行階段需要三個程式合作完成

管理程式: postmaster

前臺應用程式:psql

後臺服務程式:postgres

*安裝postgresql伺服器

檢查是否已經安裝了postgresql

rpm -qa|grep postgresql

如沒有安裝,則放入第二張安裝盤

mount /mnt/cdrom

cd /mnt/cdrom/RedHat/RPMS

rpm -ivh postgresql-libs-7.1.3-2.i386.rpm #先安裝函式庫軟體包

rpm -ivh postgresql-7.1.3-2.i386.rpm #安裝客戶端軟體包

rpm -ivh postgresql-server-7.1.3-2.i386.rpm #安裝伺服器端軟體包

rpm -ivh postgresql-devel-7.1.3-2.i386.rpm #安裝程式發展軟體包

安裝結束後,系統會建立一個postgres新帳號,其家目錄在/var/lib/pgsql

*設定與啟動postgresql伺服器

設定資料庫管理員postgres的密碼:

passwd postgres

設定環境變數:

su -postgres #改變使用者身份為postgres

vi /var/lib/pgsql/.bash_profile #修改環境變數

……

PS1='[u@h W]$' #加入這一行

export PGLIB PGDATA

……

存檔退出,執行source ~/.bash_profile命令,使環境設定立即生效

source ~/.bash_profile

以使用者root身份啟動postgresql服務

su -root

/etc/rc.d/init.d/postgresql start

Initializing database: [OK] #第一次啟動會進行初始化伺服器的操作

StartingPostgreSQLservice [OK]

初始化伺服器之後會產生一個名為template1的預設資料庫。

*測試postgresql伺服器

切換成postgres的身份:

su -postgress

執行客戶端程式psql:

psql template1 #連線到預設資料庫template1

如果出現template1=#的提示符說明資料庫連線成功!

測試psql的命令模式:

template1=# CREATE DATABASE test; #建立新的資料庫test

CREATE DATEBASE #建立資料庫成功

template1=# c test #連線到新資料庫test

You are now connected to database test. #連線成功

test=# CREATE TABLE bar (i int4,c char(16)); #建立新資料表bar

CREATE #建立資料表成功

test=# q #退出

注意:在psql命令模式中分為兩種命令,一種是sql命令,另一種是psql自行處理的中介命令,兩個最明顯的區別在於中介命令以“”符號開頭,而sql命令以“;”結尾。

postgresql服務的更多功能請參考相關資料!!!

完工了!

*****萬里長征的最後一步:設定需要自動啟動的服務*****

配置完伺服器之後,我們要選擇一下需要自動啟動的服務,之所以把選擇自啟動服務放在最後是因為許多服務是我們後來才安裝的,一開始無法全面選擇!本著服務最少最安全的原則,我們只保留必需的服務,其餘的服務一概幹掉!以下是我們需要保留的服務(僅供參考):

伺服器A: redhat.test.com 提供服務:web、dns、dhcp、samba、squid

dhcpd

httpd

ipchains

iptables

named

network

smb

squid

xinetd

伺服器B: mail.test.com 提供服務:ftp、webmail、mysql或者postgresql

imap

ipop3

ipchains

iptables

mysqld或者postgresql

network

sendmail

xinetd


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-938387/,如需轉載,請註明出處,否則將追究法律責任。

相關文章