カテゴリー : 2013年 3月

[Linux] バックアップすべきディレクトリ一覧

Ubuntu や CentOS などの Linux サーバーで構築したマシンのバックアップすべきディレクトリを調べたのでご紹介します。

Linux

続きを読む

[Apache][PHP4] Cannot load /etc/httpd/modules/libphp4.so into server: libpq.so.2.1: cannot open shared object file: No such file or directory

Apache + PHP4 + PostgreSQL で下記のようなエラーが出た場合の解決方法をメモ。

libphp4.so で使う libpq.so.2.1 が無いというエラーです。

# /etc/init.d/httpd configtest
Syntax error on line 941 of /etc/httpd/conf/httpd.conf:
Cannot load /etc/httpd/modules/libphp4.so into server: libpq.so.2.1: cannot open shared object file: No such file or directory

libphp4.so のダイナミックリンクの関係を表示して確認すると、libpq.so.2.1 => not found となっていることが確認できます。

# ldd /etc/httpd/modules/libphp4.so
	libpam.so.0 => /lib/libpam.so.0 (0x40177000)
	libdl.so.2 => /lib/libdl.so.2 (0x40180000)
	libpq.so.2.1 => not found
	libcrypt.so.1 => /lib/libcrypt.so.1 (0x40184000)
	libresolv.so.2 => /lib/libresolv.so.2 (0x401b2000)
	libm.so.6 => /lib/libm.so.6 (0x401c4000)
	libnsl.so.1 => /lib/libnsl.so.1 (0x401e6000)
	libc.so.6 => /lib/libc.so.6 (0x401fd000)
	/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
# find / -name libpq.so.2.1
/usr/local/src/postgresql-7.0.3/src/interfaces/libpq/libpq.so.2.1
/usr/local/pgsql/lib/libpq.so.2.1

postgres 以下にある libpq.so.2.1 を /lib 以下にシンボリックリンクを貼ります。

# ln -s /usr/local/pgsql/lib/libpq.so.2.1 /lib/libpq.so.2.1

ちゃんと libpq.so.2.1 が読み込めていることを確認できました。

# ldd /etc/httpd/modules/libphp4.so
	libpam.so.0 => /lib/libpam.so.0 (0x40177000)
	libdl.so.2 => /lib/libdl.so.2 (0x40180000)
	libpq.so.2.1 => /lib/libpq.so.2.1 (0x40184000)
	libcrypt.so.1 => /lib/libcrypt.so.1 (0x40196000)
	libresolv.so.2 => /lib/libresolv.so.2 (0x401c4000)
	libm.so.6 => /lib/libm.so.6 (0x401d6000)
	libnsl.so.1 => /lib/libnsl.so.1 (0x401f8000)
	libc.so.6 => /lib/libc.so.6 (0x4020f000)
	/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
# vi /etc/httpd/conf/httpd.conf
#LoadModule php4_module        lib/apache/libphp4.so
LoadModule php4_module        /usr/lib/apache/libphp4.so

[参考]:2日目突入ちぅ – やちまうの戯言

[PHP4] make[1]: *** [libphp4.la] エラー 1

PHP4 をソースコードから再インストールする際に、make でエラーが出たので解決方法をメモ。

一度、make install してから、./configure のオプションを変更して、再インストールしたい。

# ./configure
# make
# make install
# ./configure
# make
...
stub.lo: file not recognized: File truncated
collect2: ld returned 1 exit status
make[1]: *** [libphp4.la] エラー 1
make[1]: 出ます ディレクトリ `/usr/local/src/php-4.0.6'
make: *** [all-recursive] エラー 1

上記のようなエラーが出た場合、make clean すればOK

# make clean
# make
# make install

[Ruby on Rails][Haml] text mail 内で改行するにはバックスラッシュを使う

Ruby on Rails + Haml で、text mail 内で改行するには、バックスラッシュを使います。

Dear
= @user.name,
\
Your username is
= @user.username
\
\
\
\
Your status is
= @user.status

[参考]:HAML: Line breaks in text mail

Google Web Fonts は iPhone/Android アプリでもライセンス的に使ってOK

Google Web Fonts は iPhone/Android アプリでもLICENSE的に使ってOKみたいです。

Google WebFonts – free fonts, mostly open source but some licenses for use in commercial projects

http://docs.appcelerator.com/titanium/latest/#!/guide/Custom_Fonts

Can I download the fonts on Google Web Fonts to my own computer?

Yes. To download the fonts, simply add fonts to your collection and click the “Download your Collection” link. You can download the fonts to use them for your mockups, in your documents or to host them on your own server.

Do I need to download the font in order to use the font on my website or blog?

No. The font is available for download in case you need the font in a local program like Adobe Photoshop. To use the font on your website or blog, you can simply copy the HTML snippet available from the “Use” tab for your collection.

https://developers.google.com/webfonts/faq?hl=ja

Typekit font は iOS/Android アプリではライセンス的に使えない

Typekit font を iOS/Android アプリで使って良いか Adobe に質問してみました。

結論としては、ウェブサイトのみ利用可能で、iOS や Android アプリではNGとのことでした。

■ 質問内容

Hi

Can I use Typekit font in iOS or Android app?
If I can, please tell me how to use.

Thanks!

■ 返答内容

Hi Tadashi,

At this time, Typekit fonts are only licensed for use in websites. We’re looking into font licensing for native iOS and Android apps but I can’t say when this might be available.

I’m sorry I couldn’t be of more help. Let me know if you have any further questions.

Cheers,
Benjamin

[Ruby] Regexp.union で配列から正規表現の作成方法

Ruby で配列から正規表現の作成は Regexp.union を使ってできます。

# 画像ファイルの拡張子の形式が正しいかチェック
# @param [String] ファイルの拡張子
# @return [Boolean] 正常: true, 異常: false
def valid_image_file_extension?(file_extension)
  regex = Regexp.union(extension_white_list)
  (file_extension =~ regex) ? true : false
end
 
# 許可する拡張子のリスト
def extension_white_list
  %w(jpg jpeg gif png)
end

Regexp – Rubyリファレンスマニュアル

Regexp.unionで配列から正規表現をつくる方法 – memo.yomukaku.net

[Ruby] CarrierWaveでローカルファイルを登録する方法

CarrierWaveでローカルファイルを登録する方法をメモ。

@user = User.new
@user.image.store! File.open(path_to_file)

[参考]:carrierwaveでローカルファイルを登録 #Rails – Qiita