目前分類:Apache (8)

瀏覽方式: 標題列表 簡短摘要

今天遇到一個新機器,把舊機器上的 Apache config (httpd.conf) 和程式直接丟上去,卻跑出錯誤訊息:

403 Forbidden
You don't have any permission on ...
(路徑名稱)

原來是舊機器用 Apache 2.2,新機器是 Aapche 2.4,config 要做一些調整。

小攻城師 發表在 痞客邦 留言(0) 人氣()

前幾天因為 PhotoShop CS2 一直掛掉,錯誤訊息是:

Microsoft Visual C++ Runtime Library Runtime Error! 
Program:  D:\Adobe\Photoshop.exe R6025
文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

一直以來都管理 Windows 上的機器居多,在 Windows 要把模組打開,通常就是到 Apache 目錄下的 httpd.conf,把註解掉的模組檔 (*.so) 前面的註解拿掉,譬如說,遇到以下的錯誤訊息,是無法載入網址重寫 (URL rewrite) 的模組的錯誤:

Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration

在 Windows 時,只要到 Apache\conf\httpd.conf,把以下這行前面註解的井字號 (#) 拿掉,然後存檔重啟 Apache 就可以了:

LoadModule rewrite_module modules/mod_rewrite.so

但是最近有一台新的機器,作業系統是 Linux 的 SUSE,我試著要 vi /etc/apache2/sysconfig.d/loadmodule.conf,但是發現每次重啟 Apache 後,這個 config 檔的內容都會被還原到我修改之前的狀態。

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

前幾天有安裝 AWStats 來分析 Apache 上的網站 log:《[Apache] 設定 Log 分析工具 AWStats:解決 403 forbidden 錯誤的問題》,不過後來發現,我們網站有兩台 web server(假設 IP 是 127.0.0.1 & 127.0.0.2),我取回兩台主機的 log 分別 copy 到我要跑 AWStats 的主機上的 C:\logs\site1 和 C:\logs\site2 這兩個資料夾。

要合併同時轉換這兩個資料夾裡的數據,要打開 AWStats 對各站台的設定檔來調整合併 LOG 的相關設定 (logresolvemerge.pl)。

打開 C:\AWStats\wwwroot\cgi-bin\awstat.{YOUR_SITE}.conf 改設定:

小攻城師 發表在 痞客邦 留言(0) 人氣()

因為某批網頁之前沒有加上 Google Analytics code,所以因應同事需要,裝了 AWStats 來分析早期的網頁 log。在網路上找到這篇頗詳細的安裝教學《awstats介紹與安裝教學》,照上面的設定稍微調整後安裝如下:

  1. 必須先行裝 ActivePerl 安裝路徑,我是裝到預設路徑。
  2. 下載 AWStats,我是直接抓 ZIP 檔解壓縮到自己高興的目錄。(反正等下 Configuration 會自訂路徑別名,裝在哪裡都 OK)
  3. 手動執行 awstats_configure.pl:
    在 DOS command 視窗裡,切到 AWStats\tools 目錄下,執行 perl awstats_configure.pl 這行指令
    • 執行後,它會先問你 Apache 的目錄在哪,請輸入實際的 Apache 目錄,例如 C:\Apache
    • 接著會問你的 apache 的 config 檔在哪,請輸入實際的 httpd.conf 路徑,例如 C:\Apache\conf\httpd.conf 
    • 會問你要不要新增一個 AWStats config,選 Y。
    • 輸入你的網站名稱(自己高興就好的名字,英文)。
  4. 打開 Apache 的  httpd.conf,檢查最後面多出的 AWStats 設定是否正確:

    # Directives to allow use of AWStats as a CGI 

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

在 Apache 裡,可以在 .htaccess 或 httpd.conf 這兩個檔案設定轉址 (URL rewrite, 網址重寫),這次收到的任務是希望將特定的網頁(例如使用者登入、個人資料填寫等等),轉向 HTTPS。 

原本打算直接在 HTML code 裡把 <a> 標籤裡的 href 屬性直接設成 https 開頭,就此交差結案,不過實際操作一陣子後,發現只要 user 有進入過一次 "https://" 開頭的頁面,接下來的相對連結也都通通會轉向 HTTPS。但某些功能擔心會在 HTTPS 下出問題,尤其之前檔案下載頁會出些狀況:[PHP] SSL 網站在 IE 會發生下載錯誤的問題修正,所以還是決定找點解法來設定轉址。

研究了一陣子發現 Apache 的 Rewrite 模組有 "Skip" 這個 tag,設定 [S=N] (N 為要跳過的規則數量),就可以讓 Rewrite 對特定的條件生效,於是有了以下設定。

文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()

每次設定轉址規則都會忘記怎麼做,在這邊簡單筆記一下。

 

首先要先在 Apache 設定 httpd.conf,重點是要設定 "AllowOverride All"。

文章標籤

小攻城師 發表在 痞客邦 留言(1) 人氣()

今天想讓網站在瀏覽時能加上權限控管機制,所以設了 .htaccess,但一設就出現錯誤訊息 "Internal Server Error"。

追查順序如下:

  1. 看 php 的 error log (php_error.log),裡面沒有提到這個錯誤。
  2. 查 Apache 的 access.log,沒看到什麼,只看到 HTTP 1.1 status 500 533 的錯誤,但查了一下好像也沒什麼東西。
  3. 看 Apache 的 error.log,找到問題了。
文章標籤

小攻城師 發表在 痞客邦 留言(0) 人氣()