このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

Archives Details

Ubuntu 20.04 LTS サーバ構築 – 初期セットアップ

ubuntu

2022.05.01

この記事は最終更新日から1年以上が経過しています。

VPSサーバなどレンタルで使用するにあたって、Ubuntu 20.04サーバを構築するためのステップを最小限で構築できるようにまとめました。

個人的に利用するために最小限で、nginx、Let’s Encryptなど設定しTLS化されたwebサーバー構築

Postfix、Dovecotなど設定を行いGmailなどにも送信できるセキュアなメールサーバ構築までがゴールです。各コマンド、ツールの詳細は省略させていただき、コマンド、設定中心に記載しております。

DigitalOceanやconohaなどVPSサーバをレンタル時にUbuntu 20.04 LTSがインストールできるので、VPSサーバをレンタルしUbuntu 20.04 LTSをインストールし設定していく想定で進めます。

環境

  • OS Ubuntu 20.04 LTS

メニュー

ユーザーの作成

rootユーザーとしてssh接続して、サーバーにログインします。

your_server_ipは、パブリックIPアドレスもしくは、取得したドメイン。

$ ssh root@your_server_ip

 

パスワード認証を使用している場合は、ログインするためのrootパスワードを入力します。

rootユーザーは、Linux環境では非常に幅広い権限を持つ管理者ユーザーなので、新しくユーザー作成し、そちらを利用するようにします。

例として、webappと呼ばれる新しいユーザーを作成します。(ユーザー名は任意)

# adduser webapp

いくつか質問されますが、アカウントのパスワードから入力。必要に応じて追加情報を入力します。任意のフィールドはENTERキーでスキップ可能。

 

管理権限を付与

先ほど作成したユーザーがsudoコマンドを使用出来る様にsudo グループに追加します。

# usermod -aG sudo webapp

ファイアウォールの設定

UFW アプリケーション一覧確認

# ufw app list
Output
Available applications:
OpenSSH

ファイアウォール SSH接続を許可

# ufw allow OpenSSH

ファイアウォールを有効

# ufw enable

yと入力してから、ENTER

 

ファイアウォール状態確認

# ufw status
Output
Status: active

To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)

通常ユーザーの外部アクセスを有効化

日常的に利用する通常ユーザーがSSH接続できるようにします。
rootアカウントがパスワード認証の場合と、SSHの鍵認証を行っている場合で接続が異なります。

パスワード認証の場合

SSHを試みるとパスワードを求められるので入力。

$ ssh webapp@your_server_ip

ログイン後、sudoコマンドはセッションごとにパスワードが必要となる。

$ sudo command_to_run

パスワードでの認証は許可しない形が望ましい。

DigitalOceanのDropなどは初期で許可されていない様子。

SSHの鍵認証の場合

rootアカウントのサーバー上のローカル公開鍵のコピーを作成したユーザーの~/.ssh/authorized_keysファイルに追加するため、rsyncコマンドを用いて.sshディレクトリを丸ごとコピーします。

# rsync --archive --chown=webapp:webapp ~/.ssh /home/webapp

新規ターミナルを立ち上げ、作成したユーザー名でSSHを使用して接続します。

$ ssh webapp@your_server_ip

セッションごとに初めてsudoを使用する場合、通常ユーザーのパスワードが必要(以降は定期的に必要)。

$ sudo command_to_run

DNSレコード設定

お名前ドットコムなどでドメイン取得していれば、

example.com と、www.example.com を持つAレコード として追加します。

以下のDNSレコードを追加

タイプ 名称 TTL
A(通常) @ 3600 (VPSのIPアドレス)
A(通常) www 3600 (VPSのIPアドレス)

続いて、Nginxの設定を行っていきます。

Ubuntu 20.04 LTS サーバ構築 – Nginxインストール
 

Comment

Related Article

Ubuntu 20.04 LTS サーバ構築 – DKIM、DMARCを設定する

2022.05.01

Ubuntu 20.04 LTS サーバ構築 – Postfix Let’s EncryptでTLS化

2022.05.01

Ubuntu 20.04 LTS サーバ構築 – Postfix SASL認証

2022.05.01

Ubuntu 20.04 LTS サーバ構築 – Dovecotインストール

2022.05.01

Ubuntu 20.04 LTS サーバ構築 – Postfixインストール

2022.05.01

Ubuntu 20.04 LTS サーバ構築 – Let’s EncryptでSSL/TLS化

2022.05.01

Ubuntu 20.04 LTS サーバ構築 – Nginxインストール

2022.05.01

Ubuntu 20.04 LTS サーバ構築 – 初期セットアップ

2022.05.01

Ubuntu 18.04 LTSで OpenGL開発

2019.05.20

平成最後のお買い物!!「Logicool MX Master 2 Wireless Mouse」と「K780 マルチデバイス BLUETOOTH® キーボード」で快適PC生活。

2019.04.27

CATEGORY LIST

LATEST NEWS

Rust - Actix Web mongo ユーザー登録 JWT認証

Rust

2024.03.24

Rust - Actix Web JWT 認証認可 APIの作成

Rust

2024.02.25

Rust - Actix Web × JSON 静的ファイルをAPIで返却

Rust

2024.01.19

Rust - Actix Web × MongoDB環境をサクッと起動

Rust

2024.01.18

5分で学ぶ RustでWave Function Collapse (波動関数崩壊アルゴリズム)

Rust

2024.01.15

LLaMAモデル GGMLフォーマット(llama.cpp)をRustフレームワーク Leptosを用いて M1MacMiniでサクッと動かす。

Rust

2024.01.11

2024年 狙っているモバイルノートPC

tool

2024.01.07

MacOS XcodeにSDL2を追加

tool

2023.12.26

php 7.4にアップデート

PHP

2023.12.24

5分で覚える Flutter Flameで作る Wave Function Collapse - 波動関数崩壊アルゴリズム

AI・Bot・algorithm

2023.12.20

Flutter - Flameでゲーム作成 (キャラクターの移動)

Flutter

2023.07.23

Flutterで作る ChatGPT Prompt Manager

Flutter

2023.07.12

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。

FOLLOW US