2010-01-01から1年間の記事一覧

さくらVPSにMaria DB 5.1.53をソースからインストール

cd /usr/local/src/ wget http://askmonty.org/downloads/r/http://mirrors.fe.up.pt/pub/mariadb/mariadb-5.1.53/kvm-tarbake-jaunty-x86/mariadb-5.1.53.tar.gz tar xvzf mariadb-5.1.53.tar.gz cd mariadb-5.1.53 ./configure \ --prefix=/usr/local/mari…

さくらVPS php-fpm.confの設定

php-fpmを起動すると以下のようなエラーが発生!! Starting php_fpm Oct 15 12:15:18.755094 [ALERT] [pool www] pm.min_spare_servers(0) must be a positive value Oct 15 12:15:18.755148 [ERROR] failed to post process the configuration デフォルト…

さくらVPS CentOS 5.5にlibssh2 1.2.7をインストール

新たにcurlのセットアップするにあたりlibssh2がダウンロードできなくなっていたので、最新版をインストールする wget http://www.libssh2.org/download/libssh2-1.2.7.tar.gz tar xvzf libssh2-1.2.7.tar.gz cd libssh2-1.2.7 ./configure \ --prefix=/usr/…

さくらVPS nginxのdaemontoolsの設定

nginxのインストール方法は過去の記事を見ていただくとして、ここではソースからインストールした場合の設定とする。 /usr/local/nginx/run #!/bin/sh exec 2>&1 exec /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -g 'daemon off;' リ…

さくらVPS にucspi-tcpをインストール

daemontoolsを入れたからには、ucspi-tcpももちろんインストール cd /package wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz tar xvzf ucspi-tcp-0.88.tar.gz wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch c…

さくらVPS にdaemontoolsをインストール

http://i.t7c.jpのセットアップを兼ねて、daemontoolsのインストール方法をまだブログに書いてなかったようなので書いてみました。 mkdir -p /package chmod 1755 /package cd /package wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz tar xvzf …

さくらVPS nginxのMakefileの設定

supervise配下だと、WEBサーバの起動・停止・再起動・コンフィグテストが面倒なのでdjb流に設定ファイルのディレクトリに以下のようなMakefileを作っておく /usr/local/nginx/conf/Makefile test: /usr/local/nginx/sbin/nginx -t start: test svc -u /servi…

近状報告とお知らせ

2ヶ月ほどご無沙汰しておりました。7citです。新ブログに移行するといってから、大分時間が経ってしまいました。 近日中に以下のURLに移行致します。http://i.t7c.jp/ドメイン取得から、1ヶ月ほど経過してしまっているのは内緒です。これとは別に、デザイン…

Cent OS 5.5 php 5.3.3にextension inotifyをインストールする

Linux 2.6.13 kernelで実装された inotify をphpで使用するextensionをインストール。まだbeta版なので、インストール時には-betaを付ける

CentOS5.5 PHP 5.3.3にphp-imlibをインストール

Imlib2でImageMagickより3倍高速かつ美しいサムネイル画像の生成できるというimlib2のphpのextensionであるphp-imlibを入れてみる。インストール方法についてはこちらを参考にした。peclに登録されていないので、自前でsvnレポジトリを落としてきて入れる必…

CentOS5.5にpcre 8.1.0をインストール

Perl互換の正規表現ライブラリPCREをインストール cd /usr/local/src wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.10.tar.gz tar xvzf pcre-8.10.tar.gz cd pcre-8.10 ./configure && make && make install これもGNU標準のインスト…

CentOS 5.5に nginx-0.8.52をインストール

phpのfpmをインストールしたからには、非同期IOを使った高速WEBサーバーnginxをインストールしてみましょう。URLのrewriteに正規表現ライブラリPCREが必要なので予め入れておきます。 cd /usr/local/src wget http://nginx.org/download/nginx-0.8.52.tar.gz…

CentOS 5.5にlibevent-1.4.13 をインストール

lib

libeventはmemcachedで使われていることで有名な『非同期IOライブラリ』です。 今回、php のfpmのコンパイルに必要だったのでlibevent 1.4系の最新のものをインストールしました。 wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz tar xv…

CentOS 5.5 php 5.3.3 fpm(FastCGI Process Manager)を使ってみる

fpm(FastCGI Process Manager)はphpでFastCGIを使うための実装の一つです。php 5.3.3でfpmが標準で使えるようになったので使ってみる。今まではphpにパッチを当てる必要がありました。ただし、標準になったとはいえ、PHPのコンパイル時にオプションの設定が…

CentOS 5.5 MariaDB 5.1.49 で geohash の UDF を作って入れてみる

ご無沙汰しております。IT7Cです。MySQL*1でgeohashのUDFがなかったので自作してみました。間違い等あると思いますが、とりあえずソースを晒して寝ます。メモリーリークとかあるかもしれないので、本番環境に入れるのはやめて下さい。あとで、コードレビュー…

COUNTとCALC_FOUND_ROWSとストアドプロシージャと

WEBアプリケーションで、ページャーにてページ分割をする場合、MySQLではLIMITを使うことになりますが、その際に全体のページ数を計算する為に、対象レコードするを取得する必要があります。この対象レコード数をMySQLのSQLで実現するメジャーな方法として、…

CentOS 5.5 MariaDB 5.1.49にUDF perlを入れてみる

mysqlにperlインタプリタを組み込んでみるこちらのエントリーを参考にしてmysql内でperlインタプリタを実行できるようにインストールを試みる。 まずは上記エントリーのソースを/usr/local/srcに、p.cで保存する。 コンパイル cd /usr/local/src perl -MExtU…

CentOS 5.5 MariaDB 5.1.49にUDF base64_encodeからbase32_encodeを作ってみる

今度は先のbase64のUDFを元にbase32のUDFを作ってみます。

CentOS 5.5 MariaDB 5.1.49にUDF base64_encodeからurlsafe_base64_encodeを作ってみる

UDFの勉強を兼ねて前回のエントリーUDF base64_encodeからUDF urlsafe_base64_encodeを作ってみます。URLSafeなbase64の解説については奥さんのエントリーを見ていただくとして、先のエントリーの+を-、/を_に置換し、関数名にプレフィクスurlsafe_を付けて…

CentOS 5.5 MariaDB 5.1.49にUDF base64_encodeを入れてみるその2

前回はbase64_encodeしか入れられなかったので、別のbase64のUDFのインストールを試みる。前回はgccのライブラリを使うものだったが、今回はphpのソースからの移植のようだ。 cd /usr/local/src wget http://bugs.mysql.com/file.php?id=3294 -O base64.c gc…

CentOS5.5 MariaDB 5.1.49にgroonga ストレージエンジンをインストール

groonga ストレージエンジンはgroognaをストレージエンジンとして動作させるプラグインです。今までMySQLで日本語全文検索というと、Senna+Tritonnという形でしたが、今後はSennaの後継 groogna+groogna ストレージエンジンがデファクトとなっていくのかも…

CentOS5.5にgroonga 1.0.0をインストール

groongaは、全文検索エンジンSennaの後継であり、位置情報を格納できるといった特徴を持つKVS*1です。こちらをcentosにインストールしてみましょう。日本語の形態素解析が必要な場合事前にMeCabのインストールが必要となります。 cd /usr/local/src wget htt…

CentOS 5.5 に形態素解析ライブラリMeCab 0.98を入れてみる

CentOSに形態素解析ライブラリMeCabをインストールします。 ダウンロード MeCab本体とIPA辞書をダウンロード wget 'http://downloads.sourceforge.net/project/mecab/mecab/0.98/mecab-0.98.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmecab%2Ffil…

CentOS 5.5 MariaDB 5.1.49にUDF base64_encodeを入れてみる

UDFの勉強を兼ねてshimariso さんが作成したUDF base64のMySQLに Base64エンコード関数が無くてムカついたから作ったこちらをインストールしてみる。 cd /usr/local/src git clone git://gist.github.com/361481.git cd 361481 g++ \ -I /usr/include/glib-2…

CentOS 5.5に正規表現ライブラリ 鬼車 4.7.1 をインストールしてみる。

正規表現ライブラリといえば、Perl準拠のPCREが有名ですが、プログラミング言語RUBY*1で採用されているマルチバイト正規表現ライブラリ鬼車をインストールしてみる。 wget http://www.geocities.jp/kosako3/oniguruma/archive/onig-4.7.1.tar.gz tar xvzf on…

CentOS 5.5 MariaDB 5.1.49にUDF mregexpを入れてみる

MySQLのデフォルトの正規表現検索 REGEXPでは日本語を扱えないので、UDF*1でこれを実現したmregexp - MySQLで日本語の正規表現を扱うをMariaDBにインストールしてみる。尚、MariaDB 5.1はMySQL 5.1相当なので、動作検証はされていない。 事前に4.x系の鬼車が…

裏MySQLクエリー入門 HANDLER構文を使ったレコードの超高速ランダム取得

以下のORDER BY RAND()を使ったランダム取得は便利なのですが、インデックスが使用されず、フルスキャンになる為パフォーマンスが思わしくありません。 SELECT * FROM user ORDER BY RAND() LIMIT 1 いくつかのこの問題を解決するアプローチがありましたが、…

handlersocket pluginの特徴

前々回のエントリー、HANDLER構文と同じくHANDLERを使ってストレージエンジンを直接操作するといったところは同じなのでこれをベースにして、handlersocket pluginではさらに低レベルの操作が可能になっています。またHANDLER構文と違って、参照系だけでなく…

裏MySQLクエリー入門 関数を単体で実行する DO構文

DO構文 例えば、mycacheのポートを立ち上げる場合などで結果が必要ない場合などに便利です。 SELECT mycached_start(inet_aton('127.0.0.1'), 11211, 4) ↓ DO mycached_start(inet_aton('127.0.0.1'), 11211, 4) SLEEP SELECT SLEEP(10) ↓ DO SLEEP(10)

裏MySQLクエリー入門 低レベルレイヤーでのデータベース操作 HANDLER構文

今回は、handlersocket pluginの元となるものといっても差し支えのないHANDLER構文について解説したいと思います。HANDLER構文はMySQLのストレージエンジンを直接操作するSQLです。1つのSQL文をMySQLに投げた時の内部処理*1を実行できるイメージです。具体的…