数年前、私は別のLinuxインストラクターが、Linuxにサービスをデプロイするためのいくつかの手順をガラガラと鳴らしているのを耳にしました。私は手順を書き留めました、そして時間をかけて私はそれらにいくつかのより多くの情報を追加しました。それ以来、この手順は私自身のLinux教育提供の一部となっています。
このトピックは、最初からLinuxを使用しているすべてのユーザーにとって非常に基本的なものです。もちろん、ファンダメンタルズのレビューは決して悪いことではありません。新しいLinuxシステム管理者の場合、このチェックリストは、展開手順を整理し、Linuxが保守しているサービスをどのように管理しているかを思い出させる方法として役立つ場合があります。また、各ステップで使用するツールについても説明します。
おそらく、Apacheを使用して基本的なWebサイトを展開しているのか、NFSに依存する新しいファイルサーバーを立ち上げているのでしょう。いずれの場合でも、展開が成功することを確認する必要があります。
始めましょう!
ステップ1:サービスはインストールされていますか?
サービスのインストールは明らかに最も基本的なステップです。多くのLinuxディストリビューションには、セキュリティとパフォーマンスの理由から、最小限のサービスのインストールしか含まれていません。たとえば、デフォルトでインストールされると信頼できる唯一のネットワークサービスはSSHです。したがって、Apache WebサーバーまたはNFSファイルサーバーを展開する場合は、おそらくソフトウェアを自分でインストールする必要があります。
注:ほとんどのアプリケーションを自分でインストールする必要があるため、最新バージョンを使用することをお勧めします。ただし、互換性の理由で必要な場合は、古いソフトウェアバージョンを自由に使用することもできます。
RHELベースのディストリビューションでは、rpm
を使用してサービスがインストールされていることを確認してください 、yum
、またはdnf
コマンド。
たとえば、次のyum
を実行します Apacheソフトウェアがインストールされていることを確認するコマンド:
# yum list httpd
ステップ2:サービスは構成されていますか?
ご存知のように、Linuxはテキストファイルを使用してサービス構成を管理します。これらのファイルは通常、/etc
に保存されます ディレクトリ。サービスをインストールしたら、関連する構成ファイルを編集して構成します。
たとえば、プライマリApache構成ファイルは/etc/httpd/conf/httpd.conf
です。 。このファイルを使用して、Webサービスの初期設定を定義します。
ほとんどのシステム管理者はvim
を使用します 構成ファイルを編集します。 Nano
、gedit
、さらにはemacs
可能なツールでもあります。
これは、選択したテキストエディタvim
を使用して構成ファイルを開く例です。 :
# vim /etc/httpd/conf/httpd.conf
ステップ3:サービスは開始されていますか?
新しくインストールおよび構成されたサービスを開始する必要があります。サービスを手動で開始すると、前の手順で編集した構成ファイルが読み取られます。開始手順では、適切な1つまたは複数のプロセスも起動し、ユーザーがサービス機能を利用できるようにします。
最新のディストリビューションのほとんどは、systemd
に依存しています 、したがって、systemctl
を使用します サービスを開始、停止、および再起動するコマンド。 systemctl
を使用してApacheを起動する例を次に示します。 :
# systemctl start httpd
古いシステムは、SysV
に依存している可能性があります init環境。そのような場合は、次のコマンドを使用してサービスを開始します。
# service httpd start
サービスを手動で開始する場合の問題は、現在のランタイムでのみアクティブになることです。サーバーを再起動しても、プロセスは自動的に開始されません。その事実から、以下のステップ4に進みます。
ステップ4:サービスは永続的ですか?
システムが起動するたびにサービスを開始するには、サービスを有効にする必要があります。 開始を忘れないでください サービスにより、有効化中に現在のランタイムで実行されます サービスにより、システムの起動時にサービスが開始されます。 2つの概念は互換性がありません(つまり、サービスを有効にしてもサービスは開始されません)。
systemdベースのディストリビューションでは、systemctl
を使用してサービスの起動ステータスを管理します 。アクションは有効または無効です。次に例を示します:
# systemctl enable httpd
SysVベースのシステムでは、chkconfig
を使用します サービスの起動ステータスを制御するコマンド。たとえば、サービスがランレベル3および5で開始されるようにするには、次のコマンドを入力します。
# chkconfig --level 35 httpd on
ステップ5:サービスをテストしましたか?
サービスをインストール、構成、開始、および有効化したので、次はサービスが意図したとおりに機能することを確認します。 ApacheテストWebページを表示できますか? NFSでエクスポートしたディレクトリにアクセスできますか?ネットワークサービスの場合、ほぼ確実にファイアウォールも構成する必要があることを忘れないでください。そのタスクはこの説明の範囲外ですが、情報はオンラインですぐに利用できます。
テストフェーズ中に、適切なログファイルが生成され、ログエントリが必要な重大度と一致することを確認することができます。 /etc/rsyslog.conf
を確認することから始めます ファイルとサービスのマニュアルページ。
ステップ6:サービスを変更しましたか?
テスト中にサービスの構成ファイルに変更を加えましたか?その場合は、ファイルを再読み込みするようにサービスを再起動する必要があります。また、サービスのライフサイクル中に行う将来の構成ファイルの編集についても考慮する必要があります。 systemdシステムとSysVベースのシステムの両方でサービスを再起動する例を次に示します。
# systemctl restart httpd
# service httpd restart
まとめ
このサービス展開手順とツールの基本的な要約がお役に立てば幸いです。これらの各ステップを検証するメンタルチェックリストを確立することで、サービスの展開が成功することを確認できます。
覚えておいてください-開始と有効化は互換性のある用語ではなく、別々のアクションです。同じことが停止と無効化にも当てはまります。 systemdベースのディストリビューションを使用しているか、SysVを使用するディストリビューションを使用しているかに注意してください。
手順とツールの概要は次のとおりです。
- インストールされていますか? rpm、yum、dnf
- 構成されていますか? vim、nano
- 開始しましたか? systemctlまたはservice
- 永続的ですか? systemctlまたはchkconfig
- テスト済み? pingまたは標準のクライアントソフトウェア
- 再構成しましたか? systemctlまたはservice
[Red Hat Enterprise Linuxを試してみませんか?今すぐ無料でダウンロードしてください。 ]