CentOS 7にGraylogサーバーをインストールする方法
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
このガイドでは、Ubuntu 16.04を実行するVultrインスタンス用のGitBucketの基本的なインストールとセットアップについて説明し、non-root
ユーザーとしてコマンドを実行していることを前提としています。
openjdk-8-jre
必須、古いバージョンは機能しません。wget
GitBucketパッケージのダウンロードに使用されます。nginx
オプションで、GitBucketにリバースプロキシを提供しますsystemd
GitBucketプロセスの開始と停止を管理しますGitBucketを使用するには、サーバーにJava 8以降がインストールされている必要があります。Java 8をまだインストールしていない場合は、まずローカルパッケージリストを更新します。
sudo apt update
次に、Java 8ランタイムパッケージをインストールします。
sudo apt install openjdk-8-jre
先に進む前に、GitBucketを実行するための非特権ユーザーを作成する必要があります。非特権ユーザーでGitBucketを実行すると、インストールが独自のデータディレクトリの外側に書き込むことが制限され、サーバーのセキュリティが強化されます。次のコマンドを実行して、というシステムユーザーを作成しますgitbucket
。
sudo adduser --system gitbucket
システムユーザーを作成したため、デフォルトのシェルは/bin/false
であり、を実行するときに追加のシェル引数を指定しない限り、現在のシェルに戻されますsu
。新しく作成したユーザーにログインします。
sudo su - gitbucket -s /bin/bash
シェルのプロンプトが変更され、新しいシステムユーザーにログインします。
移動GitBucketは、ページを解放し、利用可能な最新バージョンを検索します。gitbucket.war
パッケージのURLをコピーし、新しいユーザーのホームディレクトリにいることを確認して、でダウンロードしwget
ます。
cd ~/
wget https://github.com/gitbucket/gitbucket/releases/download/4.18.0/gitbucket.war
GitBucketパッケージを更新するたびに、この手順を繰り返す必要があります。
パッケージをダウンロードしたら、GitBucketを手動で起動して初期構成を行う必要があります。
java -jar gitbucket.war --port 8080
ポート8080
が別のプロセスによってすでに使用されている場合は、GitBucketが今リッスンするポートを変更できます。このガイドでは、GitBucketがポートでリッスンしていることを前提としています8080
。
これにより、サーバーのパブリックネットワークインターフェースでGitBucketが起動し、指定したポートでリッスンします。しばらくすると、次のメッセージが表示されます。
INFO:oejs.Server:main: Started @15891ms
Vultrのファイアウォールを使用している場合は、GultBucketがリッスンしているポートを開く必要があります。Vultrのファイアウォールはホワイトリストとして機能し、特に指定がない限りポートを許可するトラフィックを拒否します。
これで、GitBucketインストールがオンラインになり、インターネットからアクセスできるようになります。Webブラウザーを使用して、サーバーのパブリックアドレスに接続します(GitBucketが実行されているポートを必ず指定してください(つまりhttp://203.0.113.0:8080
またはhttp://example.com:8080
))。GitBucketのホームページにアクセスします。
ただし、デフォルトの管理者アカウントのパスワードは変更する必要があります。これを行うにSign in
は、Webインターフェースの右上にあるボタンから管理者アカウントにログインします。管理者アカウントのデフォルトのログインはroot
、ユーザー名用であり、次にroot
パスワード用です。ログインすると、ボタンはプロファイルアイコンとドロップダウンに置き換わります。ドロップダウンを展開してを選択Account Settings
し、アカウント設定ウィザードで新しいより安全なパスワードを設定します。
デフォルトの管理者アカウントの認証情報を更新し、GitBucketがこの最小限の構成で起動することを確認したら、「CTRL+C
」でJavaプロセスを終了し、で現在のシェルを閉じexit
ます。
現在、GitBucketを実行するには、SSH経由でサーバーにアクセスし、シェルから手動でプロセスを開始する必要があります。幸い、Ubuntuにはがあらかじめパッケージ化されSystemd
ているため、GitBucketを自動起動してシステムが保守するサービスを作成できます。
を使用nano
して、/etc/systemd/system
ディレクトリに新しいユニットファイルを作成します。
sudo nano /etc/systemd/system/gitbucket.service
次に、以下の内容をファイルにコピーします。
[Unit]
Description=GitBucket
After=network.target
[Service]
ExecStart=/usr/bin/java -jar /home/gitbucket/gitbucket.war --port 8080
ExecStop=/bin/kill -SIGINT $MAINPID
Type=simple
User=gitbucket
[Install]
WantedBy=multi-user.target
このユニットファイルは、GitBucketの基本的な起動とシャットダウンの動作を定義し、ローカルのみのネットワークインターフェースで、権限のないシステムユーザーの下でサービスを実行します。
GitBucketがリッスンするポート番号を変更した--port
場合は、ExecStart
コマンドの引数を変更します。
CTRL+O
新しいユニットファイルを保存( " ")してから、エディターを終了( " CTRL+X
")します。新しいユニットファイルを検出するには、Systemdをリロードする必要があります。
sudo systemctl daemon-reload
Systemdがリロードされたら、新しいユニットが検出されてロードされたことを確認します。
sudo systemctl status gitbucket
次の出力が表示されます。
gitbucket.service - GitBucket
Loaded: loaded (/etc/systemd/system/gitbucket.service; disabled; vendor preset: enabled)
Active: inactive (dead)
最後に、サーバーの起動時に新しいユニットが自動的に開始するようにして、初めてサービスを開始します。
sudo systemctl enable gitbucket
sudo systemctl start gitbucket
サービスが開始されると、IPアドレスとポート番号を使用してブラウザーからGitBucketに再びアクセスできるようになります。
ポートを介してGitBucketを直接公開でき8080
ますが、Nginxを介してGitBucketを公開することで、パフォーマンスを向上させ、HTTP / 2、TLS暗号化、キャッシングルールなどの機能を構成できます。
Nginxをまだインストールしていない場合は、パッケージリストを更新してください。
sudo apt update
次に、Nginxパッケージをインストールします。
sudo apt install nginx
Nginxがインストールされたら、ポート番号(またはまたは)なしでサーバーのIPアドレスを介してWebサーバーにアクセスできることを確認します。成功すると、UbuntuのデフォルトのNginxランディングページが表示されます。http://203.0.113.0
http://example.com
/etc/nginx/sites-available
リバースプロキシの開始点として、既定のサイト構成をコピーします。
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/gitbucket
新しく作成した構成ファイルをで開きますnano
。
sudo nano /etc/nginx/sites-available/gitbucket
location /
43行目で既存のブロックを見つけます。
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
現在、Nginxは/var/www/html
着信HTTP
リクエストと一致する場所にあるファイルを返そうとします。このブロックでリバースプロキシを構成することにより、この動作を変更する必要があります。これにより、Nginxサーバーに対して行われたすべてのHTTPリクエストが代わりにGitBucketインスタンスに送信されます。location /
次のようにブロックを更新します。
location / {
proxy_pass http://localhost:8080; # The address GitBucket is listening on
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 150;
proxy_send_timeout 100;
proxy_read_timeout 100;
proxy_buffers 4 32k;
client_max_body_size 512m; # Needed for large Git operations over HTTP
client_body_buffer_size 128k;
}
GitBucketがリッスンするポート番号を変更した場合は、proxy_pass
これを反映するようにオプションを更新します。
新しい構成を有効にするには、で既存のデフォルト構成を無効にし/etc/nginx/sites-enabled
て/etc/nginx/sites-enabled
から、次の手順で新しい構成にシンボリックリンクする必要があります。
sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/gitbucket /etc/nginx/sites-enabled/gitbucket
設定ファイルを有効にしたら、構文エラーがないか確認してください。
sudo nginx -t
次に、Nginxサーバーを再起動して、新しいサイト構成を有効にします。
sudo systemctl restart nginx
これで、ポート番号なしでサーバーのパブリックアドレスにあるGitBucketインストールにアクセスできるようになります。
現在、GitBucketインスタンスはサーバーのパブリックネットワークインターフェイスでリッスンしています。これにより、ユーザーはGitBucketが現在リッスンしているアドレスに接続することにより、Nginxプロキシをバイパスできます。これを解決するには、前に作成したユニットファイルを変更する必要があります。でユニットファイルを開きますnano
。
sudo nano /etc/systemd/system/gitbucket.service
--host 127.0.0.1
そのExecStart
ようにコマンドに追加します。
...
ExecStart=/usr/bin/java -jar /home/gitbucket/gitbucket.war --port 8080 --host 127.0.0.1
...
これにより、GitBucketはサーバーのローカルネットワークインターフェイス上の接続のみを受け入れます。もう一度、CTRL+O
ファイルを保存( " ")しCTRL+X
、エディターを閉じ( " ")、Systemdをリロードして、GitBucketユニットを再起動します。
sudo systemctl daemon-reload
sudo systemctl restart gitbucket
Vultrのファイアウォールを使用している場合は、初期セットアップ中にGitBucketサーバーにアクセスするために追加したポート規則も削除する必要があります。
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。
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の未来は、日々成長を続けています。