# 如何設定Apache伺服器 Apache HTTP Server是[Apache軟體基金會](https://httpd.apache.org/)的一個開源的網頁伺服器軟體,可以在大多數電腦作業系統中運行。由於其跨平台和安全性,被廣泛使用,是最流行的Web伺服器軟體之一。它快速、可靠並且可通過簡單的API擴充,將Perl/Python等直譯器編譯到伺服器中。 ## 安裝 使用Apache2 ``sudo apt-get install apache2`` 使用Apache ``sudo apt-get install apache`` 在Apache內中,要調整網頁中的數據會再``/var/www/html``內。 要調整Apache伺服器設定值可再``/etc/apache``或是``/etc/apache2``調整 Apache目錄下大多會看到4個資料夾 分別是: #### conf-enable conf為configure設置的意思,而enable是已啟用的,意思是Apache已使用的的設定檔。 #### conf-available available意思為可使用的,那麼這個資料夾是存放使用狀態的設定檔。 #### sites-available(可用的站台) site是站台的意思,這個資料夾可以儲存每個站台的虛擬主機資料夾,除非有另做更動新增,否則Apache是不會使用該資料夾。 #### sites-enabled 放置HTML的設定檔。 檔案則會有 #### apache2.conf 此為Apache主要的配置文件,可以更改Apache伺服器所有設定,這個檔案負責將所有資料夾內的設定檔加載。 #### ports.conf 此檔案是設定讓Apache要監聽的端口,通常是port 80 因為80代表網站伺服器(HTTP Server),當啟用SSL加密傳輸協定時,Apache監聽端口會是443。 開啟Apache服務 指令為:``sudo service apache start`` 查看Apache服務 指令為:``sudo service apache status`` 關閉Apache服務 指令為:``sudo service apache stop`` ##### 請自行換至apache2 ## Step 1. 開啟服務 上面說明教學已經教完了,這時候就要來使用我們的Apache拉 首先開啟Apache服務 指令為:``sudo service apache start`` ## Step 2. 查詢IP 首先不知道自己IP的人,可使用 127.0.0.1 或是 localhost 兩者都通用。 因為 這兩組是本機使用,別人連線不到,那麼要別人連線,當然就要給他地址拉 查看介面卡ip:``ifconfig`` 看到inet addr:這組就可以了 已我的為範例 我的是192.168.1.106 那麼只要再內網內給其他人這組IP都可以連上線,假設要給外面的朋友使用,沒有固定IP的話,可使用Hamachi兩個相連線就可以了。 當然Ngrok也是可以,只要讓對方有連到同個外網介質是什麼其實不重要。 那知道了IP再瀏覽器上輸入會看到Apache 頁面就代表成功了,這時候就可以開始寫網頁了。 ## Step 3. 網頁架構 我們要寫網頁再``/var/www/html/index.html``開始,程式一開始執行會再index.html開始運作,所以我們可以再/var/www/html內寫我們的網頁, ## Step 3. DNS搭建(重要) 假設我們只有IP而已,那不就很難看,也會擔心被爬,所以我們使用DNS。 首先再DNS管理頁面輸入 |名稱|類型|值| |-|-|-| |子域|A|IP| 那麼我們回到/etc/apache/site-available/000-default內 將``# ServerName www.example.com`` 更改為``ServerName 子域.域`` 那麼這文件內又是什麼意思呢 VirtualHost *:80 虛擬主機IP:80 也就是Port監聽的是80 ServerAdmin 伺服器管理員 ServerName 伺服器名稱 DocumentRoot 文件地 ErrorLog 錯誤日誌位置 CustomLog 字定義日誌 SSLEngine SSL開關 那這裡先填入 伺服器管理員``名字@域``,伺服器名稱``子域.域`` 這樣子就搭建完成了 比外面寫得簡單 ## Step 4. 多埠使用(伺服器) 假設你有很多個伺服器要使用,但不想要用IP來進行連線,當Apache再使用DNS時,那麼就可以借用Apache伺服器來轉發到這些伺服器位置。 以SSH為例:SSH其實也不用做什麼設定,連接時命令打``ssh 使用者@子域.域`` 以Mail Server為例: 再剛剛的/etc/apache/site-avaliable/ 新增一個檔案,我個人會創:MailServer.conf 內容就造著前一個檔案打,要改的只有Port號而已,如果有需要也可以再創一個子域,像是mail.域 那麼再DNS要創建 |名稱|類型|值| |-|-|-| |mail|A|IP| 這樣過幾分鐘後就可以再瀏覽器使用mail.域拉!! ## Step 5.Apache更多應用 可以開個Minecraft伺服器,然後使用Apache轉發到Minecraft,這樣每次開伺服器就不用多做設定,要再Minecraft進入伺服器 可以建立Mail server 使用Apache管理,那這樣再外面可以連上自己的Mail_Server 可以建立釣魚網站,詳細的內文會再學習駭客中找到