3.05.2013

[MySQL]INET_ATON, INET_NTOAの利用

とりあえずメモ


■使い方
SELECT INET_ATON('IPアドレス');

SELECT INET_NTOA(数値)


ATONの方はシングルクォーテーションでIPアドレスを括る
NTOAの方はそのまま数値を入れ込む

最初、NTOAも同様にシングルクォーテーションで括ってたらworningが返ってきて、
IPアドレスの値が「0.0.0.0」あれあれっ???ってなって、何故?みたいな~
しばらく悩む羽目に・・・・Orz
簡単なとこに落とし穴があるものです。。。


例えば、5個のテーブル結合及びIPアドレス変換とか


SELECT building.build_no, building.name, device.hostname, device_model.model_name, INET_NTOA(ip_address.ip_address)
FROM ip_address, device, device_model, isp_line, building
WHERE building.id = isp_line.building_id
AND isp_line.id = device.ispline_id
AND device_model.id = device.model_id
AND ip_address.device_id = device.id
AND ip_address.ip_address = INET_ATON('172.19.173.254');
※わかるひとはAS使ってエイリアスにした方がまとまるぽ^^;
※まぁ、IPアドレスから引っ張ってたりするんだけどね(爆


mysql>
+-------------+--------------------------------------------+-----------------------+------------+----------------------------------+
| building_no   | name                                       | hostname              | model_name    | INET_NTOA(ip_address.ip_address) |
+-------------+--------------------------------------------+-----------------------+------------+----------------------------------+
| マンションNo | マンション名                                | 機器名みたいなぁ   | 機種名みたいな | 172.16.1.3                   |
+-------------+--------------------------------------------+-----------------------+------------+----------------------------------+

以上

12.27.2012

[Linux]CentOS5系のアップデート方法


忘れてるのでメモ^^;

CentOS5系はバージョンによってアップデート方法が異なるとのこと。

◆OSタイプ確認(i386, x86_64等)
# uname -a

----------------------------------------------------------------------
◆レポジトリ追加

■epelレポジトリ追加
下記でreleaseされたrpmを探す
http://ftp.iij.ad.jp/pub/linux/fedora/epel/5/

# wget http://ftp.iij.ad.jp/pub/linux/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm
# rpm -Uvh epel-release-5-4.noarch.rpm

■remiレポジトリ追加
# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
# rpm -Uvh remi-release-5.rpm

■dagレポジトリ追加
下記参照
http://dag.wieers.com/

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

※レポジトリは/etc/yum.repos.d/以下に追加追記しても大丈夫、好きな方をば~♪
----------------------------------------------------------------------


yum-updatesdの削除
# /etc/init.d/yum-updatesd stop
# yum -y remove yum-updatesd

yum-fastestmirrorのインストール
# yum --enablerepo=epel,remi,remi-test,dag list yum-fastestmirror
# yum --enablerepo=epel,remi,remi-test,dag install yum-fastestmirror

update確認
# yum --enablerepo=epel,remi,remi-test,dag check-update

CentOS5.5以下からアップデートする場合は下記のコマンドを実行
■CentOSのアップデート
# yum clean all
# yum --enablerepo=epel,remi,remi-test,dag update glibc\*
# yum --enablerepo=epel,remi,remi-test,dag update yum\* rpm\* pyth\*
# yum clean all
# yum --enablerepo=epel,remi,remi-test,dag update mkinitrd nash
# yum --enablerepo=epel,remi,remi-test,dag update selinux\*
# yum --enablerepo=epel,remi,remi-test,dag update
# more /etc/redhat-release
# shutdown -r now


CentOS5.6以上からアップデートする場合は下記のコマンドを実行
■CentOSのアップデート
# yum clean all
# yum --enablerepo=epel,remi,remi-test,dag update
# more /etc/redhat-release
# shutdown -r now

※レポジトリは随時自分用に変更~♪

以上

9.13.2012

[Linux]CentOS6.3 + PHP5.4のインストール(RPM版)

メモ


最初、CentOS6.3をインストールしてデフォルトのhttp,php,mysqlをインストールしてみた。

そのあと監視用にNagios3.4.1をソースからインストールしたあと、
起動させて、動作確認OK

ついでにphpMyAdminをインストールして見たが、mysqliが無いため画面表示できず、
mysqlは入ってるし、phpも動作確認してはいたのだが、phpinfoでコンフィグ確認したら
--without-mysqlと記述されてる。。。Orz
ということで、rpmのphpを削除

phpMyAdminを使うと、いつも絶対に出てくる「mcrypt拡張をロードできません」!!
なんだか、いつもムカつくので、phpいれるついでにmcryptもインストールしてみる。

yum(下のコマンド)で探してみたものの、何故かepelもremiも引っ張ってこないので、
yumインストールは断念。ということでrpmでインストール。

# yum --enablerepo=epel,remi,remi-test,dag list php-mcrypt
# yum --enablerepo=epel,remi,remi-test,dag list libmcrypt


下記サイトで検索
http://rpm.pbone.net/

対応しているrpmを検索してwget!!
libmcrypt-2.5.8-9.el6.x86_64.rpm
libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
php-mcrypt-5.3.3-1.el6.x86_64.rpm

まずは、libmcryptをインストールしてみる
# rpm -ivh libmcrypt-2.5.8-9.el6.x86_64.rpm

php-mcryptはphp-commonに依存するため、同じバージョンをインストールする
# rpm -qa |grep php-common
php-common-5.3.3-14.el6_3.x86_64


# rpm -ivh php-mcrypt-5.3.3-1.el6.x86_64.rpm
最初、適当に探してきて、php-mcrypt-5.4系をインストールしようとするも
バージョン違いでインストールできず。
ネットでよくよく検索してみるとphpと同バージョンじゃないといけないことを知る!!

が、しかしインストールできず!!
なぜだー(心の叫びがあるはず

画面見ると【mcrypt.h】が無いと言われている。
むむむっ
libmcryptは入れてるぞ、入ってないのか?
ということで、全体検索
# find / -name mcrypt.h
た、たしかに何も出てこない。。。Orz

ネットでは、下記二つでインストール完了してるけど~(なぜ~?なぜ~?♪
もしかして、develの方に入っているのか?
ということで、同様に検索してwgetする

libmcrypt-devel-2.5.8-9.el6.x86_64.rpm


# rpm -ivh libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
すんなりインストールされる。

再度、php-mcryptをインストールしてみる

# rpm -ivh php-mcrypt-5.3.3-1.el6.x86_64.rpm

すんなりインストールされる^^b イェィ

これで、phpインストールの下準備完了

wgetで最新のphpを持ってくる
php-5.4.6.tar.gz

コンフィグをいろいろと試すことに

--enable-zend-multibyte
を最初含めてコンフィグしてたら、warningになってる。
ということで、ネットで検索したら、php5.4系からphp.iniの
設定項目で行うように変更されている。。。。Orz
ということで、削除!!
mysqlも最初ディレクトリ指定していたら、同じくwarning
--with-mysql=/usr/bin/mysql
--with-mysqli=/usr/bin/mysql_config
どうせrpmで入れたものだしということで、
両方共に=以下削除!!
mcryptも含めてみて、コンフィグを流してみる
--with-mcrypt

./configure \
--with-libdir=lib64 \
--with-apxs2=/usr/sbin/apxs \
--with-libxml-dir \
--with-mcrypt \
--with-openssl \
--with-zlib \
--with-gd \
--with-jpeg-dir=/usr/lib64/ \
--with-png-dir=/usr/lib64/ \
--with-freetype-dir=/usr/lib64/ \
--with-pear \
--with-xmlrpc \
--with-mysql \
--with-mysqli \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--with-bz2 \
--with-zlib \
--with-zlib-dir=/usr \
--enable-zip \
--enable-phar \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--enable-calendar \
--enable-exif \
--enable-mbstring \
--enable-mbregex


とりあえず、warningも出ず、無事完了
make
make test
してみる
make testで、4つ程faildが出てるが
もう、ここまできて検索するのもめんどくなっている

ある程度検索してみて、faildの内容を確認してみる
なんとなく問題なさそうなので、そのままinstall!!
make install
どうせ監視サーバ、壊れたときはもう一度入れ直せばいいさ~♪

ということで、無事にphpインストール完了

httpd.confの編集
# vi /etc/httpd/conf/httpd.conf

下記2行追記

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


下記にindex.phpを追記
DirectoryIndex index.html index.html.var index.php

apache再起動、ついでにNagiosも再起動
# /etc/init.d/httpd restart
# /etc/init.d/nagios restart

phpMyAdminも設定完了

Nagios、phpMyAdminのサイトにアクセスしてみる。
無事に表示されている^^b

ということで、とりあえず完了