LAMPインストール

もちろんLinux(Ubuntu)はもうインストールされているので、のこりのAMP(Apache,Mysql,PHP)になるわけですね。今回WindowsからのOS移行させるにあたり、Debianサーバーとの環境を近づけ、権限設定や大文字小文字の違い、文字コードのサーバーとの統合を行えるわけです。今回のインストールは、開発環境向けで公開サーバーとしてのセキュリティ対策はまったく施されていませんまた、これは私の備忘録ですが、あまり詳しくありませんので、補足や誤り訂正がございましたらぜひおっしゃってください。

Apache Mysql php5 インストール

Apache、php、mysql を一気にインストールできます。aptを最大活用して、依存するその他のパッケージを同時にインストールしてしまいます。さらにPRADOに必要なsqliteも一気にインストールします。
$ sudo apt-get install php5 libapache2-mod-php5 mysql-server php5-mysql php5-sqlite php5-cli
途中で Mysql の root 用のパスワードを聞いてきますので入力します。

Apache 設定変更

まずは、Default のルートの位置を変更します。現在は /var/www/ というディレクトリがWebのルートになっていますが、ここはroot権限になっているので、ファイルの保存などで不都合がおおいので、開発環境は /home/felix(私のユーザー名)/www  というディレクトリにしたいと思います。Apacheの設定ファイルは、/etc/apache2/にあります。この中の ./sites-enabled/000-default がデフォルト設定ファイルです。
$ cd /home/felix
$ mkdir www
$ cd /etc/apache2/sites-enabled/
$ sudo vi ./000-default
この中の /var/www/ となっている箇所を /home/felix/www/ に変更します。(2ヶ所です。)
次にApacheの実行ユーザーを特定します。この方法は、主に公開サーバーにおいて権限の絞られてたユーザーを作って公開用のApacheを実行させる際に利用されるものですが、今回は私の構築環境でパソコン自体は、ルーターによって外からアクセスできないようになっているのでメインユーザーが、自分のホームディレクトリ内においてApacheを実行するようにします。(これがPRADOのprotectedディレクトリを 700 の権限で動かすための下準備にもなっています。)
実は、Apache のメインの設定ファイルは、上記ではなく /etc/apache2/apache2.conf ですが、今後は、この設定ファイルと、/etc/apache2/site-enabled/000-default はいじらずに /etc/apache2/conf.d/ ディレクトリに local というファイルをおいて設定していきます。
$ sudo vi /etc/apache2/conf.d/local
新規ファイルなので、以下を打ち込んで保存します。また、同時にサーバーネームの設定をします。(詳しくは分からないのですが、Apacheを再起動すると、サーバーネームがない。というエラーになります。そのままでも問題はなさそうなのですが、ここで設定すると出なくなりました。)
User felix
Group felix
ServerName localhost:80  ←お好きな名前で良いと思います。
UseCanonicalName On   ←サーバーネームを有効にする。
開発環境なので自パソコン以外からはアクセスできないようにしておきます。
$ sudo vi /etc/apache2/ports.conf
で5行目あたりを   
Listen 127.0.0.1:80
に変更します。
再起動はおきまりですね。
$ sudo /etc/init.d/apache2 restart

php.ini の設定

php.iniの内容を書き換えます。PDTのセキュリティ上の観点としては必要がそれほどあるとは思えませんが、サーバーとの環境合わせのためにやっておきます。
sudo vi /etc/php5/apache2/php.ini
書き換える内容は以下のとおりです。コメント化をはずすだけのものもあります。
(457行目付近)
magic_quotes_gpc = Off
(476行目付近)
default_charset = "UTF-8"
(1162行目付近)
mbstring.language = Japanese
(1167行目付近)
mbstring.internal_encoding = UTF-8
(1189行目付近)
mbstring.substitute_character = none;

Mysql の設定

mysqlのデフォルト文字コードを設定しておきます。でないとUTF-8で文字化けします。/etc/mysql/my.cnf を編集します。
$ cd /etc/mysql
$ sudo vi ./my.cnf
以下の2行を[mysqld]の最後に追加します。128行目付近に追加します
default-character-set=utf8
skip-character-set-client-handshake
mysqlをリスタートします。
$ sudo /etc/init.d/mysql restart
初期設定状態では、mysqlはユーザー名:root だけが上記で設定したパスワードで設定されています。一度、実際にパスワード付きでログインしてみます。
$ mysql -u root -p
パスワードを入力して、ログインできたら、Webコンテンツ用のデータベース実行ユーザーを設定をします。
mysql> create database webkintai;
mysql> create user felix@localhost identified by 'pppppppq';
mysql> grant usage on *.* to felix@localhost;
mysql> grant all on webkintai.* to felix@localhost;
簡単に解説をすると一行目でウェブページ用のデータベースを作成し、二行目で実行ユーザーを作ります。三行目で作ったユーザーに対するすべての権限を剥奪(usage)します。その後、Webkintai に対してだけすべての権限を付与します。終わったらログアウトします。
mysql>quit

PhpMyAdmin のインストール

Mysqlのインターフェースツールです。
$ sudo apt-get install phpmyadmin
途中、サーバー設定を選択するように言ってきますのでapache2を選択。続いて設定します。
$ sudo vi /etc/phpmyadmin/config.inc.php
以下の一行をページの最後に追加(hoge-hoge の部分は・・・)
$cfg['blowfish_secret'] = 'hoge-hoge';
localhost/phpmyadmin にアクセスすると、phpmyadmin のログイン画面になります。mysqlのユーザー設定をしていない場合には、 ユーザー root パスワード なし でログインします。

PostgreSQL phpPgAdmin のインストール

いままで、ほとんど使っていないのですが・・・ 今後は使っていきたいとおもっているので
$ sudo apt-get install postgresql php5-pgsql
PostgreSQLはサーバーユーザーではなくデータベースユーザを管理していて、デフォルトではpostgresというユーザのみが登録されています。このユーザーのパスワードを設定してログインし、その後、一般的に使用するユーザーを一人登録します。
$ sudo passwd postgres
(ここでパスワードを設定します。)
$ su - postgres
(以下で一般的に使用するユーザーを作ります。username を任意の名前にしてください)
postgres@mv1c3e:~$ createuser -P username
(ここでパスワード設定と権限設定をします。特にこだわらなければ、
superuser Yes でよいと思います。)
postgres@mv1c3e:~$ logout
続いて、Web上で操作ができるphpPgAdminをインストールします。なんと 8.10になって、phppgadmin の方も、phpmyadmin 同様に、ローカルホストへのシンボリックリンクが自動で生成されています!
$ sudo apt-get install phppgadmin
そのため、これで localhost/phppgadmin で、phppgadmin のページが表示されるようになります。(すごい!)ログインは、上記で作った ユーザー名とパスワードで行います。

xdebag のインストール

デバッカです
$ sudo apt-get install php5-dev php-pear build-essential
$ sudo pear install pecl/xdebug-beta
/etc/php5/cli/php.ini と /etc/php5/apache2/php.ini に以下を追加
$ sudo vi /etc/php5/cli/php.ini
$ sudo vi /etc/php5/apache2/php.ini
[xdebug]
zend_extension=/usr/lib/php5/20060613+lfs/xdebug.so
xdebug.remote_enable=On
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.manual_url=http://jp2.php.net
xdebug.collect_params=1
xdebug.dump.GET = *
xdebug.dump.POST = *

PRADOのインストール

PRADOダウンロードから最新版をダウンロードして、展開します。その後、/framework 以下を /www ディレクトリへコピーします。
$ cd /home/felix/
$ wget http://prado3.googlecode.com/files/prado-3.1.3-src.zip
$ unzip ./prado-3.1.1.r2290.zip
$ cd ./prado-3.1.3.r2555/
$ rm -r ../www/framework
$ cp -a ./framework/ ../www/
PRADOの自動ページ生成コマンドをつかって、初期ページを自動生成
$ cd /home/felix/www
$ php ./framework/prado-cli.php -c .
この状態で、localhost を表示して ”Welcome to PRADO”と表示されれば成功!ファイルの状態を見てみると
$ ls -l
drwxrwxrwx  2 felix felix 4096 2008-01-16 02:00 assets
drwxr-xr-x 13 felix felix 4096 2008-01-16 01:55 framework
-rw-r--r--  1 felix felix  691 2008-01-16 02:00 index.php
drwxr-xr-x  4 felix felix 4096 2008-01-16 02:00 protected
といった感じでしょうか?
$ chmod 700 ./protected
$ chmod 700 ./framework
と権限変更します。Apacheの実行者をfelixに変えているので、うまくいくわけですね。もちろん構築環境なので意味はないのですが、これをそのままサーバーへファイル転送した際にも(Apache実行ユーザーにファイル所有者を変更する必要はありますが・・・)権限設定はこのままでよいという訳です。

JDK のインストール

PDT(Eclpse)を動かすにはJavaが必要です。JRE もしくは、JDKを入れます。またバージョンは5、6いずれかを選ぶ必要があるのでご自身の事情に合わせて入れられる方がよいでしょう。インストール途中にライセンス同意画面が出るのでTabキーを押して移動してエンターを押します。
$ sudo apt-get install sun-java5-jdk
もしくは
$ sudo apt-get install sun-java5-jre
$ sudo apt-get install sun-java6-jdk
$ sudo apt-get install sun-java6-jre
のいずれか

PDT(PHP Develop Tool)のインストール

いよいよEclipseをインストールします。Ubuntu/eclipseインストール