[How To]用VPS架設LAMP

 

本篇文章的目的是按部就班的教大家如何在VPS上面架設網頁伺服器,並且設定好SSL安全連線。

VPS是甚麼?

VPS是一台電腦所提供的虛擬電腦,你具有幾乎完整的控制權;在我們這則教學上,我們將使用Linux機器來安裝LAMP,亦即Linux、Apache、MariaDB、PHP。

我們這次使用Vultr做為示範平台,主機採用位於日本東京的CentOS 7:

架設網站需要甚麼?

網域:

網域是網站的入口,在本次教學將會使用已經購買好的網域;同時DNS將交由Cloudflare代管,並且在Cloudflare啟用嚴格安全的SSL加密傳輸。

AMP:

大部分的網頁應用程式都需要Apache、MariaDB以及PHP,視情況MariaDB可以不用架設在網頁伺服器上面,但是在本教學我們將會一併安裝MariaDB。

Apache與PHP的關係:

Apache只能單純的給予檔案,而PHP可以針對檔案做處理;比喻上來說就是服務生與廚師的關係,服務生可以單純的把東西給予客戶,但是若需要料理的食物,則需要由廚師進行處理後再交給服務生上菜。所以若是你的網站只有靜態元素(HTML、CSS、JavaScript)的話,你可以省略PHP安裝。

MariaDB:

MariaDB是資料庫,類似冰箱,可以經由廚師(PHP)進行存取的動作;冰箱不一定要放在同一個廚房,你也可以放在其他地方,但是若是沒有PHP,MariaDB是不需要安裝的。

讓我們開始吧

請先準備好以下物品:

產生連線金鑰

為確保主機安全,我們會用非對稱加密法連線;請先開啟puttygen.exe

  1. 按下Generate並且在框框內移動滑鼠以加快金鑰產生。
  2. 生成完之後可以自己取名字,但是不怎麼重要。
  3. 請儲存private key(私鑰),會提示沒有設定密碼;這部分自行決定即可。
  4. 上圖框框內的文字是公鑰,需要貼到VPS上的。

租一台VPS

匯入金鑰:

首先,我們必須要把剛剛產生的金鑰上傳至Vultr上面。

來租主機吧:

因為沒有2.5美元的方案了,所以我只能用5美金的方案,不過別擔心,他是以小時計費的。
等等我預計會使用host.lv5.in的網址,另外還要記一下VPS的IP

連線到主機:

我們填入IP並且讀取剛剛存下來的檔案,如果怕麻煩可以按儲存。

之後會出現一個視窗詢問是否要連接到此主機,請點選”是”;這個視窗只會跳出來一次,如果之後還跑出來,要注意是不是受到中間人攻擊。

主機指紋
主機指紋

帳戶是root,密碼的部分已經由剛剛的SSH Kye幫你驗證了。

開始安裝東西吧。

首先,先更新吧。

安裝 Apache,啟用它、設定開機自動執行。

//後面的是解釋,別貼上去嘿

安裝阿帕契
安裝阿帕契

執行、開機自動執行阿帕契
執行、開機自動執行阿帕契

接下來我們去設定SSL安全性

我們要停用不安全的SSL協定、啟用前向安全、支援更多的加密協定
vi的用法:

  • a:編輯
  • esc:跳出編輯模式
  • /:在非編輯模式下搜尋
  • :wq :冒號wq是寫入離開的意思

設定防火牆:

設定完網頁伺服器後要記得開啟防火牆

設定防火牆
設定防火牆

之後就可以用http://”你的IP位置” 看到範例頁面嚕,在這個例子是http://45.32.46.97/

Apache Testing Page
Apache Testing Page

安裝 PHP 7.1

指令安裝 MariaDB

MariaDB是相容於MySQL的資料庫。若是要使用外部資料庫,要開啟SELinux的限制:

若是不要使用外部資料庫的話,就用本地的囉,那讓我們來安裝MariaDB吧~

安裝SQL與設定開機自啟動
安裝SQL與設定開機自啟動

執行以下指令設定 MariaDB 的 root 密碼, 預設是空密碼, 所以建議盡快修改,這個腳本會幫你設定root密碼、阻擋root遠端登入、移除預設資料表、移除匿名帳號;記住你現在設定的密碼,存取時會用到。

大功告成啦~~~

申請SSL憑證:

我們要向Cloudflare申請憑證以啟用嚴格的SSL,請先申請Cloudflare帳戶並且添加域名至Cloudflare。

記住CloudFlare原生憑證的公要(上)與私鑰(下),我們要放到VPS上面。

進入ssl設定檔案,並找到公鑰與私鑰的位置:

我這邊採取的做法是直接改兩個檔案的位置,你也可以把設定檔案裏面的路徑改掉。

然後重新啟動阿帕契,然後確定CloudFlare有啟用代理。

啟用CloudFlare代理
啟用CloudFlare代理

開啟嚴格的SSL代理
開啟嚴格的SSL代理

之後網頁就是安全的https了。

SSLLab評價為A
SSLLab評價為A

上傳網頁嚕,以Wordpress為例:

我們使用FileZilla作為上傳檔案的工具,協定是SFTP:

網站預設目錄是/var/www/html,現在我們將Wordpress上傳至目錄下面

讓我們回到SSH,接下來要解壓縮以及修改權限。

之後要為了Wordpress建立一個資料庫,關於資料庫的操作請看這裡

之後就是一般的安裝了,大功告成!

優化:

啟用.htaccess

把目錄下的allowoverride none改成allowoverride all

One Trackback

Post a Comment

Your email is never published nor shared. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

*
*