Tag Archives: OSX Server

Mac OS X Leopard Server で WordPress の自動アップデート

以前の記事で、WordPressでの自動アップデートを成功させるためには、FTP_BASEやFTP_CONTENT_DIRやFTP_PLUGIN_DIRを定義すればよいと記事に書きました。

が、その記事に書いた通りLinux(Debian)では正しく動作していたのにLeopard Serverにしてからうまく行かなくなっていました。

しかも「ディレクトリが見つかりません」というようなわかりやすいエラーではなく「ファイルをコピーできませんでした」というエラー…
表示されるパスには間違いはないし、パーミッションも777にしてみても(すでになっている)駄目。

ちなみに「ファイルをコピーできませんでした」というエラーはPHPがセーフモードで動いている場合によく出るそうですが、今回はセーフモードで動かしてはいません。

で、諦めていたのですが、いっそのことFTP_BASEやFTP_CONTENT_DIRやFTP_PLUGIN_DIRの定義をコメントアウト(削除)してみるとなんとすんなり成功。

(下部の追記参照)

ということで、セーフモードでもないのに「ファイルをコピーできませんでした」と言われた時は一度FTPのディレクトリ設定を削除してみるのも手かもしれません。

追記

どうやらCodexのFTP_BASE等の説明には「インストールした WordPress のベースフォルダへのフルパス。」と書いてあるので”サーバー内でのフルパス”だと思っていたのですが、少なくともOSXでは”FTPでアクセスした時のパス”が正しいようです。(OSの問題では無いようなな気もしますが)

Codexにも「FTPユーザとしてサーバ上にある各フォルダへのパスが分かっていれば…」とあるので”FTPでアクセスした時のパス”が正しいようです。

つまり「/Users/name/Sites/wp-content/」ではなくFTPから見た時のパスなので「/Sites/wp-content/」とするとFTP_BASE等を定義しても自動アップデートできました。

OSX Server 10.5.8 で PHP+GD

アップデートしたときにPHPのバージョンも変更(5.2.10)されていたことに気づかず、GDが入っていないPHPに置き換えられていたので再度PHPをGD付きでコンパイルしたのでメモ。

各ライブラリの今回利用したバージョンは以下の通り。

  • libpng 1.2.40
  • libjpeg jpeg-7
  • gd 2.0.35
  • php 5.2.10

PHPをMacでコンパイルするとlibiconv関係でリンク時にエラーが出る問題があるそうなのでext/iconv/iconv.cの196行目あたりを以下のように書き換えてからコンパイルに移ります。(参照:PHP Bugs: #49267: Linking fails for iconv: “Undefined symbols: _libiconv”)
Before

#ifdef HAVE_LIBICONV
#define iconv libiconv
#endif

After

#ifdef HAVE_LIBICONV
#define iconv iconv
#endif

実行した手順だけを載せます。

<code>
$ cd ~/Downloads/src/libpng-1.2.40
$ CFLAGS="-arch x86_64" CCFLAGS="-arch x86_64" CXXFLAGS="-arch x86_64" LDFLAGS="-arch x86_64" ./configure
$ make
$ sudo make install

$ cd ~/Downloads/src/gd-2.0.35
$ CFLAGS="-arch x86_64" ./configure
$ cp libtool ../jpeg-7/
$ cd ../jpeg-7/
$ MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch x86_64 -g -Os -pipe" CXXFLAGS="-arch x86_64 -g -Os -pipe" LDFLAGS="-arch x86_64 -bind_at_load" ./configure --enable-shared
$ make
$ sudo make install

$ cd ~/Downloads/src/gd-2.0.35
$ MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch x86_64 -g -Os -pipe" CXXFLAGS="-arch x86_64 -g -Os -pipe" LDFLAGS="-arch x86_64 -bind_at_load" ./configure --with-zlib-dir=/usr --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/X11R6 --with-freetype-dir=/usr/X11R6 --with-xpm-dir=/usr/X11R6
$ make
$ sudo make install

$ cd ~/Downloads/src/php-5.2.10
$ MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch x86_64 -g -Os -pipe" CXXFLAGS="-arch x86_64 -g -Os -pipe" LDFLAGS="-arch x86_64 -bind_at_load" ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --disable-dependency-tracking --with-apxs2=/usr/sbin/apxs --with-ldap=/usr --with-kerberos=/usr --enable-cli --with-zlib-dir=/usr --enable-trans-sid --with-xml --enable-exif --enable-ftp --enable-mbstring --enable-mbregex --enable-dbx --enable-sockets --with-iodbc=/usr --with-curl=/usr --with-config-file-path=/etc --sysconfdir=/private/etc --with-mysql-sock=/var/mysql --with-mysqli=/usr/bin/mysql_config --with-mysql=/usr --with-openssl --with-xmlrpc --with-xsl=/usr --without-pear --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/X11R6 --with-gd=/usr/local
$ make
$ make test
$ sudo make install
</code>

OSX Server 10.5.7 で PHP+GD

先日Mac OSX Server Leopard を更新してからWordPressでサムネイルが作成されなくなったなぁと思っていたのですが、アップデートの際に以前GDをServerにインストールしたときからPHPのバージョンが5.2.8に変更されていたのでまたGDのついていないPHPのバイナリに交換されてしまったようです。ということで、以前と同様にGDをインストールしました。方法は以前の「OSX Server 10.5 (64bit)でPHP+GD」を参照していただくとして、今回利用した各ライブラリのバージョンは以下の通りです。それをメモするだけなので日記ということで、適当な更新です。

  • PHP 5.2.8
  • libgd 2.0.35
  • libpng 1.2.37
  • libjpeg(jpeg v7)

コンパイル時にはいくつか注意点が…

Read more …

ImageMagicのインストール

MediaWikiでサムネイルを作成するためにImageMagic(convertコマンド)が必要だったのでインストールします。環境はOSX Server 10.5.6 x86(64bit)です。

ImageMagicのページにはMacOSX用のバイナリも用意されているのですが、インストールの方法がまずかったのか利用できなかったのでソースからコンパイルします。

利用できなかった理由は
$ convert -list format
で対応フォーマットが表示できるのですが、一つもありませんでした。

一つ前の記事でlibjpegとlibpngがインストールされていることが必要です。
適当な場所にソースをダウンロードして解凍しておきます。この記事では「ImageMagick-6.5.1-0.tar.gz」を利用しました。i386でもいいのですが、せっかくコンパイルするので64bitにしてみます。

ではコンパイルしていきます。x86_64でなくi386であればconfigureのオプションは全て外してください。
$ cd ImageMagick-6.5.1-0
$ CFLAGS="-arch x86_64" CCFLAGS="-arch x86_64" CXXFLAGS="-arch x86_64" LDFLAGS="-arch x86_64" ./configure
$ make
$ sudo make install

これで終了です。
$ convert -list format
を実行するとずらずらと対応フォーマット一覧が出てきたので成功です。

OSX Server 10.5 (64bit)でPHP+GD

OSX Server 10.5を導入したのですが、PHPにGDが入ってないのでlibpng,libjpeg,libgdをコンパイルし、phpを再コンパイルします。
が、apacheが64bitで動いていたので少し難儀したのでメモを。

基本的にはこちらのサイトに従うのですが、アーキテクチャーの指定はこちらのサイトを参考に進めていきます。
ただし、失敗しても良いように既存の「/usr/libexec/apache2/libphp5.so」はバックアップしておいてください。
Read more …