「技術系」カテゴリーアーカイブ

サーバの初期設定する(CentOS7.2)

以前書いた記事は古くなったので、新しく書き直しました。自分用に。

さくらのVPSを使っているので、ところどころ www????.sakura.ne.jp として入力しています。

ユーザ作成

まずはrootのパスワードを変更します。

# passwd

作業用アカウントを作成します。

ユーザーhoge作成
# useradd hoge

hogeのパスワード設定
# passwd hoge

hogeをwheelグループに入れる
# usermod -G wheel hoge

作業用アカウント(wheelグループ)以外ではrootになれないように制限します。

sudoできるユーザを指定。

# visudo

この行を有効化
%wheel ALL=(ALL) ALL

suできるユーザを指定。

# vi /etc/pam.d/su

この行を有効化
auth required /lib/security/$ISA/pam_wheel.so use_uid

rootで直接ログインできないようにします。

# vi /etc/ssh/sshd_config

yesをnoに変更する
PermitRootLogin no

SSH再起動。

# systemctl restart sshd

TCP wrapperでsshにログインできるホストを制限します。

拒否リスト。

# vi /etc/hosts.deny

以下を追加
sshd : all

許可リスト。

# vi /etc/hosts.allow

以下を追加
sshd : localhost
sshd : hoge.com
sshd : .jp

これでサーバ自身と.jp以外の人はアクセスできなくなりました。ちゃんと自分のプロバイダに合致したホスト名を指定しないと繋がらなくなります。

yumでRemiリポジトリを使う

標準のyumだと古いパッケージばかりなので、新しいのがインストールできるRemiリポジトリを使用します。

CentOS7用
# wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
# rpm -Uvh remi-release-7.rpm

Remiを指定してインストールする場合には以下のように記述します。

# yum --enablerepo=remi install (パッケージ名)

アップデートは新旧入り混じると面倒なので、Remiは入れたのは個別でやった方が良いのかな。

通常パッケージ全部アップデート
# yum update

Remiで入れたの個別アップデート
# yum --enablerepo=remi update (パッケージ名)

ファイアウォール

起動
# systemctl enable firewalld
# systemctl start firewalld
設定追加
# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --add-service=https --zone=public --permanent
# firewall-cmd --add-service=smtp --zone=public --permanent
# firewall-cmd --add-port=110/tcp --zone=public --permanent
# firewall-cmd --add-port=587/tcp --zone=public --permanent
# firewall-cmd --reload

現在の設定は以下で確認できます。

# firewall-cmd --list-all --zone=public

webサーバ

Apache 2.4をインストールします。

# yum install httpd

起動
# systemctl enable httpd
# systemctl start httpd

ドメインごとに管理するユーザを分けます。普通にユーザを作成すると自分のホームディレクトリより上の階層に行けてしまうので、chrootを使って行けないようにします。

グループ作成。

# groupadd sftpgroup

グループに所属するユーザにchrootを適用します。

# vi /etc/ssh/sshd_config

サブシステム変更
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp

グループと行ける範囲を末尾に追加
Match group sftpgroup
ChrootDirectory ~
ForceCommand internal-sftp

sshdを再起動します。設定間違うとサーバにアクセスできなくなるので、念の為ターミナルをもう1つ開いておいたり。

# systemctl restart sshd

あとはユーザを作成していけば /home/hoge/ がsshのルートディレクトリになります。

ユーザ作成
# useradd -g sftpgroup hoge
# passwd hoge

ホームディレクトリの所有者をrootにする
# chown root:root /home/hoge
# chmod 755 /home/hoge

ディレクトリ作成とパーミッション変更
# mkdir /home/hoge/public_html
# chmod 777 /home/hoge/public_html

バーチャルホスト

1台のサーバで複数のドメインを運用したいので、バーチャルホストの設定をします。

# vi /etc/httpd/conf/httpd.conf
この行のコメントアウトを外す
NameVirtualHost *:80

ドメインごとにconfファイルを作成します。以下はhoge.com用です。

# vi /etc/httpd/conf.d/hoge.conf

<VirtualHost *:80>
ServerAdmin webmaster@hoge.com
DocumentRoot /home/hoge/public_html
ServerName hoge.com
ServerAlias www.hoge.com
ErrorLog logs/hoge.com-error_log
CustomLog logs/hoge.com-access_log common
</VirtualHost>

公開前にサイトを確認できるようにします。ユーザー名がhogeの場合、こんなチルダ付のURLで見れるようになります。
http://www????.sakura.ne.jp/~hoge/

# vi /etc/httpd/conf.d/userdir.conf

コメントアウト
#UserDir disabled

有効化
UserDir public_html

Allにする
AllowOverride All

必要なものだけ
Options IncludesNoExec ExecCGI FollowSymLinks

SSL

OpenSSLは既に入っているので、mod_sslをインストールします。

# yum --enablerepo=remi install mod_ssl

SSL証明書は無料のLet’s Encryptを使います。取得方法は省略。

SSLサーバの設定は以下にまとめて書いておきます。

vi /etc/httpd/conf.d/vhost.conf

<virtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/hoge.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/hoge.com/privkey.pem
SSLCACertificateFile /etc/letsencrypt/live/hoge.com/chain.pem
ServerAdmin webmaster@hoge.com
DocumentRoot /home/hoge/public_html
ServerName hoge.com
ServerAlias www.hoge.com
ErrorLog logs/hoge.com-error_log
CustomLog logs/hoge.com-access_log common
</VirtualHost>

設定できたら再起動。

# systemctl restart httpd

MySQL(MariaDB)

MariaDBインストールします。

# yum install mariadb mariadb-server

起動

# systemctl enable mariadb
# systemctl start mariadb

初期設定

# mysql_secure_installation
出てくる質問は以下の通り。
・MariaDBのrootにパスワード設定
・匿名ユーザ(anonymous)の削除
・リモートからrootユーザ接続禁止
・テスト用データベースの削除

文字コードをUTF-8にする。

vi /etc/my.cnf.d/server.cnf

[mysqld]
の後に以下を追加
character-set-server=utf8

終わったら再起動

# systemctl restart mariadb

PHP

PHP7とそれに関係するものをインストール。

# yum install --enablerepo=remi,remi-php70 php php-devel php-mysqlnd php-pear php-mbstring php-pdo php-gd

phpMyAdmin

せっかくなのでMySQL(MariaDB)の管理ページを入れる。

# yum --enablerepo=remi-php70 install phpmyadmin

ここにもアクセス制限。

vi /etc/httpd/conf.d/phpMyAdmin.conf

<RequireAny>
の下に
Require host .jp
など

メールサーバ

ない場合はインストール。

# yum install postfix cyrus-sasl cyrus-sasl-md5

Postfix(送信)の設定。

# vi /etc/postfix/main.cf

以下のように修正
myhostname = www????.sakura.ne.jp
mydomain = www????.sakura.ne.jp
myorigin = $mydomain
inet_interfaces = all
#inet_interfaces = localhost
inet_protocols = ipv4
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP unknown

以下を追加(スパム対策)
disable_vrfy_command = yes
smtpd_helo_required = yes

以下を追加(バーチャルドメイン用)
virtual_alias_maps = hash:/etc/postfix/virtual

以下を追加(SMTP-Auth用)
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = cyrus
smtpd_sasl_path = smtpd
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = smtpd_relay_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

以下を追加(メールへの添付可能サイズを無制限にする)
message_size_limit = 0
mailbox_size_limit = 0

メール送信時にサブミッションポート(587)を使用します。

# vi /etc/postfix/master.cf

以下の行のコメントアウトを外す
submission inet n - n - - smtpd
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING

再起動。

# systemctl restart postfix

SMTP認証のためにSaslauthdを使用します。アプリと認証処理を分離してくれるものらしい。

# vi /etc/sysconfig/saslauthd

Linuxユーザのパスワード(/etc/shadow)を使う
MECH=shadow

起動します。

# systemctl enable saslauthd
# systemctl start saslauthd

Dovecot(受信)をインストールします。

yum install dovecot

設定していきます。

# vi /etc/dovecot/conf.d/10-mail.conf

以下の行のコメントアウトを外す
mail_location = maildir:~/Maildir
# vi /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
listen = *
# vi /etc/dovecot/conf.d/10-auth.conf
パスワードを平文にする
disable_plaintext_auth = no
# vi /etc/dovecot/conf.d/10-ssl.conf
SSL接続しない
ssl = no

Dovecotを起動します。

# systemctl enable dovecot
# systemctl start dovecot

useradd時にメールボックス用のディレクトリを自動で作成されるようにします。

# mkdir -p /etc/skel/Maildir/{new,cur,tmp}
# chmod -R 700 /etc/skel/Maildir/

メールアドレス作成

メールアカウント用のユーザをシェルログイン不可で作成します。

# useradd -s /sbin/nologin hoge-info
# passwd hoge-info

useraddしたらメールボックスはこのように作成されました。

/home/hoge-info/Maildir/new/
/home/hoge-info/Maildir/cur/
/home/hoge-info/Maildir/tmp/

メールアドレスとその振り分け処理を作成します。ドメインごとにanythingの行を入れないとメールが使用できません。

# vi /etc/postfix/virtual

hoge.com         anything
info@hoge.com hoge-info
web@hoge.com hoge-web

振り分けを反映させます。

# postmap /etc/postfix/virtual

まとめ

1記事にまとめてみたけど、やっぱ設定項目多いね。

【初Mac】MacBook Pro 2017(13inch・256GB)購入!!

MacBook Pro買いました。人のを触らせて貰ったことはあるけど、買うのは今回が初めてです。

前々から買おうと思いつつ、無くても何とかなってたので先延ばしにしてましたが、ここ数ヶ月の仕事でWindowsだと苦労したのと、そろそろiOSのアプリも作りたいなということで。

しかし開発環境ってなんでMacメインのばっかなんだろうね。Windows環境のやっつけぶりとかもうね……

最初は中古で買おうかと調べてみましたが、あんまり安くないんだよね。古いやつだとXcodeが未対応になっていくみたいだから無駄になるし。

あと友達から「Mac mini貸すよ」とか「Macbook Air売るよ」と言ってもらってましたが、やはり古いとすぐ無駄になるのと、何かあった時に揉めそうだしね。

長く使うつもりなのでAirではなくProにした。SSDを256GBにしたのも同じ理由です。Touch Barは…いらんでしょw

使用感

とりあえずChromeインストールしたら、ブックマークとか拡張機能とか同期してネットする環境はすぐに整いました。FinderでNASのデータにもアクセスできたので、普段使いにはもう問題ないね。あとエディタはVisual Studio Codeにした。

キーボードの配置が違うので結構打ち間違う。特にWindowsの感覚でCtrl+Cでコピーしようとして失敗する。あと日本語英語の切り替えとか。そのうち慣れるかな。

マウス無くてもいいかなと思ったけど、やっぱ無いと不便だ。買おうかな。

NASにアクセスする際に、重たいのとあちこちに.AppleDoubleフォルダや.DS_Storeファイルを勝手に作るので発狂しかけたけど、Samba接続にしたらその辺解消された。今後はSambaで繋ごう。

Unity開発環境構築中

Unityインストールしてテストプロジェクトをビルド。Macアプリなら何も考えずに作れるね。

iOSアプリはビルドして出来たプロジェクトファイルをXcodeに持っていくんだけど、うまく行かず。Team IDがいるっぽい? 年会費払うタイミングは? Apple ID新規に取る必要がある? とか調べることが多くてまだうまく行ってない。

あとUnity Plusのライセンスが足りないので、WindowsでビルドしてからMacに持ってきた方がいいのかな。それともUnity Cloud Build使うのが良いのか。

まとめ

使い始めて半日程度だとわからないことだらけだね。少しずつやっていきますか。

当面の目標は既存のAndroidアプリをiOSに移植することです。

アップル 13インチMacBook Pro: 2.3GHzデュアルコアi5プロセッサ、256GB – スペースグレイ MPXT2J/A

スマホSH-03Jに機種変更した!

約3年前にぶりに機種変更しました。SH-03Jです。

ドコモ秋冬モデルの発表を待ってたんだけど、いざ発表されると欲しいのがなかったので、3ヶ月前に出たこの春夏モデルにしました。少し安くなってたしね。

カラーは白(ジルコニアホワイト)。10年以上黒いのを選んでましたが、今回は何となく白くしてみた。

初期設定

今回もドコモオンラインショップで購入したので全部自分で設定です。

最初ログインした時に、Googleの2段階認証のコード聞かれて焦った。スマホの設定完了しないとドコモメール受け取れないから、コードもわからないんじゃん! …まあスキップしたらそのまま先に進めたけど。SIMカード古いのに移し替えようかとか悩んだよ。

同じくKindleアプリの2段階認証でコード聞かれて困った。これは古いスマホ側の認証アプリを起動して、そっちで取得出来ました。

絶対忘れるからメモ。

使用感

さすが新しいスマホはサクサクだね。液晶は120Hz駆動だし、メモリも4GBと倍増したので、実に快適です。

OSがAndroid 5.0から7.1に変わったのでちょっと戸惑うけど、まあすぐ慣れるかな。

指紋認証初めて使ってみたけど、3回に1回くらいしか通らないな。まあダメならコード入力でも開けるので別にいいけど。(追記)慣れたお陰か、あんまり失敗しなくなった。便利だね。

バッテリーの減りが早いらしいけど、これはもう少し使ってみないとわからないな。(追記)やっぱりすぐバッテリーなくなる。毎日充電必要。

でかい。前機種より高さが1cmも伸びてるんだよね。まあ何とかポケットに入るサイズかな。

しかし液晶5.3インチでWQHD(1,440×2,560ドット)とか言われてもFHDと違いがわからないね。

まとめ

これでゲームプレイもアプリ開発も捗ります。

Windows10でウインドウが最前面に居座る現象解決!!

Windows10にしてから結構な頻度で特定のアプリのウインドウが最前面に来てしまい、他のウインドウを選択しても前面に出てこない現象に悩まされていました。

ようは勝手に「常に手前に表示」になってしまうということですね。

同じ現象に悩まされてる人はネットでも結構見かけます。だいたいはレジストリいじったら直ったとか、Real Player消したら直ったとか、何やっても直らなかったとかです。私も何やっても直りませんでした。

うちでよく発生していたアプリはChrome、Thunderbird、秀丸エディタあたりです。てゆうかChromeとか「常に手前に表示」が無いのになるんだよね。どれも頻繁に使うのでかなり不便でした。

原因解明

その原因がようやくわかりました。マウスジェスチャー「StrokeIt」で最小化(Left-Down)をしたら100%発生します。

マウスジェスチャーは便利なので全く意識せずに使っていました。まさかそれが原因だったとは……最小化したらしばらくそのアプリは使わないので、なかなか気づかなかったんですね。

なので対処法は「Left-Downを無効化」です。なお、マウスジェスチャーでのLeft-Downという動きがダメなのか、最小化がダメなのかはわかりません。そのうち検証します。

1年以上困っていた現象が解決できました。これでようやく快適に使えます。

iPad Pro 10.5インチ 256GB シルバーを買う

iPad Pro買いました。今使ってるiPad Airがまだ使えるかなと思ってたんだけど、買ってから4年近いからバッテリーもヘタってきてるし、処理も重たく感じることがあったので。

Airは黒いのでしたが、今回Proは白にしました。

持って最初に思ったのは薄くて軽いなあということ。実際は重さ同じなんだけどね。サイズが少し大きいから軽く感じるのかな。

容量ほんとは128GBが良かったんだけど、ラインナップにないんだよね。なので多いけど256GBにした。

液晶が綺麗になったね。明るさがアップしたというから、そのお陰かな。

背面カメラが飛び出てるのが気になる。今回純正の安い方のカバーを買ったんだけど、それだと後ろが丸裸だからうっかりカメラをぶつけてしまいそうだ。

アプリ

App Storeから最低限必要なのだけダウンロードして設定。Googleなどのアカウントを2段階認証にしてたんで、ちょっと手間だけどまあそんなに時間かからず完了。

Kindleは400冊以上買ってあるから、一度に落とすのも大変だし読むごとにダウンロードすることにする。なんかコレクションが一部おかしくなってたけど、まあ気付いたら直す感じで。

レイクライシスはAirでは開始直後に処理落ちしてたけど、Proでは処理落ちなし。さすが。他のゲームも試していこう。

Apple Pencil

最近絵を描いてないけど、せっかくなのでPencilも買いました。Procreateでしばし試し描き。以前のサードパーティ製のとは比べ物にならないくらい良いね。ペン先が細いから精密なのも描けそう。

PCのタブレット持ってるけど、準備するのが億劫であんまり触らなくなっちゃったんだよね。iPadでお絵かき再開しようかな。

充電方法はちょっと変だけど、15秒の充電で30分描けるってのが面白い。

まとめ

まだ使ってない機能はたくさんあるし、秋にはiOS11が出てさらに便利になるので楽しみです。

サーバ移転&SSL化しました

先月さくらのVPSを借りましたが、ようやく全サイト移転完了しました。

メールの設定がうまくいかず、しばらく悩んでましたが、設定ミスを見つけて何とか動かせました。バージョンの違いから微妙に設定が変わってるのが厄介だね。

そしてようやくSSL化です。以前から1サイトだけLet’s EncryptでSSLにしてたんだけど、今回すべてのサイトに適用しました。これも時代の流れだしね。

.htaccessでリダイレクトかけてあるので、こちらへのリンクはそのままでも大丈夫です。

あとWordPressのマルチサイト機能を解除。管理ページからデータをエクスポートして新サーバに載せ替えて、URLを書き換えて、メディア(画像)がなぜか管理ページから見えないからMySQLでwp_postテーブルとwp_postmetaテーブルをインポートして、とか結構手間がかかりました

WordPressのマルチサイト機能は重かったり使えないプラグインがあったりと、ちょっと不便だったしね。

他にもリンクの修正、未だに残っていたShift_JISのスクリプトをUTF-8に直したりと、色々行いました。今回のサーバ移転はいつも以上に大変だった。

新サーバはSSDなので、サイトの表示が早くなりました。良い感じ。

さくらのVPSでSSD 2Gプランを借りた

さくらのVPSの初期費用無料クーポンが来ていたので、新たにサーバを借りました。

いま使っているサーバもさくらのVPSで、特に不満とかは無いのですが、使い始めから既に3年経つし、新しいサーバはスケールアップにも対応したみたいだし、CentOS7も試してみたいなあ、というふわっとした理由です。

少し料金高くなったけどね。

プラン

既存のサーバと比べて以下のように変わりました。

さくらのVPS(v3) 2G

さくらのVPS(v4) SSD 2G

サーバで初SSD! これは速くなりそうだ。検証している幾つかのサイトを見たところ、おおむね3倍くらい速くなるらしい。

ストレージ HDD 200GB → SSD 50GB
1/4に減ったけど、そもそも50GBですら使いこなせないから問題なし。

OS CentOS 6.5 → CentOS 7.1
LAMP構築してみたけど、思ったより変わってなかったな。serviceがsystemctlになって、iptablesがfirewalldになって、MySQLがMariaDBになったくらい?

あとPHPを7.0にしました。5.x系の2倍速いらしい。

今後

いまは新旧2台構成ですが、ある程度構築できたら、既存のサイトを全部新サーバに移転します。Wordpressとか速くなるかな。

WordPress自体もマルチサイト化してるのを止めたり、サイトをSSL化したり、その他やってみたいことが色々あるので、ちまちま試してみようかと思います。

PS4のシェア機能でプレイ動画をYouTubeにアップしてみた(GRAVITY DAZE 2体験版)

ふと、PS4から動画が投稿できるってのを思い出して、試しにアップしてみました。GRAVITY DAZE 2の体験版です。少し前に前作をクリアしたところだしね。

知らなかったんだけど、PS4って常に動画を保存し続けてるみたいだね。それでSHAREボタンを押せば直前の15分間の動画がビデオクリップに格納されるという。のんびりプレイするつもりだったので、30分間保存できるように設定変更して、YouTubeでも15分以上アップできるように変更しました。

そして保存した動画を「SHARE factory」というアプリで加工。まあ今回はムービー前後の余分な箇所をカットしただけだどね。

YouTubeにアップしようとしたらアカウントの確認画面が表示されて、ログインしても先に進めなくなってしまった。試行錯誤したところ、一旦PS4からログアウトして再ログインしたらちゃんと投稿画面に進めました。

PS4上では動画サイズは28分で1.3GBあり、結構大きいなと思ってたんだけど、YouTubeに持ってきたら0.6GBに変換されてました。画質もちょっと落ちてるな…まあいいけど。YouTubeにアップできる上限が128GBとの事なので、このフォーマットなら100時間くらい上げられるね。

結構お手軽にプレイ動画が上げられることがわかったので、なんか気が向いたらアップするかも。

ノートパソコンVAIOZ(2016年モデル)買った!

vaioz2016VAIOZ買いました。3ヶ月位前に発売された、タブレットにならない方のモデルです。

そろそろ夏モデルが発表されそうな微妙な時期だけどね。

これまで使っていたVAIOZはこちら

スペック

VAIO Z(VJZ1311)
CPU:Core i7-6567U(3.30GHz)
MEM:16Gbyte
GPU:インテル Iris グラフィックス 550
SSD:256GB
液晶:13.1インチ(1920×1080)
OS:Windows 10 Pro
ドライブ:無し
重量:1.17kg
タイプ:クラムシェルモデル
カラー:ブラック

筐体サイズはそのままにメモリとSSDを2倍にしました。それ以外も順当にパワーアップしています。

購入経緯

今の仕事は自前のノートPCで作業しているんですが、2つのプロジェクトを並行して行うことになり、かつ片方はローカルに仮想環境作ってそこで開発する方式なんだよね。

これまで使っていたPCは、メモリ8GBなのですぐにメモリ不足でアプリが落ちる。そしてSSDも128GB中、空き容量が3~5GBというギリギリ状態。データは常に増え続けているから、いつあふれてもおかしくない。そしてちょっとした作業でCPUファンが物凄い勢いで回り出す。

てな訳で急いでPCを買い換える必要がありました。しかも高スペックで持ち運びが楽なやつを。そうするとあんまり選択肢ないんだよね。

使用感

4年前のVAIOZは多少無骨さがあって良かったけど、これはだいぶシンプルになったね。しかもさらに薄くなった。でも薄くなったせいで液晶開けづらいし、USBも指しづらい。慣れかもしれないけど。

キーボードの方向キーが小さいのが気になる。これも慣れかな。

Windows10は既に他で使っていたから特に問題なし。ただ高解像度なので文字サイズを125%にしたら、一部の文字がぼやけてしまう。設定あるのかな?

液晶が綺麗で良いね。今回はノングレアだから反射も少なくて見やすいし。

まとめ

これまで使っていたVAIOZと同じサイズなので、使い勝手はほとんど変わらないね。

しかし、これで1日何度もPCを再起動したり、ちまちま不要データを削除する必要がなくなります。ようやく仕事に専念できる。

と言いつつ、まる1日かかって仕事環境の移行が完了せず。仮想環境めんどくさい。

MRTGでサーバー監視(さくらのVPS設定8)

mrtgMRTGを使ってサーバの状況をグラフィカルに確認します。昔からあるツールなので、見たことあるかも。

まあ、さくらのVPSには最初から同じような機能が付いてるから、わざわざ入れる必要ないんだけどね。

CentOS6.7です。

まずは必要なパッケージをインストール。

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

SNMP設定

SNMPの設定をしていきます。これが実際にサーバを監視するツールです。

# vi /etc/snmp/snmpd.conf

コメントアウト
com2sec notConfigUser   default       public
↓
#com2sec notConfigUser   default       public

有効化して書き換え
#com2sec local     localhost       COMMUNITY
#com2sec mynetwork NETWORK/24      COMMUNITY
↓
com2sec local     localhost       (任意の名前)
com2sec mynetwork 127.0.0.0/24    (任意の名前)

有効化
#group MyRWGroup  any        local
#group MyROGroup  any        mynetwork
↓
group MyRWGroup  any        local
group MyROGroup  any        mynetwork

有効化
#view all    included  .1                               80
↓
view all    included  .1                               80

有効化して書き換え
#access MyROGroup ""      any       noauth    0      all    none   none
#access MyRWGroup ""      any       noauth    0      all    all    all
↓
access MyROGroup ""      any       noauth    exact  all    none   none
access MyRWGroup ""      any       noauth    exact  all    all    all

SNMPを起動します。

# service snmpd start
# chkconfig snmpd on

動作確認します。エラーとか出てなければOK。

# snmpwalk -v2c -c (任意の名前) localhost system

設定ファイルに反映させます。

# cfgmaker (任意の名前)@127.0.0.1 > /etc/mrtg/mrtg.cfg

MRTG設定

MRTGの設定をしていきます。これはSNMPの結果などをグラフィカルに表示してくれます。

# vi /etc/mrtg/mrtg.cfg

有効化して任意のパスに書き換え
# WorkDir: /home/http/mrtg
↓
WorkDir: /var/www/mrtg

有効化
# Options[_]: growright, bits
↓
Options[_]: growright, bits

末尾に以下を全部追加。おまじない。

# トラフィック量
Target[eth0]: 1:(任意の名前)@127.0.0.1:
SetEnv[eth0]: MRTG_INT_IP="127.0.0.1" MRTG_INT_DESCR="lo"
MaxBytes[eth0]: 12500000
Title[eth0]: eth0 -- centos
PageTop[eth0]: <h1>eth0</h1>

# CPU使用率
Target[cpu]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2:(任意の名前)@127.0.0.1
MaxBytes[cpu]: 100
Unscaled[cpu]: dwmy
Options[cpu]: gauge, absolute, growright, noinfo, nopercent
YLegend[cpu]: CPU Load(%)
ShortLegend[cpu]: (%)
LegendI[cpu]: 1 min CPU Load Average
LegendO[cpu]: 5 min CPU Load Average
Legend1[cpu]: 1 min CPU Load Average(%)
Legend2[cpu]: 5 min CPU Load Average(%)
Title[cpu]: CPU Load Average
PageTop[cpu]: <H1>CPU Load Average</H1>

# メモリ使用量
Target[mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0:(任意の名前)@127.0.0.1
# Mem total
MaxBytes1[mem]: 1937120
# Swap total
MaxBytes2[mem]: 8191992
Unscaled[mem]: dwmy
Options[mem]: gauge, absolute, growright, noinfo
YLegend[mem]: Mem Free(Bytes)
ShortLegend[mem]: Bytes
kilo[mem]: 1024
kMG[mem]: k,M,G,T,P
LegendI[mem]: Real
LegendO[mem]: Swap
Legend1[mem]: Real Memory[MBytes]
Legend2[mem]: Swap Memory[MBytes]
Title[mem]: Memory Used
PageTop[mem]: <H1>Memory Used</H1>

設定が完了したので手作業で3回実行します。データが3つ以上ないと表示されないらしいので。

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

mrtg.cfgで指定した任意のパスにインデックスページを作成します。

# indexmaker --columns=1 /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html

デフォではWebからアクセス出来ないようになっているので、アクセス許可します。

# vi /etc/httpd/conf.d/mrtg.conf

Alias /mrtg /var/www/mrtg

↓とりあえずAllow from ALLを追加した
<Location /mrtg>
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ALL
    Allow from ::1
</Location>

設定完了したのでApache再起動します。

# service httpd restart

以下のURLからサーバ状況が確認できるようになりました。5分おきに更新されます。

http://www????.sakura.ne.jp/mrtg/

ちなみに、cronの設定はここにありました。

/etc/cron.d/mrtg