伺服器建置實務上課補充教材
- 最新消息:
- 授課教材:鳥哥的 Linux 私房菜-伺服器架設篇第三版
- 每週都有可能會有上機實作,要等老師檢查完畢才能夠下課!否則就不算有來上課!
- 回首頁
- 舊版教材簡易介紹
unit 09:網頁伺服器 (Apache server) part1
- 關於 WWW 的簡介
- 什麼是 WWW
- WWW 是 World Wide Web 的縮寫,其中 Web 有廣播網的意思存在, 所以簡稱為全球資訊網。
- 使用 WWW 時,需要有 server 與 client 的架構,兩者間傳輸的資料如下:
- WWW 伺服器不但需要一個可讓用戶端瀏覽的平台,還需要提供用戶端一些資料才行!
- 伺服器所提供的最主要資料是超文件標籤語言 (Hyper Text Markup Language, HTML)、多媒體檔案
(圖片、影像、聲音、文字等,都屬於多媒體或稱為超媒體)。
- HTML 只是一些純文字資料,透過所謂的標籤 (<tag>) 來規範所要顯示的資料格式;
- 在用戶端,透過瀏覽器的對 HTML 以及多媒體的解析,最後呈現在使用者的螢幕上。
- http 協定與 apache 軟體的開發
- 伯納斯-李 (Tim Berners-Lee) 在 1980 年代為了更有效率的讓歐洲核子物理實驗室的科學家可以分享及更新他們的研究成果,
於是他發展出一個超文件傳輸協定 (Hyper Text Transport Protocol, HTTP)
- 為了讓 HTTP 這個協定得以順利的應用,大約在 90 年代初期由伊利諾大學的國家超級電腦應用中心
(NCSA, http://www.ncsa.illinois.edu/) 開發出伺服器 HTTPd (HTTP daemon 之意)
- 由於 HTTPd 這個伺服器一直沒有妥善的發展,於是一群社群朋友便發起一個計畫,這個計畫主要在改善原本的 HTTPd
伺服器軟體,他們稱這個改良過的軟體為 Apache,取其『一個修修改改的伺服器 (A patch server)』的雙關語!
- 這個 Apache 在 1996 年以後便成為 WWW 伺服器上市佔率最高的軟體了 (http://httpd.apache.org/)。
- 什麼是 URL (Uniform Resource Locator)
- <協定>://<主機位址或主機名稱>[:port]/<目錄資源>
- 動態 WWW 伺服器
- 主要的組成元件: 作業系統平台+WWW伺服器+資料庫系統+網頁程式語言,還有 client 的瀏覽器!相關性為:
- 須注意 WWW 伺服器與資料庫系統為兩個獨立的系統,因此需要透過網頁程式語言進行溝通!
- Linux 環境: Linux + Apache + Mariadb + PHP --> LAMP
- Apache 基礎安裝與使用
- 在 CentOS 7 上面預設的 WWW 伺服器就是 Apache,而 Apache 的軟體名稱在 CentOS 上面被稱為 httpd。
- 完成如下的練習:
- 安裝 Apache 軟體
- 使用預設值啟動 Apache 軟體
- 設定開機會啟動這個軟體
- 你的 Apache 軟體是對全世界放行的,請觀察或重新設定防火牆
- 打開瀏覽器,輸入網址列的你的主機名稱,看看能否觀察到相關的網頁資料?
- 同時請觀察已經啟動的埠口,是否有讓 httpd 啟動的號碼?
- CentOS 7 上預設的 Apache 設定
- 基礎設定檔位於: /etc/httpd/conf/httpd.conf
- 附加設定檔位於: /etc/httpd/conf.d/*.conf
- 預設啟動埠口在: port 80
- 預設伺服器管理員 email: root@localhost
- 預設首頁目錄位於: /var/www/html
- 預設首頁檔案檔名: index.html
- 預設所有人均可以瀏覽網頁
- 完成如下的練習:
- 觀察完首頁之後,請將預設的首頁改成顯示你的大名與學號即可。
- 修改基礎設定值
- 完成如下的練習:
- 讓管理員的 email 改為 student@pc*.dic.ksu
- 讓語系資料交給網頁自己管理,取消強制的 utf8 語系輸出
- 當 index.html 找不到,會再找尋 welcome.html 以 default.html 等檔名作為首頁檔
- 當你在網址列輸入 http://localhost/checkwelcome/ 時,就會輸出 welcome.html 的內容,而
welcome.html 內容請填寫『this filename is welcome.html』即可
- Apache 的個人首頁與網頁資料透過 FTP 上傳與下載
- 預設系統的個人首頁網址為 http://your.host.name/~username/
- 個人首頁的修改:
- 用戶家目錄權限的設定,例如以 student 為例,應該要這樣處理 (用 student 身份喔!):
$ chmod 711 ~student
$ mkdir ~student/www
$ echo "check student web page" > ~student/www/index.html
之後在網址列輸入 http://your.host.name/~student 查閱是否有資料即可!
- 完成下列練習
- 先以上述的作法完成 userdir 的個人首頁設定
- 建立一個名為 webuser1 的帳號,密碼設定為 thewebman ;
- 切換到 webuser1 的身份,然後在家目錄建立名為 www 的目錄,且在該目錄下新增 index.html 檔案,
檔案內容就設定為『 I am webuser1 』即可。
- 嘗試到瀏覽器瀏覽 http://your.server.name/~webuser1 看看出了什麼問題?
- 請嘗試自行修改權限資料
- 在 WWW 伺服器上,若未來每個用戶新建時,都會自動擁有 www 目錄,且該目錄下都會有 index.html,內容為『 Personal web page !』,
又該如何處理?
- 上述動作完成後,請建立 webuser2 的帳號,同時修改好正確的權限,然後使用瀏覽器瀏覽,看看能否得到正確答案?
- 以 FTP 提供個人用戶的網頁上傳
- 錯誤瀏覽訊息公告
- Apache 的訊息代碼意義為:
- 100-199:一些基本的訊息
- 200-299:用戶端的要求已成功的達成
- 300-399:Client 的需求需要其他額外的動作,例如 redirected 等等
- 400-499:Client 的要求沒有辦法完成(例如找不到網頁)
- 500-599:主機的設定錯誤問題
主要的訊息代碼都可以在 access 或者是 error log 裡面找到!
- 你可以在 /etc/httpd/conf/httpd.conf 找到錯誤代碼為 404 的設定值,然後處理所需要的顯示項目來處理!
- 正確瀏覽的登錄檔: /var/log/httpd/access_log
- 錯誤瀏覽的登錄檔: /var/log/httpd/error_log
- 完成下列練習
- 在主設定檔當中,設定發生 404 找不到網頁時,會主動顯示 http://your.hostname/missing.html 這個檔案
- 增加 missing.html 這個檔案,內容請自訂 (通常是增加連結到主網頁即可)
- 完成下列的練習 (一定要上面的練習全部完成之後,底下的練習才會正確無誤!)
- 建立一個名為 webadmin 的帳號,這個帳號的密碼為 myadmin
- 這個帳號可以有個人首頁,亦即可以在 http://your.hostname/~webadmin 看到他的首頁,且首頁的內容會是『我的個人首頁,歡迎光臨呢!』
- 這個帳號可以透過 FTP 來上傳下載他的網頁資料
- 這個帳號可以使用 samba 來掛載他的家目錄,samba 的密碼為 myadmin
- 將底下的答案以網頁列表的方式寫入 http://your.hostname/ans.html 檔案中:
- WWW Server 主要傳輸什麼資料給瀏覽器
- 所謂的動態網站 LAMP 最早主要指的是那四個軟體?
- WWW 預設的協定為 http,這個協定的埠口主要是哪個號碼?
- 一般預設的網頁首頁檔名為何?
- httpd 的主設定檔檔名
- CentOS 的主要網頁首頁目錄預設是在哪個目錄下?
- 當你輸入的網址讓 WWW 伺服器找不到時,該錯誤代碼的數字是多少?
- 要放行個人首頁時,你的家目錄權限應該要改為幾分?