「Onkサーバー」の版間の差分

提供: wikipokpok
移動先: 案内検索
(SSH接続)
(アプリケーション)
 
(同じ利用者による、間の12版が非表示)
18行目: 18行目:
 
# アプリケーションはあとからインストールする
 
# アプリケーションはあとからインストールする
 
# インストール完了
 
# インストール完了
 +
 +
== アップデート ==
 +
sudo apt update && sudo apt upgrade
  
 
== ネットワーク設定 ==
 
== ネットワーク設定 ==
24行目: 27行目:
  
 
/etc/netplan/ディレクトリの設定ファイルを編集してipアドレ スを固定する<br />
 
/etc/netplan/ディレクトリの設定ファイルを編集してipアドレ スを固定する<br />
DNSサーバーを8.8.8.8と8.8.4.4に設定する場合
+
DNSサーバーを192.168.1.40に設定する
 
  <nowiki>network:
 
  <nowiki>network:
 
   version: 2
 
   version: 2
35行目: 38行目:
 
       nameservers:
 
       nameservers:
 
         addresses:
 
         addresses:
           - 8.8.8.8
+
           - 192.168.1.40</nowiki>
          - 8.8.4.4</nowiki>
 
  
 
== ユーザー追加 ==
 
== ユーザー追加 ==
46行目: 48行目:
 
  sudo usermod -aG sudo user1
 
  sudo usermod -aG sudo user1
 
  sudo usermod -aG sudo user2
 
  sudo usermod -aG sudo user2
 +
 +
== ファイアーウォール ==
 +
UFW(Uncomplicated Firewall)を使用してポートを開ける:
 +
sudo ufw allow 8080
 +
 +
ファイアウォールのステータスを確認する:
 +
sudo ufw status
  
 
== OpenSSHサーバーをインストール ==
 
== OpenSSHサーバーをインストール ==
115行目: 124行目:
 
  <nowiki>jq@MacBook-Pro % ssh onk-server
 
  <nowiki>jq@MacBook-Pro % ssh onk-server
 
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-41-generic x86_64)</nowiki>
 
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-41-generic x86_64)</nowiki>
 +
 +
パスワード認証を禁止する /etc/ssh/sshd_config
 +
PasswordAuthentication no
 +
KbdInteractiveAuthentication no
 +
 +
== BIND9のインストール ==
 +
<nowiki>sudo apt update
 +
sudo apt install bind9</nowiki>
 +
 +
/etc/bind/named.conf.local
 +
<nowiki>zone "pokpok.jp" {
 +
    type master;
 +
    file "/etc/bind/db.pokpok.jp";
 +
};</nowiki>
 +
 +
/etc/bind/db.pokpok.jp
 +
<nowiki>$TTL    604800
 +
@      IN      SOA    ns.pokpok.jp. root.pokpok.jp. (
 +
                              2        ; Serial 
 +
                        604800        ; Refresh
 +
                          86400        ; Retry
 +
                        2419200        ; Expire
 +
                        604800 )      ; Negative Cache TTL
 +
;
 +
@      IN      NS      ns.pokpok.jp.
 +
ns      IN      A      192.168.1.40
 +
ssh    IN      A      192.168.1.40</nowiki>
 +
 +
== DHCPサーバのインストール ==
 +
<nowiki>sudo apt update
 +
sudo apt install isc-dhcp-server</nowiki>
 +
 +
/etc/dhcp/dhcpd.conf
 +
<nowiki>subnet 192.168.1.0 netmask 255.255.255.0 {
 +
    range 192.168.1.100 192.168.1.200;
 +
    option domain-name-servers 192.168.1.40, 8.8.8.8;
 +
    option domain-name "pokpok.jp";
 +
    option routers 192.168.1.1;
 +
    option broadcast-address 192.168.1.255;
 +
    default-lease-time 600;
 +
    max-lease-time 7200;
 +
}</nowiki>
 +
 +
DHCPサーバを起動し、自動起動を有効にします
 +
<nowiki>sudo systemctl start isc-dhcp-server
 +
sudo systemctl enable isc-dhcp-server</nowiki>
 +
 +
状態確認
 +
sudo systemctl status isc-dhcp-server
 +
 +
DHCPサーバを再起動
 +
<nowiki>sudo systemctl restart isc-dhcp-server</nowiki>
 +
 +
== Docker のインストール ==
 +
リポジトリの更新と依存関係のインストール:
 +
sudo apt update
 +
sudo apt install apt-transport-https ca-certificates curl software-properties-common
 +
 +
Docker GPG キーの追加:
 +
<nowiki>curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg</nowiki>
 +
 +
Docker リポジトリの追加:
 +
<nowiki>echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null</nowiki>
 +
 +
Docker のインストール:
 +
sudo apt update
 +
sudo apt install docker-ce docker-ce-cli containerd.io
 +
 +
Docker の起動と自動起動の設定:
 +
sudo systemctl start docker
 +
sudo systemctl enable docker
 +
 +
== アプリケーション ==
 +
* [[test]]
 +
* [[okayama]]
 +
* [[syuumusyo-app]]
 +
* [[wiki-js]]

2024年9月11日 (水) 16:08時点における最新版

Ubuntu server インストールメディアの作成[編集]

  1. Ubuntu server .isoファイルをダウンロードする
  2. Fedora Media Writer MacでUSBメモリーに.isoファイルを書き込み 起動メディアを作る
  3. LANケーブルを挿しとく
  4. 起動メディアをパソコンに挿し 電源を入れ F7キーを押して boot managerを表示し USBから起動する

インストール[編集]

  1. デフォルトのubuntu serverをインストールする minimizedはVimとか入っていないので選択しない
  2. ipアドレスの固定はあとからする
  3. ストレージ設定
    1. 1stストレージ500GBに16GBのswap領域を設定したら 自動でmaxで1GBちょっとの/bootパテーションが表示されたのでそれに従った 残りすべてを/パテーションにした
    2. 2ndストレージ2TBは/mnt/2nd_storageとしてすべてデータ保存ボリュームにする
    3. もしも2ndストレージと同じものがあればRIDE1を組みたい
  4. user nameはonk277とし システムをいじるときのユーザーにする 管理人二人のユーザーはあとから作る
  5. proはスキップする
  6. OpenSSH serverは後でインストールする
  7. アプリケーションはあとからインストールする
  8. インストール完了

アップデート[編集]

sudo apt update && sudo apt upgrade

ネットワーク設定[編集]

確認

ip addr

/etc/netplan/ディレクトリの設定ファイルを編集してipアドレ スを固定する
DNSサーバーを192.168.1.40に設定する

network:
  version: 2
  ethernets:
    enp0s3:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 192.168.1.40

ユーザー追加[編集]

インストール時のユーザーはそのままにして自分ともう一人のユーザーを追加する

sudo adduser user1
sudo adduser user2

新しいユーザーに管理者権限を付与

sudo usermod -aG sudo user1
sudo usermod -aG sudo user2

ファイアーウォール[編集]

UFW(Uncomplicated Firewall)を使用してポートを開ける:

sudo ufw allow 8080

ファイアウォールのステータスを確認する:

sudo ufw status

OpenSSHサーバーをインストール[編集]

まず、パッケージリストを最新の状態に更新

sudo apt update

OpenSSHサーバーのインストール

sudo apt install openssh-server

SSHサービスの起動と有効化

sudo systemctl start ssh
sudo systemctl enable ssh

SSHサービスのステータス確認

sudo systemctl status ssh

「active (running)」と表示されていれば、SSHサーバーは正常に動作

SSH接続[編集]

クライアントから秘密鍵と公開鍵でSSH接続する

秘密鍵と公開鍵の役割

秘密鍵(Private Key)
場所: クライアントマシンに保持します。
役割: 認証のために使用されます。秘密鍵は厳重に管理し、他人に知られないようにする必要があります。
ファイル名の例: ~/.ssh/id_rsa

公開鍵(Public Key)
場所: サーバーマシンに配置します。
役割: サーバー側でクライアントの認証を行うために使用されます。公開鍵は秘密ではないので、他人と共有しても問題ありません。
ファイル名の例: ~/.ssh/id_rsa.pub
配置場所: サーバーのユーザーのホームディレクトリにある~/.ssh/authorized_keysファイルに追加します。

クライアント側で新しく鍵を作る -cオプションで鍵に指紋を付ける サーバー側に公開鍵を書き込んだとき誰の鍵かわかるようになる

ssh-keygen -t rsa -b 4096 -C "shudo@pokpok.jp"       

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/jq/.ssh/id_rsa): /Users/jq/.ssh/id_rsa_onk-server ※既存の鍵があるので新しい鍵名にする
Enter passphrase (empty for no passphrase): ※パスワードを入力せずにそのままエンターを押す ssh接続のときパスワード無しで接続できる
Enter same passphrase again: 
Your identification has been saved in id_rsa_onk-server
Your public key has been saved in id_rsa_onk-server.pub
The key fingerprint is:
SHA256:LePqJZ0yH4T8lhE2/k1TKHkML8ONjrMBz1kPn6UH+uQ shudo@pokpok.jp
The key's randomart image is:
+---[RSA 4096]----+
|          .      |
|         . B .   |
|      . + X B o  |
|     . B O X *   |
|      o S + O .  |
|       = @ * o   |
|      + @ . E    |
|       O .       |
|     .o .        |
+----[SHA256]-----+

クライアント側に新しい秘密鍵と公開鍵ができた

id_rsa_onk-server
id_rsa_onk-server.pub

新しい公開鍵(~/.ssh/id_rsa_onk-server.pub)をサーバーにコピーする

ssh-copy-id -i ~/.ssh/id_rsa_onk-server.pub shudo@192.168.1.40

クライアント側の~/.ssh/config ファイルを使用してSSH接続設定を書く

Host onk-server
    Hostname 192.168.1.40
    port 22
    User shudo
    IdentityFile ~/.ssh/id_rsa_onk-server

パスワードなしで接続できる

jq@MacBook-Pro % ssh onk-server
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-41-generic x86_64)

パスワード認証を禁止する /etc/ssh/sshd_config

PasswordAuthentication no
KbdInteractiveAuthentication no

BIND9のインストール[編集]

sudo apt update
sudo apt install bind9

/etc/bind/named.conf.local

zone "pokpok.jp" {
    type master;
    file "/etc/bind/db.pokpok.jp";
};

/etc/bind/db.pokpok.jp

$TTL    604800
@       IN      SOA     ns.pokpok.jp. root.pokpok.jp. (
                              2         ; Serial  
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.pokpok.jp.
ns      IN      A       192.168.1.40
ssh     IN      A       192.168.1.40

DHCPサーバのインストール[編集]

sudo apt update
sudo apt install isc-dhcp-server

/etc/dhcp/dhcpd.conf

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.200;
    option domain-name-servers 192.168.1.40, 8.8.8.8;
    option domain-name "pokpok.jp";
    option routers 192.168.1.1;
    option broadcast-address 192.168.1.255;
    default-lease-time 600;
    max-lease-time 7200;
}

DHCPサーバを起動し、自動起動を有効にします

sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server

状態確認

sudo systemctl status isc-dhcp-server

DHCPサーバを再起動

sudo systemctl restart isc-dhcp-server

Docker のインストール[編集]

リポジトリの更新と依存関係のインストール:

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common

Docker GPG キーの追加:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Docker リポジトリの追加:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Docker のインストール:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

Docker の起動と自動起動の設定:

sudo systemctl start docker
sudo systemctl enable docker

アプリケーション[編集]