新しいUbuntu14.04サーバーの追加の推奨手順
序章
新しいサーバーの最低限の構成をセットアップした後、ほとんどの場合に強く推奨されるいくつかの追加の手順があります。 このガイドでは、推奨されているがオプションの手順に取り組むことで、サーバーの構成を続行します。
前提条件と目標
このガイドを開始する前に、Ubuntu14.04初期サーバーセットアップガイドを実行する必要があります。 これは、ユーザーアカウントを設定し、特権の昇格を構成するために必要です。 sudo
、セキュリティのためにSSHをロックダウンします。
上記のガイドを完了したら、この記事を続けることができます。 このガイドでは、オプションであるが推奨されるコンポーネントの構成に焦点を当てます。 これには、ファイアウォール、ネットワークタイムプロトコルの同期、およびスワップファイルを使用してシステムを設定することが含まれます。
基本的なファイアウォールの構成
ファイアウォールは、サーバーに基本レベルのセキュリティを提供します。 これらのアプリケーションは、承認したポート/サービスを除いて、サーバー上のすべてのポートへのトラフィックを拒否する役割を果たします。 Ubuntuにはと呼ばれるツールが付属しています ufw
これを使用してファイアウォールポリシーを構成できます。 私たちの基本的な戦略は、オープンを維持する正当な理由がないものをすべてロックダウンすることです。
ファイアウォールを有効化または再ロードする前に、ポリシーの例外を定義するルールを作成します。 まず、リモート管理のためのアクセスを維持できるように、SSH接続の例外を作成する必要があります。
SSHデーモンはデフォルトでポート22で実行され、 ufw
デフォルトが変更されていない場合は、名前でルールを実装できます。 したがって、SSHポートを変更していない場合は、次のように入力して例外を有効にできます。
sudo ufw allow ssh
SSHデーモンがリッスンしているポートを変更した場合は、TCPプロトコルとともに実際のポート番号を指定して許可する必要があります。
sudo ufw allow 4444/tcp
これは最低限のファイアウォール構成です。 SSHポートでのトラフィックのみが許可され、他のすべてのサービスにアクセスできなくなります。 追加のサービスを実行する予定の場合は、必要な各ポートでファイアウォールを開く必要があります。
従来のHTTPWebサーバーの実行を計画している場合は、ポート80へのアクセスを許可する必要があります。
sudo ufw allow 80/tcp
SSL / TLSを有効にしてWebサーバーを実行する場合は、そのポートへのトラフィックも許可する必要があります。
sudo ufw allow 443/tcp
SMTP電子メールを有効にする必要がある場合は、ポート25を開く必要があります。
sudo ufw allow 25/tcp
例外の追加が完了したら、次のように入力して選択内容を確認できます。
sudo ufw show added
すべてが良好に見える場合は、次のように入力してファイアウォールを有効にできます。
sudo ufw enable
選択の確認を求められますので、続行する場合は「y」と入力してください。 これにより、作成した例外が適用され、他のすべてのトラフィックがブロックされ、起動時に自動的に起動するようにファイアウォールが構成されます。
後で構成する可能性のある追加サービスのポートを明示的に開く必要があることに注意してください。 詳細については、ufwファイアウォールの構成に関する記事をご覧ください。
タイムゾーンとネットワークタイムプロトコルの同期を構成する
次のステップは、サーバーのローカリゼーション設定を設定し、ネットワークタイムプロトコル(NTP)同期を構成することです。
最初のステップでは、サーバーが正しいタイムゾーンで動作していることを確認します。 2番目のステップでは、システムクロックをNTPサーバーのグローバルネットワークによって維持される標準時間に同期するようにシステムを構成します。 これは、非同期クロックから発生する可能性のある一貫性のない動作を防ぐのに役立ちます。
タイムゾーンを設定する
最初のステップは、サーバーのタイムゾーンを設定することです。 これは非常に簡単な手順であり、再構成することで実行できます。 tzdata
パッケージ:
sudo dpkg-reconfigure tzdata
サーバーの地理的領域を選択できるメニューシステムが表示されます。
エリアを選択すると、サーバーに適した特定のタイムゾーンを選択できるようになります。
選択したタイムゾーンを使用するようにシステムが更新され、結果が画面に出力されます。
Current default time zone: 'America/New_York'
Local time is now: Mon Nov 3 17:00:11 EST 2014.
Universal Time is now: Mon Nov 3 22:00:11 UTC 2014.
次に、NTPの構成に進みます。
NTP同期を構成する
タイムゾーンが設定されたので、NTPを構成する必要があります。 これにより、コンピューターを他のサーバーとの同期を維持できるようになり、正しい時刻に依存する操作の予測可能性が高まります。
NTP同期には、というサービスを使用します ntp
、Ubuntuのデフォルトリポジトリからインストールできます。
sudo apt-get update
sudo apt-get install ntp
UbuntuでNTP同期を設定するために必要なことはこれだけです。 デーモンは起動するたびに自動的に起動し、システム時間を継続的に調整して、1日を通してグローバルNTPサーバーと一致するようにします。
NTPサーバーの詳細については、ここをクリックしてください。
スワップファイルを作成する
Linuxサーバーに「スワップ」を追加すると、システムは、実行中のプログラムのアクセス頻度の低い情報をRAMからディスク上の場所に移動できます。 ディスクに保存されているデータへのアクセスはRAMへのアクセスよりもはるかに低速ですが、スワップを使用できるようにすることで、アプリケーションを存続させることとクラッシュすることの違いになることがよくあります。 これは、システムでデータベースをホストする場合に特に便利です。
ノート
従来の回転式ハードドライブを使用するシステムでは一般にスワップが推奨されますが、SSDでスワップを使用すると、時間の経過とともにハードウェアの劣化の問題が発生する可能性があります。 この考慮事項のため、DigitalOceanまたはSSDストレージを利用するその他のプロバイダーでスワップを有効にすることはお勧めしません。 そうすることは、あなたとあなたの隣人のための基礎となるハードウェアの信頼性に影響を与える可能性があります。
サーバーのパフォーマンスを向上させる必要がある場合は、Dropletをアップグレードすることをお勧めします。 これにより、一般的に良い結果が得られ、サービスに影響を与える可能性のあるハードウェアの問題に寄与する可能性が低くなります。
スワップスペースの最適なサイズに関するアドバイスは、参照するソースによって大幅に異なります。 一般に、システムのRAMの量と同じか2倍の量が出発点として適しています。
を使用して、スワップファイルに使用するスペースを割り当てます。 fallocate
効用。 たとえば、4ギガバイトのファイルが必要な場合は、次の場所にあるスワップファイルを作成できます。 /swapfile
次のように入力します。
sudo fallocate -l 4G /swapfile
ファイルを作成した後、他のユーザーやプロセスがそこに書かれているものを見ることができないように、ファイルへのアクセスを制限する必要があります。
sudo chmod 600 /swapfile
これで、正しい権限を持つファイルができました。 スワップ用にファイルをフォーマットするようにシステムに指示するには、次のように入力します。
sudo mkswap /swapfile
次に、次のように入力して、スワップファイルを使用できることをシステムに通知します。
sudo swapon /swapfile
私たちのシステムはこのセッションにスワップファイルを使用していますが、サーバーが起動時にこれを自動的に行うようにシステムファイルを変更する必要があります。 これを行うには、次のように入力します。
sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'
この追加により、システムは起動のたびにスワップファイルを自動的に使用する必要があります。
ここからどこへ行くの?
これで、Linuxサーバーのセットアップは非常に適切になりました。 ここから、行くことができる場所がかなりあります。 まず、現在の構成でサーバーのスナップショットを作成することをお勧めします。
現在の構成のスナップショットを作成します
構成に満足しており、これを将来のインストールのベースとして使用したい場合は、DigitalOceanコントロールパネルからサーバーのスナップショットを作成できます。 2016年10月以降、スナップショットのコストは、ファイルシステム内の使用済みスペースの量に基づいて、1ギガバイトあたり月額0.05ドルになります。
スナップショットの準備をするには、コマンドラインからサーバーをシャットダウンします。 実行中のシステムのスナップショットを撮ることは可能ですが、電源を切ると、ファイルシステムの一貫性がより確実になります。
sudo poweroff
これで、DigitalOceanコントロールパネルで、サーバーの[スナップショット]タブにアクセスしてスナップショットを作成できます。
スナップショットを作成した後、作成プロセス中にイメージの[マイスナップショット]タブからスナップショットを選択することにより、将来のインストールのベースとしてそのイメージを使用できるようになります。
追加のリソースと次のステップ
ここから、パスはサーバーで何をしたいかに完全に依存します。 以下のガイドのリストは完全なものではありませんが、ユーザーが次に使用する一般的な構成のいくつかを表しています。
- LAMP(Linux、Apache、MySQL / MariaDB、PHP)スタックのセットアップ
- LEMP(Linux、Nginx、MySQL / MariaDB、PHP)スタックのセットアップ
- ApacheWebサーバーへのWordPressCMSのインストール
- NginxWebサーバーへのWordPressCMSのインストール
- DrupalCMSをApacheWebサーバーにインストールする
- Node.jsのインストール
- RubyonRailsとRVMのインストール
- PHPフレームワークであるLaravelのインストール
- インフラストラクチャを管理するためのPuppetのインストール
結論
この時点で、新しいサーバーの強固な基盤を構成する方法を知っておく必要があります。 うまくいけば、あなたはあなたの次のステップのための良いアイデアも持っています。 サーバーに実装できるその他のアイデアについては、サイトを自由に探索してください。