24 六月 2015

微調你的 AMP 環境,讓 Joomla! 運作更順暢

wamp logo

AMP 是什麼?

  在討論 Joomla! 相關資源時提到的「AMP」,是取「Apache 網頁伺服器」、「MySQL 資料伺服器」及「PHP 程式語言」第一個英文字的組合。有熱心網友將上述三項整合成單一安裝程式,在本機電腦安裝後你就能測試 Joomla! 系統了。

  主流作業系統上都能找到 AMP 整合程式安裝,Windows 平台阿寶建議使用「WAMP」,Mac OSX 找「MAMP」,XAMPP 在主流作業系統都有對應的安裝程式,本文以 WAMP 做示範。

WAMP 官網:http://www.wampserver.com/en

AMP 設定檔案所在位置(以 WAMP 為例)

  以預設方式安裝 WampServer 時,重要設定檔路徑如下所列:

  • WampServer 網頁根目錄:C:\wamp\www。
  • Apache 設定檔:C:\wamp\bin\apache2.4.9\conf\httpd.conf。
  • MySQL 資料庫存放位置:C:\wamp\bin\mysql\mysql5.6.17\data。
  • MySQL 設定檔位置:C:\wamp\bin\mysql\mysql5.6.17\my.ini
  • PHP 設定檔位置:C:\wamp\bin\php\php5.5.12\php.ini。

調整 Apache 設定,開啟網址轉寫功能

  Joomla! 可以透過 SEF(Search Engine Friendly:搜尋引擎友善化)功能,將網站網址轉換成容易閱讀的格式。要使用上述功能 Apache 網頁伺服器必須啟動網址轉寫模組(mod_rewrite),你可以透過純文字編輯程式(像是 Notepad++)開啟 Apache 設定檔,看看該功能是否啟動。

  當你更動了 Apache 設定檔內容,請記得一定要重新啟動 Apache 程式,更動才會生效。PHP 的運作依附於 Apache,當你更改了 PHP 設定檔(php.ini)內容時,也請記得重新啟動 Apache。

Step 01:以 Notepad++ 程式開啟「C:\wamp\bin\apache2.4.9\conf\httpd.conf」,以關鍵字「mod_rewrite」搜尋(鍵盤快速鍵 Ctrl + f 可快速開啟搜尋視窗)。

搜尋:mod_rewrite
▲搜尋:mod_rewrite

Step 02:你會看到該行最前面有「#」記號,代表該行內容不會執行。請將「#」記號刪除後儲存檔案。(鍵盤快速鍵 Ctrl + s)

移除「#」記號
▲移除「#」記號

Step 03:搜尋「AllowOverride None」字串(前面需有「」字串),找到之後修改成「AllowOverride All」後存檔,重新啟動 Apache。

修改「AllowOverride」字串後內容
▲修改「AllowOverride」字串後內容

  完成上述設定後 Joomla! 可以透過「全站設定」畫面中設定,以及網頁根目錄的「.htaccess」檔案使用 Apache 的網址轉寫功能。因為 Windows 系統設定的關係,你無法直接將「httaccess.txt」更名為「.htaccess」。請利用純文字編輯器開啟「htaccess.txt」,然後透過「另存新檔」方式就能將「htaccess.txt」改存為「.htaccess」。

要求 MySQL 需以 unicode 方式建立資料庫

  本文使用的 WAMP 其中包含的 MySQL 5.6.17 預設編碼格式是拉丁語系(latin1),在儲存像是中文這樣以雙位元編碼的內容資料時會發生問題,但是你在操作網站時不會發現。哪天你需要將網站需要搬移到其他環境時,就會發現問題大了...

  為了避免上述問題發生,你可以修改 MySQL 的運作設定,以 Unicode(UTF-8)作為資料庫預設編碼及排序規則。

  以純文字編輯器開啟檔案後找到「[mysqld]」字串,加入以下三行:

skip-character-set-client-handshake
collation_server=utf8_unicode_ci
character_set_server=utf8

WAMP 修改 MySQL 設定檔示意
▲WAMP 修改 MySQL 設定檔示意。

  儲存後請重新啟動 MySQL 伺服器讓設定生效,MySQL 就會以 unicode 作為新建資料庫的預設編碼。

為 MySQL 管理者帳號上鎖

  WAMP 的 MySQL 管理者帳號(root)沒有設定密碼,如果你的 AMP 環境會運作正式網站,你必須改用新的密碼確保安全。更改管理者帳號可透過 SQL 指令完成,如果你不清楚如何輸入也可透過 PHPMyAdmin 進行。

  為資料庫管理者帳號設定新的密碼後,你需要輸入管理者帳號及密碼後才能登入 PHPMyAdmin 畫面。

Step 01:前往 PHPMyAdmin:在瀏覽器網址列輸入:http://localhost/phpmyadmin。

Step 02:點選畫面上方的「使用者」項目。

點選「使用者」
▲點選「使用者」


Step 03:在畫面中點選「主機」欄位為「locahost」的使用者「root」右方的「編輯權限」項目。

點選「root」帳號右方的「編輯權限」連結
▲點選「root」帳號右方的「編輯權限」連結

Step 04:將畫面往下捲動找到「修改密碼」區塊,然後在「密碼」及「重新輸入」欄位輸入新的管理者密碼,最後按右方的「執行」讓新密碼生效。

輸入並確認新密碼
▲輸入並確認新密碼

Step 05:更攺 MySQL 管理者密碼後 PHPMyAdmin 運作畫面可能會出現像是下圖般的錯誤訊息,這是正常現象。

為 root 設定密碼後與 PHPMyAdmin 設定不符,顯示錯誤訊息。
▲為 root 設定密碼後與 PHPMyAdmin 設定不符,顯示錯誤訊息。

Step 06:請透過文字編輯器開啟 PHPMyAdmin 設定檔案進行編輯,路徑如下:

C:\wamp\apps\phpmyadmin4.1.14\config.inc.php

找到「$cfg['Servers'][$i]['auth_type']」項目,將右方單引號內容從「config」改成「cookie」後存檔,如下圖所示。

修改 config.inc.php
▲修改 config.inc.php

Step 07:你會發現重新讀取的後的 PHPMyAdmin 畫面出現帳號登入方塊,請在「使用者帳號(Username)」欄位輸入「root」;「密碼(Password)」欄位輸入新的管理者密碼,當你看到 PHPMyAdmin 主畫面時代表 MySQL 管理者密碼更攺完成。

更改 PHPMyAdmin 設定後,以先前設定的 root 帳號資訊登入。
▲更改 PHPMyAdmin 設定後,以先前設定的 root 帳號資訊登入。

調整 PHP 設定,讓網站運作更順暢

  Joomla! 的運作程式碼格式是 PHP 語言,因此 PHP 的設定內容會直接影響 Joomla! 運作是否順暢。AMP 整合程式的 PHP 預設設定適合軟體開發,但不適合作為正式網站使用,所以得做些調整。

WAMP 的 PHP 設定檔位置:C:\wamp\bin\php\php5.5.12\php.ini。

  以純文字編輯器程式開啟 php.ini 檔案,請透過程式的尋找功能(鍵盤快速鍵是 Ctrl + f)搜尋以下標題項目進行修改,讓 PHP 的執行情況與正式網站環境相同。

max_execution_time

  PHP 程式允許的最大執行時間,以秒計算。預設設定為 30 秒,阿寶建議調高此數值為 60 秒,在日後安裝較大型擴充套件,或是電腦效能較低的情況會有幫助。

max_execution_time = 60

error_reporting

  錯誤訊息的回報模式,不同的運作環境設定值也會不同。以下設定適用於網站正式運作環境。

error_reporting = E_ALL & ~E_DEPRECATED

display_errors

  是否將錯誤訊息作為輸出內容的一部份,在正式運作環境中此項目是關閉的。

display_errors = off

post_max_size

  在進行 POST 動作(例如檔案上傳)傳送檔案時的容量上限,此設定值必須大於「upload_max_filesize」的設定。建議可以調多一些(例如 96M)。

post_max_size = 96M

upload_max_filesize

  單一上傳檔案的最大大小。Joomla! 擴充套件安裝檔案大小通常不會超過 4MB,如果你要上傳頁數較多的 PDF 文件請斟酌調高。此項目設定值不得大於「post_max_size」項目的設定,大於該項目時會被忽略。

upload_max_filesize = 8M

date.timezone

  設定伺服器所在時區,臺灣請輸入「Asia/Taipei」。

date.timezone = “Asia/Taipei”

  修改後請記得重新啟動 Apache,讓新的 PHP 設定值生效。

back to top
Tags: Joomla!, 素人架站計畫, php, apache, mysql, wamp, AMP
  • 下一篇文章:用CT-BOX魔力文字讓網站文字改頭換面 用CT-BOX魔力文字讓網站文字改頭換面
  • 首頁
    • 會員使用條款
    • 隱私權政策
  • Joomla!
    • Joomla! 新聞
    • J2Store 教學
    • Joomla! 核心
    • 元件文章
    • 佈景主題文章
    • 經驗、觀念分享
    • 外部網路資源
  • 書籍與授課
    • Joomla! 書籍簡介
    • 簡報分享
  • 討論區
  • 留言板
  • 會員登入
為使您有最好的使用體驗,本網站使用 cookies 功能記錄您的喜好。
We use cookies to ensure that we give you the best experience on our website.
我同意 / I accept