只放一些对自己有用的东西,不喜勿言!哈哈哈哈哈哈哈

AMP (Apache + MySQL + PHP) 的安裝設定

上一篇 / 下一篇  2008-11-14 00:09:45 / 个人分类:电脑技巧

 

要利用 LinkStation 來架各種網站(個人網頁、Blog、Wiki 還是討論區),不能或缺的是 Linux 上必備的 AMP (Apache + MySQL + PHP),有了這些基本服務,只要抓程式碼回來解壓縮、做點調整,就可以提供各種 Web-based 的服務和功能。

第一個動作先來裝 Apache 這個 Web Server:

apt-get install apache2

安裝完畢,系統會自動啟動 Apache 服務(還會看到一些錯誤訊息,先不管),因為還沒搞好設定的部分,我們先停掉服務:

/etc/init.d/apache2 stop

如果未來有執行 Perl/CGI 的需求,記得要順道安裝給 Apache 用的 Perl 套件:

apt-get install libapache2-mod-perl2

安裝完畢,先檢查是不是服務會在系統啟動的時候一併啟動,檢查設定檔:

cat /etc/default/apache2

內容應該是下面這樣,預設是開機啟動 (NO_START=0),不想開機啟動再改成 1:

# 0 = start on boot; 1 = don't start on boot钱塘个人空间1o1@ ~}u-RM|
NO_START=0

接下來是調整主要設定檔:

nano /etc/apache2/apache2.conf

第一行是設定預設網頁編碼,改成 UFT-8,第二行補上對 Perl/CGI 附檔名的識別支援(記得這兩行前面的 # 要拿掉),再來是修改網頁服務的工作帳號和群組,最後那一行要自己塞在設定檔的最後(或是把 localhost 改成你自己的主機名稱),用來避免服務啟動的錯誤訊息:

...钱塘个人空间6ps&M3Z'n.}uq2@2L
AddDefaultCharset      UTF-8钱塘个人空间:p(]*C%?/Bp@0VL
...钱塘个人空间2\M2Q~{#CS\1~ c
AddHandler cgi-script. .cgi .pl
Y*t0\$U*jg6wI0...
@#vqu5Tfo'Ri {0User www钱塘个人空间"V$^DvP3_,i%E0i/`
Group users钱塘个人空间 O*w'Y uK7vO6uo
...
,v!u ~ii%K E U5N7_z0ServerName localhost

存檔離開。另外說明一下關於工作帳號和群組的修改。系統裡預設是用 www-data 這個帳號和 www-data 這個群組,為了好看 (?!)、還有和其他服務共享的目的,所以我新增一個帳號 www,並且更改群組到 user,要手動修改帳號資訊,要編輯 /etc/passwd:

nano /etc/passwd

原來 www-data 的紀錄是這樣(也許每個系統在 ID 上會不一樣):

www-data:x:33:33:www-data:/var/www:/bin/sh

我在最後面新增了一列:

www:x:104:100:www:/www:/bin/false

新增的帳號名稱是 www,帳號 ID 是 104 (請自己找一個不重複的)、群組 ID 是 100 (屬於 users 這個群組,不確定可以看 /etc/group 內容)、帳號說明以及所屬根目錄 /www,而且也不允許登入。以上非硬性規定,可以根據個人需要調整。處理完設定檔和帳號群組,最後要處理的最重要的,就是實際網頁檔案放置的目錄,也就是網頁對外提供服務的根目錄。這裡先處理預設的網站,系統裝好用的預設目錄是 /var/www,對應到網站的根目錄 (http://localhost),要修改關於預設站台的設定檔:

nano /etc/apache2/sites-available/default

這裡抓出兩段來改(其他的部分望文生義根據這個範例自行調整):

        DocumentRoot /www/钱塘个人空间|]DKBAS
        <Directory />
D9me ZM:P3u!x$kr0                Options FollowSymLinks
7Z.}O2l IH,E0                AllowOverride None钱塘个人空间"w,{;@ cU#}
        </Directory>钱塘个人空间$B2Mn%~2[f
        <Directory /www/>钱塘个人空间zF6X,FLU6Ej
                Options -Indexes FollowSymLinks MultiViews
1~&U zRX.j y%n/Z0                AllowOverride None
bCbog%Pd1Iy0H5F e0                Order allow,deny钱塘个人空间p0j.Z/r5l H
                allow from all
!roN ^L6Do0                # This directive allows us to have apache2's default start page
uiZ:ET0F0                # in /apache2-default/, but still have / go to the right place
0gI#^0FOY0                #RedirectMatch ^/$ /apache2-default/钱塘个人空间Er8k)n1|$Qx
        </Directory>钱塘个人空间&W,t3?.O6r:n(|
钱塘个人空间7Z8~s^#Yl'I3z5q i%B
        ScriptAlias /cgi-bin/ /www/cgi-bin/钱塘个人空间X#?!GBZpg H
        <Directory "/www/cgi-bin">钱塘个人空间 ?2u6l.w%KJoTs
                AllowOverride None
T1zpf#J0                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
S$l%XT@-n&\/e B8Ye0                Order allow,deny
#H3k`P+Gf0                Allow from all钱塘个人空间ZA7?} y
        </Directory>

以上的修改主要是把預設根目錄從 /var/www 改到 /www、在 Index 前面加一個 '-''、並且 Remark 一段轉址的設定,接下來是設定預設 CGI 程式的目錄,建立一個別名 cgi-bin,對應到 /www/cgi-bin 目錄(這個目錄不存在要自己建立),我們上面有安裝關於 CGI 的支援,以後如果有 CGI 程式可以都放到 /www/cgi-bin 目錄,要存取的時候就是 http://localhost/cgi-bin/(如果有其他目錄別名要設定,可以參照建立一樣的結構)。設定檔都搞定了,可以啟動伺服器囉(以上設定都正確的話,應該沒有任何錯誤訊息):

/etc/init.d/apache2 start

接下來檢驗服務是否有啟動(每個服務驗證都適用喔):

nmap localhost

裡面應該要有一筆 Port 80 的記錄(像這樣:80/tcp open http),代表服務在跑囉~可以隨便做個文字檔,塞點文字進去:

echo "Hello World" > /www/index.html

然後用你的瀏覽器直接連 http://機器的IP位址,看到 Hello World 就成功啦!如果要在 Apache 上面做 Virtual Host (不同網址、指定到同一個 IP、卻指向不同目錄的網頁目錄),在 /etc/apache2/sites-available 目錄下建立一個設定檔,假設以網域名稱當檔名 (範例的網域叫做 forum.test.com,而對應到的實體路徑是 /www/forum):

nano forum.test.com.conf

然後貼入以下內容(請依網域名稱和網頁目錄更改):

<VirtualHost *>
jN"e1["J,J*A'w A d0        ServerAdmin webmaster@localhost
3?.o)t3L)B,L)Z.?0        Servername forum.test.com
eX8]b*@7p'QW0        DocumentRoot /www/forum
2_%D$]2M$X u \0        <Directory />
kz~ vbQF0                Options FollowSymLinks
\$@$U/J,`$z T7n+t0                AllowOverride All
`C jB!x-k%c0        </Directory>
c2[;la!_ Swy.](?0        <Directory /www/forum>
-q8iX2@#d@1H0                Options -Indexes FollowSymLinks MultiViews钱塘个人空间 @j:nq S q;Dv"p
                AllowOverride All钱塘个人空间!\@O'gR[
                Order allow,deny
0C+r*s u@z M0                allow from all钱塘个人空间c%Dx8Fg7~eTe
        </Directory>
%M_Es9|:S0</VirtualHost>

在 /www/forum 放入一個測試的首頁檔,接下來在 /etc/apache2/sites-enabled 目錄下建立虛擬網站的連結(該目錄應該已經有一個上述 default 的網站連結),以上面的設定檔為例:

ln -s /etc/apache2/sites-available/forum.test.com.conf ./001-forum.test.com

接著重啟 Apache (/etc/init.d/apache2 restart) 就可以生效了!搞定網頁伺服器,依照順序 (AMP),來安裝 MySQL:

apt-get install mysql-server

安裝過程會要求你輸入 MySQL Server 資料管理員 root 的密碼(和系統 root 帳號不一樣),安裝完也會順便啟動服務,可以用下面的命令(和剛剛設定的密碼)去檢查:

mysqladmin -u root -p ping

如果想實際登入,用命令列操作本機的資料庫,可以用以下命令:

mysql -p

這樣預設是以管理者帳號 (root) 登入本機 (localhost),只要輸入剛剛建立的密碼就行了,登入之後有什麼命令、怎麼使用資料庫,請參閱中文參考手冊。最後把 PHP 支援給裝上,主要包括 PHP5 (for Apache),和對 MySQL 資料庫的支援:

apt-get install php5 php5-mysql

完成之後就通通搞定了。以上套件都安裝完先不要重啟,還有設定要改。接下來對 PHP 做設定,編輯設定檔:

nano /etc/php5/apache2/php.ini

按 Ctrl+W 搜尋把下面那行前面的 ';' Remark 給去掉,以增加對 MySQL 的支援。

...
8H5@(}Ci?&q8B$t9C0extension=mysql.so
k!mIC d0...

現在可以重啟 Apache 了 (/etc/init.d/apache2 restart)。要驗證 PHP 能不能動,可以做一個測試檔,然後看看能不能顯示完整的 PHP 和相關功能。在網頁目錄下做一個 test.php (nano /www/test.php),填入下面的內容:

<?php钱塘个人空间 oUd,g6RmA/WT?
phpinfo();钱塘个人空间ZY$yhljx
?>

接著用瀏覽器連接 http://機器的IP位址/test.php,會秀出 PHP 的資訊。有了 PHP,我們先來裝一套一套透過 PHP 來管理 MySQL 的網頁工具:PHPMyAdmin,為求安裝單純和程式的最新版,我們直接上官網找最新版,到下載頁面找最後的版本,複製連結後在 LinkStation 裡再 wget 下載。舉例說明,我下載的是 2.10.2 全語系版,下載並解壓縮在 /tmp 下面(以下連結不一定能用,請確定官網的最新連結和檔名),刪除下載的檔案、最後還把整個目錄改名稱搬到我們預設的網頁根目錄下 (/www):

cd /tmp
~},Vo/z1Q#W8u$Y0wget http://nchc.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.10.2-all-languages.tar.bz2钱塘个人空间f%}G1H^m?`M$Z
tar -xjf phpMyAdmin-2.10.2-all-languages.tar.bz2钱塘个人空间+mN_E Cep;p:sk$]
rm -f phpMyAdmin-2.10.2-all-languages.tar.bz2钱塘个人空间d[ we |;_E%g({:n
mv phpMyAdmin-2.10.2-all-languages /www/phpMyAdmin

接下來要做個設定檔(預設沒有),並且自訂一個 cookie secret (這個步驟是參考官網的 Quick Install):

cp config.sample.inc.php config.inc.php钱塘个人空间i!F6W`N"l:q3R'H6K+O!U
nano config.inc.php

找到下面這一行,填入一段十六進位的亂數,長度內容不限(下面紅色那個是範例,請訂自己專用的):

$cfg['blowfish_secret'] = 'ba17c1ec07d65003';  // use here a value of your choice

這樣就搞定了。 瀏覽器輸入 http://機器的IP位址/phpMyAdmin,用剛剛安裝 MySQL 那組帳號 (root) 和密碼就能登入。如果嫌 phpMyAdmin 名字太長,可以去更改網頁根目錄下面 phpMyAdmin 這個目錄名稱就行了,登入後,新增一個資料庫管理者帳號像是 admin,設定完整權限後再砍掉原先的 root 帳號,會比較不容易和系統 root 搞混。

為避免未來安裝其他程式和存取共用的問題,可以把整個網頁根目錄 (/www) 的使用者和群組通通設定成上述我們新增的那個工作帳號 (www) 及所屬群組 (users):

chown -R www /www钱塘个人空间9Q/T,s(}4zsi
chgrp -R users /www

到此 AMP 就都裝好了,我們有一個強大的網頁伺服器 Apache、還可以設定虛擬站台,有 PHP5 的支援,還有一套 MySQL 資料庫,這個資料庫還有 Web 介面的管理工具:PHPMyAdmin,有了這個環境,不管是單純做個網站,還是要架設討論區、Blog,都可以用這樣的環境來架設


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar