來用Apache架設簡單WebServer吧

前言

本文安裝環境為 Ubuntu16.04

提供給初學想要用 Apache 架站的人做參考

會由安裝到 Apache 的細部設定依序說明

安裝Apache

  1. 安裝套件

​ sudo apt-get install apache2

  1. 確認安裝完成後啟動服務(兩個指令都行)

​ sudo systemctl start apache2

​ sudo systemctl start apache2

啟用後可以用以下兩個指令查看運作狀態

sudo service apache2 status

sudo systemctl status apache2

細部設定

個人首頁設定

  1. 啟用個人首頁

​ sudo a2enmod userdir

  1. 新增個人首頁的設定檔

    sudo nano /etc/apache2/mods-available/userdir.conf

  2. 確認防火牆開啟

    sudo iptables -t filter -L –n

  3. 重啟 Apache 服務

    sudo systemctl restart apache2.service

這時候在自己帳號的資料夾底下( 通常會是 […/使用者帳號/home/] )

建立 public_html 資料夾

mkdir public_html

並放上網頁檔案在網址列打上

電腦的ip / ~使用者名稱 / 檔案名稱

就能看到放上去的網頁了

放置網頁檔案的目錄

請更改以下檔案

sudo nano /etc/apache2/sites-enabled/000-default

找到 DocumentRoot 後面改成要改的目錄位置

網頁檔案名稱的設定

請更改以下檔案

sudo nano /etc/apache2/mods-available/dir.conf

找到 DirectoryIndex 後面改成要改的檔案名稱

可能會用到的指令

  • 查看 Apache 版本

​ apache2 -v

系統時區

  • 查看時區

    timedatectl

  • 設定時區

    sudo timedatectl set-timezone Asia/Taipei

  • 查看能設定時區的地區

    timedatectl list-timezones

內部防火牆

  • 啟用或停用狀態

    sudo ufw enable/disable

  • 啟用日誌

    sudo ufw logging on

  • 查看狀態及規則

    sudo ufw status

    sudo ufw status verbose

    sudo ufw status numbered #以數字排列目前防火牆規則

    sudo ufw delete 3 #刪除剛剛查看的第三條防火牆規則

    sudo ufw reset #清空防火牆所有已設置之規則

  • 查看需要開放的應用程式

    sudo ufw app list

  • 查看應用程式開放資訊

    sudo ufw app info “應用程式名稱”

    Ex :

    要開放 Apache 的通行請打

    sudo ufw allow in "Apache Full"

沒有實體機器的做法

請去下載 Virtualbox

裝好 Windows作業系統 後

  1. 開機前將網路介面卡設成 僅限主機的介面卡

  2. 開機後使用 終端機指令 查看enp0s3(或其他)位址

    ipconfig

​ 假設看到的ip為 192.168.56.102

  1. 更改C:\Windows\System32\drivers\etc\hosts 檔案內容

    預設要先把User權限打開才能編輯

    更改的內容如下

    hosts內容

  2. 在自己電腦瀏覽器輸入 http://192.168.56.102/ 或 http://guestserver.com/ 就能看到首頁

設定 NAT + Host-only 網卡

若虛擬機想要連上網路用 Host-only是不行的

需要設定第二張網卡 NAT

  • 查看網卡名稱

​ ip link

  • 更改網路設定檔

​ sudo nano /etc/network/interfaces

​ 更改內容如圖所示

interfaces內容

  • 啟用寫好的網路介面並重啟網路

    sudo ifup enp0s8

    sudo /etc/init.d/networking restart