1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ZABBIX4.0構築(事前準備)

Last updated at Posted at 2019-07-31

#ZABBIX4.0構築手順
ZABBIX4.0LTSを構築する際の自分用忘備録。
間違えているところあるかも。

cent7.5

#事前準備
#1.DNSサーバの設定

手動で設定するため、DHCPでのDNSサーバ設定を無効に。

nmcli con mod enp0s3 ipv4.ignore-auto-dns yes

DNSサーバを設定し、NetworkManager を再起動

nmcli con mod enp0s3 ipv4.dns 8.8.8.8
systemctl restart NetworkManager

DNSサーバが設定されていることを確認

cat /etc/resolv.conf

# Generated by NetworkManager
   nameserver 8.8.8.8'

★名前解決確認
FQDNへping or nslookupを実施し、DNSサーバへ正常に設定されているか確認

#2.ホスト名の設定

ホスト名「XXX-SV」を設定し、hostnamed を再起動

nmcli general hostname `XXX-SV`
systemctl restart systemd-hostnamed

★hostsファイルの確認
cat /etc/hosts

#3.基本パッケージのインストール

yum アップデート
yum -y update

#4.不要サービスの停止

systemctl disable abrt-ccpp
systemctl disable abrt-oops
systemctl disable abrt-vmcore
systemctl disable abrt-xorg
systemctl disable abrtd
systemctl disable avahi-daemon
systemctl disable mdmonitor
systemctl disable dmraid-activation

#5.SELinux無効設定

vim /etc/sysconfig/selinux

SELINUX=enforcing
↓
SELINUX=disabled

OSを再起動
shutdown -r now

#6.firewalld設定

初期設定では publicゾーンに ssh のみ許可
firewall-cmd --list-all

public (default, active)
interfaces: enp0s3 enp0s8
sources:
services: dhcpv6-client ssh

下記を許可する。

firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=443/tcp --permanent
firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --add-port=23/tcp --permanent
firewall-cmd --add-port=161/tcp --permanent
firewall-cmd --add-port=162/tcp --permanent

設定の読み込み
firewall-cmd --reload

★設定を確認

firewall-cmd --list-ports --zone=public

-----(以下のような表示があればOK)-----
443/tcp 80/tcp etc..

#7.Chrony設定 (NTP)

初回は手動で時間合わせ
ntpdate ntp.nict.jp

コンフィグをバックアップ
mv -i /etc/chrony.conf /etc/chrony.conf.org

コンフィグを作成
vim /etc/chrony.conf

server ntp.nict.jp
server ntp.nict.jp
server ntp.nict.jp

起動
systemctl restart chronyd

自動起動設定
systemctl enable chronyd
systemctl status

動確
chronyc sources -v

★確認
date
現在時刻が表示されてば問題なし。

#8.yum リポジトリの追加
MySQL
rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

EPEL(リポジトリ拡張用)
yum -y install epel-release
yum -y update

Remi(php7.2用)
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi

★確認 下記コマンドでリポジトリ追加されていれば問題なし
yum repolist all

#9.各種ミドルウェアインストール

Apache httpd(2.4.6-80)

yum -y install httpd-devel
yum -y install mod_ssl

PHP(7.2.5-1)

yum -y install php
yum -y install php-devel
yum -y install php-pdo
yum -y install php-mysqlnd
yum -y install php-mbstring
yum -y install php-gd
yum -y install php-pear
yum -y install php-pecl-apc-devel
yum -y install zlib-devel

MySQL(8.0.11-1)

yum -y install mysql-community-devel
yum -y install mysql-community-server

#10.Apache httpd の設定
不要なコンフィグの削除

mv -i /etc/httpd/conf.d/autoindex.conf /etc/httpd/conf.d/autoindex.conf.org
mv -i /etc/httpd/conf.d/userdir.conf /etc/httpd/conf.d/userdir.conf.org
mv -i /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.org

コンフィグバックアップ

mv -i /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org

コンフィグ作成

vim /etc/httpd/conf/httpd.conf

httpdの起動
systemctl start httpd

自動起動設定
systemctl enable httpd

★確認 httpdが起動しているか
service httpd status
or
systemctl status httpd

#11.証明書作成(HTTPS)
一旦なしの方向で

#12.Apache HTTPS(SSL/TLS)の設定
一旦なしの方向で

#13.PHPの設定

エラーログの出力先を作成

mkdir /var/log/php
chown apache /var/log/php
chmod 755 /var/log/php

PHPの設定
vim /etc/php.ini

expose_php = On
↓
expose_php = Off

;date.timezone =
↓
date.timezone = 'Asia/Tokyo'

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
↓
error_reporting = E_ALL & ~E_NOTICE

;error_log = php_errors.log
↓
error_log = "/var/log/php/php_errors.log"

★確認方法
プロンプトで
php -v

#14.MySQL 8.0 の設定

ログの出力先を作成

mkdir /var/log/mysql
chown -R mysql:mysql /var/log/mysql

コンフィグバックアップ

mv -i /etc/my.cnf /etc/my.cnf.org

コンフィグを作成
vim /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

slow_query_log=ON
slow_query_log_file=/var/log/mysql/slow_query.log
long_query_time=1.0

log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

log_timestamps=SYSTEM
skip-character-set-client-handshake
character-set-server=utf8mb4
explicit_defaults_for_timestamp=ON

起動
systemctl start mysqld

自動起動設定
systemctl enable mysqld

★確認方法
mysqlログイン
プロセス確認

#15.ログローテーション設定
設定ファイルのバックアップ用ディレクトリを作成
mkdir /etc/logrotate.off

Apacheログのローテーション設定
設定ファイルをバックアップ
mv -i /etc/logrotate.d/httpd /etc/logrotate.off/

設定ファイルを作成
vim /etc/logrotate.d/httpd

"/var/log/httpd/*log /var/log/php/*log {
daily
missingok
dateext
rotate 60
create 644 apache apache
sharedscripts
postrotate
/bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true
endscript
}"

★確認方法
プロセスチェック

logrotate -dv /etc/logrotate.d/httpd

reading config file /etc/logrotate.d/httpd

Handling 1 logs

rotating pattern: /var/log/httpd/*log /var/log/php/*log after 1 days (60 rotations)
empty log files are rotated, old logs are removed

#16.MySQLログのローテーション設定

設定ファイルをバックアップ
mv -i /etc/logrotate.d/mysql /etc/logrotate.off/

設定ファイルを作成
vim /etc/logrotate.d/mysql

/var/log/mysql/*log {
daily
missingok
dateext
rotate 60
sharedscripts
postrotate
if test -x /usr/bin/mysqladmin && \
/usr/bin/mysqladmin --defaults-extra-file=/root/.my.cnf ping &>/dev/null
then
/usr/bin/mysqladmin --defaults-extra-file=/root/.my.cnf flush-logs
fi
endscript
}

MySQL の root ユーザのパスワードファイルを作成
vim /root/.my.cnf

[mysqladmin]
user=root
password="<パスワード>"

パスワードを書いているのでパーミッションを変更

chown root:root /root/.my.cnf
chmod 600 /root/.my.cnf

★確認
logrotate -dv /etc/logrotate.d/mysql

"reading config file /etc/logrotate.d/mysql
 
Handling 1 logs
 
rotating pattern: /var/log/mysql/*log after 1 days (60 rotations)
empty log files are rotated, old logs are removed

プロセスチェック

#17.自動起動の設定確認

systemctl list-unit-files | grep -e httpd -e mysqld -e memcached -e chronyd

chronyd.service enabled
httpd.service enabled
memcached.service enabled
memcached@.service disabled
mysqld.service enabled
mysqld@.service disabled

OSを再起動して、各種サービスが起動している事を確認
shutdown -r now
ps aux | grep -e httpd -e mysqld -e memcached -e chronyd

以上!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?