in Ubuntu/Debian

Lubuntu架設LAMP server二三事(二)

我們在前一篇介紹了架設LAMP server的方法,也介紹了Apache部分的module啟用與設定。我們在這個部分繼續介紹Apache相關的設定。(參考文獻: 實用 .htaccess 腳本合集 – 優化你的網站)

網址(URL)重寫,用到網址重寫目的是可以搭配PHP,用來設計進階的設計模式(design pattern)不可或缺的,比如說RESTful,MVC等。

  1. 我們要先確定module(模組)有沒有加載,所以一樣要開啟終端機輸入指令:
    sudo a2enmod rewrite

    ,通常會顯示

    Module rewrite already enabled

    ,如果沒有的話,就要與第一篇一樣,再多做一個動作,就是要再輸入

    sudo service apache2 restart
  2. 第1步驟完成之後,我們接下來可以編輯.htaccess檔案了,加入這些如下:
    RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [QSA,L]
    
  3. 加入上面的四行意思是,任何請求的URL(網址)都會經過index.php,要注意的是,.htaccess檔案僅限於目錄檔案下
  4. 完成之後,所有請求都會經過index.php了,也因此更進一步的可以開發RESTful web service以及MVC設計模式了。
  5. 完成這4個步驟之後,我們還需要修改Apache2裡的設定檔,設定檔位於/etc/apache2/sites-available/000-default.conf ;若未參考第一系列就需要做第6與第7步驟
  6. 在最後</VirtualHost>之前加入:
    <Directory "/var/www/html">;
    AllowOverride All
    </Directory>
    
  7. 這樣完成之後,輸入指令:
    sudo service apache2 restart

    將Apache2 重新啟動,網址重寫mod_rewrite 就可以使用了。

修改Apache預設監聽的埠號,WWW在Linux作業系統上預設的埠號通常是80,不過有的時候我們想要將埠號改成我們想要的數字時候該怎麼做呢?

  1. Apache2監聽埠號的設定是在
    /etc/apache2/ports.conf

    這個設定檔,把裡面的設定檔改掉,將Listen 80改成Listen 8080。

  2. 接著將Apache2停止並啟動服務(service),
    sudo service apache2 stop
    sudo service apache2 start
    
  3. 打開瀏覽器就會發現要輸入http://localhost:8080才會看到網頁了。
  4. 不過,更改了埠號之後,之前設定檔
    /etc/apache2/sites-available/000-default.conf

    ,是適用於埠號80,因此在8080埠號不適用。

  5. 要讓8080埠號下也可以用埠號80的/etc/apache2/sites-available/000-default.conf設定檔,我們只需要修改下面的設定檔。將設定檔裡的
    <VirtualHost *:80>改成<VirtualHost *:8080>。改完之後,記得將Apache2服務重新啟動,輸入指令:

    sudo service apache2 restart

參考資料: Apache 如何修改 Port Number ( 埠號 ) ?