Ubuntuサーバーは、非常に人気が高く、広く利用されているLinuxディストリビューションの一つで、安定性と使いやすさを兼ね備えています。Ubuntuサーバーは、個人や企業のITインフラを支えるために、ウェブサーバー、データベース、アプリケーションサーバーなど、さまざまな用途に適しています。本記事では、Ubuntuサーバーのセットアップから、運用における重要な設定、管理ツールまでを包括的に解説します。
1. Ubuntuサーバーのインストール
Ubuntuサーバーのインストールは、他のLinuxディストリビューションと同様に、比較的簡単です。以下にインストール手順を示します。
1.1 必要なもの
- インストール用のUbuntuサーバーISOファイル
- インストール用のメディア(USBメモリやDVDディスク)
- インストール対象のコンピュータ(仮想マシンでも可能)
1.2 インストール手順
-
UbuntuサーバーのISOをダウンロード
公式ウェブサイトから最新版のUbuntu ServerのISOファイルをダウンロードします。 -
インストールメディアを作成
ダウンロードしたISOファイルをUSBメモリやDVDに書き込み、インストールメディアを作成します。USBメモリを使う場合、Rufus
やEtcher
などのツールを使って書き込みます。 -
サーバーにインストールメディアを挿入し、起動
サーバーにインストールメディアを挿入し、BIOS設定でUSBまたはDVDから起動するように設定します。 -
インストールの開始
Ubuntuのインストール画面が表示されるので、「Install Ubuntu Server」を選択します。次に、言語や地域、キーボードレイアウトを選びます。 -
ネットワーク設定
サーバーのネットワーク設定を行います。DHCPを使用するか、静的IPアドレスを設定するか選択します。 -
パーティション設定
ディスクのパーティション設定を行います。初心者には「自動で設定」を選ぶのが簡単です。 -
ユーザーとパスワードの設定
サーバーにログインするためのユーザー名とパスワードを設定します。特に重要な設定なので、強力なパスワードを使用してください。 -
インストールの完了
必要なパッケージがインストールされると、インストールが完了します。再起動を促されるので、インストールメディアを取り外して再起動します。
1.3 インストール後の初期設定
- サーバーが正常に起動したら、インターネットに接続されていることを確認し、
sudo apt update
でパッケージリストを更新します。 - セキュリティパッチを適用するために、
sudo apt upgrade
を実行します。
2. Ubuntuサーバーの基本設定
サーバーがインストールされたら、基本的な設定を行いましょう。
2.1 ファイアウォールの設定
Ubuntuにはufw
(Uncomplicated Firewall)という簡易ファイアウォールツールが標準でインストールされています。基本的な設定を行い、必要なポートだけを開放します。
bashsudo ufw allow OpenSSH # SSHポートを開放
sudo ufw enable # ファイアウォールを有効化
sudo ufw status # 状態の確認
2.2 SSHの設定
リモートでサーバーにアクセスするためには、SSH(Secure Shell)を使用します。デフォルトではSSHサーバーがインストールされていない場合がありますので、以下のコマンドでインストールします。
bashsudo apt install openssh-server # SSHサーバーをインストール
sudo systemctl enable ssh # SSHを起動時に自動で起動させる
sudo systemctl start ssh # SSHを開始
SSHの設定を変更するには、/etc/ssh/sshd_config
ファイルを編集します。例えば、ポート番号や、ルートログインの可否などを設定できます。
2.3 タイムゾーンの設定
サーバーが配置されている地域に合わせてタイムゾーンを設定します。次のコマンドでタイムゾーンを設定します。
bashsudo timedatectl set-timezone Asia/Tokyo # 日本のタイムゾーンに設定
2.4 自動アップデートの設定
セキュリティパッチを自動的に適用するために、unattended-upgrades
パッケージをインストールして設定します。
bashsudo apt install unattended-upgrades # 自動アップデートパッケージをインストール
sudo dpkg-reconfigure --priority=low unattended-upgrades # 設定を行う
3. サーバー管理ツール
3.1 htop
でシステムリソースを監視
htop
は、CPU、メモリ、ディスク使用率などのシステムリソースをリアルタイムで監視するためのツールです。以下のコマンドでインストールします。
bashsudo apt install htop # htopをインストール
htop # 実行
3.2 systemd
によるサービス管理
Ubuntuではsystemd
を使用してサービスの管理を行います。サービスのステータスを確認するには、以下のコマンドを使用します。
bashsystemctl status nginx # サービスの状態を確認
サービスを起動、停止、再起動するには、次のようにコマンドを使用します。
bashsudo systemctl start nginx # サービスを開始
sudo systemctl stop nginx # サービスを停止
sudo systemctl restart nginx # サービスを再起動
3.3 ログの確認
サーバーで発生したエラーや警告を確認するには、journalctl
コマンドを使用します。特定のサービスのログを確認することもできます。
bashjournalctl -u nginx # Nginxサービスのログを確認
4. Ubuntuサーバーでよく使われるソフトウェア
4.1 Apacheウェブサーバーのインストールと設定
Ubuntuサーバーで最も一般的なウェブサーバーはApacheです。以下のコマンドでApacheをインストールし、サービスを開始します。
bashsudo apt install apache2 # Apacheをインストール
sudo systemctl enable apache2 # Apacheを自動起動
sudo systemctl start apache2 # Apacheを開始
4.2 Nginxウェブサーバーのインストールと設定
Apacheの代わりに軽量で高速なNginxを使用することもあります。インストールと設定方法は以下の通りです。
bashsudo apt install nginx # Nginxをインストール
sudo systemctl enable nginx # Nginxを自動起動
sudo systemctl start nginx # Nginxを開始
4.3 MySQLデータベースのインストールと設定
データベースが必要な場合は、MySQLやMariaDBをインストールします。
bashsudo apt install mysql-server # MySQLをインストール
sudo mysql_secure_installation # セキュリティ設定
5. サーバーのバックアップと復元
定期的にサーバーのバックアップを取ることは非常に重要です。rsync
を使用して簡単にバックアップを取ることができます。
bashrsync -avz /path/to/source /path/to/destination # ディレクトリをバックアップ
また、バックアップを自動化するためにcron
を利用することもできます。