前言
在開始之前,我們先來個名詞解釋,『虛擬空間』、『虛擬主機』、『實體主機』是什麼?
簡單來說,『虛擬主機』就是『實體主機』經過軟體切成許多的『虛擬空間』,而每一個虛擬空間就成為一個獨立的虛擬主機,這些切割出來的虛擬主機一樣可以建立網站、架設平台,就像是實體主機一樣,所以除非是大公司,不然還是會以虛擬主機為主,畢竟實體主機的價錢太昂貴了。(參考資料)
而 AWS EC2 主機,就是 Amazon 所提供的虛擬主機服務,若你想要自己架設網站,就會需要擁有一個虛擬主機。
部署 AWS EC2 主機
首先就先辦個帳號,然後在服務中找到 EC2
啟動執行個體
作業系統選擇 Ubuntu Server 18.04
instance type 選擇免費的
之後就一路 next 到 Configure Security Group,在這邊要增加 HTTP 和 HTTPS
設定好之後按 Review and Launch
選擇 create a new key pair,key pair name 可以自己取,並且記得要下載下來!
Launch 後,回到 EC2 頁面,找到 running instances
剛剛新增的 instance 會有一個 IPv4 Public IP,記下來等等會用到
這樣你就擁有一個虛擬主機拉!
LAMP server
LAMP 其實就是作業系統 Linux,網頁伺服器 Apache,資料庫 MySQL,和程式語言 PHP 的縮寫。
所以我們現在就要在 Ubuntu 這個作業系統上,來安裝 LAMP server,讓我們的程式碼可以透過這個 server 跑起來。
首先我們要先連上我們的主機
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
成功連線後,將系統更新至最新
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
安裝 Tasksel
sudo apt install tasksel
用 Tasksel 下載 lamp-server
sudo tasksel install lamp-server
安裝成功後,到網址列輸入你的 IPv4,如果看到看到預設網頁,表示 LAMP server已經安裝成功!
設定 phpMyAdmin
安裝 phpMyAdmin
sudo apt install phpmyadmin
選擇網頁伺服器的地方,因為 LAMP 用的是 Apache,所以就選它吧
dbconfig-common 是否設定,選 yes
設定密碼(自己記得記下)
phpMyAdmin 就安裝好了,接下來我們要來設定 MySQL 的 root 帳號,讓他可以利用密碼登入
sudo mysql -u root mysql
進入 sql 指令後依序輸入
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
離開 sql
exit
設定 root 密碼
sudo mysql_secure_installation
選擇密碼強度,並且設定密碼,接下來幾個問題可以都填 yes
出現 All Done 就表示設定完成了
最後在網址列輸入
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就可以了帳號:root
密碼就是剛剛設定的
下一篇要來上傳檔案到你的主機,並且更改域名
上傳檔案到雲端主機 + 更改域名