「Onkサーバー」の版間の差分
(→Fedora Media Writer Mac) |
(→アプリケーション) |
||
(同じ利用者による、間の23版が非表示) | |||
2行目: | 2行目: | ||
== Ubuntu server インストールメディアの作成 == | == Ubuntu server インストールメディアの作成 == | ||
# Ubuntu server .isoファイルをダウンロードする | # Ubuntu server .isoファイルをダウンロードする | ||
− | # Fedora Media Writer | + | # [https://fedoraproject.org/ja/workstation/download Fedora Media Writer Mac]でUSBメモリーに.isoファイルを書き込み 起動メディアを作る |
+ | # LANケーブルを挿しとく | ||
# 起動メディアをパソコンに挿し 電源を入れ F7キーを押して boot managerを表示し USBから起動する | # 起動メディアをパソコンに挿し 電源を入れ F7キーを押して boot managerを表示し USBから起動する | ||
== インストール == | == インストール == | ||
+ | # デフォルトのubuntu serverをインストールする minimizedはVimとか入っていないので選択しない | ||
+ | # ipアドレスの固定はあとからする | ||
+ | # ストレージ設定 | ||
+ | ## 1stストレージ500GBに16GBのswap領域を設定したら 自動でmaxで1GBちょっとの/bootパテーションが表示されたのでそれに従った 残りすべてを/パテーションにした | ||
+ | ## 2ndストレージ2TBは/mnt/2nd_storageとしてすべてデータ保存ボリュームにする | ||
+ | ## もしも2ndストレージと同じものがあればRIDE1を組みたい | ||
+ | # user nameはonk277とし システムをいじるときのユーザーにする 管理人二人のユーザーはあとから作る | ||
+ | # proはスキップする | ||
+ | # OpenSSH serverは後でインストールする | ||
+ | # アプリケーションはあとからインストールする | ||
+ | # インストール完了 | ||
+ | |||
+ | == アップデート == | ||
+ | sudo apt update && sudo apt upgrade | ||
+ | |||
+ | == ネットワーク設定 == | ||
+ | 確認 | ||
+ | ip addr | ||
+ | |||
+ | /etc/netplan/ディレクトリの設定ファイルを編集してipアドレ スを固定する<br /> | ||
+ | DNSサーバーを192.168.1.40に設定する | ||
+ | <nowiki>network: | ||
+ | version: 2 | ||
+ | ethernets: | ||
+ | enp0s3: | ||
+ | dhcp4: no | ||
+ | addresses: | ||
+ | - 192.168.1.100/24 | ||
+ | gateway4: 192.168.1.1 | ||
+ | nameservers: | ||
+ | addresses: | ||
+ | - 192.168.1.40</nowiki> | ||
+ | |||
+ | == ユーザー追加 == | ||
+ | インストール時のユーザーはそのままにして自分ともう一人のユーザーを追加する | ||
+ | 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接続する | ||
+ | <nowiki>秘密鍵と公開鍵の役割 | ||
+ | |||
+ | 秘密鍵(Private Key) | ||
+ | 場所: クライアントマシンに保持します。 | ||
+ | 役割: 認証のために使用されます。秘密鍵は厳重に管理し、他人に知られないようにする必要があります。 | ||
+ | ファイル名の例: ~/.ssh/id_rsa | ||
+ | |||
+ | 公開鍵(Public Key) | ||
+ | 場所: サーバーマシンに配置します。 | ||
+ | 役割: サーバー側でクライアントの認証を行うために使用されます。公開鍵は秘密ではないので、他人と共有しても問題ありません。 | ||
+ | ファイル名の例: ~/.ssh/id_rsa.pub | ||
+ | 配置場所: サーバーのユーザーのホームディレクトリにある~/.ssh/authorized_keysファイルに追加します。</nowiki> | ||
+ | |||
+ | クライアント側で新しく鍵を作る -cオプションで鍵に指紋を付ける サーバー側に公開鍵を書き込んだとき誰の鍵かわかるようになる | ||
+ | <nowiki>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]-----+</nowiki> | ||
+ | |||
+ | クライアント側に新しい秘密鍵と公開鍵ができた | ||
+ | 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接続設定を書く | ||
+ | <nowiki>Host onk-server | ||
+ | Hostname 192.168.1.40 | ||
+ | port 22 | ||
+ | User shudo | ||
+ | IdentityFile ~/.ssh/id_rsa_onk-server</nowiki> | ||
+ | |||
+ | パスワードなしで接続できる | ||
+ | <nowiki>jq@MacBook-Pro % ssh onk-server | ||
+ | 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 インストールメディアの作成[編集]
- Ubuntu server .isoファイルをダウンロードする
- Fedora Media Writer MacでUSBメモリーに.isoファイルを書き込み 起動メディアを作る
- LANケーブルを挿しとく
- 起動メディアをパソコンに挿し 電源を入れ F7キーを押して boot managerを表示し USBから起動する
インストール[編集]
- デフォルトのubuntu serverをインストールする minimizedはVimとか入っていないので選択しない
- ipアドレスの固定はあとからする
- ストレージ設定
- 1stストレージ500GBに16GBのswap領域を設定したら 自動でmaxで1GBちょっとの/bootパテーションが表示されたのでそれに従った 残りすべてを/パテーションにした
- 2ndストレージ2TBは/mnt/2nd_storageとしてすべてデータ保存ボリュームにする
- もしも2ndストレージと同じものがあればRIDE1を組みたい
- user nameはonk277とし システムをいじるときのユーザーにする 管理人二人のユーザーはあとから作る
- proはスキップする
- OpenSSH serverは後でインストールする
- アプリケーションはあとからインストールする
- インストール完了
アップデート[編集]
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