Apache

認証(authentication)と認可(authorization)

いつもどっちがどうなのか忘れちまうので備忘録。以下のサイトが詳しい。 OAuth 2.0 + OpenID Connect のフルスクラッチ実装者が知見を語る 意味 認証(Authentication) 誰であるか。 Who one is. 認可(Authorization) 誰が誰に何の権限を与えるか。 Who gran…

apacheのbasic認証をLDAPで

使っているCentOS6.4のhttpdを確認。パッケージ版はLDAPモジュールが入っているようだ。 $ rpm -qa | grep httpd httpd-tools-2.2.15-28.el6.centos.x86_64 httpd-2.2.15-28.el6.centos.x86_64 $ cd /etc/httpd/conf $ grep ldap httpd.conf LoadModule ldap…

WordPressでのパーマリンク指定

ページのスラッグを用いてURLを構成したい場合、記事のパーマリンクを指定しておく必要があるようだ。1. [設定]の[パーマリンク設定]にて、[カスタム構造]を選択して、 /%category%/%post_id%/ を入力。 2. 設定を保存すると、mod_rewriteの例が表示されるの…

apacheでPHPモジュールを切り替えて使う方法

apacheでPHP5.2でテストしたり、PHP5.3でテストしたりしたい場合がある。apache起動時にそれを切り替える方法。 PHPのインストールに関して コンパイルする際に、--prefixをそれぞれ変える。例えばphp5.2なら --prefix=/usr/local/php52 とし、php5.3なら --…

Apacheを止めないでPHPモジュールをバージョンアップさせる件

会社の同僚に教えてもらったのだが、Apacheを起動している状況でPHPをバージョンアップさせる場合、PHPのmake install時にapacheを停止させないでインストールする方法。 これはPHPだけでなく、Apacheモジュール全般に適用できるはず。なお、再起動(graceful…

wordpressのcontact form 7でメールが送信されない件。

contact form 7(3.2.1 on wordpress 3.4.1)で、フォームからメールを送信しようとしたら、以下のメッセージが出てメールが送信できなくなっていた。 メッセージの送信に失敗しました。間をおいてもう一度お試しいただくか、別の手段で管理者にお問い合わせ下…

apacheのモジュールだけをインストールする方法

該当モジュールのディレクトリにてapxsにてコンパイル、インストールする。インストール時はLoadModuleを勝手に追加してくれる。 $ pwd /home/foo/httpd-2.0.64/modules/metadata $ /usr/local/apache2/bin/apxs -c mod_headers.c /usr/local/apache2/build/…

基本(Basic)認証後にIEからexcel/wordを取得すると再認証画面が表示される

あるディレクトリに基本認証をかけておいて、その配下のページにアップロードしたexcelやwordのファイルにリンクを貼り、そのexcelやwordにアクセスしようとすると再度、基本認証の画面が出てきてしまう。キャンセルすることで表示はされるのだが納得がいか…

apacheでのphp設定

php.iniに書くべき内容をapacheのコンフィグレーションで設定する場合の書き方の備忘録。 <Directory "/home/foo/public_html"> # <IfModule sapi_apache2.c> <IfModule mod_php5.c> php_value memory_limit 48M </IfModule> </Directory>sapi_apache2.cはPHP4のとき(だったはず)。PHP5ではmod_php5.cでOKのようだ。 booleanの値は php_flag で On/Offする。

Basic認証の最大文字数

ユーザ名は255byte以内(":"は使えない)。以下、manページより。 $ man htpasswd .... RESTRICTIONS On the Windows and MPE platforms, passwords encrypted with htpasswd are limited to no more than 255 characters in length. Longer passwords will be…

Apache suexecモジュール設定

コンパイル時にデフォルトオプションにてsuexecを組み込み、各ユーザ( http://www.example.jp/~foo/ )配下でExecCGIを有効にしている場合に、以下のエラーとなる。 errors .... Premature end of script headers: /home/foo/public_html/bar.cgi suexec_log …

ApacheのOptions Multiviews指定時の注意

Apacheの設定ファイルにて、OptionsディレクティブにMultiviewsを指定して 拡張子がなくても表示できるようにしている場合、そのファイルをセーブする際、 $ cp -ip foo.php foo.php.sv のように、"*.sv"などとしてはいけない。"*.sv"はApacheのデフォルトで…

Apache運用中のログの上書き

Apacheのログをhttpd動作中によそから上書きした場合、その後のログはログファイルには記録されないようだ(CentOS 5)。そのため、ログファイルを上書きしたら、restartさせること。

wordpressのアップグレード(2.5.1から2.6へ)

基本的な流れ 1. プラグイン停止 2. データベースダンプ 3. 元ファイルのセーブ 4. 新パッケージを解凍 5. 元ファイル中の、.htaccess wp-config.php plugin/ themes/ uploads/ 関連をコピー。パーミッションも気をつけること。 6. upgrade.phpの実行 7. プ…

MySQL5.0 に EUC-JP な環境を構築してみる。

MySQL5.0をUTF-8で使っているときに、EUC-JPのデータを投入して、 PHP5からEUC-JPを表示させるためには、そのままではうまく行かない。 MySQLの環境(my.cnf, version 5.0.22) [mysqld] default-character-set = utf8 skip-character-set-client-handshake PH…

ファイルダウンロードさせるソースコード例(PHP)

http://phpspot.org/blog/archives/2008/02/phpdlphp.html より。 プログレスバーを表示させるのには、Content-Lengthヘッダを入れだけなのね。これは知らなかった。

redirect 301 permanent (永久的なリダイレクト)

PHPでredirect 301 (permanent)する方法。 perlでredirect 301 (permanent)する方法。 #!/usr/bin/perl use strict; use warnings; my $redirect_location = "http://www.example.jp/"; print <

mod_rewriteとFollowSymLinks

あるディレクトリにmod_rewriteでRewriteRuleを行ったところ、その配下のCGIが動かなくなってしまった。errorログをみたところ、 Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /cgiのフ…

XAMPPとMODxのインストール

isbn:9784881665732を購入してMODxをXAMPPにインストールしてみた。 というのは、VMware ServerをXPにインストールしてCentOSでテスト環境を作成していたのだが、非力なマシンだとVMware Serverのサービスがやっぱ、重く感じていて、これをなんとかしたいと…

MODxのインストール

MODx(0.9.6.1)をhttp://modxcms.com/forums/index.php/topic,4544.0.htmlを参照にインストールしてみた。 環境 Apache 2.0.61 PHP 4.4.7 (mod_php) Mysql 4.0.27 Apacheの設定変更 index.phpが先に読まれるように、.htaccessが有効になるようにする。 <Directory "/home/foobar/public_html/modx/"> Direc</directory>…

type-mapの記述例

Apache2にて初めてtype-mapなるものをいじってみた。 デフォルトでは、 AddHandler type-map .var となっているので即使える。 例えば、/foo/index.html.varというファイルを用意して、以下のように記述する。 URI: en.html Content-language: en Content-ty…

xmlhttprequestでgetしたときの文字コード

XMLHttpRequest()にて、あるhtmlを取得しようとした場合に、文字コードをちゃんと認識させる方法。Apache限定。あるhtmlファイルをhtml.sjisとかにするとShift_JISとして取得してくれる。 var req = new XMLHttpRequest(); .... req.open("GET", "foobar.htm…

Apache 2.2.4 インストール

ダウンロードして、2.2.3のconfig.niceを使用してconfigureしたら、 configure: error: Cannot use an external APR-util with the bundled APR のエラーが出る。http://www.asakusa.org/edo/item/259 によると --with-included-apr をconfigure時につける必…

Drupal 5.1のインストール

CentOS 4.4にインストールした。http://drupal-jbox.net/?q=node/253 に日本語化の方法があるので、ちょっと変更。 apache: 2.2.3 (あとで2.2.4にバージョンアップ) PHP: 5.2.0 MySQL: 4.1.20 インストールログ # mkdir /home/drupal5 # cd /home/drupal5 # …

geeklogインストールその2

http://d.hatena.ne.jp/kazuokohchi/20060922を元に、 PHP 5.2.0 Apache 2.2.3 MySQL 4.1.20 の環境でインストールして動作確認(on CentOS 4.4)。

geeklogでの記事作成不可

geeklogを無事インストールしていざ、記事を作成してみたところうまくいかない。そのサーバのPHP mbstring系の設定の問題(http_input,http_outputにEUC-JPが指定されている)のようだが、config.phpでini_setを使ってもうまくいかず悩んでいた。どうやら、.ht…

geeklogのインストール

CMSのひとつである、geeklogをインストールしたときのメモ。現時点で最新版(日本語UTF対応改造)である、geeklog_jp_1.4.0sr5-1_200609115.tar.gz(200609115になっているがtypoかも)を使用。http://wiki.geeklog.jp/index.php/InstallInstruct14を参照しなが…

mod_layout on Apache2

意外とハマッたmod_layout on Apache2。mod_layout-3.2.1.tar.gzはapache1.3用なので、mod_layout-4.0.1a.tar.gzを持ってきて、Makefileのapxsのパスを変更して、makeすること。httpd.confは以下のように。 LoadModule layout_module modules/liblayout.so .…

RewriteRule

RewriteRuleのパターンは、Directoryディレクティブ内にあると、stripされる。たとえば、 <Directory "/home/foobar/public_html/rewrite/"> RewriteEngine on RewriteCond %{REQUEST_URI} ^/~foobar/rewrite/test/?$ RewriteCond %{HTTP_USER_AGENT} ^Mozilla/5\.0.*Firefox/[0-9\.]+$ RewriteRule ^test/?$</directory>…

RewriteLog

取りたいVirutalHost内に記述しておくこと。Server configに記述しても、VirutalHostの設定をしているとログが取得できない(ずっと0byteのまま)。 RewriteLog "/foo/bar/rewrite.log" RewriteLogLevel 9 その他は、 http://httpd.apache.org/docs/2.0/mod/mo…