① 伺服器軟體的安裝和配置
對於Windows下多數軟體的安裝,我們是通過執行該軟體的安裝程序(setup.exe、install.exe、軟體文件名.exe),由安裝程序負責具體的安裝過程。
這個過程中,安裝程序做的工作一是系統注冊:把該軟體的一些系統文件,復制或移動到操作系統的有關系統目錄中,實現與操作系統的介面,便於操作系統使用;二是將自身的程序文件、數據文件等復制到本軟體的安裝目錄下,用於本軟體的運行。
(1)php語言解釋器軟體的安裝和配置
該軟體沒有安裝程序,所以具體的安裝過程需要用戶來完成。不過過程也十分簡單:解壓縮該軟體包至安裝目的目錄,將系統文件php4ts.dll(PHP系統擴展函數庫)和php.ini(PHP配置文件)分別放到操作系統目錄下的相應的位置即可。
(2)Apache的安裝和配置
大體經過安裝->配置兩大步驟完成。配置大體經過編輯配置文件->啟動服務完成。
安裝:其安裝過程由其安裝程序進行,啟動安裝程序後,按提示操作即可。
配置目的:向Apache說明清楚PHP的有關情況,以便實現二者的協作。
配置方法:主要通過一個配置文件中有關參數的修改或添加進行。所謂“修改”,即對該文件中已經存在的參數,修改其參數值;所謂“添加”,即將該文件中缺少的參數和參數值增加到該文件中相應位置,為了省事,也可以放到該文件的最後。該文件名為httpd.conf,存在於Apache安裝目錄下的conf目錄下,是一個純文本文件,可用記事本打開修改。也可以通過開始菜單中Apache程序組中的“Edit Configuration”打開該文件,進行配置操作。注意每次配置變動後一定要保存,並啟動或重新啟動Apache的服務,所做的最新配置才會起作用。
有關參數和參數值的說明
1)格式多是這樣的單獨的行:
#參數名 參數值 行首的#表示注釋,應去掉才會使配置起作用。
2)參數和參數值的含義、作用
表2 Apache配置參數設定 示例路徑:PHP安裝路徑——d:/php;發布文檔(即文件)主目錄——d:/www
參數名和參數值 操作 作用
① BindAddress 伺服器機器IP 修改 進行地址綁定(指定伺服器地址)
② LoadMole php4_mole d:/php/sapi/php4apache.dll 添加 指名將PHP配置為Apache的模塊(Apache mole)方式進行工作時的PHP語言解釋器
③ Port 80 修改 指定Apache對外提供Web服務的通信埠
④ ServerAdmin 伺服器管理員郵箱(如[email protected]) 修改 當發生錯誤時送回客戶端瀏覽器的管理員信箱
⑤ ServerName 伺服器的計算機名稱 修改 指明主機名稱
⑥ DocumentRoot "d:www" 修改 指明向客戶端提供Web服務的發布文檔主目錄
⑦ 修改 發布文檔主目錄定義,該處目錄的值應與⑥中的一致
⑧ ScriptAlias /php/ "d:/php/" AddType application/x-httpd-php .php Action application/x-httpd-php "/php/php.exe" 添加 指明PHP腳本語言名稱和PHP腳本語言解釋器的路徑 指明PHP腳本擴展名 指明PHP腳本解釋器(PHP以非模塊工作時起作用)
⑨ DirectoryIndex index.php 修改 指定默認文檔(主頁文檔,只請求伺服器地址就響應的文檔)
有關服務的操作:服務,是一直運行,監聽來自其他程序(客戶端)的請求,接收請求,處理請求(自己處理或提交其他程序處理),返回處理結果的一種運行著的程序,一種進程。一般運行於操作系統後台。
有關Apache的服務操作,通過開始菜單中Apache程序組中的有關命令進行:
′ Install Service:在操作系統中注冊服務
′ Uninstall Service:在操作系統中刪除服務
′ Start Service:啟動服務
′ Restart Service:重新啟動服務
′ Stop Service:停止服務
注意: 服務的`啟動、重新啟動、停止,必須以在操作系統中注冊了服務為前提; 服務的啟動、重新啟動、停止過程中有Apache的消息反饋。
(3)Apache與PHP的協同測試
測試目的是檢查二者是否能夠正常協作。具體來說,是檢驗配置後的Apache、PHP、瀏覽器是否具備了這樣的協作能力: 用戶通過瀏覽器向伺服器請求 PHP 文件(如在地址欄輸入:http://211.64.40.187/index.php),Apache 在伺服器上的用戶文檔發布目錄下查找瀏覽器所請求的PHP文件,若找不到,則向瀏覽器返回錯誤信息,否則,將其提交給PHP解釋器解釋執行,PHP解釋器對該PHP文件進行語法分析,若發現語法錯誤,則經Apache返回錯誤信息(以瀏覽器能識別的代碼表示)到瀏覽器,否則執行該PHP程序(可能包含對資料庫MySQL的操作),將PHP程序執行結果(以瀏覽器能識別的代碼表示)經Apache返回到瀏覽器,瀏覽器對返回的結果進行解釋、執行,執行的結果顯示在瀏覽器窗口中。
做法是,在伺服器上用戶的發布文檔目錄下,放置一個含有 PHP 代碼的文件,即 PHP 程序,通過客戶端瀏覽器,向伺服器請求這個文件,若瀏覽器能得到正確的來自伺服器的結果,則表明二者安裝和配置成功,否則,應根據出錯信息,修改配置。
② 在linux的伺服器下怎麼知道根目錄是什麼
就相當於windows系統的C盤
下面是介紹根目錄下的文件夾意義:
/:根目錄,位於linux文件系統目錄結構的頂層,一般根目錄下只存放目錄,不要存放文件,/etc、/bin、/dev、/lib、/sbin應該和根目錄放置在一個分區中。
/bin,/usr/bin:該目錄為命令文件目錄,也稱為二進制目錄。包含了供系統管理員及普通用戶使用的重要的linux命令和二進制(可執行)文件,包含shell解釋器等。
/boot: 該目錄中存放系統的內核文件和引導裝載程序文件,/boot/vmlinuz為linux的內核文件,以及/boot/gurb。建議單獨分區,分區大小100M即可。
/dev: 設備(device)文件目錄,存放linux系統下的設備文件,訪問該目錄下某個文件,相當於訪問某個設備,存放連接到計算機上的設備(終端、磁碟驅動 器、光碟機及網卡等)的對應文件,包括字元設備和塊設備等,常用的是掛載光碟機mount /dev/cdrom/mnt。
/etc: 系統配置文件存放的目錄,該目錄存放系統的大部分配置文件和子目錄,不建議在此目錄下存放可執行文件,重要的配置文件有/etc/inittab、 /etc/fstab、/etc/init.d、/etc/X11(X Window系統有關)、/etc/sysconfig(與網路有關)、/etc/xinetd.d修改配置文件之前記得備份。該目錄下的文件由系統管理員來使用,普通用戶對大部分文件有隻讀許可權。
/home: 系統默認的用戶宿主目錄,新增用戶賬號時,用戶的宿主目錄都存放在此目錄下,~表示當前用戶的宿主目錄,~test表示用戶test的宿主目錄。建議單獨分區,並設置較大的磁碟空間,方便用戶存放數據。
/lib,/usr/lib,/usr/local/lib: 系統使用的函數庫的目錄,程序在執行過程中,需要調用一些額外的參數時需要函數庫的協助,該目錄下存放了各種編程語言庫。典型的linux系統包含了C、 C++和FORTRAN語言的庫文件。/lib目錄下的庫映像文件可以用來啟動系統並執行一些命令,目錄/lib/moles包含了可載入的內核模 塊,/lib目錄存放了所有重要的庫文件,其他的庫文件則大部分存放在/usr/lib目錄下。
/lost+fount: 在EXT2或EXT3文件系統中,當系統意外崩潰或機器意外關機,產生的一些文件碎片放在這里。在系統啟動的過程中fsck工具會檢查這里,並修復已經損 壞的文件系統。有時系統發生問題,有很多的文件被移到這個目錄中,可能會用手工的方法來修復,或者移動文件到運來的位置上
/mnt,/media: mnt目錄主要用來臨時掛載文件系統,為某些設備提供默認掛載點,如floppy,cdrom。這樣當掛載了一個設備如光碟機時,就可以通過訪問目錄/mnt/cdrom下的文件來訪問相應的光碟機上的文件了。
/opt: 給主機額外安裝軟體所擺放的目錄。如:FC4使用的Fedora 社群開發軟體,如果想要自行安裝新的KDE 桌面軟體,可以將該軟體安裝在該目錄下。以前的 Linux 系統中,習慣放置在 /usr/local 目錄下。
/proc: 此目錄的數據都在內存中,如系統核心,外部設備,網路狀態,由於數據都存放於內存中,所以不佔用磁碟空間,比較重要的目錄有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等。
/root:系統管理員root的宿主目錄,系統第一個啟動的分區為/,所以最好將/root和/放置在一個分區下。
/sbin,/usr/sbin,/usr/local/sbin:放置系統管理員使用的可執行命令,如fdisk、shutdown、mount等。與/bin不同的是,這幾個目錄是給系統管理員root使用的命令,一般用戶只能"查看"而不能設置和使用。
/tmp: 一般用戶或正在執行的程序臨時存放文件的目錄,任何人都可以訪問,重要數據不可放置在此目錄下。
/srv: 服務啟動之後需要訪問的數據目錄,如www服務需要訪問的網頁數據存放在/srv/www內。
/usr: 應用程序存放目錄,/usr/bin 存放應用程序, /usr/share 存放共享數據,/usr/lib 存放不能直接運行的,卻是許多程序運行所必需的一些函數庫文件,/usr/local 存放軟體升級包,/usr/share/doc 系統說明文件存放目錄。/usr/share/man: 程序說明文件存放目錄,使用 man ls時會查詢/usr/share/man/man1/ls.1.gz的內容建議單獨分區,設置較大的磁碟空間。
/var: 放置系統執行過程中經常變化的文件,如隨時更改的日誌文件 /var/log。/var/log/message: 所有的登錄文件存放目錄。/var/spool/mail: 郵件存放的目錄。 /var/run: 程序或服務啟動後。建議單獨分區,設置較大的磁碟空間。
/tmp:存放臨時文件目錄,一些命令和應用程序會用的到這個目錄。該目錄下的所有文件會被定時刪除,以避免臨時文件占滿整個磁碟。
/dev目錄
dev是設備(device)的英文縮寫。/dev這個目錄對所有的用戶都十分重要。因為 在這個目錄中包含了所有Linux系統中使用的外部設備。但是這里並不是放的外部設備的驅動程序,這一點和windows,dos操作系統不一樣。它實際上是一個訪問這些外部設備的埠。我們可以非常方便地去訪問這些外部設備,和訪問一個文件,一個目錄沒有任何區別。
Linux沿襲Unix的風格,將所有設備認成是一個文件。
設備文件分為兩種:塊設備文件(b)和字元設備文件(c),設備文件一般存放在/dev目錄下,對常見設備文件作如下說明:
/dev/hd[a-t]:IDE設備
/dev/sd[a-z]:SCSI設備
/dev/fd[0-7]:標准軟碟機
/dev/md[0-31]:軟raid設備
/dev/loop[0-7]:本地回環設備
/dev/ram[0-15]:內存
/dev/null:無限數據接收設備,相當於黑洞
/dev/zero:無限零資源
/dev/tty[0-63]:虛擬終端
/dev/ttyS[0-3]:串口
/dev/lp[0-3]:並口
/dev/console:控制台
/dev/fb[0-31]:framebuffer
/dev/cdrom => /dev/hdc
/dev/modem => /dev/ttyS[0-9]
/dev/pilot => /dev/ttyS[0-9]
/dev/random:隨機數設備
/dev/urandom:隨機數設備
/etc目錄
/etc/rc,/etc/rc.d,/etc/rc*.d 啟動、或改變運行級時運行的scripts或scripts的目錄。
/etc/passwd 用戶資料庫,其中的域給出了用戶名、真實姓名、家目錄、加密的口令和用戶的其他信息。
/etc/fstab 啟動時mount -a命令(在/etc/rc 或等效的啟動文件中)自動mount的文件系統列表。Linux下,也包括用swapon -a啟用的swap區的信息。
/etc/group 類似/etc/passwd ,但說明的不是用戶而是用戶組。
/etc/inittab init 的配置文件,設定系統啟動時init進程將把系統設置成什麼樣的runlevel 。
/etc/issue getty 在登錄提示符前的輸出信息.通常包括系統的一段短說明或歡迎信息內容由系統管理員確定。
/etc/motd Message Of The Day,成功登錄後自動輸出內容由系統管理員確定,經常用於通告信息,如計劃關機時間的警告。
/etc/mtab 當前安裝的文件系統列表.由scripts初始化,並由mount 命令自動更新,需要一個當前安裝的文件系統的列表時使用,例如df 命令。
/etc/shadow 在安裝了影子口令軟體的系統上的影子口令文件.影子口令文件將/etc/passwd 文件中的加密口令移動到/etc/shadow 中,而後者只對root可讀這使破譯口令更困難.
/etc/login.defs login 命令的配置文件。
/etc/printcap 類似/etc/termcap ,但針對列印機語法不同。
/etc/profile , /etc/csh.login , /etc/csh.cshrc 登錄或啟動時Bourne或C shells執行的文件,這允許系統管理員為所有用戶建立全局預設環境。
/etc/securetty 確認安全終端,即哪個終端允許root登錄.一般只列出虛擬控制台,這樣就不可能(至少很困難)通過modem或網路闖入系統並得到超級用戶特權。
/etc/shells 列出可信任的shell.chsh 命令允許用戶在本文件指定范圍內改變登錄shell.提供一台機器FTP服務的服務進程ftpd 檢查用戶shell是否列在 /etc/shells 文件中,如果不是將不允許該用戶登錄.
/etc/sysconfig 網路配置相關目錄
/etc/DIR_COLORS 設定顏色
/etc/HOSTNAME 設定用戶的節點名
/etc/NETWORKING 只有YES標明網路存在
/etc/host.conf 文件說明用戶的系統如何查詢節點名
/etc/hosts 設定用戶自已的IP與名字的對應表
/etc/hosts.allow 設置允許使用inetd的機器使用
/etc/hosts.deny 設置不允許使用inetd的機器使用
/etc/hosts.equiv 設置遠端機不用密碼
/etc/inetd.conf 設定系統網路守護進程inetd的配置
/etc/inetd.pid inetd這個進程的進程id
/etc/hosts.lpd 設定遠端有哪些節點可以使用本機的列印機
/etc/gateways 設定路由器
/etc/protocols 設定系統支持的協議
/etc/named.boot 設定本機為名字伺服器的配置文件
/etc/named.pid 本機上運行的名字伺服器的進程id
/etc/networks 設定網路的配置文件
/etc/resolv.conf 設定系統的名字伺服器
/etc/services 設定系統的端品與協議類型和提供的服務
/etc/exports 設定NFS系統用的
/etc/NNTP_INEWS_DOMAIN 設置新聞伺服器的配置文件
/etc/nntpserver 設置用戶使用的新聞伺服器的地址
/etc/XF86Config X Window的配置文件
/etc/hostid 系統獨有的一個硬體id
/etc/at.deny 設置哪些用戶不能使用at命令
/etc/bootptab 給MAKEDEV程序設定各種不同的設備驅動文件的格式
/etc/makedev.cfg 同DEVINFO一樣給MAKEDEV使用的設置文件
/etc/diphosts 設置拔號伺服器的用戶名和口令
/etc/slip.hosts,/etc/slip.login 設定SLIP的配置文件
/etc/fastboot 使用shutdown -f產生的,重啟系統要查這個文件
/etc/fstab 記錄開機要mount的文件系統
/etc/ftpaccess FTP伺服器的一些配置
/etc/ftpconversions 設定在FTP時使用的過濾器的位置
/etc/ftpusers 設定不能使用FTP服務的用戶
/etc/ld.so.cache 查找系統動態鏈接庫的緩存
/etc/ld.so.conf 系統動態鏈接庫的路徑
/etc/lilo.conf lilo的配置文件
/etc/magic 給file命令使用的
/etc/aliases 給sendmail使用的設置別名的文件
/etc/mail.rc,
/etc/mailcap,
/etc/sendmail.cf,
/etc/sendmail.st 設置sendmail的
/etc/motd 超級用戶發布通知的地方
/etc/organization 存放用戶的名字和組織
/etc/pnpdevices 列出支持的Plug&Play設備
/etc/snooptad 監控用戶的屏幕,監聽的終端列表
/etc/sudoers 可以sudo命令的配置文件
/etc/syslog.conf 系統記錄程序syslogd的配置文件
/etc/utmp 目前在用系統的用戶信息
/etc/wtmp 同utmp差不多,只是它累加
/etc/nologin 系統在shutdown時不希望用戶登錄就產生這個文件
/etc/termcap 設置系統終端信息的
/etc/ttys 設定系統的終端類型
/etc/gettydefs getty_ps的定義文件
/etc/yp.conf NIS的配置文件
/etc/mtools.conf 設定mtools程序的參數
/etc/fdprm 設定格式化軟盤的參數
/etc/login.access 控制用戶登錄許可權的文件
/proc目錄
/proc/cmdline 載入 kernel 時所下達的相關參數,查閱此文件,可了解系統是如何啟動。
/proc/cpuinfo 本機的 CPU 的相關資訊,包含時脈、類型與運算功能等
/proc/devices 這個文件記錄了系統各個主要裝置的主要裝置代號,與 mknod 有關。
/proc/filesystems 目前系統已經載入的文件系統。
/proc/interrupts 目前系統上面的 IRQ 分配狀態。
/proc/ioports 目前系統上面各個裝置所配置的 I/O 位址。
/proc/kcore 這個就是內存的大小,但是不要讀他。
/proc/loadavg 還記得 top 以及 uptime 吧?沒錯,上頭的三個平均數值就是記錄在此。
/proc/meminfo 使用 free 列出的內存資訊,在這里也能夠查閱到。
/proc/moles 目前我們的 Linux 已經載入的模塊列表,也可以想成是驅動程序。
/proc/mounts 系統已經掛載的數據,就是用 mount 這個命令呼叫出來的數據。
/proc/swaps 到底系統掛載入的內存在哪裡?使用掉的 partition 就記錄在此啦。
/proc/partitions 使用 fdisk -l 會出現目前所有的 partition 吧?在這個文件當中也有紀錄。
/proc/pci 在 PCI 匯流排上面,每個裝置的詳細情況,可用 lspci 來查閱。
/proc/uptime 就是用 uptime 的時候,會出現的資訊。
/proc/version 核心的版本,就是用 uname -a 顯示的內容。
/proc/bus/* 一些匯流排的裝置,還有 U盤 的裝置也記錄在此。
/usr目錄
/usr 最龐大的目錄,因為所有應用程序幾乎都安裝在這里, 本地安裝的程序和其他東西在/usr/local 下。
/usr/etc 存放配置文件。
/usr/games 存放游戲和教學文件。
/usr/include 開發和編譯應用程序所需要的頭文件。
/usr/share 存放結構獨立的數據。/usr/share/man , /usr/share/info , /usr/share/doc 手冊頁、GNU信息文檔和各種其他文檔文件。
/usr/bin 幾乎所有用戶命令.有些命令在/bin 或/usr/local/bin 中。
/usr/sbin 根文件系統不必要的系統管理命令,例如多數服務程序。
/usr/lib 程序或子系統的不變的數據文件,包括一些site-wide配置文件,名字lib來源於庫(library), 編程的原始庫存在/usr/lib 里。
/usr/local 本地安裝的軟體和其他文件放在這里,/usr/local/bin存放本地增加的命令,/usr/local/include存放本地增加的庫文件。
/usr/src 存放程序的源代碼,linux內核的源代碼存放在/usr/src/kernels。
/var目錄
/var 包括系統一般運行時要改變的數據.每個系統是特定的,即不通過網路與其他計算機共享。
/var/catman 當要求格式化時的man頁的cache.man頁的源文件一般存在/usr/man/man* 中;有些man頁可能有預格式化的版本,存在/usr/man/cat* 中.而其他的man頁在第一次看時需要格式化,格式化完的版本存在/var/man 中,這樣其他人再看相同的頁時就無須等待格式化了. (/var/catman 經常被清除,就象清除臨時目錄一樣.)
/var/lib 系統正常運行時要改變的文件。
/var/local,/usr/local 中安裝的程序的可變數據(即系統管理員安裝的程序).注意,如果必要,即使本地安裝的程序也會使用其他/var 目錄,例如/var/lock 。
/var/lock 鎖定文件.許多程序遵循在/var/lock 中產生一個鎖定文件的約定,以支持他們正在使用某個特定的設備或文件.其他程序注意到這個鎖定文件,將不試圖使用這個設備或文件。
/var/log 各種程序的Log文件,特別是login (/var/log/wtmp log所有到系統的登錄和注銷) 和syslog (/var/log/messages 里存儲所有核心和系統程序信息. /var/log 里的文件經常不確定地增長,應該定期清除。
/var/run 保存到下次引導前有效的關於系統的信息文件.例如, /var/run/utmp 包含當前登錄的用戶的信息。
/var/spool,/var/mail, /var/news 列印隊列和其他隊列工作的目錄.每個不同的spool在/var/spool 下有自己的子目錄,例如,用戶的郵箱在/var/spool/mail 中。
/var/tmp 比/tmp 允許的大或需要存在較長時間的臨時文件。 (雖然系統管理員可能不允許/var/tmp 有很舊的文件.)
比較重要的目錄
在 Linux 系統中,有幾個目錄是特別需要注意的,以下提供幾個需要注意的目錄,以及預設相關的用途:
/etc: 這個目錄相當重要,如前所述,你的開機與系統數據文件均在這個目錄之下,因此當這個目錄被破壞,那你的系統大概也就差不多該死掉了!而在往後的文件中,你 會發現我們常常使用這個目錄下的 /etc/rc.d/init.d 這個子目錄,因為這個 init.d 子目錄是開啟一些 Linux 系統服務的 scripts (可以想成是批次檔 )的地方。而在 /etc/rc.d/rc.local 這個文件是開機的執行檔。
/bin, /sbin, /usr/bin, /usr/sbin: 這是系統預設的執行文件的放置目錄,例如 root 常常使用的 userconf, netconf, perl, gcc, c++ 等等的數據都放在這幾個目錄中,所以如果你在提示字元下找不到某個執行檔時,可以在這四個目錄中查一查!其中, /bin, /usr/bin 是給系統使用者使用的指令,而 /sbin, /usr/sbin 則是給系統管理員使用的指令!
/usr/local: 這是系統預設的讓你安裝你後來升級的套件的目錄。例如,當你發現有更新的 Web 套件(如 Apache )可以安裝,而你又不想以 rpm 的方式升級你的套件,則你可以將 apache 這個套件安裝在 /usr/local 底下。安裝在這里有個好處,因為目前大家的系統都是差不多的,所以如果你的系統要讓別人接管的話,也比較容易上手呀!也比較容易找的到數據喔!因此,如果有需要的話,通常會將 /usr/local/bin 這個路徑加到自己的 path 中。
/home:這個是系統將有賬號的人口的家目錄設置的地方。
/var:這個路徑就重要了!不論是登入、各類服務的問題發生時的記錄、以及常態性的服務記錄等等,所以當你的系統有問題時,就需要來這個目錄記錄的文件數據中察看問題的所在啰!而 mail 的預設放置也是在這里,所以他是很重要的 。
/usr/share/man, /usr/local/man: 這兩個目錄為放置各類套件說明檔的地方,例如你如果執行 man man,則系統會自動去找這兩個目錄下的所有說明文件。