Home > Tags > apache

apache

Mac 10.6.2 への apache 2.2.9 と php 5.3.1 のインストール

mac には /usr/local ディレクトリがないのでまず作成する。

sudo mkdir /usr/local
sudo mkdir /usr/local/src
sudo mkdir /usr/local/apache
sudo mkdir /usr/local/php
sudo chmod 777 /usr/local/src

次に apache のインストール。

cd /usr/local/src
wget http://archive.apache.org/dist/httpd/httpd-2.2.9.tar.gz
tar xzvf httpd-2.2.9.tar.gz
cd xzvf httpd-2.2.9
./configure --prefix=/usr/local/apache/httpd-2.2.9
make
sudo make install

cd /usr/local/apache/
sudo ln -s /usr/local/apache/httpd-2.2.9 current

gd を利用するのに libpng がいるので port でインストール。

sudo port install libpng

php の make でエラーになったので iconv.c を編集する

http://d.hatena.ne.jp/hetima/20071028/1193576377

vi /usr/local/src/php-5.3.1/ext/iconv/iconv.c
iconv_open を libiconv_open に、
iconv_close を libiconv_close に置換する。

php のインストール

cd /usr/local/src
wget http://jp.php.net/get/php-5.3.1.tar.gz/from/this/mirror
tar xzvf php-5.3.1.tar.gz
cd xzvf php-5.3.1
./configure --prefix=/usr/local/php/php-5.3.1 --with-apxs2=/usr/local/apache/current/bin/apxs --with-pdo-mysql=/opt/local/lib/mysql5 --with-gd --with-zlib --with-xsl --enable-mbstring --with-png-dir=/usr/X11
make

で、ここで行き詰まった。
make で下記エラーが発生して、コンパイルできない。

Undefined symbols:
  "_iconv_close", referenced from:
      _do_convert in gdkanji.o
  "_iconv", referenced from:
      _do_convert in gdkanji.o
  "_iconv_open", referenced from:
      _do_convert in gdkanji.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [libs/libphp5.bundle] Error 1

iconv が駄目そうなので --without-iconv オプションを付ける。ついでに freetype も入れる。

http://bugs.php.net/bug.php?id=49267

./configure --prefix=/usr/local/php/php-5.3.1 --with-apxs2=/usr/local/apache/current/bin/apxs --with-pdo-mysql=/opt/local/lib/mysql5 --with-gd --with-zlib --with-xsl --enable-mbstring --with-png-dir=/usr/X11 --without-iconv --with-freetype-dir=/usr/X11

これでなんとかコンパイルできた。
試してないけど以下のような記事もあった。

http://d.hatena.ne.jp/brtRiver/20090911/1252703372

あと /usr/local/php/current/bin/php がないのでシンボリックリンクを張って作る

sudo ln -s php.dSYM php

Premature end of script headers: php5.cgi

CakePHPをセットアップしてindex.phpにアクセスすると500 Internal Server Error。
エラーログは以下。

Premature end of script headers: php5.cgi

今のところ手がかりなし

仕方がないので以下のようにphp4で動作するように.htaccessを無理矢理修正

-    RewriteRule ^(.*)$ index.php4?url=$1 [QSA,L]
+    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

mod_ktaiは速度が100倍?

apache2 で SSL を使うには

ssl のオプションがいるよう。。

sudo ./configure --prefix=/usr/local/apache/httpd-2.2.4 --enable-module=so --enable-ssl

ソースからインストールした apache を chkconfig -add する

以下 2 サイトを参考に。
猫ぐらし: 自分でインストールしたサービスを chkconfig --add するためには

http://makisuke.seesaa.net/article/6066867.html

apache2.2 起動と自動起動設定

http://kazmax.zpp.jp/apache/apache2.html

はじめての SSL 設定

今までサーバをちょこちょこさわっていたけれど、実はsslの設定をちゃんとしたことがなかった。ということではじめて、sslの設定をやってみました。

参考サイト1:[CSR生成] Apache1.3 + mod_ssl + OpenSSL(新規・更新)|SSLサーバ証明書ならグローバルサイン

参考サイト2:Technical Note : SSLを利用するApacheウェブサーバーの構築方法 - Nature's Linux Tech Portal

  1. openssl の確認
  2. openssl version
  3. 秘密鍵を生成
  4. openssl genrsa -des3 -out ./ssl.key/ssl.globalsign.com.key 1024
  5. csr を生成
  6. openssl req -new -key ./ssl.key/ssl.globalsign.com.key -out ./ssl.csr/ssl.globalsign.com.csr

    この時、国とか組織とか聞かれるので前もって用意しておきます。

  7. ssl 申込
  8. GlobaSign などで ssl の申込を行います。この時にさっき作った csr を使います。

  9. 証明書の設定
  10. 証明書がメール等で送られてくるので、これをコピーして server.crt のようなファイル名にしてサーバの ssl.crt ディレクトリに保存します。権限は 400 で。

  11. 中間証明書の設定
  12. これもメール等で送られてくるので、ssl.crt に保存します。400。

  13. Apache の設定
  14. 以下のような感じです。

    SSLEngine on
    
    SSLCertificateChainFile /usr/local/apache/conf/ssl.crt/dvcacert.cer
    
    SSLCertificateFile /usr/local/apache/conf/ssl.crt/ssl.globalsign.crt
    
    SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/ssl.globalsignkey
  15. パスフレーズについて
  16. パスフレーズが設定されていると Apache の再起動の度にパスワードを要求されます。
    回避する為には、パスフレーズを削除するか、SSLPassPhraseDialog というディレクトリブを設定することで回避できます。(Nature's Linux のページに書いてます。)
    パスフレーズの削除は以下コマンドで。

    cp -p server.key server.key.org
    
    openssl rsa -in server.key -out server.key
  17. その他
  18. 今回以下ファイルも修正しました。

    vi /etc/sysconfig/apache

    修正内容は以下の行がコメントアウトされていたので、コメントを外しました。

    OPTIONS=-DSSL
  19. 最後に
  20. service apache configtest
    
    service apache restart

VirtualHost の設定

複数のプロジェクトが作成しやすいようバーチャルホストの設定は以下のようにしました。

<VirtualHost 127.0.0.1>    DocumentRoot /Users/xxxxx/Sites/project1    ServerName project1    ErrorLog /var/log/httpd/error_log    CustomLog /var/log/httpd/access_log common

    DirectoryIndex index.php index.phtml index.html</VirtualHost>

/etc/hosts にも IP アドレスに対応した設定を行います。
プロジェクトを追加する場合は、project2、project3 と増やしていきます。"project" という名前はプロジェクトに合わせて変更してください。

Mac OS X への Apache と PHP のインストール

Max OSX の開発用に Apache と PHP をインストールします。MySql が /usr/local/mysql にインストールされていることが前提です。

まず、Apache 1,3 系の最新版をダウンロードし、インストールします。

cd /usr/locale/src/apache1.3/

tar xzvf apache_1.3.9.tar.gz

cd ./apache-1.3.9

sudo ./configure --prefix=/usr/local/apache-1.3/apache-1.3.9 --enable-module=so

sudo make

sudo make install

sudo make clean

次は PHP の最新版をダウンロードし、インストールします。

cd /usr/locale/src/php/

tar xzvf php-5.2.1.tar.gz

cd ./php-5.2.1

sudo ./configure --prefix=/usr/local/php/php-5.2.1 --with-apxs=/usr/local/apache-1.3/apache-1.3.9/bin/apxs --with-mysql=/usr/local/mysql

sudo make

sudo make install

sudo make clean

この後 Apache の設定ファイルを修正します。

sudo vi /usr/local/apache-1.3/apache-1.3.9/conf/httpd.conf
以下の 2 行を追記
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

あとは、ドキュメントルートに phpinfo を記述したファイルを置いて PHP が動作することを確認する。

参考
複数の PHP をインストールし、切り替えて使う方法 - Sooey

ホーム > タグ > apache

ぴくちゃー
ブログパーツ
あわせて読みたいブログパーツ
なかの人
携帯アクセス解析
Yahoo Widget

ページの上部に戻る