# Linux Ubuntu 安裝
---
- Linux Ubuntu 安裝
- SSH
- 基礎網概
- Apache2
---
我們今天要自己灌server版 Ubuntu
為什麼server版沒有圖形介面
因為 server要把所有資源給使用者
不要浪費
所以要跟圖形介面說掰掰拉
---
先去官方網[下載](http://free.nchc.org.tw/ubuntu-cd/16.04.4/ubuntu-16.04.4-server-amd64.iso)
---
然後把他拷到USB(今天沒灌主機冠虛擬機所以不用)
然後安裝
---
用虛擬機打開(接下來步驟跟裝在主機上一樣)
選第一個

---
選英文避免不必要的BUG產生

---
按照他的步驟案一案+等他

---
設定主機名稱

---
設定使用者名稱之類的輸一輸

---
繼續敲enter

---
切割磁碟記得按是

---
看到yes就案yes
應該就會看到他在安裝系統了

---
看到設定proxy不用理他

直接敲enter
---
注意!
看到副程式選擇 把openSSH server 用空白鍵選起來
(會變*)

---
然後繼續敲enter
看到這個我們快成功了

---
然後他就會問你要不要重新開機 按下去吧
然後我們會看到這個頁面代表安裝完了

---
輸入剛剛設定帳號密碼登入
然後就會看到只有終端機的介面
我們成功了

---
接下來我們把遠端(ssh)裝起來
讓外部連的到這台server
```bash
sudo apt-get install openssh-server
```

---
安裝後執行他
```
sudo /etc/init.d/ssh restart
```

---
然後用ifconfig看這台server ip
例如我的是 10.211.55.5

---
然後在電腦上打開bash輸入
ssh 你server的使用者@ip
(電腦教室電腦直接在工具列搜尋bash打開輸入)
還沒有安裝bash請看[這篇](http://hackmd.hackersir.org/p/Sy_UWU9nW#/)
```
ex. ssh o123ojp@10.211.55.5
```
---
然後他會問你要不要用這串加密
輸入yes就好了

---
然後輸入密碼登入
我們就成功連上我們架設的server了

---
至於server 怎麼關機或重開
```
關機
sudo shutdown now
重開機
sudo reboot
```
---
接下來是理論時間
不要睡著
!重要!
---
區域網路

----
接下來我們就不用這台主機了
因為我們要架設別人可以連的網站
剛剛那台的ip只是「區域網路」
只有在你電腦上看得到
---
所以我們要有公開 ip的 伺服器
---
port
```
google.com:80
ip:port
```

----
一台電腦有一個ip 而ip底下再分成65536個port
基本上 兩台電腦互相交換資料時
就會連線並佔據雙方一個port
---
公認連接埠號(well-known port numbers)
---
網頁運行方式:
1. server方開著 第80 port listen
2. 客戶電腦會開一個隨機port連上 server ip 的 80port
3. server會馬上找到一個空的隨機port, 80 port繼續等下一個人連進來
4. 兩個就用兩個隨機port交換資料 傳輸網頁
---
浮動ip、固定ip、listen

----
大家都知道一台電腦通常會有一個ip
ip分 公開 和 不公開
這關西到提供網路給你的業者(ISP)
因為會扯到很多東西 用不專業的解釋
簡單來講 不公開 ip 就是只能用他去連上其他伺服器
而 公開ip可以開著「listen」模式等待別人連上
浮動ip是會一直變動的 別人要連你伺服器還要一直換名稱很智障
通常浮動ip是不公開的
----
所以我們要架設網站需要一個 固定 且 公開 ip
而每台電腦一個ip上還有65536個「port」
客戶端電腦的一個port只能跟進行一項連線
被佔據就要換另一條
伺服器端則是listen中的 port不能建立連線
其他則隨意 *可看延伸閱讀
---
而我們剛剛使用的遠端是使用「22」port
但因為我們只有一台電腦
所以我們虛擬機要 把 遠端 和 網頁 開在不同的port上給你們用
然後 我們要把ssh默認的port改成 我們設定的port
例如
```
$ ssh hackersir@140.134.208.99 -p 22
```
這是ssh 第22 port
---
分配到的port如下
登入方式
```
$ ssh hackersir@140.134.208.99 -p 你分配到的port
ex . ssh hackersir@140.134.208.99 -p 20050
密碼:請見白板
```
連不進去要回報!
---

---

---
登入之後我們下
passwd 這指令來改密碼
```
$ passwd
```
不改者一律關伺服(O
---
接下來我們要講
# apache
---
apache是什麼呢
~~戰鬥機~~
---
維基百科說:
Apache HTTP Server(簡稱Apache)是Apache軟體基金會的一個開放原始碼的網頁伺服器軟體,可以在大多數電腦作業系統中運行,由於其跨平台和安全性。
---
簡單來說就是一個架設網頁的軟體
---
那麼我們來安裝吧(O
```
$ sudo apt-get install apache2
```
---
其實我們已經幫你們裝完了
所以我們直接啟動「apache2」這服務(軟體)
```
$ sudo service apache2 start
```

---
然後到你們上次登記的網域看
看到預設頁面 就表示 我們成功地把伺服器打開了

---
如何改這個網頁呢?
在伺服器把 "/var/www/html/index.html"這檔案
改成你要的首頁就好了 簡單吧
apache2 會把 /var/www/html/ 變成 你的網址
所以 你在伺服器裡面放 /var/www/html/a.txt
輸入 http://123ojpp.me/a.txt 就會讀到你的檔案
---
那麼如何把做好的網頁檔案上傳到伺服器上呢
我推薦FileZilla

---
```
主機輸入:sftp://140.134.208.99
使用者名稱:hackersir
密碼:自己的密碼
連接埠:被分配到的port(ex.20000)
```

---
接下來把自己的網頁丟到家目錄(/home/hackersir/)
為什麼不直接丟到/var/www/html 因為權限不夠
---
回到bash
用sudo (root權限) 把index 移動到 /var/www/html/index.html
```
$ sudo mv ./index.html /var/www/html/index.html
#使用root權限 把 目前目錄index.html 移動到 /var/www/html/index.html
```
---
馬上重新整理看看
由於我只複製了index 裡面的圖片沒有跟著移動過去 就會爆炸
但是我們成功改了網頁內容

---
所以我只要把會用到的圖片和檔案 全部丟到伺服器上
就會正常摟

---
一樣用FileZilla
把檔案丟過去

---
用指令 把它移動過去
---
在打開網頁看
我們成功拉

---
延伸閱讀:
[伺服器port連線數極限](http://wanshi.iteye.com/blog/1256282)
[www原理](http://linux.vbird.org/linux_server/0360apache.php)
{"metaMigratedAt":"2023-06-14T22:00:06.551Z","metaMigratedFrom":"YAML","title":"0315 Linux Ubuntu 安裝","breaks":true,"contributors":"[{\"id\":\"07cdf4c7-4291-4f11-8793-bb5e4ec2e69d\",\"add\":4960,\"del\":70}]"}