ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

2014年6月25日水曜日

PINGが通らないときにまず疑うことは、iptablesの設定



ネットワークの設定もひと通りすませて


いざPINGを飛ばしてレスポンスを確認したときに


まったく応答がなく四苦八苦したときは、


接続先のiptablesを確認してみることをおすすめします。


無用な接続を弾くためにiptablesをしっかり設定したつもりが


接続許可する予定のクライアントまで遮断していたなんてことはないですか?


とりあえず、PINGが通らないときは、/etc/init.d/iptables stop してみましょう。


それでも通らないときはどこかネットワークが切れてると思います。


LANケーブルかHUBルーターが故障ってのが次の確認箇所。


ネットワークがつながらないときは無限あり地獄のような


出口の見えない焦燥感に苛まれますので、誰かのお役に立てば幸いです。





2014年6月24日火曜日

softeather vpnclient Linux版の仮想LANカードにIPアドレスを割り当てる



ifconfig を使って割り当てるといい



/sbin/ifconfig vpn_vpn 192.168.30.5 netmask 255.255.255.0 broadcast 192.168.30.255



/sbin/ifconfig vpn_vpn 192.168.30.5 netmask 255.255.255.0 up





2009年11月1日日曜日

hamachi 0.9.9.9-20 linux が突然つながらなくなったら。



最近、Windows用のhamachi がアップデートされて hamachi2 になったのですが


いままで通信できていたLinux用のhamachi(Linux 0.9.9.9-20)とつながらなくなってしまった。


Windows用のhamachiは結構な頻度でアップデートされていたが


Linux用はずっとアップデートされてなかったのでとうとう互換性がなくなって


見捨てられたんだ、とちょっとあせった。





よくよく調べてみると結構同様のことで皆さん困っているようで


コミュニティーサイトには、hamachi2との接続の際に


デフォルトのKeepAliveの設定が短く変更されたことが原因ではないか?って事らしい。


http://community.logmein.com/logmein/board/message?board.id=HamLinOSX&thread.id=79&view=by_date_ascending&page=2





そこで、KeepAlive設定を変更するには config ファイルに書け


みたいなことが掲載されていたので試してみた。





まず、linux側の各ユーザの .hamachiフォルダ(hamachiの設定が保存されている)


に、新規作成でconfigファイルを作成




touch ~/.hamachi/config






config ファイルの中に以下のKeepAliveの設定を書く




vi ~/.hamachi/config

KeepAlive 10






hamachi の再スタート




hamachi stop && hamachi start



一応上記の作業で無事に接続できました。


config ファイルを自分で新規作成するのがポイント!


初めはどこにあるのかわからず、探し回って苦労しました。








hamachiは、普段から結構利用していたので急に使えなくなると


慌てるもんですね。かなり依存度が高いことが自分なりに分かりました。


また、1つのツールに頼るのも良くないなぁと痛感。





2009年10月22日木曜日

一括してファイルの文字コードを検出する方法



Windows環境でファイルを操作し、Linux環境へファイルをアップロードする時に


意図せず、Shift_JIS ファイルをアップして文字化けしてしまったことありませんか?


実行時に簡単に分かる箇所ならテストすれば気がつきますが


アスキーコードだけで書かれた関数やクラスのファイルだったりすると、


エンコード問題が出ることは少ないので見落としがちです。


いちいちファイルを開いて確認するのは大変なので、一括して文字コードを確認する方法がないかと調べていたらありました。


以下のコマンドでOK。



find -name '*.php' | xargs nkf --guess


ファイル名と文字コードの一覧が表示されます。





ちなみに、一括して文字コードを変換することもできます。



# UTF-8 に変換
find -name '*.php' | xargs nkf --overwrite -w

# EUC-JP に変換
find -name '*.php' | xargs nkf --overwrite -e





【参考】 文字コード変換コマンドnkfの使い方まとめ





2009年8月6日木曜日

PHPからRsyncを実行する時にはまったこと



PHPの exec , system 関数を使って、直接コマンドを実行することができます。


これをうまく使えば、PHP単体では実現しにくいことを


他のアプリと連携して実行することができます。


そんなわけで、ためしにWebのインターフェイスからボタンを押すと


サーバ上のファイルのバックアップをとるように、PHPからRsyncを実行させようとした時の話です。


下準備として、実行するRsyncを手打ちでまず実行できるか確認します。



# サーバ上の /xxx/xxxx/ のファイルをローカルの /xxx/xxxx/ に同期させると考えます。

rsync -auv -e ssh xxxx@example.com:/xxx/xxxx/ /xxx/xxxx/



※ssh を利用するためパスワードを入力せずに接続できるよう公開認証キーの設定をしておく


(この設定は、ネットでもたくさん情報ありますのでそちらをご覧ください)








上記の手打ちの rsync コマンドは難なく実行できたので


PHPから同様のコマンドを実行するようにして見ます。






system('rsync -auv -e ssh xxxx@example.com:/xxx/xxxx/ /xxx/xxxx/')








自信たっぷりに実行してみたのですが


ものの見事に、うまく動作できずはまってしまいました。





ポイントは2点、パーミッションパスです。





まず、パーミッションに関しては、PHPからrsyncを実行するので当然ユーザはhttpdの実行者(apache)になります。


先ほどsshをパスワードなしで接続できる設定をしたのは、apache ではなく他のユーザアカウントでした。


apacheでパスワードなしの設定をしても良いのですがその場合にrsyncでファイルを同期したときの所有者が


apache になってしまい都合が悪いです。





ユーザアカウント hogehoge とかで実行したいですね。


そこで、PHPをApacheのモジュールではなく、CGI経由で実行するようにします。


phpには、mod_suphp というCGI経由で実行するためのモジュールがあるのでインストールします。


(mod_suphpのインストール方法は割愛します)


インストールができたら、phpinfo() などで Server APIを確認します。CGI/FastCGI と出ていたら設定OKです。


suphpの設定が多少難易度が高いかもしれません。





次に、rsync の実行する際のパスです。


PHPのexec ,system 関数は、どうもそのままだと絶対パスで表記する必要があるらしく


上記のコマンドは、以下のようにする必要があります。sshのほうも絶対パスです。


(何か環境変数的なパラメータを初期化すればいけるのかもしれませんが。。。)



system('/usr/bin/rsync -auv -e /usr/bin/ssh xxxx@example.com:/xxx/xxxx/ /xxx/xxxx/')








このことがわからず四苦八苦したため、かなり時間のロスをしまいました。


知っていればどうってことないのですが、知らない場合はひたすらレスポンスが真っ白で何も値が返ってこない地獄を見ます。


(もう少し、エラー的なメッセージを表示させてくれたら助かるのに。。。)





たまにしかこういうプログラムは書かないから、


何度も同じ穴にはまりそう。


一応、備忘録として書き留めておくけど


書いたこと忘れたら意味ないよなぁ。。。。





2008年3月25日火曜日

syslog-ng と Permission denied



syslog-ng をインストールしたときのはまった箇所


起動時に、Permission denied が出て起動が失敗する


CentOS4.4


syslog-ng-1.6.8




/sbin/service syslog-ng start

Error opening file /proc/kmsg for reading (Permission denied)



単純に、SELinux が邪魔していただけでした。



/usr/sbin/setenforce 0


で解決!?起動はできました。


しかし、いつもSELinuxではまって、OFFにして解決というのはどうもまずいなぁ。


ちゃんと使い方をマスターしてセキュアーにしないとせっかくの機能が、宝の持ち腐れだなぁ。


しかし、SELinuxを考慮したドキュメントって少ないんだよねぇ。。。