Access: 1946240
p-lux.net Ver.10.00 by Ryogo
ワンドロ2016.04.29+他
D.backupより
私の素材を使った旨、宣伝してくれたそうなので、
とりあえずイラストを描いてみた次第です。
CentOS 7 に NET-SNMPをインストールしてみた覚書
若いころ、VirtualBox + VineLinux4.2 でMRTGを実装をやったことがあったけれど、
またインストールする機会があったのでやり方をメモしておく。



■インストール

# yum -y install net-snmp net-snmp-utils mrtg

必要なものを一気にインストール



■snmpd.confの編集

/etc/snmp/snmpd.conf
編集すべきファイルは上記の通り。
編集方法は割愛。



■snmpdの起動

# systemctl start snmpd
# systemctl enable snmpd

いつもの起動と自動起動登録。



■mrtg.confの作成と編集

# cfgmaker --ifref=descr --ifdesc=descr public@localhost > /etc/mrtg/mrtg.cfg

mrtg.confを作って作成。

/etc/mrtg/mrtg.cfg

上記を編集。

# env LANG=C mrtg /etc/mrtg/mrtg.cfg

上記を三回実行。
下記のようにfor文を使うこともできるらしい。

# for (( i=1 ; i <= 3 ; i++ )); do env LANG=C mrtg /etc/mrtg/mrtg.cfg; done

# indexmaker /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html

続いて上記コマンドでindexを作成できる。


■自動更新用にcronを追加

/etc/cron.d

上記パスに下記のような命令を書いて保存。

*/5 * * * * root LANG=C mrtg /etc/mrtg/mrtg.cfg


■MRTGへのアクセス

必要に応じてアクセス制限を解放するには下記ファイルを編集。
/etc/httpd/conf.d/mrtg.conf

# systemctl restart httpd

編集したら再起動。

http://(サーバのIP)/mrtg/
その後、上記URLにアクセスで確認可能。



■他のサーバの情報を引っ張る

# yum -y install net-snmp net-snmp-utils

引っ張りたいサーバ上にsnmpdを入れる。

/etc/snmp/snmpd.conf
上記ファイルを編集

# systemctl start snmpd
# systemctl enable snmpd

起動と自動起動登録。

# firewall-cmd --zone=public --add-port=161/udp --permanent
# systemctl restart firewalld

ファイアウォールの編集。

大本のサーバに戻って

/etc/httpd/conf.d/mrtg.conf

上記を編集。

# env LANG=C mrtg /etc/mrtg/mrtg.cfg
編集し終えたらコマンドで再生成。
CentOS 7 に 拡張ドライブをマウントし共有してみた覚書
若いころ、VirtualBox + VineLinux4.2 でHDDを増設ということをやったことがあったけれど、
今回は、Linuxを2台用意して一方に拡張ドライブを接続、
そして、その両方から拡張ドライブをマウントするということをやってみたかったのでやってみることに。

バージョンはこんな感じ。

# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)



■デバイス名を確認

# fdisk -l

これで該当のデバイス名を調べる。



■パーティションを作る

# fdisk /dev/vdb

fdiskに調べたデバイス名を入れてコマンドを打っていく。

Command: n ←パーティションを作成コマンド
Select (default p): p
Partition number (1-4, default 1): 1
この後、セクターの量を指定。

Command: w ←今回の情報を書き込んで終了するコマンド

※ファイルフォーマットによっては領域のシステムIDの変更とかも必要。



■ファイルシステムを作る

# fdisk -l

該当のパーティションを調べる。

# mkfs -t ext4 /dev/vdb1

ファイルシステムを作る。



■メインサーバのマウント

# mkdir /mnt/cd1/

ディレクトリを作る。

# mount -t ext4 -o defaults /dev/vdb1 /mnt/cd1/

マウントする。



■メインサーバ起動時に自動マウントさせる

/etc/fstab を開く。

/dev/vdb1 /mnt/cd1/ ext4 defaults 1 2

こんな感じの行を追加する。



■メインサーバのNFS設定

# yum -y install nfs-utils

NFS関連のインストール。

/etc/exports
上記ファイルを開き共有したいディレクトリとIPを指定
/mnt/cd1/ xxx.xxx.x.x(ro)

# systemctl start rpcbind nfs-server
# systemctl enable rpcbind nfs-server

いつもの起動と自動起動。

# firewall-cmd --add-service=nfs
# firewall-cmd --add-service=nfs --permanent

ファイアウォールの編集。



■サブサーバのNFSインストール

# yum -y install nfs-utils

NFS関連のインストール。

# systemctl start rpcbind
# systemctl enable rpcbind

いつもの起動と自動起動。



■サブサーバのマウント

# mkdir /mnt/cd1/

ディレクトリを作る。

# mount -t nfs -o soft (サーバIP):/mnt/cd1 /mnt/cd1

マウントする。

/etc/fstab を開く。

# (サーバIP):/mnt/cd1 /mnt/cd1 nfs ro,soft 0 0

こんな感じの行を追加する。



以上で/mnt/cd1を共有できた。
なお、NFSクライアントからも書き込み可能にしたい場合はroをrwにすればOK。
CentOS 7 に Apache2等をインストールしてみた覚書
若いころ、VirtualBox + VineLinax + Apacheという組合せをやったことがあったけれど、
少々勝手がちがかったので今後もやるときの為のメモを残しておきたいと思う。
最終目標は、phpMyAdminを使用できるようにするところまで。

今回は、仮想サーバを借りて行うことにした。
OSは初めからインストールされているようだ。

バージョンはこんな感じ。

# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)



■Apache2をインストール

# yum -y install httpd



■Apache2の設定編集

編集するべきファイルは下記の通り。
/etc/httpd/conf/httpd.conf

やりたい事に合わせていろいろ書き換えていく。
内容は割愛。



■Apache2の起動

# systemctl start httpd

CentOSのバージョンが7の場合はこれでOK。



■Apache2の自動起動

# systemctl enable httpd

このコマンドでサーバ起動時、自動的にhttpdが起動するようになる。



■ファイアウォールの設定

上記のApacheの設定を行っても何故かアクセスできなかったのでファイアウォールを疑う。
しかし、/etc/sysconfigの中を見てもiptablesが無い。
調べてみると、どうやらCentOS7からファイアウォールの仕様が少し変わったらしい。

# systemctl stop firewalld

まずは、上記コマンドでファイアウォールを止めて
きちんと所期ページがブラウザで見れることを確認。

# systemctl start firewalld

きちんと見れたので、ファイアウォールを再度起動。
httpの設定をしてあげることに。

# firewall-cmd --add-service=http --zone=public

これがサービス追加命令。

# firewall-cmd --add-service=http --zone=public --permanent

これが恒久的にサービス追加する命令。
とりあえず両方実行。
こちらだけ叩いてリブートするという方法もよく使われる。

これでファイアウォールが起動しててもちゃんとホームページが見れるようになった。



■PHPをインストール

# yum install -y php php-mbstring



■PHPの設定編集

編集するべきファイルは下記の通り。
/etc/httpd/conf.d/php.conf
/etc/php.ini



■MySQLをインストール

さっそくインストールと行きたいところだが、
どうやらCentOS7の場合、それには問題があるようだ。

というのもCentOS7にはmariaDBが初めからついてくるらしい。
これがMySqlと競合することもあるそうだ。
その為、まずはmariaDBを削除しなければならない。

# yum remove -y mariadb-libs

念のためディレクトリごと削除したほうがいいようだ。

# rm -rf /var/lib/mysql/

ディレクトリの名前がmysqlなのは、mariaDBがそもそもMySQLの派生システムの為。
今後、MySQLではなくMariaDBが主流となるならば、
どこかでMariaDBの開発も経験しておいたほうがよさそうである。

# yum localinstall -y http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

引き続きMySQLのリポジトリ追加。
rpmは、rpm と yum localinstall の二つが使えるようだが、この場は後者を使ってみた。

# yum -y install mysql-community-server

そのままインストールを行ってこれで実装完了。



■MySQLの起動と自動起動

# systemctl start mysqld.service
# systemctl enable mysqld.service

Apache2の時と同じ感じでOK。



■DBMSドライバをインストール

# yum -y install php-mysqlnd

このコマンドだけでphp-pdoもインストールされたのでわざわざ先に別途入れる必要はない様子。



■phpMyAdminをインストール

# yum -y install epel-release

yumリポジトリにEPELをインストール。

情報によると、phpMyAdminの安定版はリポジトリの特定の箇所にあり、
yum-plugin-prioritiesで優先度を操作する方が良いとの情報もあるが、
前回、phpMyAdminのインストールに失敗した記憶があるので
まずはなるべく簡単に実装して見ようと思う。

# yum -y install phpMyAdmin

無作為にインストール。
ここで何故か失敗することがあったが、時間をおいて試したところ問題なく進行した。
ミラーサーバが安定しなかったりとかなのかもしれない。



■phpMyAdmin.confの編集

/etc/httpd/conf.d/phpMyAdmin.conf
編集すべきファイルは上記の通り。
初期はローカルホストしか対象に含まれていないので、外部からはアクセスできない。
ところが、全ての外部からアクセスできるとセキュリティ上危ないので、
httpsを使ったり、固定IPならIP制限をした方が無難。

# systemctl restart httpd

/etc/httpd/conf.d/phpMyAdmin.conf の読み込みと Alias を認識させる為にApache2を再起動。



■MySQLのパスワードをつける。

yumでインストールする場合は、rootのパスワードがないらしいのでつける。

# mysql -u root

とりあえず、そのままログイン。

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

ところが、パスワードが設定されてるからパスワードを入力してほしいと言われる。
どこかで仮のパスワードが作られたようだ。

/var/log/mysqld.log を開いて A temporary passwordと書かれた行に載っているパスワードを調べる。

# mysql -u root -p

上記のようにパスワードを入力できるようにしてアクセス。
せっかくなので今回はこのままこのパスワードを使うことにする。

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

つもりであったが、そういうことはできないらしい。

SET PASSWORD FOR root@localhost='';

パスワードを変更したいが、昔より強固になっていて、
8文字以上で英大文字小文字数字記号の4種類を含む必要があるそうな。
この機能を切る方法もあったり、
また最初に生成された所期パスワードを打ち込むことも一応可能らしい。



■おわりに

ここまでやって、無事 phpMyAdminアクセスできるようになった。
途中、phpMyAdminに「MySQLサーバにログインできません」と言われ、
socketの設定をしたりもしたけれど、
この原因はMySQLのパスワードの再設定をしなければいけないということを見落としていただけで、
socket周りの設定を初期に戻してもアクセスできたので、
今回の場合は不要なことが分かった。



□余談1:mysqld.logやタイムゾーン

ところで、MySQLのパスワードを調べる為にmysqld.logを開いたが、時間がUTCだった。

そこで、サーバの時間が間違っているのだろうと思って直そうと思うも、
システムクロック・ハードウェアクロックともにJSTだった。

不思議に思って、MySQLの'%time_zone'を調べるもJST。

まさかありえないとは思いはすれど、念のためphp.iniのtimezoneを見てもやっぱり怪しい表記は無い。

実はこれ、MySQL5.7移行で実装された'%log_timestamps'というものの仕業らしい。

名前の通り、ログだけの仕様らしいので運用上は問題ない。
ただ、mysqldのログを解析する際、これを忘れていると間違った解析になるかもしれないので注意したい。
ワンドロ2016.04.24
リスペクトパルスィ
ワンドロ2016.04.23

久しぶりにワンドロしたら安定しなかった
深夜の狐娘一本勝負20160422
久しぶりにお仕事がすべて待ちの状態になって
凄く自由を感じたので
この機会に何かしようって落書きしたら
凄く楽しかった
深夜の狐娘一本勝負20160410
エレン先生落書き
ワンドロ2016.04.03+他
5分ドロとワンドロ

© 2003-2024 p-lux.net, Ryogo.

ページトップへ