Monthly Archives: 12月 2014

CentOS 7 の systemctl について

By | 2014/12/16 6:59 PM

こんちには。黒服です。黒い服しか着ません。
よろしくお願いいたします。

さて、先日、自宅サーバの OS を CentOS 7 にしてみました。
各種ミドルウェアをインストール。まずは nginx から。
インストール成功したので、

と起動を試みました。
今までなら

と表示されるはず。ところが

service nginx start
Redirecting to /bin/systemctl start nginx.service

と表示されました。
これでは起動成功したのかどうかわからないです。
ストップも同様で、

と打ったところ、

と表示。
うーん。停止できたのかどうかわからないです。
仕方ないから超シンプル高速テキストブラウザ lynx をインストールし、

で確認。一応、service コマンドで起動、停止はできていることがわかりました。
しかし7は不便になったなあ、と思いながら
OS 起動時に nginx を自動起動させるために

としたら、なんかまた見慣れぬ文字が。

「そういえば、service コマンド使った際にも表示されてたけど、systemctl ってなんだろう?
こんなもの知らない。なんてこった。時代に取り残されてしまっていたのか!?」
そう思い、調べてみたら、7からサービス制御と自動起動設定が systemctl コマンドに集約されたようです。
一応 service や chkconfig は残ってるけど、今後は systemctl を使ってくださいということですね。

CentOSはサポート期間が長いので、今でも 5.x や 6.x のサーバが多いと思いますが、
今後はRHELも含め、7.x が主流になっていくでしょうから今のうちに systemctl に馴れておこうと思いました。

■ まとめ
service と chkconfig でやっていたことは systemctl へ。

nginx を起動するなら

(停止なら systemctl stop nginx )

nginx を自動起動したいなら

(off にしたいなら systemctl disable nginx )

PEAR::Net_IPv4のvalidateIPを使ってドット区切りのIPアドレスかどうかを判別・・・が当てにならない

By | 2014/12/08 8:39 PM

Net_IPv4のVersion 1.3.4にて動作確認しました。

http://pear.php.net/manual/ja/package.networking.net-ipv4.validateip.php

Net_IPv4::validateIP() – 与えられた IP アドレスの書式を検証する

IP アドレスの形式ががドット区切りであるか検証します。
アドレスが有効な場合、true を返し、そうでなければ false を返します。

※2014年12月8日現在、「がが」と誤表記となっていますがそのままコピペしました。

下記のような結果になります。

なぜかint(0)の場合、trueが返ってきます。
「アドレスが有効」と見なされたわけです。

素直に正規表現で判別することに。

結果。

ハマりました。