更新套件情單
$ sudo apt-get update
Apache 2 安裝
$ sudo apt-get install apache2
[sudo] password for student: 正在讀取套件清單... 完成 正在重建相依關係 正在讀取狀態資料... 完成 以下套件是被自動安裝進來的,且已不再會被用到了: linux-headers-2.6.32-21 linux-headers-2.6.32-22 linux-headers-2.6.32-22-generic-pae 使用 'apt-get autoremove' 來將其移除。 下列的額外套件將被安裝: apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap 建議套件: apache2-doc apache2-suexec apache2-suexec-custom 下列【新】套件將會被安裝: apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap 升級 0 個,新安裝 9 個,移除 0 個,有 1 個未被升級。 需要下載 3,328kB 的套件檔。 此操作完成之後,會多佔用 10.1MB 的磁碟空間。 是否繼續進行 [Y/n]?y 下載:1 http://tw.archive.ubuntu.com/ubuntu/ lucid/main libapr1 1.3.8-1build1 [116kB] 下載:2 http://tw.archive.ubuntu.com/ubuntu/ lucid/main libaprutil1 1.3.9+dfsg-3build1 [85.4kB] 下載:3 http://tw.archive.ubuntu.com/ubuntu/ lucid/main libaprutil1-dbd-sqlite3 1.3.9+dfsg-3build1 [27.1kB] 下載:4 http://tw.archive.ubuntu.com/ubuntu/ lucid/main libaprutil1-ldap 1.3.9+dfsg-3build1 [25.1kB] 下載:5 http://tw.archive.ubuntu.com/ubuntu/ lucid/main apache2.2-bin 2.2.14-5ubuntu8 [2,622kB] 下載:6 http://tw.archive.ubuntu.com/ubuntu/ lucid/main apache2-utils 2.2.14-5ubuntu8 [159kB] 下載:7 http://tw.archive.ubuntu.com/ubuntu/ lucid/main apache2.2-common 2.2.14-5ubuntu8 [290kB] 下載:8 http://tw.archive.ubuntu.com/ubuntu/ lucid/main apache2-mpm-worker 2.2.14-5ubuntu8 [2,364B] 下載:9 http://tw.archive.ubuntu.com/ubuntu/ lucid/main apache2 2.2.14-5ubuntu8 [1,482B] 取得 3,328kB 用了 2s (1,345kB/s) 選取了原先未被選取的套件 libapr1。 (正在讀取資料庫 ... 系統目前共安裝了 159384 個檔案和目錄。) 正在解開 libapr1 (從 .../libapr1_1.3.8-1build1_i386.deb)... 選取了原先未被選取的套件 libaprutil1。 正在解開 libaprutil1 (從 .../libaprutil1_1.3.9+dfsg-3build1_i386.deb)... 選取了原先未被選取的套件 libaprutil1-dbd-sqlite3。 正在解開 libaprutil1-dbd-sqlite3 (從 .../libaprutil1-dbd-sqlite3_1.3.9+dfsg-3build1_i386.deb)... 選取了原先未被選取的套件 libaprutil1-ldap。 正在解開 libaprutil1-ldap (從 .../libaprutil1-ldap_1.3.9+dfsg-3build1_i386.deb)... 選取了原先未被選取的套件 apache2.2-bin。 正在解開 apache2.2-bin (從 .../apache2.2-bin_2.2.14-5ubuntu8_i386.deb)... 選取了原先未被選取的套件 apache2-utils。 正在解開 apache2-utils (從 .../apache2-utils_2.2.14-5ubuntu8_i386.deb)... 選取了原先未被選取的套件 apache2.2-common。 正在解開 apache2.2-common (從 .../apache2.2-common_2.2.14-5ubuntu8_i386.deb)... 選取了原先未被選取的套件 apache2-mpm-worker。 正在解開 apache2-mpm-worker (從 .../apache2-mpm-worker_2.2.14-5ubuntu8_i386.deb)... 選取了原先未被選取的套件 apache2。 正在解開 apache2 (從 .../apache2_2.2.14-5ubuntu8_i386.deb)... 正在進行 man-db 的觸發程式 ... 正在進行 ufw 的觸發程式 ... 正在進行 ureadahead 的觸發程式 ... ureadahead will be reprofiled on next reboot 正在設定 libapr1 (1.3.8-1build1) ... 正在設定 libaprutil1 (1.3.9+dfsg-3build1) ... 正在設定 libaprutil1-dbd-sqlite3 (1.3.9+dfsg-3build1) ... 正在設定 libaprutil1-ldap (1.3.9+dfsg-3build1) ... 正在設定 apache2.2-bin (2.2.14-5ubuntu8) ... 正在設定 apache2-utils (2.2.14-5ubuntu8) ... 正在設定 apache2.2-common (2.2.14-5ubuntu8) ... Enabling site default. Enabling module alias. Enabling module autoindex. Enabling module dir. Enabling module env. Enabling module mime. Enabling module negotiation. Enabling module setenvif. Enabling module status. Enabling module auth_basic. Enabling module deflate. Enabling module authz_default. Enabling module authz_user. Enabling module authz_groupfile. Enabling module authn_file. Enabling module authz_host. Enabling module reqtimeout. 正在設定 apache2-mpm-worker (2.2.14-5ubuntu8) ... * Starting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [ OK ] 正在設定 apache2 (2.2.14-5ubuntu8) ... 正在進行 libc-bin 的觸發程式 ... ldconfig deferred processing now taking place
[問題] 由上述安裝資訊, Apache 2 已啟動那些 Module ?
檢視 Apache 2 的內部設定值
$ /usr/sbin/apache2 -V
Server version: Apache/2.2.14 (Ubuntu)
Server built: Apr 13 2010 19:29:28
Server's Module Magic Number: 20051115:23
Server loaded: APR 1.3.8, APR-Util 1.3.9
Compiled using: APR 1.3.8, APR-Util 1.3.9
Architecture: 32-bit
Server MPM: Worker
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/worker"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT=""
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"
[註] 由上面資訊中, 可以得知 Apache 2 的主要設定檔是 /etc/apache2/apache2.conf
檢視 /etc/apache2/sites-enabled/000-default 設定檔 (網站根目錄, cgi-bin 目錄)
這個設定檔, 定義 Apache 2 網站根目錄所在的目錄 (DocumentRoot /var/www), 還有定義 /cgi-bin 目錄, 執行 CGI 程式
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
網站根目錄放置在 /var/www 這個目錄嗎? 為什麼呢?因為 DocumentRoot 這個設定值的關係啦!此外,由於 Apache 允許 Internet 對我們的資料進行瀏覽, 所以你當然必須要針對可被瀏覽的目錄進行權限的相關設定,那就是 <Directory> 這個設定值的重要特色!先讓我們來看看預設的主網頁設定吧!
DocumentRoot "/var/www" 放置首頁的目錄!這個設定值重要到不行,因為他規範了 WWW 伺服器主網頁所放置的『目錄』所在。這個設定值是可以被隨意更動的,不過更動之後你必須要針對該目錄進行權限設定,也就是底下要講到的 Directory 這個設定值來規範目錄的權限才行喔!
<Directory /> Options FollowSymLinks AllowOverride None </Directory>以最嚴格設定值, 設定系統根目錄 (/)
沒有留言:
張貼留言