パーマリンク変更に伴うmod_rewriteの導入

WordPressのパーマリンクを変えてみたらapacheにモジュールが必要になったので忘備録

前提条件はapache2.2.3でmod_soが組み込まれていること。
apacheのバージョンは違っても大丈夫かもしれないがmod_soは必須。

まず、適当にapacheのインストール先にでも作業フォルダを作成して
続いてapacheのファイル群からmod_rewriteのソースを探す。
必要なのはcソースファイルとhヘッダファイルなのでこれらを作業フォルダにコピー

# mkdir /usr/local/apache2/mod_rewite_temp
# cd /usr/local/apache2/mod_rewite_temp/
# cp /usr/local/src/apache/httpd-2.2.3/modules/mappers/mod_rewrite.c ./
# cp /usr/local/src/apache/httpd-2.2.3/modules/mappers/mod_rewrite.h ./

それから、apacheのモジュールをビルドするためのコマンドapxsに通します。

# /usr/local/apache2/bin/apxs -c mod_rewrite.c

普通はこのままapxs -iでインストールすればいいようなのですが
私の環境ではsoファイルが生成されなかったためにそのままインストールすると

Warning! dlname not found in /usr/local/apache2/modules/mod_rewrite.la.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/local/apache2/modules/mod_rewrite.so
chmod: getting attributes of `/usr/local/apache2/modules/mod_rewrite.so’: そのようなファイルやディレクトリはありません
apxs:Error: Command failed with rc=65536

といった感じのファイルが見つからないエラーが発生します。
というわけで手動でsoファイルを作ってあげて、しかるべき位置にコピーします。

# gcc -shared -o mod_rewrite.so mod_rewrite.s
# cp mod_rewrite.so /usr/local/apache2/modules/

これで準備完了なのでapxsコマンドでインストールをかけます。

# /usr/local/apache2/bin/apsx -ian rewrite mod_rewrite.la

これでapacheにrewriteモジュールを組み込めました。
apsxコマンドでインストールするときに-aを指定してあるのでhttpd.confにも
情報が追記されています。

# vi /usr/local/apache2/conf/httpd.conf

で、ごにょごにょっと設定をいじって

# service httpd restart

でapacheを再起動かけれればOKですね

投稿者:

さんごう

さんごう研究所所長。ソーラーカーのドライバー、あと電気エンジニア。そこそこカメラマン。自宅サーバを立てた理由はサイトに広告が表示されるのが嫌だったから。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です