CentOS 7にGraylogサーバーをインストールする方法
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
Brotli(br)は、Gzip、Zopfli、Deflateの代替としてGoogleが開発した新しいオープンソース圧縮アルゴリズムです。インターネットエンジニアリングタスクフォース(IETF)でRFC 7932として正式に定義されています。Brotliに関するGoogleのケーススタディでは、現在の方法よりも最大26%小さい圧縮率で、CPU使用率が少ないことが示されています。
Nginxには公式サポートはありませんが、nginxにサポートを追加するために使用できるngx_brotliと呼ばれるGoogleによって開発されたサードパーティモジュールがあります。
このガイドでは、Brotliサポートを新しいUbuntu 18.04 LTS VultrインスタンスのNginxに追加する方法を示します。
注: このガイドではjohndoe
、サンプルユーザーおよびexample.com
サンプルドメインを使用します。あなたの名前に従ってそれらを交換してください。
A
/ AAAA
レコードが設定されたドメイン名Ubuntuのバージョンを確認してください。
lsb_release -ds
# Ubuntu 18.04 LTS
アクセス権をnon-root
持つ新しいユーザーアカウントを作成し、sudo
それに切り替えます。
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
注:をユーザー名に置き換えjohndoe
てください。
オペレーティングシステムのソフトウェアを更新します。
sudo apt update && sudo apt upgrade -y
タイムゾーンを設定します。
sudo dpkg-reconfigure tzdata
必要なビルドツールとパッケージをインストールします。
sudo apt install -y build-essential git apt-transport-https socat
Brotliでは、HTTPSをセットアップして使用する必要があります。この部分では、Let's Encryptから信頼できる証明書を取得します。
Acme.shをダウンロードしてインストールします。
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
source ~/.bashrc
バージョンを確認してください。
acme.sh --version
# v2.8.0
のRSAおよびECDSA証明��を取得しexample.com
ます。
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --accountemail [email protected] --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --accountemail [email protected] --ocsp-must-staple --keylength ec-256
上記のコマンドを実行すると、証明書とキーは次の場所にあります。
/etc/letsencrypt/example.com
/etc/letsencrypt/example.com_ecc
公式のNginxリポジトリから最新のメインラインNginxをダウンロードしてインストールします。
wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \ndeb-src https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt
バージョンを確認してください。
sudo nginx -v
# nginx version: nginx/1.15.2
Nginxを有効にして起動します。
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Nginxをインストールしたら、Brotliモジュール(ngx_brotli
)を動的Nginxモジュールとしてビルドする必要があります。Nginxバージョン1.11.5以降、完全なNginxソフトウェアをコンパイルせずに、個々の動的モジュールをコンパイルすることが可能です。次のいくつかのステップでは、完全なNginxをコンパイルせずに、ダイナミックとしてBrotliモジュールを構築します。
メインラインNginxソースコードの最新バージョンをダウンロードして抽出します。
wget https://nginx.org/download/nginx-1.15.2.tar.gz && tar zxvf nginx-1.15.2.tar.gz
注:NginxパッケージとNginxソースコードのバージョン番号が一致していることが非常に重要です。Nginx 1.15.2を公式のNginxリポジトリからインストールした場合は、同じバージョンのソースコード(この場合は1.15.2)をダウンロードする必要があります。
を削除しnginx-1.15.2.tar.gz
ます。
rm nginx-1.15.2.tar.gz
ngx_brotli
GitHubからのクローン。
git clone https://github.com/eustas/ngx_brotli.git
cd ngx_brotli && git submodule update --init && cd ~
Nginxソースコードディレクトリに移動します。
cd ~/nginx-1.15.2
必要なライブラリをダウンロードします。
sudo apt install -y libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev
をngx_brotli
動的モジュールとしてコンパイルし、Nginxモジュールの標準ディレクトリにコピーします/etc/nginx/modules
。
./configure --with-compat --add-dynamic-module=../ngx_brotli
make modules
sudo cp objs/*.so /etc/nginx/modules
にファイルをリストすると、/etc/nginx/modules
およびが表示さngx_http_brotli_filter_module.so
れngx_http_brotli_static_module.so
ます。
ls /etc/nginx/modules
644
すべての.so
ファイルに対して権限をに設定します。
sudo chmod 644 /etc/nginx/modules/*.so
NginxでBrotliサポートを構成する準備ができました。
sudo vim /etc/nginx/nginx.conf
次の2つのディレクティブを実行してファイルの先頭に追加し、新しいBrotliモジュールをロードします。
load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;
構成をテストします。
sudo nginx -t
のドキュメントルートディレクトリをexample.com
作成index.html
し、その中にコンテンツをいくつか作成します。
sudo mkdir -p /var/www/example.com
sudo -s
echo "Hello from example.com" >> /var/www/example.com/index.html
exit
の仮想ホストを作成しますexample.com
。
sudo vim /etc/nginx/conf.d/example.com.conf
次の設定を入力します。
server {
listen 80;
server_name example.com; # Replace with your domain name
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com; # Replace with your domain name
root /var/www/example.com; # Replace with your document root
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
brotli on;
brotli_static on;
brotli_types text/plain text/css text/javascript application/javascript text/xml application/xml image/svg+xml application/json;
}
構成をテストします。
sudo nginx -t
Nginxをリロードします。
sudo systemctl reload nginx.service
Webブラウザーでサイトにアクセスし、開発者ツールのネットワークタブを開きます。Content-Encoding: br
応答ヘッダーに表示されます。これは、ブロトリ圧縮が機能していることを示しています。
WebサーバーでBrotli圧縮を有効にしました。
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の未来は、日々成長を続けています。