[自己架網站] 部署 AWS EC2 主機 + LAMP server + phpMyAdmin


Posted by ai86109 on 2020-09-16

前言

在開始之前,我們先來個名詞解釋,『虛擬空間』、『虛擬主機』、『實體主機』是什麼?

簡單來說,『虛擬主機』就是『實體主機』經過軟體切成許多的『虛擬空間』,而每一個虛擬空間就成為一個獨立的虛擬主機,這些切割出來的虛擬主機一樣可以建立網站、架設平台,就像是實體主機一樣,所以除非是大公司,不然還是會以虛擬主機為主,畢竟實體主機的價錢太昂貴了。(參考資料

而 AWS EC2 主機,就是 Amazon 所提供的虛擬主機服務,若你想要自己架設網站,就會需要擁有一個虛擬主機。

部署 AWS EC2 主機

  1. 首先就先辦個帳號,然後在服務中找到 EC2

  2. 啟動執行個體

  3. 作業系統選擇 Ubuntu Server 18.04

  4. instance type 選擇免費的

  5. 之後就一路 next 到 Configure Security Group,在這邊要增加 HTTP 和 HTTPS

  6. 設定好之後按 Review and Launch

  7. 選擇 create a new key pair,key pair name 可以自己取,並且記得要下載下來!

  8. Launch 後,回到 EC2 頁面,找到 running instances

  9. 剛剛新增的 instance 會有一個 IPv4 Public IP,記下來等等會用到

  10. 這樣你就擁有一個虛擬主機拉!

LAMP server

LAMP 其實就是作業系統 Linux,網頁伺服器 Apache,資料庫 MySQL,和程式語言 PHP 的縮寫。

所以我們現在就要在 Ubuntu 這個作業系統上,來安裝 LAMP server,讓我們的程式碼可以透過這個 server 跑起來。

  1. 首先我們要先連上我們的主機
    ssh -i ~/Documents/你的key-pair-name.pem ubuntu@剛剛要你記下來的IPv4
    .
    1-1. 如果顯示找不到你的金鑰的話,將路徑換成絕對路徑看看(建議將金鑰放在隱藏資料夾 .ssh 下,比較安全?)
    ssh -i /Users/cyen/.ssh/key-pair-name.pem ubuntu@IPv4
    .
    1-2. 若出現 WARNING: UNPROTECTED PRIVATE KEY FILE!,表示此金鑰具有 0777 的檔案權限,可讓所有人讀取或寫入此檔案,請參照錯誤:未受保護的私有金鑰檔案設定
    chmod 0400 ~/.ssh/key-pair-name.pem

  2. 成功連線後,將系統更新至最新
    sudo apt update && sudo apt upgrade && sudo apt dist-upgrade

  3. 安裝 Tasksel
    sudo apt install tasksel

  4. 用 Tasksel 下載 lamp-server
    sudo tasksel install lamp-server

  5. 安裝成功後,到網址列輸入你的 IPv4,如果看到看到預設網頁,表示 LAMP server已經安裝成功!

設定 phpMyAdmin

  1. 安裝 phpMyAdmin
    sudo apt install phpmyadmin

  2. 選擇網頁伺服器的地方,因為 LAMP 用的是 Apache,所以就選它吧

  3. dbconfig-common 是否設定,選 yes

  4. 設定密碼(自己記得記下)

  5. phpMyAdmin 就安裝好了,接下來我們要來設定 MySQL 的 root 帳號,讓他可以利用密碼登入
    sudo mysql -u root mysql

  6. 進入 sql 指令後依序輸入
    UPDATE user SET plugin='mysql_native_password' WHERE User='root';
    FLUSH PRIVILEGES;

  7. 離開 sql
    exit

  8. 設定 root 密碼
    sudo mysql_secure_installation

  9. 選擇密碼強度,並且設定密碼,接下來幾個問題可以都填 yes

  10. 出現 All Done 就表示設定完成了

  11. 最後在網址列輸入 IPv4/phpmyadmin 就可以進到 phpMyAdmin 登入頁面了!
    .
    11-1. 出現 -NOT FOUND The requested URL /phpmyadmin was not found on this server. Apache/2.4.7 (Ubuntu) Server at localhost Port 80 的錯誤資訊,可以參考以下方式解決:
    .
    發現可以透過去改 apache2.conf 的內容解決。
    參考資料
    .
    但在輸入 sudo gedit /etc/apache2/apache2.conf 時,出現錯誤 sudo: gedit: command not found
    .
    後來用 sudo vim /etc/apache2/apache2.conf,成功進入 vim 模式
    參考資料
    .
    在最後一行加入 Include /etc/phpmyadmin/apache.conf(忘記指令的可以參考
    .
    存檔後重啟 Apache
    sudo /etc/init.d/apache2 restart
    .
    再次去網址列輸入 IPv4/phpmyadmin就可以了

  12. 帳號:root
    密碼就是剛剛設定的


下一篇要來上傳檔案到你的主機,並且更改域名
上傳檔案到雲端主機 + 更改域名


#website #aws ec2 #ubuntu #LAMP #phpmyadmin







Related Posts

Node.js 部署到 heroku dynos

Node.js 部署到 heroku dynos

 JavaScript 進階觀念

JavaScript 進階觀念

OOP - 8 關於繼承

OOP - 8 關於繼承


Comments