Posts Tagged ‘Apache’

URLを統一したくなったので.htaccessで301リダイレクト

自社サイトにWOVN(https://wovn.io)を導入してみました。

http://www.lancard.com/ にアクセスすると右下にウィジェットが表示されていると思います。今のところほぼ機械翻訳なのでご笑覧ください(ランカードコムが orchid card com と訳されているところに気づいたら直したくらい)。

そんなわけでWOVNの管理ページを見ていたら http://lancard.com/ でのアクセスや http://www.lancard.com/work/index といったindex付きのアクセス(拡張子無しのindexなのはBaserCMS絡みです)が結構あって、URLを統一しないとアカンなぁと思ったのでした。SEO的にも統一したほうが良いとは聞きますし。

Apacheで動かしてるので.htaccessでどうにかします。
www付きに統一して、indexは無しという方針。

RewriteEngine on
#www付きに統一
RewriteCond %{HTTP_HOST} ^lancard\.com
RewriteRule (.*) http://www.lancard.com/$1 [R=301,L]

#indexなしに統一
RewriteCond %{THE_REQUEST} ^.*/index
RewriteRule ^(.*)index$ http://www.lancard.com/$1 [R=301,L]

#BaserCMS
RewriteBase /
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]

こんな感じになりました。

Facebooktwitterlinkedintumblrmail

CentOS5.5 64bitにmod_pythonをインストール

CentOS5.5に標準で入っているPythonは2.4系でした。最初は何も考えずソース取って来てコンパイルしてインストールしてましたが、オプション無しでコンパイルするとmod_pythonのインストールにこけてしまいました。下記インストール手順になります。

Python 2.6

wget http://www.python.org/ftp/python/2.6.5/Python-2.6.5.tgz
tar xzvf Python-2.6.5.tgz
cd Python-2.6.5
./configure --enable-shared
CFLAGS="-fPIC" CXXFLAGS="-fPIC" LDFLAGS="/usr/local/lib" make
make install
cp libpython2.6.so* /usr/lib64/
vi /etc/ld.so.conf.d/python2.6.conf
+1:/usr/local/bin
/sbin/ldconfig
ln -s /usr/local/bin/python /usr/bin/python2.6

一旦ログアウト

ldd /usr/local/bin/python
    libpython2.6.so.1.0 => /usr/lib64/libpython2.6.so.1.0 (0x00002b7ea57a7000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003d9cc00000)
    libdl.so.2 => /lib64/libdl.so.2 (0x0000003d9c400000)
    libutil.so.1 => /lib64/libutil.so.1 (0x0000003d9f800000)
    libm.so.6 => /lib64/libm.so.6 (0x0000003d9d000000)
    libc.so.6 => /lib64/libc.so.6 (0x0000003d9c000000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003d9bc00000)

lib64を見ているか確認

mod_python

wget http://ftp.kddilabs.jp/infosystems/apache/httpd/modpython/mod_python-3.3.1.tgz
tar xzvf mod_python-3.3.1.tgz
cd mod_python-3.3.1
./configure --with-apxs=/usr/local/apache2/bin/apxs --with-python=/usr/local/bin/python
vi src/connobject.c
-142:!(b == APR_BRIGADE_SENTINEL(b) ||
+142:!(b == APR_BRIGADE_SENTINEL(bb) ||
#フォーラムにありましたが、どうやらバグのようです。
chown apache:apache /usr/local/apache2/modules/mod_python.so
#権限は環境に合わせてください
Facebooktwitterlinkedintumblrmail

Mac の Web 共有で Proxy

インターネットからは普段隔離しているお客様のサーバーに yum でソフトを入れたいという状況になりました。メンテナンスなどでインターネットに接続しなければならないときには別ネットワークのLANケーブルと差し替えるという運用なのですが、クライアントに影響が出るためお客様がクライアントを使用している時間帯には作業ができません。

しょうがないので「夜間に作業させてもらうようにお話しようかと思います」と弊社、峰松に相談したら「インターネットに接続したノートPCに Proxy 立ててネットワークに接続させてもらってそれ経由でインストールしたらどうかな?」と。

その手があったか!

ってなわけで、私の Macbook は3G回線でインターネットに接続できるのでコイツに Proxy を立てることします。Mac だと Web 共有で Apache2 が起動するのでこれを利用することにしました。

設定ファイル、/etc/apache2/httpd.conf を眺めるとProxy関係の module はロードされるようになっていました。

LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so

追加の必要はなさそう。

最後に他の設定ファイルを読み込む

Include /private/etc/apache2/other/*.conf

という記述がありましたので Proxy の設定、 /private/etc/apache2/other/proxy.conf を作成しました。/private/etc/apache2/ と /etc/apache2/ って同じ場所を指してるみていですね。

proxy.conf はこんな感じ。


ProxyRequests On
ProxyVia On


Order deny,allow
Deny from all
Allow from 192.168.1


192.168.1.* からフルオッケーという漢らしい設定です。「システム環境設定」→インターネットとワイヤレスの「共有」で Web 共有を起動(起動済みの場合は再起動)すると Proxy が有効になります。

漢らしすぎるので普段はこの設定が読み込まれないように proxy.conf_ とかにしておいたほうがいいですね。Web 共有自体普段は切っていますが 、念のため。

Facebooktwitterlinkedintumblrmail