PHP Warning: PHP Startup: newrelic: Unable to initialize moduleのエラー

phpを5.4から5.6へアップデートした後、こんなエラーが出てました

$ php -v
PHP Warning:  PHP Startup: newrelic: Unable to initialize module
Module compiled with module API=20100525
PHP    compiled with module API=20131226
These options need to match
 in Unknown on line 0

New Relic入れなおして直りました
New Relicの新規インストールのページ通りやりました
Centos 64bitですが、参考まで

$ sudo rpm -Uvh http://yum.newrelic.com/pub/newrelic/el5/x86_64/newrelic-repo-5-3.noarch.rpm
$ sudo yum install newrelic-php5
$ sudo newrelic-install install

Apache再起動

$ sudo /etc/init.d/httpd restart

これで直りました

Centosでのyum installでエラーがいろいろでた

Centos 6.5で

$ yum install gcc
とかやると

errro: rpmdb: damaged header #553 retrieved — skipping
がずーっとでてきました..

とりあえず
$ yum clean all
すると
Another app is currently holding the yum lock; waiting for it to exit…
と言われるので

$ rm -f /var/run/yum.pid
$ yum clean all
はできましたが、直らず

$ rm /var/lib/rpm/__db*
$ rpm –rebuilddb
$ rm -f /var/run/yum.pid
$ yum clean all
で、今度こそ
$ yum install gcc

YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. $releasever is not a valid release or hasnt been released yet/
removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/$releasever/base/mirrorlist.txt

またエラー、$releaseverの指定とのことなので
$ yum install –releasever=6.5 gcc
でうまく入りました

毎回指定するのが面倒なら
$ cat 6.5 > /etc/yum/vars/releasever

としておけばいいです(バージョンが固定されますが)

なんか、このCentosはいろいろ壊れてるみたいです

Virtualboxの環境をコピーしたときのネットワーク設定

とある環境をまるごともらおうとVirualboxのvdiファイルをまるごともらいました

おそらく
$ VBoxManage clonevdi orgdisk.vdi copydisk.vdi
とかいうコマンドでコピーしたのだと思います

そこから自分のVirutualboxでネットワークにつなぐまでを記録します
Ubuntu 14.04のVirtualbox 4.3.10で試しました
GuestOSはCentos6です

VirtualBoxを立ち上げて、新規ボタンを押します
OSを選んで、名前をつけます
virtualbox1

メモリを選んで
virtualbox2

vdiを選択
virtualbox3

起動させます

$ ping google.co.jp
とかでネットワークがつながるか確認します
(つながったら終わりです)

だめなら、ネットワーク設定を変えます
(ゲストOSがCentosです)

VitualboxのほうでMacアドレスを控えておきます
追加したVMを選んで、設定ボタンを押します
virtualbox4

ネットワークをクリック、高度をクリックしてMACアドレスを控えておきます
virtualbox5

起動してるVM側に戻って
アダプタの情報がコピーされたままだとおもうので、今回の環境へ合わせます
$ vim /etc/udev/rules.d/70-persistent-net.rules

PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:15:ab:7f", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

MACアドレスを控えたものと合わせます
複数同じ設定ができてたらひとつにします(いるものだけにします)

ネットワーク設定も合わせます
$ /etc/sysconfig/newtork-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=08:00:27:15:AB:7F
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet

MACアドレスを控えたものと合わせます
eth1ならifcfg-eth1を修正してください

$ vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=localhost.localdomain
# GATEWAY=192.168.16.1

GATEWAYをかえます
今回はDHCPにしたのでコメントアウトしました

ネットワーク再起動
$ /etc/init.d/network restart

これで
ping google.co.jp
とかで通れば成功です

Virtualbox側の設定がおかしい?と思っていたら普通にCentosの設定でした

Shellshock対策をCentos6にしてみた

通称Shellshockという脆弱性が話題になっています
bashを呼び出してるプログラムはやばそうです

参考)
http://www.sakura.ad.jp/news/sakurainfo/newsentry.php?id=963
http://www.agilegroup.co.jp/technote/bash-update.html

使ってたCentos6で確認

いちおうbashのバージョン確認
$ bash –version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

脆弱性があるか分かるコマンドを試しに
$ env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”
vulnerable
this is a test

vulnerableが出るとアウト

対策してみました
$ yum clean all
$ yum update bash

再度テスト
$ env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”
this is a test

改善しました