Red Hat Enterprise Linux (RHEL) における Web サーバーと FTP サーバーの設定は、企業環境でのデータ管理と配布において重要な役割を果たします。このガイドでは、RHEL での Web サーバー (Apache) と FTP サーバー (vsftpd) のインストールおよび設定手順を、具体的かつ詳細に説明します。
1. Web サーバー (Apache) の設定
Apache HTTP サーバーは、RHEL において最も広く使用されている Web サーバーの一つです。以下は、Apache をインストールし、基本的な設定を行う手順です。
1.1. Apache のインストール
RHEL に Apache をインストールするために、まずは以下のコマンドを実行します:
bashsudo yum install httpd
これで Apache のインストールが完了します。
1.2. Apache サービスの起動
インストールが完了したら、次に Apache サービスを起動します。以下のコマンドを実行してください:
bashsudo systemctl start httpd
1.3. サービスの自動起動設定
サーバー再起動後に Apache が自動で起動するように設定します:
bashsudo systemctl enable httpd
1.4. ファイアウォールの設定
Web サーバーが外部からアクセスできるように、ファイアウォールの設定を行います。HTTP と HTTPS のポート (80 と 443) を開放します:
bashsudo firewall-cmd --zone=public --add-service=http --permanent sudo firewall-cmd --zone=public --add-service=https --permanent sudo firewall-cmd --reload
1.5. Apache の動作確認
Apache サーバーが正しく動作しているかを確認するには、Web ブラウザでサーバーの IP アドレスまたはホスト名を入力します。例えば、http://your-server-ip/
にアクセスして、Apache のデフォルトのウェルカムページが表示されれば、インストールは成功です。
2. FTP サーバー (vsftpd) の設定
FTP サーバーは、ファイルの転送を安全かつ効率的に行うために使用されます。ここでは、vsftpd (Very Secure FTP Daemon) のインストールと設定方法を説明します。
2.1. vsftpd のインストール
RHEL に vsftpd をインストールするために、以下のコマンドを実行します:
bashsudo yum install vsftpd
2.2. vsftpd サービスの起動
インストール後、FTP サーバーを起動します:
bashsudo systemctl start vsftpd
2.3. サービスの自動起動設定
サーバーが再起動した際にも自動的に vsftpd サーバーが起動するように設定します:
bashsudo systemctl enable vsftpd
2.4. ファイアウォールの設定
FTP サーバーもファイアウォールの設定が必要です。FTP はポート 21 を使用しますので、以下のコマンドを実行してポート 21 を開放します:
bashsudo firewall-cmd --zone=public --add-service=ftp --permanent sudo firewall-cmd --reload
2.5. vsftpd の設定ファイルの編集
vsftpd の設定をカスタマイズするために、設定ファイル (/etc/vsftpd/vsftpd.conf
) を編集します。以下のコマンドでファイルを開きます:
bashsudo vi /etc/vsftpd/vsftpd.conf
ここで、基本的な設定を行います:
anonymous_enable=NO
:匿名アクセスを無効にします。local_enable=YES
:ローカルユーザーによるログインを許可します。write_enable=YES
:書き込みを許可します。
変更を保存したら、vsftpd サービスを再起動します:
bashsudo systemctl restart vsftpd
2.6. FTP の動作確認
FTP サーバーが正しく設定されたかを確認するために、FTP クライアントを使用して接続を試みます。例えば、ftp your-server-ip
と入力して接続します。
3. セキュリティの強化
Web サーバーおよび FTP サーバーのセキュリティは非常に重要です。以下は、セキュリティ強化のためのいくつかの推奨事項です。
3.1. SELinux の設定
RHEL では、SELinux (Security-Enhanced Linux) がデフォルトで有効になっている場合があります。SELinux によって Web サーバーや FTP サーバーの通信が制限されることがあります。これを確認するために、以下のコマンドで SELinux のステータスを確認できます:
bashsestatus
SELinux が有効である場合、必要なポートを許可するために以下のコマンドを実行します:
bashsudo semanage port -a -t http_port_t -p tcp 8080 sudo semanage port -a -t ftp_port_t -p tcp 21
3.2. FTP over SSL/TLS (FTPS) の有効化
FTP をセキュアに使用するためには、SSL/TLS を有効にすることが推奨されます。vsftpd
で FTPS を有効にするためには、設定ファイルで以下の行を追加します:
bashssl_enable=YES rsa_cert_file=/etc/ssl/certs/vsftpd.crt rsa_private_key_file=/etc/ssl/private/vsftpd.key
SSL 証明書と秘密鍵を適切な場所に配置する必要があります。
3.3. Apache のセキュリティ強化
Apache のセキュリティを強化するためには、不要なモジュールを無効にしたり、適切なパーミッションを設定したりすることが重要です。httpd.conf
ファイルを編集して、不必要なモジュールを無効にします。
bashLoadModule status_module modules/mod_status.so
4. まとめ
Red Hat Enterprise Linux で Web サーバーと FTP サーバーを設定することは、組織のファイル管理およびデータ配布のために非常に重要です。Apache を使用した Web サーバーの設定と、vsftpd を使用した FTP サーバーの設定を適切に行うことで、セキュアか