2013年9月25日水曜日

CentOS6.4にVLC playerをインストールして動画を見る

いやなんかもうわけわかんなかったっす。

リポジトリ追加しまくったけど、
最終的に参考にした記事
http://ameblo.jp/blue-sea-dog/entry-10491949346.html

とりあえずrpmforgeだけ追加してやってみたらよかったのかもしれない。
もうめんどくさいので振り返りたくもない。

とりあえず再生できたし、再生速度も変更できて音もちゃんと聞こえるからよしだね。

2013年8月15日木曜日

CentOSにソースからPython3インストールしたんだけど tkinterがimport errorで実行できなかった

 CentOS6.4にてPython3をインストール後
tkinter使ったプログラムを実行しようとしたらインポートエラーの前にpython3がない。
CentOSのデフォルトのリポジトリにpython3がないんですね。
というわけでソース落としてインストールしたけどtkinterでこける。
python3がないのでpython3-tkもないわけですね。

そもそもtk/tclの共有ライブラリをpythonからなんたらしてるのかな?
っていうわけでそもそものそのライブラリがねーんじゃねーのかと思われ
tkとかtclとかのそれっぽいものを適当に入れてしまって、makeしなおしたらいけたってわけさ。ついでにSSLでもこけたので同じようにしただけさ。


あとは眠いんで羅列


File "/usr/local/lib/python3.3/tkinter/__init__.py", line40, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
If it fails with "No module named _tkinter", your Python configuration needs to be modified to include this module (which is an extension module implemented in C). Do **not** edit Modules/Setup (it is out of date). You may have to install Tcl and Tk (when using RPM, install the -devel RPMs as well) and/or edit the setup.py script to point to the right locations where Tcl/Tk is installed. If you install Tcl/Tk in the default locations, simply rerunning "make" should build the _tkinter extension.

yum search tk
でそれっぽいの探してインストールした。
yum install tk tcl tk-devel
たぶんこの辺だと思われる。


  File "/usr/local/lib/python3.3/ssl.py", line 60, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: No module named '_ssl'

yum install openssl openssl-devel

./configure
make
make install

2013年5月29日水曜日

tcpdumpしてWiresharkで確認しようと思ったらエラーがでて困ったんす。

サーバー上でtcpdumpして、FTPでダンプファイルを落としてwiresharkで見ようとしたら
<code>sudo tcpdump host hoge.com and port 80 -s 0 -w dumpfile</code>

The capture file appears to be damaged or corrupt.
(pcap: File has 1702194273-byte packet, bigger than maximum of 65535

とかいうエラーがでて見れませんでした。
グーグル先生に聞いたら
wireshark Q&A
The usual cause of this error is the file being mangled by transferring it over FTP in ASCII mode instead of BINARY mode. If you did transfer the file by FTP, please transfer the file again, now using BINARY mode.
と仰られていたので、バイナリモードで落としてみたら見れました。
Filezillaの場合は転送→転送の種類で変更できます。(デフォルトは自動)

それって気にしたことなかったけど重要だったんですね!

2013年5月7日火曜日

プロキシサーバー構築(squid)

ServerQueenのVPSを数年使用しております。

OSはCentOS5.7
sudo yum install squid
sudo vi /etc/squid/squid.conf
acl [aclname] src [ipアドレス]/255.255.255.255 ← 追加([ipアドレス]/255.255.255.255からのプロキシサーバーへのアクセスを許可(1/2))

http_access allow localhost
http_access allow [aclname]← 追加([ipアドレス]/255.255.255.255からのプロキシサーバーへのアクセスを許可(2/2))
http_access deny all

# forwarded_for on
forwarded_for off ←追加(プロキシサーバーを使用している端末のローカルIPアドレスを隠蔽化)
:wq

sudo iptables -I INPUT 10 -s [ipアドレス] -d [鯖アドレス] -p tcp --dport 3128 -j ACCEPT
sudo service iptables save
sudo service iptables restart
sudo service squid start
sudo chkconfig squid on

という感じで終了

参考:プロキシサーバー構築(Squid)

2013年4月12日金曜日

Memcachedサーバ構築

CentOS5.8にMemcachedをインストールする


まずはlibeventのインストール


ダウンロードはこちらから
http://libevent.org/
libevent-2.0.21-stable.tar.gz

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

tar zxf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure
make
make install


次にMemcachedのインストール


ダウンロードはこちらから
http://memcached.org/
Memcached v1.4.15

wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
tar zxf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure --with-libevent=/usr/local/lib/
(./configure --with-libevent=/usr/lib64/)
make
make install

これでインストールが完了したので起動してみると
memcached -d -u nobody -m 2048
memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

とかなんとかエラーがでた。
shared objectが見つからねーとかいってるのでldconfigしてもういちど
[hoge@test memcached-1.4.15]# ldconfig /usr/loca/lib
memcached -d -u nobody -m 2048

無事動いた模様。


PHPから使うなら pecl memcache と pecl memcached があって
memcachedの方はlibememcached依存なんだそうです。

で、memcachedを入れようとしてたんですけど、コンパイルがエラーになっていれられないので、あきらめてmemcacheを使用することにしましたとさ。

2013年3月5日火曜日

filezillaの転送が遅い

ファイル数が多く、SFTPで接続してて、どうもLAN内のくせに遅い気がした。
暗号化のオーバーヘッドが大きいのかとFTPで接続しなおしたが、FTPのがはやいっぽいけどなんか転送中固まるorz
これはクライアントを起動してるPCの問題くさいけど。

あとそれとは別に編集→設定→転送→最大同時転送数を10にしとくべしだった。

composerの続編だお。

Symfony2でKnpLabs/KnpOAuthBundleを入れようとしてたんだお。

composer.jsonのrequireに下記のように記述するとできたっぽいよ。
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.5-dev", "doctrine/doctrine-bundle": "1.1.*", "doctrine/data-fixtures": "dev-master", "twig/extensions": "master", "symfony/assetic-bundle": "2.1.*", "symfony/swiftmailer-bundle": "2.1.*", "symfony/monolog-bundle": "2.1.*", "sensio/distribution-bundle": "2.1.*", "sensio/framework-extra-bundle": "2.1.*", "sensio/generator-bundle": "2.1.*", "sensio/buzz-bundle": "*", "jms/security-extra-bundle": "1.2.*", "jms/di-extra-bundle": "1.1.*", "kriswallsmith/assetic": "1.1.*", "kriswallsmith/buzz": "dev-master", "knplabs/knp-oauth-bundle": "dev-master" },


なんて書いたらいいかわからない時はpackagistで調べた方がよさげだね。
ここならバージョンもなんて書いたらいいかわかるね。
でも本当はpackagistってなんなのかまだよくわかってないよ(ぉぃ

参考:Composerの使い方を調べたメモ(1)

2013年3月4日月曜日

Symfony2のcomposerでDoctrineFixturesBundleを入れようとした時に困った件

重要なこと

Symfony2.1からはComposerで外部ライブラリの管理をしているらしい。

参考:PHPの外部ライブラリの管理にComposerを使う

オートロード用のファイルも生成するらしく(まだよくわかってないんですけど)

オートローダー関連のところもドキュメントとずれてるのかなんなのかアレだった。
Composer使えば管理が簡単になって、APCクラスローダーと同等のスピードだとかなんとか言ってるじゃねえかなこれは→Composer vs Symfony 2 autoloader

DoctrineFixturesBundleのインストール

で、本題なんですけど、
本家マニュアル通りだとうまくいかず、"doctrine/doctrine-fixtures-bundle"を"doctrine/data-fixtures"にしたらうまくいった。
まだバンドルを使ってみてないけどvendorには入っている。

要はgitのアドレスに合わせて変更したってことなんです。


"kriswallsmith/assetic": "1.1.*@dev" もエラー吐いてたので、"kriswallsmith/assetic": "1.1.*"に変更したらオッケー風でしたよ。

2013年2月27日水曜日

pukiwiki-1.4.7_notb.tar.gzをphp5.4.12で動作させる

index.phpのerror_repotingをコメントアウトして入れ替える

lib/func.php
hex2binの修正、コメントアウトでもいいんでないか?
if(! function_exists('hex2bin')){
function hex2bin($hex_string)
{
// preg_match : Avoid warning : pack(): Type H: illegal hex digit ...
// (string) : Always treat as string (not int etc). See BugTrack2/31
return preg_match('/^[0-9a-f]+$/i', $hex_string) ? pack('H*', (string)$hex_string) : $hex_string;
}}


あとは参照渡しにしているところが色々エラーはいてるので治す。
全部見るのがめんどいのでとりあえずまるっと置換したけど、今のところ大丈夫っぽい。
重要なwikiではないのでこれでよしとするw
何かあったらまた対応する。

以下メモ、適当にやったのでよく覚えてない。
こんなのに時間かけていられない。

Deprecated: Assigning the return value of new by reference is deprecated in
532行目辺り
$config = &new Config('AutoLink');
の&を取る

Only variable references should be returned by reference
Only variables should be passed by reference
lib/convert_html.php
$body = & new Body(++$contents_id);
&をとる
$obj = new Paragraph('', $class);
&をとる

& $obj
& new
とにかく&を取る

Call-time pass-by-reference has been removed
plugin/ls2.inc.php 69行目
&をとる


lib/init.phpのなんだっけか

2013年1月16日水曜日

redmineのインストール

Redmineはwebベースのプロジェクト管理ソフトウェアです。タスク管理、進捗管理、情報共有が行えます。ソフトウェア開発やwebサイト制作などITプロジェクトでの利用に最も適していますが、それ以外の業務でも幅広く活用できます。

オープンソースソフトウェアですので、誰でも自由に利用できます。


プロジェクトの進捗管理は重要ですよね。ってことでredmineを導入しようと試みてみましたよ。
まずはCentOS5.8に入れようとして、RMagickが入らなくてハマリましたよ。

結論から言うとImageMagickの最新版6.8.xにRMagickが対応してないですよっていうことでした。

ですので、ImageMagickの6.5.8をインストールすればできました。

基本的にはRedmine2.2をCentOS6.3にインストールする手順を参考にすすめました。

違ったのは下記2点でございます。

  • libyamlをソースからインストールした
  • ImageMagickはyumからではなくて、ソースから最新版ではなくて、6.5.8をインストールした

libyamlをソースからインストール


libyamlはEPELレポジトリを追加してとあるんですけど、
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm を取得中
警告: /var/tmp/rpm-xfer.v8PdyA: ヘッダ V3 RSA/SHA256 signature: NOKEY, key ID 0608b895
エラー: 依存性の欠如:
rpmlib(FileDigests) <= 4.6.0-1 は epel-release-6-8.noarch に必要とされています
rpmlib(PayloadIsXz) <= 5.2-1 は epel-release-6-8.noarch に必要とされています
# yum install rpm-devel
Loaded plugins: downloadonly, fastestmirror
Loading mirror speeds from cached hostfile
* base: www.ftp.ne.jp
* extras: www.ftp.ne.jp
* updates: www.ftp.ne.jp
base | 1.1 kB 00:00
extras | 2.1 kB 00:00
updates | 1.9 kB 00:00
Setting up Install Process
Package rpm-devel-4.4.2.3-28.el5_8.x86_64 already installed and latest version
Package rpm-devel-4.4.2.3-28.el5_8.i386 already installed and latest version
Nothing to do


って感じでインストールできなかったので、いっそソースからインストールしました。
libyaml
wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
tar zxf yaml-0.1.4.tar.gz
cd yaml-0.1.4
./configure
make
sudo make install



ImageMagick-6.5.8-10をソースからインストール

yumからインストールしたImageMagickだと古くてRMagick2.13がはいりませぬ。
なのでまずはソースから6.8.1-9をインストールしてやってみるけどだめなんすよ。
参考

最終的に「'InitializeMagick' is deprecated...」とかなんとかってエラーになりまして
.soはなんぞや?とか色々紆余曲折を経てImageMagickの最新版じゃRMagick入らないんじゃん!
というところへ行き着きます。
そしてImageMagick-6.5.8-10.tar.gzをインストールして、あとは手順通りでめでたしめでたし。

2013年1月3日木曜日

Bloggerの記事をFacebookでシェアしようとして自動的に付加された説明が記事ではなくてブログのdescriptionっぽくてどうにかならないかと悩んだ挙句Facebookなんかやめちまえばいいんだと思った。

Bloggerの記事をFacebookでシェアしようとして自動的に付加された説明が記事ではなくてブログのdescriptionっぽくてどうにかならないかと悩んだ。

FacebookのOpen Graphのとことか見たり、ブロガーのテンプレートのHTML覗いたりして、metaタグで設定するみたいだからどうにかなるとしてもちょっとめんどくせぇなと思った。

しかし、ここでgoogle+ではちゃんと記事の説明が付加されていることに気づいた。
いやほんとわざと不便にしてるんじゃないかとかは思うよ。うん。でも俺はgoogle信者だからいっそFacebookなんかやめちまえばいいんだと思ったわけさ。
まぁなぜか知り合いがFacebookで次々と現れるからFacebook使おうとしてたが、そもそもSNSとか基本めんどくせぇからGoogle+に生息するってことでいいんじゃねぇかな。


2013年1月2日水曜日

iPhoneがiPhoneなのは何故なのかが気になるのでパケットキャプチャしちゃうぞ^ー^

佐藤正伸さんは今wiresharkでパケットキャプチャしてあんなことやこんなことをしています。
なんのパケット覗いてるかって言うとiPhoneです。
squidで自PC経由させて覗いてます。ちょっと回りくどいような気もします。
CCNAやってた頃を思い出します。懐かしい。

事の発端は、スマホっていうのはWi-Fiからつないだ時点でPCと区別がつかなくなるはずなんじゃ?って思ったのでPCからiPhoneのフリしてapp storeにつないだり、アプリをごにょごにょしたりしてます。


要は好奇心ってことですねきっと。仕事関係ってのも多少ありますけども。


app storeのアプリって普通にsafariで開いた時とuser-agent違うんですね。

あとネイティブアプリかと思ったらウェブアプリだったりしたのとかちょっと驚いたっす。っていうかそんな上手にアニメーションできる時代なんすねみたいな。自分の技術不足実感する瞬間であります。

あ、これだけは言っときますが、誰かの不利益になるような事はしませんよ!

というわけで(?)wiresharkでパケットキャプチャする時のフィルターの仕方をついでにメモっときます。

 古い情報をみて混乱したけど、起動時の画面からインターフェースをダブルクリックしてinterface毎に設定するようになったってのがミソですね。
詳しくはWireshark 1.8 でちょっと変更された事 をどうぞ。
参考にさせていただきました。