IT技術の話題を中心に、"Warning”や”Error”との戦いなどを記していきます。

grub shellが出て起動しなくなった時の対処

TAGS 未分類
UPDATED
follow us in feedly

centos で yum updateを行った後に、kernel panicを起こして、grub.confファイルが空になり起動しなくなってしまったのでメモ

症状、起動しても「Minimal BASH-like line editing is supported 」という感じでgrub shell が表示されてしまいます。

grub > find /boot/grub/grub.conf

(hd0,0)

bootパーティーションの場所がわかった所で

grub > kernel /boot/vmlinuz[tabキー]

とすると、「vmlinuz-2.6.32.573.18.1.el.x86_64」「vmlinuz-2.6.32.573.22.1.el.x86_64」「vmlinuz-2.6.32.573.12.1.el.x86_64」

何候補かが表示されるので、最新のカーネルの一個前、ここでは「vmlinuz-2.6.32.573.22.1.el.x86_64」あたりを使います。

grub> cat (hd0,0)/etc/fstab

/dev/vda1 / ext3 noatime 0 1

でルートパーティションが/dev/vda1だと過程

grub > kernel /boot/vmlinuz-2.6.32.573.22.1.el.x86_64 root=/dev/vda1

[Linux-bzimage, setup=0x3400, size=0x403612]

※rootの所でLABELを指定すると起動過程でエラーが出ました。

grub > kernel /boot/vmlinuz-2.6.32.573.22.1.el.x86_64 root=LABEL=/

dracut Warning: No root device “block:/dev/disk/by-label/_\x2f” found

直に指定したほうが良さそうです。

grub > initrd /boot/initram[tabキー]

で表示される一個前の候補を使います。

grub >initrd /boot/initramfs-2.6.32-573.22.1.el6.x86_64.img

[Linux-initrd @ ex000 0x000 bytes]

grub > boot

こんな感じで起動するところまでいきました。

 

Asteriskに050Plusを収容した際の設定ファイル

TAGS 未分類
UPDATED
follow us in feedly

実際に下記の設定で050plusを収容して使っていましたが、050plusを解約した為、備忘録として記録しておきます。

extensions.conf

 [050plus]

 exten => 050aaaaaaa,1,Dial(SIP/内線番号,40,t)

 exten => 050aaaaaaa,n,Voicemail(内線番号);

 exten => 050aaaaaaa,n,hangup

 exten => 050aaaaaaa,102,Busy

sip.conf

tlsenable=yes

tlsbindaddr=0.0.0.0

tlscertfile=/etc/asterisk/keys/asterisk.pem

tlscafile=/etc/asterisk/keys/ca.crt

tlscipher=ALL

tlsclientmethod=tlsv1

tlsdontverifyserver=yes

register => tls://fmc(050aaaaaaaのaaaaaaaの部分):secret:defaultuser@host:5061/050aaaaaaa

[050plus]

type=friend

secret=aaaaaaa

port=5061

defaultuser=bbbbbb

fromuser=fmc(050aaaaaaaのaaaaaaaの部分)

host=60.37.58.000

;host=kar-f2fcp.050plus.com

fromdomain=050plus.com

context=050plus                                                                                                                                                                                                                                                               

insecure=invite,port

transport=tls

encryption=yes

Nginxでaliasを使ってphpMyAdminへアクセスさせる

TAGS linux
UPDATED
follow us in feedly

Nginxの環境下で、同一ディレクトリ下に存在しないphpmyadminにアクセスさせる為、色々とさまよった結果辿り着いた設定。

phpmyadminが違うディレクトリに存在している為、aliasで定義している。また、phpmyadminはポピュラーな故に狙われやすいこともあって、アクセス制限も加えている。

server {
listen 80;
location /phpmyadmin {
alias /var/www/nginx/phpMyAdmin;
index index.php;
allow 127.0.0.1; #localhostからのアクセス許可
allow 192.168.11.0/24;  #ローカルネットワークからのアクセス許可
deny all; #以上以外全てアクセスを禁止

location ~ .*\.php$ {
fastcgi_pass unix:/tmp/php-fpm.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
}

 

参照させてもらったページ:

http://www.mk-mode.com/octopress/2013/01/21/nginx-phpmyadmin/

http://ja.stackoverflow.com/questions/2828/nginx-%E3%81%AE-alias%E6%8C%87%E5%AE%9A%E3%81%A7-phpmyadmin-%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%E6%99%82%E3%81%AE-file-not-found-%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AE%E8%A7%A3%E6%B6%88%E6%B3%95

無料で高機能なアクセス解析、PTengineを利用してみた。

TAGS regular
PUBLISHEDUPDATED
follow us in feedly

サイトの運営する中で、アクセス経路や潜在的なニーズを見つけ出したりする場合にアクセス解析は無くてはならないものとなっています。

最近まではYahoo!アクセス解析を使っており、初心者でも簡単に使えるいUIになっています。しかし機能に関してはGoogle analyticsには及ばず、視覚的にも機能的にも優れているアクセス解析はないものかと思っていた矢先に、とあるブログにてPTengineというアクセス解析が紹介されていたので使ってみました

tumblr_inline_ndtxr2x1EW1r0f7rc

ヒートマップ解析

このPTengineで最も一押しの機能であるヒートマップ解析です。

この機能は、ユーザーがサイト内の注目している点が視覚的に表示されます。これを使えばひと目でサイトの改善点を見つけることが出来るでしょう。

tumblr_inline_ndty93Wt4p1r0f7rc

機能的なレポート画面

アクセス解析は膨大な情報から必要な情報をいかにわかりやすく表示するのかが求められます。高機能なアクセス解析になる程使いづらくなっていく傾向にありますが、PTengineはそれをうまくクリアしています。

tumblr_inline_ndtyg5yX7F1r0f7rc

例えば、ソーシャルからの流入の解析を見たい場合には、横にカーソルを置くとアイコンが表示されます。これをクリックするだけでフィルタリングされ必要な情報に数クリックでたどり着くことが出来ます。

今回は少し使ってみただけですが、統計データーをグラフィカルに表示しながら簡単にフィルタリングが出来たり、非常に使いやすく高機能でした。GoogleAnalyticを使ってみて、高機能なんだけど取っ付きにくいと思っているような人には是非オススメしたいですね。

今回使ったアクセス解析

スマホからPCまで解析できるヒートマップ解析ツール|Ptengine

http://www.ptengine.jp

IPSec(openswan)のインストール・コンパイル

TAGS regular
UPDATED
follow us in feedly

自宅と外部サーバ間を接続する必要があったので、VPNにチャレンジしてみました。その中のopenswanのコンパイル辺りを書き記します。

環境

IPSecの実装: openswan

とあるVPS(CentOS 6 x86_64)

NSS(ネットワーク セキュリティ サービス)はopenswanの証明書認証に必要になるのでインストールしておきます。ソースコードはgitでダウンロードするので入っていなければインストールします。

$sudo yum install nss nss-tools nss-devel git

gitコマンドでソースコードをダウンロードしてopenswanディレクトリに移動

git clone https://github.com/xelerance/Openswan.git
cd Openswan

先ほどのNSSをopenswanで有効にする為"Makefile.inc"を編集しましょう。374&377行目にある"USE_LIBNSS?=“をfalseになっていれば、trueに変更しましょう。

372 # Support for NSS crypto library (does not requires HAVE_THREADS)
373 # USE_LIBNSS uses pthreads by default.
374 USE_LIBNSS?=true
375 
376 ifeq ($(USE_FIPSCHECK),true)
377 USE_LIBNSS?=true
378 endif

このままコンパイルしたいところですが、gcc

//lib/libopenswan/Makefileの89行目
88 # some junk left in alg_info.c
89 CFLAGS+= -Wno-error=cpp

このようなエラーが出る場合があります。これはGCCのバージョンが4.6以上じゃない場合に起きるため、現在最新のgcc-4.8を用意してもいいのだが、今回は面倒なのでソースコードを変更して回避する。

ソースコードの変更箇所は2箇所:

(1)Openswan/lib/libopenswan/Makefile

 88 # some junk left in alg_info.c                                                                                                       
 89 CFLAGS+= -Wno-error=cpp     
変更後
 89 #CFLAGS+= -Wno-error=cpp  

(2)Openswan/programs/pluto/Makefile

48 # must turn this off due to myid.c                                                                                                   49 CFLAGS+= -Wno-error=cast-qual                                                                                                        50 CFLAGS+= -Wno-error=cpp   
変更後
50 #CFLAGS+= -Wno-error=cpp   

後はインストール

$ sudo make install

ひとまずこれで動きました。今回はソースコードをいじってエラーを回避しましたが、時間があればgccのバージョンアップを行いたいと思います。