CentOS 7にGraylogサーバーをインストールする方法
CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。
LibreNMSは、フル機能のオープンソースネットワーク監視システムです。SNMP
さまざまなデバイスからデータを取得するために使用 します。LibreNMSでは、Cisco、Linux、FreeBSD、Juniper、Brocade、Foundry、HPなど、さまざまなデバイスがサポートされています。複数の認証メカニズムをサポートし、2要素認証をサポートします。それは、電子メール、IRCまたはスラックを介してネットワーク管理者に警告できるカスタマイズ可能な警告システムを備えています。
このチュートリアルではnms.example.com
、Vultrインスタンスを指すドメイン名としてを使用 します。例のドメイン名をすべて実際のドメイン名に置き換えてください。
How to Update Ubuntu 16.04のガイドを使用してベースシステムを更新します 。システムが更新されたら、依存関係のインストールに進みます。
LibreNMSのフロントエンドはPHPで記述されているため、WebサーバーとPHPをインストールする必要があります。このチュートリアルでは、最大のセキュリティとパフォーマンスを得るために、PHP 7.2とともにNginxをインストールします。
Nginxをインストールします。
sudo apt -y install nginx
Nginxを起動し、起動時に自動的に起動するようにします。
sudo systemctl start nginx
sudo systemctl enable nginx
デフォルトのaptリポジトリには古いバージョンのPHPが含まれているため、Remiリポジトリを追加して有効にします。
sudo add-apt-repository --yes ppa:ondrej/php
sudo apt update
LibreNMSに必要なモジュールと共にPHPバージョン7.2をインストールします。
sudo apt -y install php7.2 php7.2-cli php7.2-common php7.2-curl php7.2-fpm php7.2-gd php7.2-mysql php7.2-snmp php7.2-mbstring php7.2-xml php7.2-zip zip unzip
ロードされた構成ファイルをエディターで開きます。
sudo nano /etc/php/7.2/fpm/php.ini
次の行を見つけます。
;cgi.fix_pathinfo=1
;date.timezone =
これらの値のコメントを外して代わりに使用Asia/Kolkata
し、ローカルのタイムゾーンに置き換え ます。
cgi.fix_pathinfo=0
date.timezone = Asia/Kolkata
次のコマンドを実行して、システムのタイムゾーンを変更する必要もあります。
sudo ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
PHP-FPMを再起動します。
sudo systemctl restart php7.2-fpm
MariaDBはMySQLのオープン���ースフォークです。MariaDBリポジトリをシステムに追加します。デフォルトのUbuntuリポジトリには、古いバージョンのMariaDBが含まれているためです。
sudo apt-key adv --yes --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mariadb.biz.net.id/repo/10.2/ubuntu xenial main'
sudo apt update
MariaDBをインストールします。インストール中に、インストーラはMySQL root
ユーザーのパスワードを要求します。強力なパスワードを入力してください。
sudo apt -y install mariadb-server
MariaDBの使用を開始する前に、構成を少し調整する必要があります。構成ファイルを開きます。
sudo nano /etc/mysql/conf.d/mariadb.cnf
次のコードをファイルの最後に追加します。
[mysqld]
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
MariaDBを再起動し、起動時に自動的に開始するように有効にします。
sudo systemctl restart mariadb.service
sudo systemctl enable mariadb.service
データベースを構成する前に、MariaDBインスタンスを保護する必要があります。
sudo mysql_secure_installation
現在のMariaDBルートパスワードを要求され、root
パスワードを変更するように求められます。root
インストール時にユーザーの強力なパスワードをすでに設定しているため、「N
」と答えてスキップします。他のすべての質問については、「Y
」に回答してください。質問は自明です。
MySQLシェルにrootとしてログインします。
mysql -u root -p
MariaDB rootユーザーがログインするためのパスワードを入力します。次のクエリを実行して、LibreNMSインストール用のデータベースとデータベースユーザーを作成します。
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
EXIT;
選択に応じて、データベース名librenms
とユーザー名を 置き換えることができ librenms
ます。StrongPassword
非常に強力なパスワードに変更してください 。
上記の依存関係は別として、LibreNMSにはさらにいくつかの依存関係が必要です。
sudo apt -y install fping git imagemagick jwhois mtr graphviz nmap python-memcache python-mysqldb rrdtool snmp snmpd whois composer
LibreNMSアプリケーションの新しい非特権ユーザーを追加します。
sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -aG www-data librenms
LibreNMSは、Githubリポジトリを複製することで直接インストールできます。
cd /opt
sudo git clone https://github.com/librenms/librenms.git librenms
所有権を変更します。
sudo chown librenms:librenms -R /opt/librenms
PHPの依存関係をインストールします。
cd /opt/librenms
sudo su librenms -c "composer install"
LibreNMSは多くのタスクでSNMPに依存しています。SNMPはすでにインストールされているため、サンプル構成ファイルをその場所にコピーします。
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
エディターで構成ファイルを開きます。
sudo nano /etc/snmp/snmpd.conf
この行を見つけます。
com2sec readonly default RANDOMSTRINGGOESHERE
テキストRANDOMSTRINGGOESHERE
を編集し 、コミュニティストリングを任意のストリングに置き換えます。例えば。
com2sec readonly default my-org
後で最初のSNMPデバイスを追加するときに必要になるため、この文字列を覚えておいてください。
SNMPには、配布バージョンに関する情報も必要です。スクリプトをダウンロードしてインストールし、配布バージョンを見つけます。
sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
SNMPデーモンサービスを開始し、起動時に自動的に開始されるようにします。
sudo systemctl enable snmpd
sudo systemctl restart snmpd
次に、スケジュールされたタスクを実行するためにいくつかのcrontabエントリを追加する必要があります。新しいcronジョブファイルを作成します。
sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
cronデーモンサービスを再起動します。
sudo systemctl restart cron
logrotate
ログファイルが時間の経過とともに自動的に更新されるように設定します 。
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
最後に、適切な所有権と権限を設定します。
sudo chown -R librenms:www-data /opt/librenms
sudo chmod g+w -R /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs
接続がSSLで暗号化されていない場合、LibreNMSのWebインターフェイスを介して送信されるログインおよびその他の情報は保護されません。Let's Encryptの無料SSLで生成されたSSLを使用するようにNginxを設定します。
Certbotリポジトリを追加します。
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Let's Encrypt CAのクライアントアプリケーションであるCertbotをインストールします。
sudo apt -y install certbot
注: Let's Encrypt CAから証明書を取得するには、証明書を生成するドメインをサーバーに向ける必要があります。そうでない場合は、ドメインのDNSレコードに必要な変更を加え、DNSが伝播するのを待ってから、証明書要求を再度行ってください。証明書ボットは、証明書を提供する前にドメイン認証局をチェックします。
SSL証明書を生成します。
sudo certbot certonly --webroot -w /var/www/html -d nms.example.com
生成された証明書は、/etc/letsencrypt/live/nms.example.com/
ディレクトリに格納される可能性があります。SSL証明書はとして保存され fullchain.pem
、秘密鍵はとして保存され privkey.pem
ます。
Let's Encrypt証明書は90日で期限切れになるため、cronジョブを使用して証明書の自動更新を設定することをお勧めします。
cronジョブファイルを開きます。
sudo crontab -e
ファイルの最後に次の行を追加します。
30 5 * * 1 /usr/bin/certbot renew --quiet
上記のcronジョブは、毎週月曜日の現地時間の午前5時30分に実行されます。証明書の有効期限が切れる場合、証明書は自動的に更新されます。
新しい仮想ホストを作成します。
sudo nano /etc/nginx/sites-available/librenms
ファイルに入力します。
server {
listen 80;
server_name nms.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name nms.example.com;
ssl_certificate /etc/letsencrypt/live/nms.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nms.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /opt/librenms/logs/librenms.nginx.access.log;
root /opt/librenms/html;
index index.php;
charset utf-8;
gzip on;
gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location /api/v0 {
try_files $uri $uri/ /api_v0.php?$query_string;
}
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
nms.example.com
上記の構成で実際のドメインに置き換え ます。
新しく作成した構成をアクティブ化します。
sudo ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/librenms
Nginxを再起動します。
sudo systemctl restart nginx
インストールを完了するにはhttps://nms.example.com
、お気に入りのブラウザで開き ます。要件が満たされていることがわかります。データベースの詳細を入力し、新しい管理アカウントを作成します。インストールが完了すると、インストールを検証するためのメッセージが表示されます。リンクをクリックし、管理者アカウントを使用してログインします。「Poller
」以外のすべてに「Ok
」ステータスがあることがわかります。
次に、リンクをクリックしてデバイスを追加します。" Add Device
"インターフェースで、ホスト名をlocalhostとして指定し、すべてそのままにします。コミュニティフィールドにコミュニティストリングを入力します。これはsnmpd.conf
、SNMPの構成時に指定したものとまったく同じストリングでなければなりません。
デバイスが追加されると、「Devices
」タブに移動して詳細を確認できます。同様に、「24時間体制」で監視するために、LibreNMSアプリケーションにさらにデバイスを追加できます。
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の未来は、日々成長を続けています。