Macでhttpdを動かす

rubyやpythonで書いたCGIを動かすためにやっぱりローカルでもテスト環境がほしいのでMacで使えるhttpdを探したら、BSDが元になってるのではじめからApacheが入ってるらしい。 「システム環境設定」→「共有」→「Web共有」をONにするだけでホームフォルダのしたに「サイト」というフォルダが自動的に作成されて、そこに http://localhost/~user/ でアクセスできるようになる様子。こりゃ楽だ。ひゃほーい。 全体の公開フォルダは /Library/WebServer/Documents /Library/WebServer/CGI-Executables の2つになるらしい。 とはいえこんなフォルダを使いたくないのでホームフォルダの下でCGIが実行できるように変更します。 sudo vi /private/etc/apache2/users/[ユーザ名].conf で設定ファイルを開いて <Directory "/Users/[ユーザ名]/Sites/"> Options All AllowOverride All Order allow,deny Allow from all AddHandler cgi-script .cgi .rb .py </Directory> のように書き換えて、 「Web共有」の設定を一旦切ってまたONにしてApacheを再起動。 cd Sites vi test.rb で「サイト」フォルダの下に新しいファイルを作って、その中に #!/usr/bin/ruby print "Content-Type: text/plain\n\n" print "hello" と書いて chmod 705 test.rb でファイルを実行可能にしてブラウザで http://localhost/~[ユーザ名]/test.rb で test と表示されれば成功です。 何故か途中から敬語になってますが、 参考 Apacheを起動する - Mac OS X LeopardでAMP環境を構築しよう - Apache, MySQL, PHP, Perlで作る開発環境 - futomi’s CGI Cafe http://www.futomi.com/lecture/macosx/apache.html

続きを読む

見た目が素敵なURLに変えるための mod_rewrite を xampp で使う方法を解説します。 mod_rewriteでできること ここに検索でたどり着いた人は Apacheのモジュール mod_rewrite で何ができるかはしってると思いますが念のために例を上げておくと http://localhost/index.php?user=foo&name=bar と書く所を http://localhost/foo/bar.html と書ける機能です。 foo/bar.html にアクセスすると内部で index.php?user=foo&name=bar が呼び出されるわけです。 Xamppの設定方法 xampp は既にインストールして使ってる前提で話を進めますのでインストールがまだの方はインストールしてからまた来てください。 まずApacheの設定ファイル http.conf を開きます。 自分の環境では[ X:\sugarsync\bin*xampp\apache\conf\httpd.conf* ] にありました。 モジュールがコメントアウトされてないか確認する #LoadModule rewrite_module modules/mod_rewrite.so のようになってたら “#” を取って #LoadModule rewrite_module modules/mod_rewrite.so とします。 リライトの規則を書く。 http.conf にどう表示を転送(書き換え?)するか RewriteRule を記述します。 <IfModule rewrite_module> # bar.htmlを作りドキュメントルートに置いて # http://localhost/foo.html でアクセスできるか確認しましょう。 RewriteEngine On RewriteRule /foo.html /bar.html </IfModule> xampp を再起動 で完了 http://localhost/foo.html にアクセスして bar.html の内容が表示されればOK! それでも動かない場合 …とここまではGoogleで [Xampp mod_rewrite] で検索すると解説されてるサイトいっぱい出てきたんですが上記の設定だけではうちの環境では動きませんでした。

続きを読む

プロフィール画像

ironsand

語学好きのプログラマーです

Railsエンジニア

Yokohama