サーバーを契約したけれど、「最初に何を設定すればいいの?」と不安になっていませんか?初期設定を怠ると、セキュリティの甘さや予期せぬトラブルに悩まされることも…。
この記事では、初心者の方でも迷わず実行できるように、サーバー契約直後にやるべき初期設定の手順をわかりやすく解説します!
目次
サーバー契約後にやるべき初期設定とは?
サーバー契約後、最初に行うべき初期設定をご紹介します。
まずは以下に、サーバー初期設定の全体の流れをまとめました。
- rootユーザー以外の管理ユーザー作成
- SSH接続設定(ポート変更・公開鍵認証の導入)
- ファイアウォールでのアクセス制御
- 不要サービスの停止と起動設定の見直し
- バックアップ体制の整備
- セキュリティアップデートの自動化
この流れを意識して進めることで、セキュリティリスクを最小限に抑えつつ、安定した運用環境を整備できます。
初期設定の重要性とやらないことで起こるトラブル
まだサーバーを契約していない方や、どのサーバーを選べばいいか迷っている方は、まずはサーバー選びから始めましょう。
初心者向けにおすすめのレンタルサーバーを3つ厳選して紹介しているので、ぜひ以下の記事を参考にしてみてください。
サーバーの初期設定は、セキュリティ強化、安定運用、トラブル防止のすべてに関わります。サーバーは契約しただけでは、外部から誰でもアクセスできる状態のままです。つまり「空き家に鍵がかかっていない」ような状態。そのままWebサイトを公開したり、アプリを配置するのは非常に危険です!
まずは以下のように項目を一つずつ設定し、セキュリティと運用の基盤を作りましょう。
- rootユーザー以外の管理ユーザー作成
- SSH接続の安全化(ポート変更・公開鍵認証)
- ファイアウォールの設定(必要な通信のみ許可)
- 不要なサービスの停止と自動起動設定
- 定期的なバックアップの準備
上から順番に解説していきますので、初めてサーバーを導入する人は一緒に確認していきましょう。
【Linux初心者向け】新規ユーザー作成とsudo権限の付与方法
rootユーザー(※)は全権限を持つ管理者アカウントのため、万が一乗っ取られると致命的な被害につながります。
そこで、一般ユーザーを作成し、sudo(※)で必要な操作だけ権限昇格する運用方法に切り替えることで、より安全なサーバー運用が実現できます。また、SSH接続の設定を見直すことで、外部からの不正アクセスのリスクを最小限に抑えることが可能です。
下記では、rootユーザー以外の管理ユーザー作成する方法をご紹介します。
root(ルート)ユーザーとは、サーバー内で最も強力な権限を持つ特別な管理者アカウントのこと。 このアカウントはすべてのファイルや設定を自由に操作できます。
「sudo(スードゥ)」は、「Superuser DO(スーパーユーザーとして実行する)」の略。
一般ユーザーのままで安全に作業し、必要なときだけsudoで管理者権限を一時的に使えるのが特徴。
新規ユーザー作成とsudo権限の付与
まずは新規ユーザーの作成を行い、作成したユーザーにsudo権限の付与を行いましょう。
新規ユーザーを作成するコマンドは下記を使用します。
adduser
sudo権限を付与するコマンドは下記を実行します。
usermod
もし、初めてコマンドを実施する人や手順を画像付きで知りたい人は、下記の記事を参考にしてください。
こちらの記事では、ConoHa VPSで実際の手順を画像付きで解説しております。順番に実施すれば新規ユーザーの作成からsudo権限の付与まで行えます。
SSH設定の見直しとSSH接続方法
サーバーへのリモート接続に使うSSH(Secure Shell)は、セキュリティ対策として設定の見直しがとても重要です。とくに「パスワードでのログイン」は、総当たり攻撃(ブルートフォース)の標的になりやすいため、公開鍵認証へ切り替えるのが基本です。
SSH設定の手順を画像付きで確認したい人は、こちらの記事が参考になります。
上記の記事では、実際に私がConoHa VPSを使ってSSHの設定変更を行う手順を紹介しています。ConoHa VPSは直観的操作が行えるほどシンプルで見やすい管理画面が特徴なので、操作性を重視したい人におすすめです。
\開発やテスト環境に最適!速い・安い・使いやすいの三拍子/
ファイアウォール(UFW)とポート開放の具体的手順
サーバーはネット上に常時公開されているため、世界中の攻撃対象になります。そのため「ファイアウォール」を設定し、最低限の通信だけを許可することで不要なアクセスを遮断し、セキュリティを一段階引き上げます。
初心者でも使いやすい「UFW(Uncomplicated Firewall)」を使って、安全にポート設定を行いましょう。
UFWの基本設定
UFW(Uncomplicated Firewall)を有効化することで、不要な通信を遮断し必要なポートのみを許可する、シンプルかつ効果的なセキュリティ対策が可能になります。
設定手順も非常にわかりやすく、初心者でも扱いやすいのがUFWの魅力です。ConoHa VPSでの具体的な設定方法については、以下の記事で手順を詳しく解説しています。
よくある初期設定エラーとその対処法【初心者がつまずくポイント】
サーバーの初期設定では、ちょっとしたミスが大きなトラブルにつながることがあります。ここでは、初心者が特につまずきやすい以下のエラーについて解説します。
設定作業に入る前に読んでおけば、未然にミスを防ぐことができます!
SSH接続できない
SSH接続できない場合は、以下が原因である可能性が高いです。
- ポート番号の間違い
- 鍵ファイルの権限が「600」になっていない
- 公開鍵の設置場所(.ssh/authorized_keys)が間違っている
これらの設定を1度見直すことで、SSH接続ができる場合も。とくによくあるのはポート番号の間違いなので要注意です。
原因を見つけるためにも、まずはポートを指定して接続してみましょう。下記はポート10022を使った場合の実行コマンド例になります。
ssh -p 10022 yourname@your.server.ip
次に考えられるのは鍵ファイルに権限の付与がうまくいっていない場合です。まずは自分の現在の権限がどうなっているのかを下記コマンドを実行して確認を行いましょう。
ls -l ~/.ssh/authorized_keys
-rw-------
の表示がない場合は、権限が付与されていません。下記のコマンドを実行して権限を付与しましょう。
chmod 600 ~/.ssh/authorized_keys
最後に考えられるのは公開鍵の配置場所が「.ssh」でない場合です。これはコンソールから.sshディレクトリに入りls -l
を実行すればファイルの確認が行えます。そこに公開鍵が書かれた「authorized_keys」が存在しない場合は設置をし直しましょう。
UFWで通信できない
UFW(Uncomplicated Firewall)を有効にした直後から通信ができなくなるケースは意外と多く、特にSSHやWebアクセスに支障が出るとリモート操作やサイト閲覧ができなくなります。
その原因の多くは、必要なポートを許可せずに ufw enable を実行してしまうことです。SSH用のポート(デフォルト22番や変更後の10022番など)や、Web用の80番・443番ポートを忘れずに許可しましょう。
再設定には以下のコマンドを使用します。
sudo ufw allow 10022/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
設定後に下記のコマンドで許可状態を確認できますので、念のためチェックをしましょう。
sudo ufw status
ユーザーでsudoできない
Linuxで新しくユーザーを作成した後、「sudo」が使えずエラーになることがあります。その主な原因は、作成したユーザーが「sudo」グループに追加されていない、または、そもそも「sudo」コマンド自体がインストールされていないことです。
対処法として、まずはユーザーを「sudo」グループに追加し、正しく権限が付いているか確認しましょう。
ユーザーにsudo権限を付与するには以下のコマンドを実行します。yournameはユーザー名を入れましょう。
sudo usermod -aG sudo yourname
これらのエラーと対処法を事前に押さえておけば、安心して初期設定を進めることができます。
バックアップと定期アップデートのすすめ
初期設定が終わったあとも、サーバーは日々動き続けます。そのため、万が一に備えたバックアップとセキュリティを維持するためのアップデートは、継続的に行うべき保守作業です。
ここでは、自動で行えるバックアップや定期的なアップデートの方法を紹介します。
バックアップの自動化
Linuxサーバーでは、万が一のトラブルに備えて「バックアップの自動化」がとても重要です。しかし、cron(定期実行)の設定だけではうまく動かないことがあります。
その原因としては、下記の2つが考えられます。
- cronの中では環境変数(特にPATH)が制限されていて、rsync などのコマンドにパスが通っていない
- バックアップ先(例:/backup)のディスク容量が不足している
手動バックアップ(rsync)
まずは手動でバックアップを試して、コマンドが正常に動作するか確認しましょう。
rsync -avz /var/www/ /backup/www-backup/
コマンドの意味を解説
/var/www/
:バックアップ元のディレクトリを意味します。
/backup/www-backup/
:バックアップ先を指定します。
-avz
はオプションで、それぞれ「アーカイブ」「詳細表示」「圧縮転送」を意味します。
自動化(cronの例)
毎日午前3時にバックアップを自動で実行するには、以下のようにcrontabに設定します。
crontab -e
0 3 * * * /usr/bin/rsync -avz /var/www/ /backup/www-backup/
パスが通っていないと、何も実行されずエラーも出ないことがあります。
定期的なアップデートの実施
UbuntuなどのLinuxサーバーでは、定期的なアップデートを怠ると、セキュリティの脆弱性がそのまま放置されてしまうリスクがあります。また、アップデートの中には再起動が必要なものもあり、適用されたつもりで実際には反映されていないケースも見受けられます。
そのため、「update」「upgrade」コマンドの実行を定期的に行うことが重要です。
更新コマンド(手動)
以下のコマンドを使えば、すべてのパッケージを最新状態に保てます。
sudo apt update && sudo apt upgrade -y
コマンドの意味を解説
apt update
:最新のパッケージ情報を取得するという意味です。
apt upgrade
:アップデート可能なパッケージを一括で更新するという意味です。
自動アップデートの設定
毎回手動で行うのが大変な場合は、自動アップデート機能も活用できます。必須の設定ではないので、必要に応じて設定をしておくと便利です。
まずは、自動アップデートを行う機能をインストールするコマンドを実行します。
sudo apt install unattended-upgrades
続いて、設定画面で自動更新を有効にします。
sudo dpkg-reconfigure --priority=low unattended-upgrades
これで、自動アップデートの設定が完了です。
コマンドの意味を解説
unattended-upgrades
:自動アップデートを実行するプログラム名を指し、ユーザーの操作なしで自動的に実行してくれます。
dpkg-reconfigure
:Debian系の設定ツールでインストール済みパッケージの設定画面を再表示します。
--priority=low
:設定項目をできるだけ詳細に表示するコマンドです。
定期的なアップデートの実施は、サーバーを安全に保つ最も基本的なメンテナンスです。初心者でも簡単にできる作業なので、月に一度は手動でもチェックしましょう。
初期設定を怠らないことが安定運用の第一歩
サーバーの初期設定は、単なる準備作業ではなく、安全で安定した運用を実現するための第一歩です。とくに初心者のうちは、ひとつひとつの設定の意味を理解しながら進めることが、後々のトラブル対応力や知識の積み上げにもつながります。
この記事を参考に、ぜひご自身の環境に合わせてしっかりと初期設定を行ってみてくださいね。