linux 簡單配置彙總 上


/etc/hosts:是將IP地址和主機名聯繫起來的簡單文本文件。
格式:IP地址 全限定主機名 別名
舉例:192.168.0.2 wanghui.shuke.com wanghui
說明:將IP地址映射到wanghui.shuke.com,並且分配一個備用主機名wanghui。
/etc/services:將服務的名字轉成端口號。
注意:沒有必要修改,已經包含了常用服務的端口號。
格式:主機服務名 端口號/端口類型 別名
舉例:smtp 25/utp mail
說明:smtp服務使用25端口,使用utp連接方式,服務別名是mail。
/etc/sysconfig/network:網絡配置信息,系統啓動時會引導這個文件。
內容:
NETWORKING=YES|NO
YES表示需要配置網絡,NO表示不需要配置網絡;
HOSTNAME=homename
主機的全限定域名;
GATEWAY=gw-ip
網絡網關的IP地址;
GATEWAYDEV=gw-dev
網絡設備的名稱(例如eth0或者IP地址);
NISDOMAIN=dom-name
表示NIS域(如果有的話)。
2.可執行腳本和命令
/etc/rc.d/init.d/network {start|stop|restart|reload|status}
系統啓動時的初始化腳本程序。
/etc/sysconfig/network-.s/ifcfg-interface-name:網卡配置文件。
內容:
DEVICE=物理設備名
IPADDR=IP地址
NETMASK=掩碼值
NETWORK=網絡地址
BROADCAST=廣播地址
GATEWAY=網關地址
ONBOOT=[yes|no](引導時是否激活設備)
USERCTL=[yes|no](非root用戶是否可以控制該設備)
BOOTPROTO=[none|static|bootp|dhcp](引導時不使用協議|靜態分配|BOOTP協議|DHCP協議)
ifconfig:命令用來在系統內核表中設置或讀取網絡設備參數
舉例:ifconfig eth0 IP地址 netmask 子網掩碼
說明:配置IP和子網
舉例:ifconfig eth0 hw ether MAC地址
說明:配置mac地址
舉例:ifconfig dynamic
說明:啓動dhcp
舉例:ifconfig eth0 [down|up]
說明:啓動或關閉網卡
netconfig:通過通行界面配置網絡。
3.DNS
/etc/host.conf:指定如何解析主機名。
舉例:order hosts,bind
說明:查詢順序,先靜態還是先dhcp
/etc/nsswitch.conf:用於管理系統中多個配置文件查找的順序。
/etc/resolv.conf:網絡用來確定主機解析的關鍵文件之一,最多標示三個。
格式:search lintec.edu.cn
    nameserver 202.106.196.152
    nameserver 202.106.196.115
說明:nameserver表明dns服務器的IP地址;search指明域名查詢順序。
4.路由設置及管理命令
route:顯示路由信息
內容:
Destination:目標網絡或主機
Gateway:該目標要經由哪個網關傳送
Genmask:目標網絡或主機的掩碼
Flages:路由標誌
Iface:該路由使用的網絡接口
Metric:路由成本
Ref:此路由被使用的次數
添加路由命令:
route add -net 192.192.192.0 netmask 255.255.255.0 dev eth0
刪除路由命令:
route del -net 192.192.192.0 netmask 255.255.255.0
traceroute:測試路由命令
舉例:traceroute [url]www.sina.com.cn[/url]
說明:測試從本地到遠程主機的路由信息
二、郵件服務
1.MUA與NTA:
MUA:郵件用戶代理,常用的有:Foxmail, Outlook Express, Pine, mail等。
MTA:郵件傳送帶裏,常用的有:Sendmail, Qmail, Postfix, Exim, Exchange等
2.sendmail安裝包:
sendmail-812.8-4:sendmail可執行文件
sendmail-cf-812.8-4:sendmail.cf生成器
sendmail-doc-812.8-4:sendmail.doc文檔
3.sendmail的主要配置文件:
/etc/mail/aliases
用來定義郵件的列表、轉發、別名。
注意:每次修改了aliases文件後,要使用命令newaliases更新數據庫。
舉例:fox: shuke
說明:系統用戶shuke具有fox的別名。
舉例:maillist: shuke liu wang zhang
說明:發送給maillist的郵件,shuke,liu,wang,zhang用戶都能收到。
舉例:shuke: [email][email protected][/email]
說明:發送給本地shuke的用戶會被轉發給[email][email protected][/email]這個郵箱。
/etc/mail/sendmail.cf
用來限定sendmail守護進程的運行,在264行左右。
/etc/mail/sendmail.mc
sendmail.cf中的文件太複雜,可以通過編輯sendmail.mc文件,然後生成sendmail.cf文件。
命令:m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

/etc/mail/local-host-names
定義本地主機名和域名的列表,判斷收到的郵件是本地的還是遠程的。
/etc/mail/access.db
用來定義要通過的郵件地址列表,是允許還是拒絕。
每次修改後,需要用makemap生成新的access數據庫。
命令:makemap hash /etc/mail/access.db < /etc/mail/access
/etc/mail/sendmail.cw
當一個主機有多個域名,並且希望每個域名都能用來接收電子郵件時,可以在該文件中加入這些域名,sendmail會接受這些域名的郵件,並把他們當作本地郵件處理。
舉例:vi /etc/mail/sendmail.cw
cuckoo.edu.cn
napoleon.frh.org
說明:這兩個域名的郵件都會被這臺機器接收。
/etc/mail/virtusertable
建立虛擬郵件賬戶。
舉例:[email][email protected][/email] shuke1
    [email][email protected][/email] shuke2
說明:[email][email protected][/email]的郵件被接收,並放在shuke1郵箱,[email][email protected][/email]郵件被接收,放在shuke2郵箱。
注意:修改後必須生成新的數據庫文件。
命令:makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable
4.其他文件
/var/spool/mqueue:是郵件隊列臨時存放的目錄。
內容:
qf*:消息隊列控制文件;
df*:數據文件;
tf*:臨時文件;
nf*:每個用戶對應的消息隊列;
xf*:當前會話過程的tran.文件。
/var/mail:存放所有收到的郵件,每個本地用戶會有一個目錄。
var/log/maillog:用於分析錯誤的日誌文件。
5.增加sendmail的認證功能
需要使用的安裝包:
cyrus-sasl-devel-2.1.10-4
cyrus-sasl-md5-2.1.10-4
cyrus-sasl-gssapi-2.1.10-4
cyrus-sasl-2.1.10-4
cyrus-sasl-plain-2.1.10-4
注意:在sendmail已經包括sasl驗證庫的情況下,默認不支持smtp認證,需要配置/etc/mail/sendmail.mc文件支持smtp認證。編輯文件/etc/mail/sendmail.mc文件,並去掉下面三個文件前面的註釋:
TRUST_AUTH_MECH (`EXTERNAL DIGEST-MD5 LOGIN PLAIN ') dnl
define (`confAUTH_MECHANISMS', ` EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN ') dnl
DAEMON_OPTIONS (`Port =submission, Name=MSA, M=Ea') dnl
並配置下面的地址爲本機IP地址:
DAEMON_OPTIONS (`Port =smtp,Addr=192.168.10.2,Name=MSA, M=Ea') dnl
使用m4工具生成sendmail.mc文件:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
6.安裝配置POP3和IMAP服務器
使用的安裝包:imap-2001a-28
編輯兩個文件:/etc/xinetd.d/ipop3文件和/etc/xinetd.d/imap文件,修改disable設置爲"no",然後使用啓動進程命令:/etc/rc.d/init.d/xinetd restart即可。
三、APACHE服務器與APACHE+MYSQL+PHP協同服務
1.Apache的主要配置文件:httpd.conf
/etc/httpd/conf/httpd.conf
或者
/usr/local/apache/conf/httpd.conf
httpd.conf的內容:
Serverroot:設置服務器存在的主目錄;
LockFile filename:httpd守護進程的加鎖文件,一般不需要設置,如果Serverroot是NFS文件系統,就需要修改參數指定本地文件系統中的路徑;
ScoreBoardFile file-path:httpd使用ScoreBoardFile來維護進程的內部數據,因此除非要在一臺計算機上運行幾個Apache服務器,否則不需要修改;
PidFile /var/run/httpd.pid:指定文件記錄httpd的守護進程號;
Timeout number:定義客戶程序和服務器連接的超時間隔;
KeepAlive .|off:用於支持http1.1版本的一次連接、多次傳輸功能,這樣就可以在一次連接中傳遞多個http請求;
MaxKeepAliveRequests number:一次連接可以進行的http請求最大數。如果數值爲0,將支持在一次連接內進行無限制的傳輸請求;
KeepAliveTimeout number:測試一次連接中的多次請求傳輸之間的時間,如果在完成了一次連接之後沒有收到客戶程序的下一次請求,超過這個間隔值後,就會斷開;
StartServers number:服務器啓動時建立的進程數量;
MinSpareServers/MinSpareThreads number:服務器最低維持的空進程數;
MaxSpareServers/MaxSpareThreads number:服務器運行時維持的最大空進程數;
MaxClients number:服務器運行時可以同時處理的客戶端最大數量;
MaxRequestsPerChil number:設置每個進程可處理的請求數,達到這個數值後,子進程自動銷燬,如果設置爲0,則永不銷燬子進程;
Listen [IP-address:]portnumber:設置apache監聽的端口,默認爲80;
LoadModule module filename:在apahce安裝過程中,被配置爲--enable-module=shared的apache模塊,會被獨立的編譯成*.so的動態共享對象。當服務器需要加載這個動態對象時,必須在httpd.conf
中使用LoadModule指令,指定在服務器啓動或重新啓動時被加載;
舉例:LoadModule foo_module modules/foo.so
ExtendedStatus .|Off:apache服務器可以通過特殊的http請求,報告自身的運行狀態,打開這個ExtendedStatus參數,可以讓服務器報告更全面的運行狀態信息;
User unix-userid:服務器以root身分啓動以後,改變爲設置的用戶身份運行;
Group unix-grouprid:服務器以root身分啓動以後,改變爲設置的組身份進行運行;
ServerName 完整的域名/IP地址[:端口號]:默認不需要修改,如果服務器名字解析有問題,在此修改;
ServerAdmin 郵件地址:設置的在返回給客戶端的錯誤信息中要包含的郵件地址;
UseCanonicalName .|off|dns:on-使用ServerName值生成的默認web站點構造服務器的規範名稱,off-使用由客戶提供的主機頭指令的主機名稱和端口號爲服務器構造默認的web站點,dns-使用dns執行
客戶連接IP地址搜索時確定的主機名構造服務器默認的web站點;
DocumentRoot /usr/local/apache/htdocs:設置客戶端訪問服務器時,可允許訪問的根目錄;
舉例:DocumentRoot /usr/web
注意:最後的目錄不要加"/"符號。
<Directory 目錄路徑>...</Directory>:用於封裝一組命令,使之僅對某個目錄及其子目錄生效;
舉例:
<Directory /usr/local/apache/htdocs/pics>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Options [+|-]可選項[+|-]可選項...:設置在特定目錄中將使用那些服務器特性,默認爲ALL;
AllowOverride All|None|指令類型[指令類型]...:當服務器發現了一個.htaccess文件(由AccessFileName指定)時,它需要知道在這個文件中聲明的哪些指令;
Order規則:控制缺省的訪問狀態和Allow,Deny指令被評估的順序;
舉例:
<Directory /www>
order Allow,Deny
Allow from shuke.com
Deny from no.shuke.com
說明:shuke.com域中的所有主機,除了no.shuke.com子域中包含的主機外都允許訪問。所有不在shuke.com域中的主機都不允許訪問。
Allow from all|host|env=env-variable [host|env=env-variable]...:哪些主機可以訪問服務器的一個區域,可以用主機名,IP地址,IP地址範圍或者其他環境變量中捕獲的客戶端請求特性來對訪問
進行控制;
Deny from all|host|env=env-variable [host|env=env-variable]...:允許基於主機名,IP地址或者環境變量限制對服務器的訪問;
UserDir Directory:設定了用戶宿主目錄下的一個實際目錄,存放了該用戶提供訪問的文檔。apache允許系統的每個用戶建立自己的網站,用戶只需要在自己的主目錄下建立一個目錄,並以UserDir指
令設置目錄名(默認爲public_html),把提供訪問的文件存放在該目錄下,則在客戶端可以使用類似的地址訪問;
舉例:[url]http://webserver/[/url]~用戶名/guess.html
說明:服務器向客戶端返回/home/用戶名/guess.html頁面。
DirectoryIndex filename:設置默認的網站訪問頁面;
舉例:DirectoryIndex index.html
說明:必須在客戶端方式index.html爲站點的索引文件。
AccessFileName 文件名:指定所有發佈目錄中的配置文件名;
舉例:AccessFileName .htaccess
說明:在返回文檔/usr/local/web/index.html之前,服務器會爲此指令讀取/.htaccess, /usr/.htaccess, /usr/local/.htaccess和/usr/local/web/.Htaccess,除非此功能已爲如下代碼所禁用:
<Directory />
AllowOverride None
</Directory>
HostnameLookups .|off|double:此指令起用了DNS查詢,使得主機名能被記入日誌;
ServerSignature .|Off|Email:配置服務器生成文檔的頁腳,on-簡單的增加一行關於服務器版本和正在伺服的虛擬主機的ServerName,off-沒有錯誤行,Email-額外創建一個指向ServerAdmin
的"mailto:"部分;
Alias URL-path file-path|directory-path:使文檔可以存儲在DocumentRoot以外的本地文件系統中;
舉例:Alias /image /ftp/pub/image
說明:對[url]http://webserver/image/shuke.w[/url]的請求,服務器將返回/ftp/pub/image/shuke.w文件。
.Alias URL-path file-path|directory-path:.Alias指令的行爲與Alias指令相同,但同時,他又表明此目錄中含有應該由mod_cgi中cgi-.處理器的CGI腳本;
舉例:.Alias /cgi-bin /web/cgi-bin/
說明:對[url]http://myserver/cgi-bin/shuke[/url]的請求會引導服務器執行/web/cgi-bin/shuke腳本。
AddType MIME-type extension [extension]...:AddType指令在給定的文件擴展名與特定的內容類型間建立映射關係;
AddHandler handler-name extension [extension]...:指定帶extension擴展名的文件應被handler-name處理器來處理。這個映射關係會添加在所有有效的映射上,並覆蓋所有相同的extension擴展名
映射;
舉例:AddHandler cgi-. .cgi
說明:把擴展名爲.cgi的文件作爲CGI腳本處理,一旦這個定義放在httpd.conf文件中,所有包含.cgi擴展名的文件,都會被當作CGI程序。
<VirtualHost 地址[:端口號][地址[:端口號]]...>...</VirtualHost>:用於封裝一組僅作用於特定虛擬主機的指令;
2.基於IP地址的虛擬主機:
1) 需要服務器支持一個網卡綁定多個IP地址,在Red Hat Linux9的內核中已默認支持此功能。首先需要爲虛擬主機申請域名和IP,假設爲本地地址爲[url]www.shuke1.com:202.19.0.23[/url],申請新的域名和IP爲
2) 爲網卡添加新IP地址;
#/sbin/ifconfig eth0 add 202.19.0.35 netmask 255.255.255.0
3) 重新設置httpd.conf,在文件中加入;
<VirtualHost 202.19.0.35>
ServerAdmin webmaster@ shuke1.com
DocumentRoot /home/httpd/www.shuke2.com
ServerName [url]www.shuke2.com[/url]
ErrorLog /var/log/httpd/www.shuke2.com/error.log
</VirtualHost>
4) 建立相應的目錄;
#mkdir /home/httpd/www.shuke2.com
#mkdir /var/log/httpd/www.shuke2.com
5) 將相應的主業內容存放在DocumentRoot指定的目錄中;
6) 重新啓動httpd服務進程,即可提供兩個web服務器的功能。
3.基於名字的虛擬主機服務:基於名字的虛擬主機服務是比較適合使用的一種方案。他不需要更多的IP地址,而且配置簡單,無需什麼特殊的軟硬件支持。現代的瀏覽器大都支持這種虛擬主機地實現方
法。
1) 在DNS登記新的域名[url]www.shuke2.com[/url]指向本地IP地址;
2) 修改配置文件,增加下面內容:
NameVirtualHost 202.19.0.23
<VirtualHost 202.19.0.23>
ServerAdmin [email][email protected][/email]
DocumentRoot /home/httpd/www.shuke1.com
ServerName [url]www.shuke1.com[/url]
ErrorLog /var/log/httpd/www.shuke1.com/error.log
</VirtualHost>
<VirtualHost 202.19.0.23>
ServerAdmain [email][email protected][/email]
DocumentRoot /home/httpd/www.shuke2.com
ServerName [url]www.shuke2.com[/url]
ErrorLog /var/log/httpd/www.shuke2.com/error.log
</VirtualHost>
也就是在基於IP地址的配置基礎上增加一句:NameVirtualHost 202.19.0.23,最後是建立相應的目錄,將主頁內容放到相應的目錄中去。
4.Apache的日誌配置:
同樣需要在httpd.conf中使用配置命令完成。
ErrorLog 文件路徑|syslog[:facility]:指定了當服務器遇到錯誤時記錄錯誤日誌的文件名,默認爲logs/error_log。
LogLevel級別:設置寫入錯誤日誌中信息的詳細程度。
注意:建立至少使用crit級別,默認warn級別。
內容:
emerg:緊急-系統無法使用;
舉例:Child cannot open lock file. Exiting
alert:必須立即採取錯誤;
舉例:getpwuid: couldn't determine user name from uid
crit:致命情況;
舉例:socket: Failed to get a socket, exiting child
error:錯誤情況;
舉例:Premature end of . headers
warn:警告情況;
舉例:chile process 1234 did not exit, sending another SIGHUP
notice:一般重要情況;
舉例:httpd: caught SIGBUS, attempting to dump core in...
info:普通信息;
舉例:Server seems busy, (you may need to increase StarServers, or Min/MaxSpareServers)...
debug:出錯級別信息;
舉例:Opening config file...
LogFormat format|nickname [nickname]:定義日誌文件的記錄格式。
CustomLog file|pipe format|nickname [env=[!]environment-variable]:對服務器的請求進行日誌記錄。
TransferLog file|pipe:不允許直接定義日誌格式或根據條件進行日誌記錄外,與CustomLog指令有完全相同的參數和功能。
5.Apache的安裝與驗證
1) 安裝源代碼包httpd-2.0.48.tar.gz
[root@shuke src]#tar -zxvf httpd-2.0.48.tar.gz
[root@shuke src]#cd httpd-2.0.48
[root@shuke httpd-2.0.48]#./configure --prefix=/usr/local/apache --enable-so
[root@shuke httpd-2.0.48]#make
[root@shuke httpd-2.0.48]#make install
[root@shuke httpd-2.0.48]#vi /usr/local/apache/conf/httpd.conf
配置ServerAdmin的值爲服務器管理員的郵箱地址:
ServerAdmin [email][email protected][/email]
配置ServerName的值爲本機域名:
ServerName webserver.shuke.com:80
[root@shuke httpd-2.0.48]#/usr/local/apache/bin/apachectl start
[root@shuke httpd-2.0.48]#ps -aux | grep httpd
驗證apache進程已經啓動,通過客戶端在瀏覽器打開站點,看到apache歡迎頁面。
2) apache的啓動和停止的配置
複製/usr/local/apache/bin/apachectl文件到/etc/rc.d/init.d/目錄:
[root@shuke httpd-2.0.48]#cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/
編輯啓動文件:
[root@shuke httpd-2.0.48]#vi /etc/rc.d/init.d/apachectl
修改文件,在文件中'#!/bin/sh'後面加入下面兩條規則:
#!/bin/sh
#
# chkconfig: 2345 85 15
# de.ion: Apache is a World Wide Web Server
#
使用chkconfig命令把apachectl命令加入到系統啓動隊列中:
[root@shuke apache]#chkconfig --add apachectl
查看apachectl的狀態:
[root@shuke apache]#chkconfig --list apachectl
[root@shuke apache]#reboot
重新啓動系統,察看進程,確認apache進程已經伴隨系統啓動。
3) 查看日誌
查看錯誤日誌:
[root@shuke apache]#less /usr/local/apache/logs/error_log
查看訪問日誌:
[root@shuke apache]#less /usr/local/apache/logs/access_log
6.Apache+Mysql+Php協同服務(順序:mysql,apache,php)
mysql的安裝步驟:
1) 建立一個mysql的組和用戶
2) ./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql
3) make
4) make install
5) /usr/local/mysql/bin/mysql_install_db
初始化數據庫。
6) chown -R mysql /var/lib/mysql
設置mysql目錄的權限。
7) cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
複製配置文件。
8) /usr/local/mysql/bin/mysqld_safe --user=root &
使用root用戶啓動mysql服務。
9) /usr/local/mysql/bin/mysqladmin -u root -p password 1234
因爲初始的root密碼是空的,因此修改密碼,注意(Enter Password:直接回車)。
php的安裝步驟:
1) ./configure --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs
2) make
3) make install
4) cp php.ini-dist /usr/local/lib/php/php.ini
複製php配置文件到php目錄。
5) vi /usr/local/apache/conf/httpd.conf
修改apache的配置文件,添加內容:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
安裝一個論壇(zorum)的步驟:(用一個已經做好的config.php文件)
1) cp -dpR zorum_3_5/* /usr/local/apache/htdocs/zorum/
將文件拷貝到位於apache下的zorum目錄下,並賦予它可以被寫被讀的權限。
2) 啓動mysql和apache服務。
通過客戶端訪問驗證,論壇啓動成功,則協同服務正常。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章