如何架設cgi

Web hosting, MySQL, PHP and all that good stuff.

版主: bennetliuCrystal.Y@AST

回覆文章
lianchun
文章: 2
youtube meble na wymiar Warszawa
註冊時間: 週六 6月 21, 2025 1:49 pm

如何架設cgi

文章 lianchun »

已經安裝了 Apache Http Server、Perl
但執行 test.pl 時會顯示 *.pl 的原始文字檔而不會執行 CGI 指令,請問要如何設定呢?

NAS:AS1102TL
lensin1
文章: 1432
註冊時間: 週三 12月 04, 2013 2:59 pm

Re: 如何架設cgi

文章 lensin1 »

我把你的問題提交到 ChatGTP 了,得到了不少有用的提示。你可以試試。
lianchun
文章: 2
註冊時間: 週六 6月 21, 2025 1:49 pm

Re: 如何架設cgi

文章 lianchun »

lensin1 寫: 週一 6月 23, 2025 4:18 pm 我把你的問題提交到 ChatGTP 了,得到了不少有用的提示。你可以試試。
好的,已經找到問題點了~

-------------------------------------------------------------------------------------------------------
以下是有修改的內容:
先將檔案複製到WEB方便用WINDOWS修改(請依實際存放位置做修改)
cp -p /volume1/.@plugins/AppCentral/httpd-2.4.43/data/conf/apache2.conf /volume1/Web/apache2.conf

修改 /volume1/Web/apache2.conf 以下內容
LoadModule cgi_module /volume1/.@plugins/AppCentral/httpd-2.4.43/data/lib/apache2/modules/mod_cgi.so

<Directory "/volume1/Web/cgi-bin">
AllowOverride All
Options +ExecCGI
AddHandler cgi-script .cgi .pl
Require all granted
</Directory>

修改後將檔案複製回去
cp -p /volume1/Web/apache2.conf /volume1/.@plugins/AppCentral/httpd-2.4.43/data/conf/apache2.conf
-------------------------------------------------------------------------------------------------------

WINDOWS 存的CGI檔案需要在 SSH 執行此指令
把換行格式轉成 Unix 格式CRLF(Windows) → LF(Unix )
將以下存成 CRLF-LF.pl(utf-8格式),然後放在 /Web/cgi-bin
並在SSH中執行 dos2unix /volume1/Web/cgi-bin/CRLF-LF.pl
然後用網頁開啟 CRLF-LF.pl 檔案,將 *.cgi *.pl 全部轉換一次

CRLF-LF.pl檔案內容:開始

#!/bin/sh

echo "Content-Type: text/plain; charset=utf-8"
echo ""

TARGET_DIR="/volume1/Web/cgi-bin"

echo "🔧 正在處理路徑:$TARGET_DIR"
echo ""

# 找出並處理 .pl / .cgi 檔案
find "$TARGET_DIR" -type f \( -iname "*.pl" -o -iname "*.cgi" \) | while read file; do
# 嘗試用 dos2unix 處理
if dos2unix "$file" >/dev/null 2>&1; then
echo "✅ 已轉換:$file"
else
echo "⚠️ 無法轉換(可能無需轉換或無權限):$file"
fi
done

echo ""
echo "✅ 處理完成。"

CRLF-LF.pl檔案內容:結束
========================================================================
WINDOWS 安裝 SSH
1.以系統管理員開啟 windows powershell
2.安裝 OpenSSH Server,輸入以下指令:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

3.成功安裝後返回以下輸出:
Path :
Online : True
RestartNeeded : False

4.運行以下命令來 啟動 sshd service
Start-Service sshd

5.運行以下命令來開啟自動帶啟 sshd service
Set-Service -Name sshd -StartupType 'Automatic'

6.確認防火牆規則已配置。 應該由安裝程序自動創建。 運行以下命令來驗證
(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)

7.表示 OpenSSH-Server-In-TCP 防火牆規則已配置 (allow 22 port)
Name Enabled
---- -------
OpenSSH-Server-In-TCP True

8.進入 ssh, -p 6066 是指定通訊埠,預設是22,如果沒有改可以不用輸入
ssh -p 6066 帳號@100.100.100.200
lensin1
文章: 1432
註冊時間: 週三 12月 04, 2013 2:59 pm

Re: 如何架設cgi

文章 lensin1 »

AI非常好用!
回覆文章