Ubuntu Server搭建個人伺服器

vector_qiu發表於2023-04-16

Ubuntu Server20.04.5 LTS

【參考資料】

Ubuntu官方地址:https://www.ubuntu.com/

Ubuntu論壇地址:https://ubuntuforums.org/

Ubuntu Wiki地址:https://wiki.ubuntu.com/

Ubuntu幫助地址:https://help.ubuntu.com/

Ubuntu郵件列表地址:https://discourse.ubuntu.com/t/mailing-lists/https://ubuntu.com/server/docs)

1.下載Ubuntu映象

官網下載:https://releases.ubuntu.com/

國內映象下載:

華為映象:https://repo.huaweicloud.com/ubuntu-releases/

阿里映象:http://old-releases.ubuntu.com/releases/

2.安裝

官網安裝教程:https://ubuntu.com/server/docs/install/step-by-step

部落格:

http://t.csdn.cn/aDPUu

2.1 網路配置(靜態IP配置)

  • 靜態IP設定方法,點選ens33 然後選擇ipv4、

  • 點選Manual 手動新增ip地址

    • subnet:192.168.x.xxx/24 (子網掩碼)
    • address:192.168.x.xxx(靜態IP地址)
    • Geteway:192.168.x.1(閘道器)
    • Name servers:(DNS伺服器地址:)
    • search domains:
    華為雲DNS    122.112.208.1	139.9.23.90
    			114.115.192.11	116.205.5.1
    			116.205.5.30	122.112.208.175
    

2.2 設定映象源地址

國內映象地址:

華為源:https://mirrors.huaweicloud.com/ubuntu/

阿里源 http://mirrors.aliyun.com/ubuntu/

網易163 http://mirrors.163.com/ubuntu/

2.3 磁碟分割槽

/boot:這裡存放的是啟動 Linux 時使用的一些核心檔案,包括一些連線檔案以及映象檔案。
/home:使用者的主目錄
/srv:該目錄存放一些服務啟動之後需要提取的資料。
/usr:應用程式

/boot 	2G
/		其他
/bin:
bin 是 Binaries (二進位制檔案) 的縮寫, 這個目錄存放著最經常使用的命令。

/boot:
這裡存放的是啟動 Linux 時使用的一些核心檔案,包括一些連線檔案以及映象檔案。

/dev :
dev 是 Device(裝置) 的縮寫, 該目錄下存放的是 Linux 的外部裝置,在 Linux 中訪問裝置的方式和訪問檔案的方式是相同的。

/etc:
etc 是 Etcetera(等等) 的縮寫,這個目錄用來存放所有的系統管理所需要的配置檔案和子目錄。

/home:
使用者的主目錄,在 Linux 中,每個使用者都有一個自己的目錄,一般該目錄名是以使用者的賬號命名的,如上圖中的 alice、bob 和 eve。

/lib:
lib 是 Library(庫) 的縮寫這個目錄裡存放著系統最基本的動態連線共享庫,其作用類似於 Windows 裡的 DLL 檔案。幾乎所有的應用程式都需要用到這些共享庫。

/lost+found:
這個目錄一般情況下是空的,當系統非法關機後,這裡就存放了一些檔案。

/media:
linux 系統會自動識別一些裝置,例如隨身碟、光碟機等等,當識別後,Linux 會把識別的裝置掛載到這個目錄下。

/mnt:
系統提供該目錄是為了讓使用者臨時掛載別的檔案系統的,我們可以將光碟機掛載在 /mnt/ 上,然後進入該目錄就可以檢視光碟機裡的內容了。

/opt:
opt 是 optional(可選) 的縮寫,這是給主機額外安裝軟體所擺放的目錄。比如你安裝一個ORACLE資料庫則就可以放到這個目錄下。預設是空的。

/proc:
proc 是 Processes(程式) 的縮寫,/proc 是一種偽檔案系統(也即虛擬檔案系統),儲存的是當前核心執行狀態的一系列特殊檔案,這個目錄是一個虛擬的目錄,它是系統記憶體的對映,我們可以透過直接訪問這個目錄來獲取系統資訊。
這個目錄的內容不在硬碟上而是在記憶體裡,我們也可以直接修改裡面的某些檔案,比如可以透過下面的命令來遮蔽主機的ping命令,使別人無法ping你的機器:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:
該目錄為系統管理員,也稱作超級許可權者的使用者主目錄。

/sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超級使用者的二進位制檔案) 的縮寫,這裡存放的是系統管理員使用的系統管理程式。

/selinux:
 這個目錄是 Redhat/CentOS 所特有的目錄,Selinux 是一個安全機制,類似於 windows 的防火牆,但是這套機制比較複雜,這個目錄就是存放selinux相關的檔案的。

/srv:
 該目錄存放一些服務啟動之後需要提取的資料。

/sys:

這是 Linux2.6 核心的一個很大的變化。該目錄下安裝了 2.6 核心中新出現的一個檔案系統 sysfs 。

sysfs 檔案系統整合了下面3種檔案系統的資訊:針對程式資訊的 proc 檔案系統、針對裝置的 devfs 檔案系統以及針對偽終端的 devpts 檔案系統。

該檔案系統是核心裝置樹的一個直觀反映。

當一個核心物件被建立的時候,對應的檔案和目錄也在核心物件子系統中被建立。

/tmp:
tmp 是 temporary(臨時) 的縮寫這個目錄是用來存放一些臨時檔案的。

/usr:
 usr 是 unix shared resources(共享資源) 的縮寫,這是一個非常重要的目錄,使用者的很多應用程式和檔案都放在這個目錄下,類似於 windows 下的 program files 目錄。

/usr/bin:
系統使用者使用的應用程式。

/usr/sbin:
超級使用者使用的比較高階的管理程式和系統守護程式。

/usr/src:
核心原始碼預設的放置目錄。

/var:
var 是 variable(變數) 的縮寫,這個目錄中存放著在不斷擴充著的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日誌檔案。

/run:
是一個臨時檔案系統,儲存系統啟動以來的資訊。當系統重啟時,這個目錄下的檔案應該被刪掉或清除。如果你的系統上有 /var/run 目錄,應該讓它指向 run。

2.4 設定主機使用者名稱與密碼及伺服器名稱

2.5 安裝 SSH服務

2.6 選擇預置服務安裝

# 設定root密碼
sudo passwd

# 新增使用者
adduser -m 【使用者名稱】
# 設定密碼
passwd 【使用者名稱】
#修改使用者
usermod [引數] 【使用者名稱】
#建立使用者組
groupadd【引數】【使用者組名】
#修改組
groupmod【引數】【使用者組名】
# 刪除使用者組
groupdel 【使用者組名】

#硬碟掛載

3.webmin

【官網】https://webmin.com/

apt-get install webmin

wget https://sourceforge.net/projects/webadmin/files/webmin/2.021/webmin_2.021_all.deb

dpkg --install webmin_2.021_all.deb

[依賴安裝]


Webmin預設安裝到/usr/share/webmin
訪問地址:ip:10000

配置:

4.ufw

https://blog.csdn.net/fd214333890/article/details/115410168

# 列舉出你係統上所有的應用配置
sudo ufw app list

# 在啟用 UFW 防火牆之前,你必須顯式允許進來的 SSH 連線。否則,你將永遠都無法連線到機器上
sudo ufw allow OpenSSH
#開啟關閉ufw服務
systemctl start ufw
systemctl stop ufw
#禁用 啟用ufw服務
systemctl disable ufw
systemctl enable ufw
# 開啟關閉ufw
ufw enable
ufw disable

# 預設禁止
ufw default deny
# 預設允許
ufw default allow

# 狀態
ufw status verbose

# 開埠
ufw allow port_number/protocol

5.samba

sudo apt-get update
sudo apt-get install samba
# 配置防火牆
sudo ufw allow Samba
# 建立使用者 用配置密碼, 密碼用專門的smbpasswd命令進行設定
sudo useradd sbuser
sudo smbpasswd -a sbuser
#建立要共享的資料夾
$ sudo mkdir /disk
# 修改資料夾的所有者與上面新建的使用者一致, 否則會導致沒有許可權進行訪問
$ sudo chown sbuser /disk
# 配置samba
$ sudo vim /etc/samba/smb.conf

[home] #共享名,該共享標籤,可隨意取,該名字為在其他電腦上看到的共享名
    comment = home directories #該共享描述
    path = /disk  #共享路徑
    public = yes   #指定該共享是否允許guest賬戶訪問
    writable = yes #writable用來指定該共享路徑是否可寫
	valid users = 使用者名稱   #設定訪問使用者
	valid users = @組名   #設定訪問組
	readonly = no       #讀寫
	browseable = yes #可以被所有使用者瀏覽到資源名稱,
	
# 重啟samba服務
sudo systemctl restart smbd

reboot



6.docker

https://hub.docker.com/

7.aria2

https://hub.docker.com/r/p3terx/aria2-pro

https://zhuanlan.zhihu.com/p/466573640

https://p3terx.com/archives/docker-aria2-pro.html

對以上對映的目錄進行使用者許可權設定,aria2c 核心程式會以所設定的使用者執行。當使用非 root 使用者進行管理時非常重要,這關乎到安全性和檔案是否能正常訪問。你不應該錯過這個細節,否則可能導致不必要的麻煩。

  • -e PUID=$UID - 使用者對映。設定檔案管理賬戶的UID(使用者 ID)。忽略則預設為nobady使用者,並許可權最大化。
  • -e PGID=$GID - 使用者組對映。設定檔案管理賬戶的GID(使用者組 ID)。忽略則預設為nogroup使用者組,並許可權最大化。

科普: 在常規的 Linux 發行版中$UID$GID這兩個環境變數分別為當前登入賬戶的UIDGID值,所以透過 CLI 啟動容器可以直接使用這兩個變數。但需要注意可能有部分系統$GID沒有被定義。

# 替換<TOKEN>欄位(RPC金鑰)
docker run -d \
    --name aria2-pro \
    --restart unless-stopped \
    --log-opt max-size=1m \
    --network host \
    -e PUID=$UID \
    -e PGID=$GID \
    -e RPC_SECRET=<TOKEN> \
    -e RPC_PORT=6800 \
    -e LISTEN_PORT=6888 \
    -v $PWD/aria2-config:/config \
    -v $PWD/aria2-downloads:/downloads \
    p3terx/aria2-pro
    
    
    
docker run -d \
    --name ariang \
    --log-opt max-size=1m \
    --restart unless-stopped \
    -p 6880:6880 \
    p3terx/ariang
   

8.plex

https://ubunlog.com/zh-CN/plex介質伺服器安裝ubuntu-20-04/

https://linuxize.com/post/how-to-install-plex-media-server-on-ubuntu-20-04/

https://www.plex.tv/media-server-downloads/#plex-media-server

#[方式1] 使用.deb檔案
# 下載
wget https://downloads.plex.tv/plex-media-server-new/1.32.0.6918-6f393eda1/debian/plexmediaserver_1.32.0.6918-6f393eda1_amd64.deb?_gl=1*16kkgdv*_ga*MTAyNzU4MzUzNi4xNjgxNTgxNTI5*_ga_G6FQWNSENB*MTY4MTU5MTA5OC4zLjEuMTY4MTU5MjMzMi4wLjAuMA..
# 安裝
sudo dpkg -i 
# 檢查程式狀態
sudo systemctl status plexmediaserver.service

# 解除安裝
sudo apt remove plemediaserver

#[方式2]使用Plex儲存庫
# 從儲存庫匯入GPG金鑰
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -
# 將儲存庫新增到系統
echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list

sudo apt update

sudo apt install plexmediaserver

sudo systemctl status plexmediaserver.service

	
sudo apt remove plexmediaserver

# 訪問地址	
http://direccion-ip:32400/web

9.emby

10.NextCloud

11.Kodi

官網:http://www.kodiplayer.cn/

11.1 Android電視安裝Kodi

adb

開啟電視的adb除錯開關
  進入設定 > 系統 > 系統資訊,遙控器依次按下“上”、“下”、“左”、“右”,即可看到頁面中跳出adb開關,將ADB設為開啟狀態.

adb devices

adb connect ip:5555

adb shell

# 開啟第三方應用安裝許可權
setprop persist.tcl.debug.installapk 1
setprop persist.tcl.installapk.enable 1

exit退出

adb install xxx.apk

11.2 Kodi安裝Plex外掛

安裝Plex外掛:http://www.kodiplayer.cn/plugins/2918.html

FFMpeg

https://blog.csdn.net/annjeff/article/details/105748428


jellyfin

可道雲

相關文章