CentOS 7にApacheをインストールする方法
CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。
公式のVultr Goライブラリを使用して、Vultr APIを操作できます。Vultr APIを使用すると、サーバー、dns、ファイアウォール、スナップショット、ネットワークなど、アカウントに関連付けられたリソースを制御できます。このチュートリアルでは、サーバーに関する情報を取得する簡単なアプリケーションを作成して、公式のGo APIクライアントの使用方法を紹介します。
まず、新しいモジュール(プロジェクト)の作成から始めます。通常、コードのリポジトリへのURLをモジュール名として使用しますが、これはこのチュートリアルの範囲外です。ここでは、モジュール名としてserverinfoを使用します。
プロジェクトを作成するには、次のコマンドを実行します。
# Create the folder in the current directory.
mkdir serverinfo
# Enter the new folder.
cd serverinfo
# Initialize the module.
go mod init serverinfo
次に、GitHub(コードホスティングサイト)からAPIライブラリをダウンロードします。ライブラリをダウンロードするには、go get
コマンドを使用する必要があります。これにより、ライブラリとその依存関係が自動的にダウンロードされ、go.modファイルに追加されます。前に開いたのと同じターミナルで、次のコマンドを入力します。
go get github.com/vultr/govultr
APIクライアントを使用するには、APIキーが必要です。ダッシュボードの [ アカウント]セクションの [ API ]タブからAPIキーを取得できます。また、APIキーを使用するには、IPアドレスを承認する必要があります。ifconfig.meにアクセスすると、IPアドレスを確認できます。プライベートIPではなくパブリック IPを探していることに注意してください。あなたのプライベートIPを使用すると、コンピュータ上のネットワーク設定に見つけるだろうもので、以下のCIDR範囲のいずれかである:10.0.0.0/8、172.16.0.0/12、または192.168.0.0/16。
IPアドレスを取得したら、[ アクセス制御]セクションに追加します。/の後のボックスに、と入力し32
ます。/32
はネットマスクの意味 255.255.255.255
です。つまり、IPのみが範囲に含まれます。
警告:パスワードを保護するのと同じように、APIキーを保護してください。APIキーは、請求、サーバー、ストレージを含むアカウント全体にアクセスできます。
これからプログラムに取り掛かります。選択したエディターで作成したフォルダーを開き、という名前のファイルを作成しますmain.go
。
ファイル内に、次のコードを入力するかコピーして貼り付けます。
package main
import (
"context"
"fmt"
"os"
"github.com/vultr/govultr"
)
func main() {
}
package main
我々は、コマンドではなく、ライブラリを作成していることを行くように指示します。importステートメントは、使用する依存関係を宣言します。func main()
プログラムを実行するときに呼び出される関数です。
次のステップは、APIクライアントを初期化することです。これを行うには、govultr.NewClient(http.Client、string)関数を使用する必要があり ます。main()関数内に次のコードを追加します。
client := govultr.NewClient(nil, "YOURAPIKEY")
YOURAPIKEY
以前に取得したAPIキーに置き換えます。
このコードをもう少し詳しく見てみましょう。の左側にあり:=
ます client
。それが変数の名前です。変数は値を格納します。右側には、govultr.NewClientへの関数呼び出しがあります。デフォルトのHTTPクライアントを変更する必要がないため、最初のパラメーターはnilです。2番目のパラメーターは、自分自身を認証するために使用するAPIキーです。:=
オペレータは、この場合には、左側への関数呼び出しの結果を右側に割り当てますclient
。
私たちのプログラムはまだ何もしていません。これを便利にするために、Vultrからサーバーに関する情報を取得します。私たちは、使用する govultr.Client.Server.List(context.Context)([] govultr.Server、エラー) 関数。main()関数の最後に次のコードを追加します。
servers, err := client.Server.List(context.Background())
if err != nil {
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
}
このコードでは、API関数を呼び出してサーバー情報を取得しています。より高度なトピックなので、コンテキストの意味についてはまだ心配しないでください。とりあえず、知っておく必要があるのは、コンテキスト がAPIクライアントの実行方法を制御することだけです。context.Background()は空のcontextを返し ます。サーバー情報を取得して、サーバーとerrという2つの変数に入れ たら、エラーがないかどうかを確認します。その場合は、ユーザーにエラーを通知し、コード1(エラー)で終了します。
サーバー変数([] govultr.Server)にサーバーの配列があるので、実際に表示できます。main()関数の最後に次のコードを追加します。
fmt.Println("Servers:")
for _, server := range servers {
fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n",
server.Label,
server.MainIP,
server.Location,
server.PendingCharges,
server.CurrentBandwidth,
server.AllowedBandwidth,
)
}
まず、ヘッダーを印刷(表示)しServers:
ます。次に、servers配列をループ し、インデックスをに割り当てて無視し_
、現在のサーバーをサーバー変数に割り当てます。ループ内では、サーバーのラベル、IPアドレス、場所、保留中の請求、現在の帯域幅、および許容帯域幅を表示します。これを効率的に行うために、次のような文字列である フォーマット文字列を使用します" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n"
。%s
しながら、次の文字列を置換する手段%.2f
手段は、次のフロート(小数点数)を印刷するためには、小数点以下2桁に丸め。フォーマット文字列の残りの部分は、文字通り(現状のまま)印刷されます。
この時点で、コードは次のようになります。
package main
import (
"context"
"fmt"
"os"
"github.com/vultr/govultr"
)
func main() {
client := govultr.NewClient(nil, "YOURAPIKEY")
servers, err := client.Server.List(context.Background())
if err != nil {
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
}
fmt.Println("Servers:")
for _, server := range servers {
fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n",
server.Label,
server.MainIP,
server.Location,
server.PendingCharges,
server.CurrentBandwidth,
server.AllowedBandwidth,
)
}
}
これでコードを実行できます。前に開いたターミナルに戻り、コマンドを入力しgo run
ます。出力は次のようになります。
Servers:
server1 (198.51.100.4) - New Jersey - $3.70 pending charges - 17.64/1000 GB bandwidth
server2 (198.51.100.9) - Toronto - $1.70 pending charges - 3.24/500 GB bandwidth
エラーが発生した場合は、APIキーとIPアドレスが正しいことを確認してください。
この時点で、公式APIクライアントの使用方法の基本を首尾よく学び、アカウント内のサーバーに関する情報を表示するプログラムを作成しました。
ここから、さらに多くのことができます。たとえば、メモリが不足しているときに新しいサーバーをプロビジョニングするプログラムを作成できます。帯域幅またはストレージが不足しているときにサーバーを自動的にアップグレードするアプリを作成できます。現在のIPに基づいてDNSレコードを自動的に更新するツールを作成することもできます。
govultrライブラリの詳細については、godocでgovultrライブラリのドキュメントをご覧ください。
govultrは オープンソースプロジェクトです。govultrにバグを見つけた場合は、GitHubで報告でき ます。プルリクエストを送信して、コードに直接貢献することもでき ます。
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の未来は、日々成長を続けています。