自社でWebサーバーや社内システムを運用したいと考えたとき、最初に選択肢に挙がるのがUbuntu Serverです。Ubuntu Serverは無料で利用できるLinuxディストリビューションでありながら、企業利用にも耐える安定性と豊富なドキュメントを備えています。
しかし、初めてLinuxサーバーを構築する場合、「何から手をつければいいのか分からない」「セキュリティ設定に不安がある」という声をよく耳にします。本記事では、Ubuntu Serverのインストールから初期設定、セキュリティ強化まで、IT担当者が迷わず進められるよう手順を一つひとつ丁寧に解説します。
Linuxの基本的な概念についてまだ不安がある方は、まずLinuxとは何かを確認してから読み進めると理解が深まります。
Ubuntu Serverとは?選ばれる理由と2026年の最新動向
Ubuntu Serverは、Canonical社が開発・提供するLinuxディストリビューションのサーバー版です。デスクトップ版と異なりGUI(グラフィカルユーザーインターフェース)を持たず、すべての操作をコマンドラインで行います。
Ubuntu Serverが選ばれる5つの理由
無料で商用利用可能
Ubuntu Serverはオープンソースソフトウェアであり、ライセンス費用が発生しません。中小企業にとって、サーバーOSのコストを抑えられることは大きなメリットです。
LTS(Long Term Support)による長期サポート
Ubuntu Serverには2年ごとにリリースされるLTS版があり、5年間のセキュリティアップデートが提供されます。有償のUbuntu Proを利用すれば最大12年のサポートを受けることも可能です。2026年現在、Ubuntu 24.04 LTSが最新の安定版として広く利用されています。
豊富なパッケージとコミュニティ
世界中で利用されているため、ほとんどのソフトウェアがUbuntu向けにパッケージ化されています。問題が発生した場合も、日本語・英語を問わず情報を見つけやすい点は、少人数で運用する中小企業にとって心強い特長です。
クラウド環境との親和性
AWS、Azure、Google Cloudなど主要なクラウドプラットフォームで公式イメージが提供されており、オンプレミスからクラウドへの移行もスムーズに行えます。
充実した自動化ツール
AnsibleやTerraformなどの構成管理ツールとの親和性が高く、サーバーの構築・管理を効率的に自動化できます。
Ubuntu ServerとDesktopの違い
初心者が混乱しやすいポイントとして、Ubuntu DesktopとServerの違いがあります。Desktop版はGUIを備えた一般ユーザー向けで、Server版はCLI(コマンドラインインターフェース)のみのサーバー運用特化版です。Server版はGUIを持たない分、メモリやCPUのリソースをサーバー処理に集中させることができます。
サーバー用途であれば、必ずServer版を選択しましょう。コマンド操作に不慣れな方は、Linuxコマンド一覧の実践ガイドを手元に置いておくと安心です。
インストール前の準備|ハードウェア要件とISOイメージの取得
Ubuntu Serverをインストールする前に、必要な環境を整えましょう。
最低限のハードウェア要件
Ubuntu Server 24.04 LTSの最低要件は以下の通りです。
CPU:1GHz以上のプロセッサ(64bit対応必須)
メモリ:1GB以上(推奨2GB以上)
ストレージ:2.5GB以上(推奨25GB以上)
ネットワーク:インターネット接続可能なNIC
実際の運用では、用途に応じてリソースを見積もる必要があります。Webサーバーとして利用する場合はメモリ4GB以上、データベースサーバーであれば8GB以上を推奨します。
ISOイメージのダウンロード
Ubuntu Serverの公式サイト(ubuntu.com/download/server)からISOイメージをダウンロードします。LTS版を選択することを強く推奨します。通常版は9か月のサポート期間しかなく、頻繁なアップグレードが必要になるためです。
ダウンロードしたISOイメージは、USBメモリに書き込んでブータブルメディアを作成します。Windowsであれば「Rufus」や「balenaEtcher」、macOSであれば「balenaEtcher」を使用するのが一般的です。
仮想環境での検証
本番環境にいきなりインストールするのではなく、まずは仮想環境で手順を確認することをおすすめします。VirtualBoxやVMware Workstation Playerを使えば、既存のPC上でUbuntu Serverを試すことができます。Windows環境であればWSL2を使ったLinux環境構築も検証用途に便利です。
Ubuntu Serverのインストール手順
ブータブルメディアからPCを起動し、インストールを進めます。Ubuntu Serverのインストーラーは「Subiquity」というテキストベースのウィザード形式で、画面の指示に従って進めるだけで完了します。
言語とキーボードの設定
インストーラーが起動したら、まず言語を選択します。サーバー用途では「English」を推奨します。日本語を選択するとログのメッセージが日本語になりますが、文字化けのリスクやトラブルシューティング時に英語の情報が多い点を考慮すると、英語環境の方が運用しやすいです。
キーボードレイアウトは「Japanese」を選択します。日本語配列のキーボードを使用している場合、これを間違えると記号の入力位置がずれてしまいます。
ネットワーク設定
DHCPが利用可能な環境であれば、自動的にIPアドレスが割り当てられます。サーバー用途では固定IPアドレスを設定することが一般的です。インストール時にはDHCPのまま進め、後述の初期設定で固定IPに変更する方法もあります。
ストレージの設定
「Use an entire disk」を選択すると、ディスク全体を使用してUbuntuをインストールします。LVM(Logical Volume Manager)を有効にするオプションがあり、後からパーティションサイズを変更できるため、有効にしておくことを推奨します。ディスク管理の詳細についてはLinuxのディスク管理ガイドもあわせてご覧ください。
ユーザーアカウントの作成
サーバー名(hostname)と、管理者ユーザーのアカウント情報を入力します。ここで作成するユーザーにはsudo権限が自動的に付与されます。パスワードは必ず強力なものを設定してください。英大文字、小文字、数字、記号を組み合わせた12文字以上が推奨です。
OpenSSHサーバーのインストール
インストール途中で「Install OpenSSH server」のオプションが表示されます。リモートからサーバーを管理するために、必ずチェックを入れてください。SSHの詳しい設定方法についてはSSH接続の完全ガイドで解説しています。
インストール完了と再起動
すべての設定が完了するとインストールが始まります。完了後、「Reboot Now」を選択してUSBメモリを取り外し、再起動します。ログイン画面が表示されれば、インストールは成功です。
インストール後の初期設定|最初にやるべき5つのこと
Ubuntu Serverのインストールが完了したら、すぐに以下の初期設定を行いましょう。これらは本番運用前に必ず実施すべき項目です。
1. システムの最新化
インストール直後のシステムには、セキュリティパッチが適用されていない可能性があります。まずパッケージリストを更新し、すべてのパッケージを最新版に更新します。
sudo apt update && sudo apt upgrade -y
このコマンドは定期的に実行する必要があります。自動更新を有効にする方法は後述します。パッケージ管理の基本についてはLinuxパッケージマネージャーガイドで詳しく解説しています。
2. タイムゾーンの設定
デフォルトではUTC(協定世界時)に設定されています。日本で運用する場合は、Asia/Tokyoに変更しましょう。
sudo timedatectl set-timezone Asia/Tokyo
設定が反映されたかは timedatectl コマンドで確認できます。正しいタイムゾーン設定は、ログの時刻表示やcronジョブの実行時刻に影響するため重要です。
3. ホスト名の確認と変更
インストール時に設定したホスト名を確認し、必要であれば変更します。
hostnamectl set-hostname your-server-name
ホスト名はサーバーを識別するために使われるため、分かりやすい命名規則を決めておくと管理が楽になります。例えば「web01」「db01」のように役割と番号を組み合わせた命名が一般的です。
4. 固定IPアドレスの設定
Ubuntu Server 18.04以降では、ネットワーク設定にNetplanが使用されています。設定ファイルは /etc/netplan/ ディレクトリ内にあります。
Netplanの設定ファイルをテキストエディタで編集します。Vimの基本操作を身につけておくと、サーバー上でのファイル編集がスムーズに行えます。
設定例として、IPアドレス192.168.1.100、ゲートウェイ192.168.1.1、DNS 8.8.8.8を指定する場合のNetplan設定を示します。
sudo vim /etc/netplan/00-installer-config.yaml
YAMLファイル内で、dhcp4をnoに変更し、addresses、routes、nameserversのセクションを追加します。設定後は sudo netplan apply で反映させます。
5. 自動セキュリティ更新の有効化
セキュリティパッチの適用を自動化することで、脆弱性を放置するリスクを軽減できます。
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades
これにより、セキュリティ関連のアップデートが自動的に適用されるようになります。
ユーザー管理とsudo設定
サーバーのセキュリティを確保するうえで、適切なユーザー管理は欠かせません。root(管理者)アカウントでの直接ログインを禁止し、一般ユーザーにsudo権限を付与する運用が推奨されます。
管理用ユーザーの追加
サーバーを複数人で管理する場合、担当者ごとに個別のアカウントを作成します。
sudo adduser newadmin
対話形式でパスワードやユーザー情報の入力を求められます。続いて、このユーザーにsudo権限を付与します。
sudo usermod -aG sudo newadmin
これにより、newadminユーザーは sudo コマンドを使って管理者権限でコマンドを実行できるようになります。ユーザーとグループの管理について詳しくはLinuxのユーザー・グループ管理ガイドを参照してください。
rootログインの無効化
rootアカウントでの直接ログインはセキュリティリスクが高いため、無効化することを強く推奨します。
sudo passwd -l root
このコマンドでrootアカウントのパスワードをロックします。管理操作は通常ユーザーでログイン後、sudoを経由して行います。
パスワードポリシーの設定
パスワードの強度要件を設定するには、libpam-pwqualityパッケージを使用します。
sudo apt install libpam-pwquality -y
設定ファイル /etc/security/pwquality.conf を編集して、最低文字数、数字の必須化、特殊文字の必須化などのポリシーを設定できます。
SSHのセキュリティ強化
SSHはサーバーへのリモートアクセスの入口であり、最もセキュリティに注意すべきポイントです。デフォルトのSSH設定にはいくつかの改善点があります。
SSH鍵認証の設定
パスワード認証はブルートフォース攻撃(総当たり攻撃)に脆弱なため、SSH鍵認証への切り替えが必須です。
クライアント側(手元のPC)で鍵ペアを生成します。
ssh-keygen -t ed25519 -C "your-email@example.com"
生成された公開鍵をサーバーに転送します。
ssh-copy-id username@server-ip
鍵認証でログインできることを確認したら、パスワード認証を無効にします。
SSHの設定ファイル変更
SSH設定ファイル /etc/ssh/sshd_config を編集して、以下の項目を変更します。
デフォルトポートの変更:Port 22 を別の番号(例:2222)に変更します。これにより、自動スキャンによる攻撃を大幅に減らせます。
rootログインの禁止:PermitRootLogin no に設定します。
パスワード認証の無効化:PasswordAuthentication no に設定します。
接続タイムアウトの設定:ClientAliveInterval 300、ClientAliveCountMax 2 を設定し、放置されたセッションを自動切断します。
設定変更後はSSHサービスを再起動します。
sudo systemctl restart sshd
再起動前に、現在のSSHセッションは維持したまま、別のターミナルから新しい設定で接続できることを必ず確認してください。設定ミスで接続できなくなると、物理コンソールからの復旧が必要になります。
Fail2Banによる不正アクセス防止
Fail2Banは、ログを監視して繰り返しログインに失敗したIPアドレスを自動的にブロックするツールです。
sudo apt install fail2ban -y
設定ファイル /etc/fail2ban/jail.local を作成し、SSH向けの設定を追加します。例えば、5回の認証失敗で30分間ブロックする設定が一般的です。設定後、systemctlを使ったサービス管理でFail2Banを有効化します。
ファイアウォール(UFW)の設定
Ubuntu Serverには、iptablesを簡単に操作できるUFW(Uncomplicated Firewall)が標準で搭載されています。必要なポートのみを開放し、不要なアクセスを遮断しましょう。
UFWの基本設定
まず、UFWを有効にする前にSSHアクセスを許可します。これを忘れるとリモートからの接続が切断されます。
sudo ufw allow ssh(SSHポートを変更している場合は sudo ufw allow 2222/tcp)
sudo ufw enable
UFWを有効にしたら、現在のルールを確認します。
sudo ufw status verbose
用途別のポート開放
サーバーの用途に応じて必要なポートを開放します。
Webサーバー:sudo ufw allow 80/tcp(HTTP)、sudo ufw allow 443/tcp(HTTPS)
メールサーバー:sudo ufw allow 25/tcp(SMTP)、sudo ufw allow 587/tcp(Submission)
データベース(内部のみ):sudo ufw allow from 192.168.1.0/24 to any port 3306
最小限のポートのみを開放する「最小権限の原則」を徹底しましょう。ファイアウォール設定の詳しい考え方についてはLinuxのファイアウォールとセキュリティで解説しています。
運用を見据えた追加設定
初期設定が完了したら、安定した運用のためにいくつかの追加設定を行いましょう。
ログ管理の設定
サーバーの健全性を把握し、問題の早期発見を行うために、ログの管理は非常に重要です。Ubuntu Serverでは、journaldとrsyslogの2つのログシステムが動作しています。
journalctl -xe コマンドで最新のログを確認できます。ログの保持期間やサイズの制限は /etc/systemd/journald.conf で設定します。ログ管理の運用ノウハウについてはLinuxのログ管理ガイドで詳しく解説しています。
スワップ領域の確認
メモリが不足した際にシステムが停止しないよう、スワップ領域が適切に設定されているか確認します。
free -h
スワップが設定されていない場合や、不足している場合はスワップファイルを作成します。一般的に、物理メモリと同量のスワップを設定することが推奨されます。
cronジョブの設定
バックアップやログローテーションなどの定期的なタスクを自動化するために、cronを設定します。
sudo crontab -e
例えば、毎日午前3時にシステムのバックアップスクリプトを実行する場合は以下のように記述します。
0 3 * * * /usr/local/bin/backup.sh
cronの詳しい使い方についてはcronによるタスクスケジューリングのガイドを参照してください。
バックアップ体制の構築
サーバー運用において、バックアップは最後の砦です。最低限、以下の項目をバックアップする体制を整えましょう。
設定ファイル:/etc/ ディレクトリ以下
ユーザーデータ:/home/ ディレクトリ以下
Webコンテンツ:/var/www/ ディレクトリ以下
データベース:定期的なダンプファイル
バックアップの具体的な手法やリストア手順についてはLinuxのバックアップとリストアガイドで詳しく解説しています。ディレクトリ構造の基本はLinuxのディレクトリ構造ガイドも参考になります。
まとめ|Ubuntu Serverは中小企業の最適なサーバー基盤
Ubuntu Serverの初期設定について、インストールからセキュリティ強化、運用準備まで一通り解説しました。ここまでの内容を実施すれば、基本的なセキュリティが確保された状態でサーバーの運用を開始できます。
最後に、初期設定のチェックリストをまとめます。
インストールとシステム設定
- Ubuntu Server LTSのインストール完了
- システムの全パッケージを最新化
- タイムゾーンをAsia/Tokyoに設定
- 固定IPアドレスの設定
ユーザーとアクセス管理
- 管理用ユーザーの作成とsudo権限の付与
- rootログインの無効化
- SSH鍵認証の設定とパスワード認証の無効化
セキュリティ強化
- UFWファイアウォールの有効化と必要ポートのみ開放
- Fail2Banの導入
- 自動セキュリティ更新の有効化
運用準備
- ログ管理の設定確認
- バックアップ体制の構築
- 定期タスク(cron)の設定
この初期設定が完了したら、用途に応じたソフトウェアのインストールに進みましょう。WebサーバーであればNginxのセットアップガイド、コンテナ環境であればDockerによるLinux活用が次のステップとして役立ちます。
サーバー構築は初回こそ時間がかかりますが、手順を理解してしまえば繰り返し再現できます。本記事の内容をベースに、自社の環境に合った安全なサーバー基盤を構築してください。
関連記事
AWS CloudFrontでサイト高速化|CDN設定からキャッシュ戦略まで実践解説
AWS CloudWatchで監視・アラート設定|運用担当者のための実践ガイド
AWS CodePipelineでCI/CD構築|コード変更から本番デプロイまでの自動化
AWS Cost Explorerでコスト可視化|ムダを見つけて月額費用を削減する実践術
AWS ECS/Fargateでコンテナ運用|Docker→本番デプロイの実践ガイド
AWS IAMのベストプラクティス|最小権限の原則を実務で実装する方法
AWS RDSの実務ガイド|データベース構築・バックアップ・パフォーマンスチューニング
AWS S3の実務活用ガイド|バケット設計・アクセス制御・コスト最適化の実践