搭建個人網站

火星人 @ 2014-03-29 , reply:0



在一個被Windows壟斷的辦公環境中使用Linux辦公,你就是少數,你就不得不照顧大多數人的習慣,想辦法「兼容」大多數人。
一個比較有效的辦法就是把自己的計算機改造成簡單的個人網路伺服器,利用流行的網路服務解決與大多數人交流電子文檔的問題。
下面將討論如何基於紅旗Linux桌面版配置伺服器,提供WWW/FTP服務的問題。注意,這裡的討論只適合個人使用。如果要搭建企業級的伺服器,需要考慮更多的問題,這裡介紹的方法也許並不夠充分。


用Apache提供簡單Web服務


假設要建立一個個人Web網站,允許別人能通過內部區域網訪問這個網站,閱讀文檔或下載軟體。網站的網頁文件都存在/mnt/WinD/www123下,首頁文件名是 index.html,可供下載的軟體存在/mnt/WinD/unixsoft下。

安裝Apache 2.0.53

Apache 伺服器軟體安裝包是一個tar包,可以下載得到。其中包含所有的源程序。2.0.53版的文件名是httpd-2.0.53.tar.gz,也有 httpd-2.0.53.tar.bz2的,只是壓縮方式不同而已。在圖形界面下,選中壓縮包點滑鼠右鍵,在彈出菜單中選擇「解壓」即可完成解壓,形成 httpd-2.0.53目錄。
在命令行方式下,轉入httpd-2.0.53目錄,configure,make,make install,make clean等命令就可以完成安裝完了。為了方便,可以把這些命令用分號(;)隔開寫成一行,如下所示。
./configure;make;make install;make clean
這樣做之後,安裝程序會自動在/usr/local中創建 apache2 目錄,Apache伺服器軟體的所有配置文件和可執行文件就都保存在這裡。如果要卸載,只需將 apache2 目錄刪除即可。有兩點需要注意:第一,安裝時必須使用root身份;第二,如果httpd-2.0.53目錄處於系統自動掛裝的非ext2/ext3分區,執行configure命令可能會出錯,導致無法正常安裝。如果httpd-2.0.53目錄在ext2/ext3分區,就不會出現這個問題了。因此,建議把解壓形成的httpd-2.0.53目錄放在/root目錄之下。

配置

接下來要修改配置文件/usr/local/apache2/conf/httpd.conf來控制伺服器軟體,使其按要求運行。
首先,修改Listen行,確定服務的IP地址和埠號:
Listen 10.1.30.147:80
說明:10.1.30.144是當前計算機的IP地址,通過80埠提供Web服務。 此項不特意設也可,默認埠就是80。
其次,修改DocumentRoot ,設定主頁所在的根目錄。修改後形成如下兩行:
DocumentRoot "/mnt/WinD/www123"

第三,修改DirectoryIndex行,確認首頁的文件名在其中。如果沒有就追加上。
DirectoryIndex index.html index.html.var第四,增加一個Alias,把/mnt/WinD/unixsoft映射為網站根目錄下的unixdown目錄。增加的內容如下:
Alias /unixdown/ "/mnt/WinD/unixsoft"

Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all

上述四步配置的目的是使區域網的其他計算機能用http://10.1.30.144/這個網址訪問我的...鑰吹轎募?斜懟?

啟動和關閉

安裝配置好之後,運行下面的命令是就可以啟動這個WWW伺服器了。
/usr/local/apache2/bin/apachectl start
若要重啟動這個WWW伺服器
/usr/local/apache2/bin/apachectl restart
若要關閉WWW服務
/usr/local/apache2/bin/apachectl stop

自動啟動

如果希望系統每次啟動時自動啟動httpd伺服器,則還要做如下工作。
首先,拷貝apachectl 到/etc/rc.d/init.d/,並更名為httpd ,相應的命令是:
cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
然後,修改/etc/rc.d/init.d/httpd中的ARGV行,改成:
ARGV="start"
最後,在/etc/rc.d/rc5.d目錄下,創建一個指向httpd的硬鏈接。相應的命令是:
ln /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S85httpd
為了保證在字元模式下啟動紅旗也能提供Web服務,還要在/etc/rc.d/rc3.d目錄下,創建一個指向httpd的硬鏈接。相應的命令是:
ln /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S85httpd
支持PHP的Web網站


上面已經建立了簡單的Web網站。很多情況下,這已經能滿足了文檔和軟體共享的需要。但有些時候,還需要記錄網站被訪問的次數、軟體的下載次數,甚至需要建立一個簡單的留言簿。這時,就需要使Web網站支持某種動態網頁。在Linux上,一種最流行的支持動態網頁的搭配就是:Apache+PHP。
下面就討論如何用Apache和PHP搭建支持PHP的Web網站。

安裝Apache 2.0.53

關於Apache的安裝前面已經做了介紹。但為了與PHP配合工作,Apache的安裝操作會有所變化。
對比前面「簡單Web服務」的安裝操作,在執行configure指令時稍有不同,需要給configure增加參
數enable-so使其支持可裝載模塊和標準的MPM prefork。具體來說在命令行方式下,轉入httpd-2.0.53目錄后,執行如下命令進行安裝。
./configure enable-so
make;make install;make clean

安裝PHP 5.0.2

PHP軟體安裝包也是一個tar包,可以下載得到。文件名為php-5.0.2.tar.gz,解壓方法與Apache的相同。需要注意的是,為了能正常編譯,最好直接在ext2/3分區上進行解壓。解壓後會形成php-5.0.2目錄。
轉入該目錄開始安裝。
安裝PHP前應關閉Apache。
安裝時configure指令需要參數,這個參數說明了Apache具體的安裝路徑。
./configure with-apxs2=/usr/local/apache2/bin/apxs
make
make install;make clean
安裝完成後,還需要把php的配置文件複製到合適的目錄下,具體命令如下:
cp php.ini-dist /usr/local/lib/php.ini

配置Apache

關於Apache的配置前面已經做過一些介紹。顯然,在搭建支持PHP的Web網站時這些配置仍需要做。
為了使其與 PHP配合工作 ,還要增加如下的配置。
首先,檢查配置文件/usr/local/apache2/conf/httpd.conf中是否有如下的條目(一般來說,在安裝php的過程中,都會自動增加),如果沒有,一定要添加以便Apache在啟動時可以自動載入php模塊。
LoadModule php5_module modules/libphp5.so
其次,還要手工增加如下兩個條目:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
第一條的含義是:如果文件擴展名為.php或.phtml,就要用PHP解析;第二條的含義是:如果文件擴
展名為.phps就按PHP語法高亮顯示該源文件。
最後,還應該修改DirectoryIndex行,允許首頁以index.php作為文件名。修改後的情況就是:
DirectoryIndex index.html index.php index.html.var

測試

做了上述配置后,這個Web網站就支持PHP了。可以編寫一個簡單的PHP文件phptest.php進行測試,
其中含有PHP語句即可。下面是一個例子:


Example


echo "Hi, I´m a PHP script!";
?>


如果在瀏覽器上只顯示了紅色字體的文字,就說明該網站能正確解析PHP文件。
FTP服務


安裝ProFTP 1.2.9

可以安裝ProFTP來提供ftp服務。
可以下載得到ProFTP的安裝包proftpd-1.2.9.tar.gz,先用tar命令解壓。也可以在圖形界面下,選中壓縮包點滑鼠右鍵,在彈出菜單中選擇「解壓」進行解壓,形成后形成proftpd-1.2.9目錄。
在命令行方式下,轉入proftpd-1.2.9目錄, 依次執行configure,make,make install,make clean等命令就可以完成安裝完了。為了方便,可以把這些命令用分號(;)隔開寫成一行,如下所示。
./configure;make;make install;make clean
ProFTP的安裝程序會把配置文件proftpd.conf放在/usr/local/etc下,把可執行文件proftpd及 ftpshut 放在/usr/local/sbin下。

基本配置

在運行proftpd之前,需要對運行環境和proftpd的配置文件進行設置,以便該軟體按要求運行。
首先,核實系統是否存在系統用戶ftp的默認家目錄,即/var/ftp這個目錄。
/var/ftp這個目錄是系統用戶ftp的默認家目錄,也是匿名ftp用戶(anonymous)登陸后自動進入的目錄。
如果沒有/var/ftp,匿名ftp服務可能會有問題。
如果系統中沒有/var/ftp這個目錄,就應該創建它,並將其屬主設成ftp。相應的命令如下:
mkdir /var/ftp
chown ftp.ftp /var/ftp
還有一種辦法,就是修改系統用戶ftp的屬性,使其家目錄指向其他已存在的目錄。方法是:執行【開
始】→【設置】→【控制面板】→【本地用戶和組】,找到ftp這個用戶,選中它並點滑鼠右鍵,執行彈出菜單的「屬性」即可調出該用戶的屬性設置界面,在「主目錄」中輸入相應的目錄,然後確定即可。
其次,修改proftpd的配置文件/usr/local/etc/proftpd.conf。
在配置文件中有User和 Group 項,是用來設定運行proftpd的身份的。其中,Group 項初始值設為
nogroup,而實際上紅旗Linux4.1中並沒有自動創建nogroup這個組,只有nobody這個組(其中有nobody用戶)。因此,Group 項應改為
Group nobody
如果想給匿名用戶開放寫入許可權,還應該修改配置文件中之間的Limit段改寫成:

#DenyAll
AllowAll


用戶許可權控制

經上述配置后,當以匿名身份登陸時,只能訪問系統用戶ftp的家目錄。讀寫許可權由配置文件控制。如
果創建了普通用戶帳戶,也可以用這個帳戶來登陸ftp服務,密碼就用該用戶登陸系統時所用的密碼。此用戶登陸后的讀寫許可權與直接登陸系統時的許可權相同。這意味著,該用戶以ftp方式登陸后,對系統中絕大多數文件和目錄都有讀的許可權,都可以下載!在大多數情況下,這是比較危險的。
如果希望普通用戶以ftp方式登陸后被限制在其家目錄內,就需要讓配置文件/usr/local/etc/proftpd.conf
中的DefaultRoot ~生效。方法很簡單,把DefaultRoot ~之前的井號(#)刪除即可。

啟動

執行proftpd命令,就可以啟動proftpd,以stand-alone模式提供FTP服務。帶完整路徑的命令如下:
/usr/local/sbin/proftpd
如果希望proftpd能被自動啟動,則應打開/etc/rc.d/rc.local,加入如下一行內容。
/usr/local/sbin/proftpd
這樣,每次啟動計算機后,proftpd都會被自動啟動。

相關命令

關閉FTP服務
ftpshut now
此命令會在/etc下生成文件shutmsg。此命令僅僅是停止FTP服務,並不是關閉proftpd程序。
重新開放FTP服務
ftpshut -R now
直接把/etc/shutmsg刪除也能產生相同的效果。
查看伺服器在線人數
ftpcount
顯示在線人員名單
ftpwho




[火星人 via ] 搭建個人網站已經有278次圍觀

http://www.coctec.com/docs/linux/show-post-204730.html