aswww log

エンジニアの技術録。アプリとかウェブとか

UbuntuにApache2とPHP5.4.13導入

やっぱりPHPのバージョンが5.3系なのはイヤなのでPHP5.4系を手動でインスコすることにした。
の、前に、SynapicでインスコしたApacheのapx2の場所とかわからんし、全体的に起動スクリプトの場所とかも馴染みがない感じだったのでApacheも手動で入れることにした。

Apacheインスコ
DLは成り行きでwgetせずブラウザから。っで/usr/local/srcとかに配置して

./configure --enable-shared=yes
            --enable-dav=yes
            --enable-rewrite=yes
            --enable-so=yes
make
sudo paco -D make install

これでOK。あとはhttpd.confのServerNameのコメントアウトを外して、httpd -k start → ブラウザでアクセス→「It's Work」でました!あっさりだね。まあこんなもんよね。
実行ファイル(httpd)が/etc/init.d/じゃなくて/usr/local/apche配下にできちゃったけど大丈夫かな?オプション足りなかったか?今度調べてみよ。

☆PHP5.4.13
やっぱりDLは成り行きでwgetせずブラウザから。/usr/local/srcとかに配置。

./configure --with-apxs2=/usr/local/apache2/bin/apxs
            --enable-mbstring
            --enable-mbregex
            --with-mysql
            --with-mysqli
            --with-pdo-mysql
            --with-tidy
            --with-gd
            --with-pear
            --with-mcrypt
            --prefix=/usr/local/php5.4
            --enable-module=so
            --with-php-config=/usr/local/php5.4/bin/php-config
            --with-openssl
make
make test
sudo paco -D make install
php -v
 PHP 5.4.13 (cli) (built: Mar 29 2013 03:14:03) 
 Copyright (c) 1997-2013 The PHP Group
 Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

なんとか入ったよ。やっぱりPHPはmakeが重いね。しかもオプションに指定したライブラリが足りないってので何回もやり直しちゃった。
後作業としてどのユーザで環境変数を設定。どのユーザでログインしても設定されるように/etc/profileに以下のとおり追記した。

export PATH=$PATH:/usr/local/php5.4/bin

参考:[bash] /etc/profileと/etc/bashrcの違いは?どう使い分けるべきか?
http://dqn.sakusakutto.jp/2012/01/bash_etcprofileetcbashrc.html


その後httpd.confに以下を追記

     DirectoryIndex index.html,index.php

     AddType application/x-httpd-php .php
     AddType application/x-httpd-php-source .phps

     #mod_php5は初期時点で既にLoadされてたけど念のため記載
     LoadModule php5_module        modules/libphp5.so

     PHPIniDIr "/etc/php5/apache2"

index.phpに以下を追記してアクセスすると、ちゃんと表示された。

<?php phpinfo(); ?>

一旦今日のところはタイムアップ。

httpd.confとphp.iniの配置場所が微妙だから今度変更しよ。