CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
Vultrでは、高可用性を実現するために、2つの機能(フローティングIPとBGP)を組み合わせることができます。
同じ場所に2つのインスタンスとフローティングIPが必要です。また、フローティングIPのプライベートASNでBGPを設定するように要求するチケットを開く必要があります。(パブリックASNでBGPを実行している場合も、この機能を使用できます)
BGPデーモンも必要です。BIRDをお勧めします。BIRDは通常、オペレーティングシステムのパッケージマネージャーから利用できます。
192.0.2.10/32
フローティングIPの例198.51.100.99
として、またインスタンスの1つのIPアドレスとして使用します。
注:あなたがすべきではない、あなたのコントロールパネルから任意の特定のインスタンスに浮動IPを添付。コントロールパネルを介してIPが接続されている場合、高可用性は正しく機能しません。
Linuxの「ダミー」インターフェースを使用して、IPアドレスをバインドします。これは、次のコマンドで作成できます。
ip link add dev dummy1 type dummy
ip link set dummy1 up
ip addr add dev dummy1 192.0.2.10/32
これが正しく構成されていることを確認します。
# ip addr show dev dummy1
5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether ba:23:57:2c:ad:bc brd ff:ff:ff:ff:ff:ff
inet 192.0.2.10/32 scope global dummy1
次に、BIRDを構成します。これらの手順は、ホストオペレーティングシステムによって若干異なります。このセクションの下部にある脚注を参照してください。
/etc/bird.conf
ファイルを作成します。
log "/var/log/bird" all;
router id 198.51.100.99;
protocol device
{
scan time 60;
}
protocol direct
{
interface "dummy1";
}
protocol bgp vultr
{
local as <<YOURAS>>;
source address 198.51.100.99;
import none;
export all;
graceful restart on;
next hop self;
multihop 2;
neighbor 169.254.169.254 as 64515;
password "<<YOURPASSWORD>>";
}
あなたは、更新する必要がありますYOURAS
し、YOURPASSWORD
自分のアカウントに割り当てられたAS番号とパスワードでBGP。この情報は、Vultrコントロールパネルのインスタンスページの[BGP]タブにあります。
この構成ファイルは、BIRDにdummy1インターフェースを探すように指示し、見つかったすべてのIPをBGP経由でインフラストラクチャーにアドバタイズします。つまり、インスタンスが実行されるとすぐにトラフィックの受信が開始され、クラッシュした場合はトラフィックが停止します。
Linuxの代わりにFreeBSDをホストとして使用している場合、いくつかの違いがあります。
TCP MD5署名をサポートするには、カーネルを再コンパイルする必要があります。これらの手順は、この記事の範囲外です。BSDカーネルがTCP MD5署名をサポートしていない場合、BIRDログに次の出力が表示されます。
$ cat /var/log/bird
2017-12-15 01:35:00 <INFO> Started
2017-12-15 01:35:00 <ERR> vultr: Socket error: Kernel does not support TCP MD5 signatures
BIRD構成ファイルは/usr/local/etc/bird.conf
BSDにあります。
BIRDサービスを開始しservice bird start
、数秒待ちます。BGPセッションが確立されていることを確認します。
# birdc show proto all vultr
BIRD 1.5.0 ready.
name proto table state since info
vultr BGP master up 2016-01-15 Established
Preference: 100
Input filter: REJECT
Output filter: ACCEPT
Routes: 0 imported, 1 exported, 0 preferred
Route change stats: received rejected filtered ignored accepted
Import updates: 255919581 0 255919581 0 0
Import withdraws: 1905513 0 --- 257825094 0
Export updates: 1 0 0 --- 1
Export withdraws: 0 --- --- --- 0
BGP state: Established
Neighbor address: 169.254.169.254
Neighbor AS: YOURAS
Neighbor ID: x.x.x.x (Host IP)
Neighbor caps: refresh enhanced-refresh restart-able AS4
Session: external multihop AS4
Source address: 198.51.100.99
Hold timer: 184/240
Keepalive timer: 30/80
すべてが正常に機能している場合は、BGP状態の横に「確立」と表示されます。ここでの一般的な問題は、ファイアウォールがBGPポート(TCP 179)をブロックしていることです。また、このインスタンスがVultrがBGPセッションをセットアップする前にデプロイされた場合、BGPが使用可能になる前に、コントロールパネルから再起動する必要があります。それでも問題が解決しない場合は、/var/log/bird
詳細を確認してください。
次のようにして、BIRDがフローティングIPへのルートをアドバタイズしていることを確認できます。
# birdc show route
BIRD 1.5.0 ready.
192.0.2.10/32 dev dummy1 [direct1 2015-12-29] * (240)
これが正しく機能していることを確認するには、dummy1インターフェースを(でip link set dummy1 down
)無効にしてから、show route
コマンドを繰り返します。BIRDはインターフェースが消えたことに気づき、ルートを撤回します。
サイトが稼働し続けていることを確認するには、同じBGP構成を実行している複数のサーバーが必要です。インスタンスのいずれかがダウンすると、トラフィックは他のインスタンスのいずれかに動的にリダイレクトされます。この構成で特定の場所で実行できるインスタンスの数に制限はありませんが、一度にアクティブになるのはそのうちの1つだけです。
一部の場所では、この方法で構成したインスタンス間でトラフィックがランダムに分散されます。最終的に、すべての場所がこの方法で構成されます。オフラインでない限り、1つのインスタンスですべてのトラフィックを取得する場合は、プリペンドを使用してトラフィックを誘導します。
たとえば、2つのインスタンスがある場合:
これを行うには、次のようにインスタンスBのBIRD構成に次のセクションを追加します。
export filter {
bgp_path.prepend(YOURAS);
accept;
};
これにより、ダウンしていない限り、トラフィックは常にインスタンスAに送られます。
インスタンスCがあり、AとBがダウンしているときにのみトラフィックを受信する必要がある場合、別の「bgp_path.prepend」行を追加するだけでこれを実現できます。
このプロセスはIPv6予約済みサブネットでも機能しますが、「bird」の代わりに「bird6」を使用し、「birdc」の代わりに「birdc6」を使用します。
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。
サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。
CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。
Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。
FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。