前陣子因為幫廠商解個問題,所以嘗試在別的雲端供應商設置新的VPS server,剛好有機會記錄一下配置的過程。
在付款完成後順利拿到主機的IP及密碼,通常這種雲端主機都已經開通ssh連線,也就是直接使用Putty就可以連進主機。我所選擇的作業系統是Debian 10,如果不曉得自己的作業系統版本,也可以使用下面指令查詢:
~$cat /etc/os-release
Code language: PHP (php)
因為預設是使用root登入,所以還是建立一個平常使用的帳號比較安全。假設我建立一個帳號叫NEWUSER。這邊使用的指令是adduser,比較簡單且會順便在/home資料夾下面創建新使用者自己的母資料夾。
~#adduser NEWUSER
Code language: CSS (css)
接著使用下面的指令授與這個新使用者有權限可以sudo
~#usermod -aG sudo NEWUSER
Code language: CSS (css)
本來想說可以切換成新使用者並使用sudo來做後續設定,但發現這台主機預設並沒有安裝sudo,只好切回root並且安裝sudo。
那當然,安裝前先更新app的列表
~#apt update
Code language: CSS (css)
接著安裝sudo
~#apt-get install sudo
Code language: CSS (css)
然後就切換到我剛剛新建立的使用者NEWUSER
再來安裝nano,我習慣用nano編輯,及vsftpd方便使用ftp傳遞檔案。
~$sudo apt-get install nano
~$sudo apt-get install vsftpd
Code language: JavaScript (javascript)
先把原本的config檔備份
~$sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_default
Code language: PHP (php)
接著修改vsftpd.conf設定檔,因為是測試用,我就沒做太多修改了,大致如下:
anonymous_enable=NO
local_enable=YES
write_enable=YES
設定檔修改完後,啟動vsftpd
~$sudo systemctl start vsftpd
~$sudo systemctl enable vsftpd
Code language: PHP (php)
接著安裝docker,這邊我就省略了,因為官方的安裝流程是最清楚的https://docs.docker.com/engine/install/debian/
docker compose也是必備,安裝流程一樣官方最清楚https://docs.docker.com/compose/install/
接下來是關於docker的網路,因為我有幾個container之間可能需要互相溝通,若他們能安裝在同一個bridge網域之下會最方便,我自己的經驗是自己要先建立一個獨立的bridge network
使用以下指令建立一個叫做my_network的bridge網域
~$sudo docker network create -d bridge my_network
Code language: PHP (php)
但這次跑出以下錯誤訊息:
user specified IP address is supported only when connecting to networks with use r configured subnets
Code language: JavaScript (javascript)
先查詢一下目前系統內的bridge有哪些,其實也只有預設的bridge並使用172.17的IP
$sudo docker inspect bridge
----------------------------------------------
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
Code language: PHP (php)
所以我創建一個與預設172.17不同的bridge網域。使用修改指令如下,指定subnet=172.18.0.0/16,就可以了成功建好了
~$sudo docker network create -d bridge my_network --subnet=172.18.0.0/16
Code language: PHP (php)
暫時大概就是以上這樣,基本上就是創立使用者,安裝vsftpd讓我們接下來能使用ftp工具與主機之間傳遞資料,最後安裝並設定好docker,未來很多服務都會在docker虛擬環境下作業。
當然還有防火牆的配置之類的,那就之後再說吧。