Web サーバー · 4 min read · Jan 03, 2026

Ubuntu 9.04 における Zend Framework を使用した基本的な Web サーバー

Ubuntu 9.04 における Zend Framework を使用した基本的な Web サーバー

これは、Zend Framework をインストールした基本的な Web サーバーをセットアップするために必要な手順の簡単な説明です。

いつものように、私は Falko の優れたガイドの一つに従います。再発明する必要はありませんから。私は The Perfect Server - Ubuntu 9.04 [ISPConfig 3] に従います。ただし、プレプロダクションテスト用の Web アプリケーションサーバーが必要なので、メールや ISPConfig は必要ありません。そのため、ISPConfig-3 ガイドのステップ 1 から 11 に従い、そこから自分のバージョンを始めます。

Postfix、Courier(メールや IMAP は不要)、Saslauthd(認証)をインストールするつもりはありません。また、rootkit hunter やバイナリユーティリティもインストールしないので、それらも省略します。

12 MySQL のインストール

次のコマンドを使用して MySQL をインストールできます。

apt-get install mysql-client mysql-server

次の質問が表示されます。

MySQL “root” ユーザーの新しいパスワード: <– yourrootsqlpassword
MySQL “root” ユーザーのパスワードを再入力してください: <– yourrootsqlpassword

MySQL が localhost だけでなくすべてのインターフェースでリッスンするようにしたいので、/etc/mysql/my.cnf を編集し、bind-address = 127.0.0.1 の行をコメントアウトします。

nano /etc/mysql/my.cnf
[...]  

# skip-networking の代わりに、デフォルトは localhost のみをリッスンするようになっています。  
# これはより互換性があり、セキュリティが低下することはありません。  
#bind-address           = 127.0.0.1  

[...]  

次に、MySQL を再起動します。

/etc/init.d/mysql restart

ネットワーキングが有効になっているか確認します。次のコマンドを実行します。

netstat -tap | grep mysql

出力は次のようになります。

root@server1:~# netstat -tap | grep mysql  
tcp        0      0 *:mysql                 *:*                     LISTEN      8474/mysqld  
root@server1:~#

13 Apache2、Java、および phpMyAdmin のインストール

この時点で PHP5 をインストールするつもりはありません。次のセクションでインストールする方法がいくつかあるからです。ソースからコンパイルする予定がある場合は、次のセクションを読んで、現時点で apache をインストールしないことを考慮してください。それ以外は、次のようにすべてをインストールします。

sudo su  
apt-get install apache2 sun-java6-bin phpmyadmin

次の質問が表示されます。

自動的に再構成する Web サーバー: <– apache2
Java EULA <– EULA を読むには Tab を押して OK
DLJ ライセンス条項に同意しますか? <– はい
phpmyadmin のために dbconfig-common でデータベースを構成しますか? <– はい
データベースの管理ユーザーのパスワード: <– yourrootsqlpassword
phpmyadmin の MySQL アプリケーションパスワード: <– [空白]

14 PHP5 のインストール:

必要に応じて PHP をインストールする方法はいくつかあります。必要なモジュールのインストールにさまざまな成功を収めてきたので、PHP をインストールするために試したすべての方法をお伝えしますので、必要なものを選んでください。

ubuntu リポジトリからの apt-get install

Apt を使用して ubuntu リポジトリから PHP バージョンを取得できます。これは最も簡単な方法で、最も簡単に成功する方法であり、特に PHP に特別な要件がない場合は使用すべきです。

apt-get install php5 php5-common php5-cli

debian ソースからの apt-get install

Debian はリポジトリを最新の PHP5 リリースに更新しており、フル PHP5 GD ライブラリが含まれていると思います。したがって、ソースからコンパイルするよりも成功する可能性が高いですが、Ubuntu が認識するソースではないため、それを受け入れるかどうかの判断が必要です。

その判断を下したら、前と同様にソースリストに debian リポジトリを追加する必要があります。

Apt を使用して ubuntu リポジトリから PHP バージョンを取得できます。

echo deb http://packages.dotdeb.org stable all >> /etc/apt/sources.list
echo deb-src http://packages.dotdeb.org stable all >> /etc/apt/sources.list

次に実行します。

apt-get update

これにより、Debian が更新した他のインストールをアップグレードすることもできます。

apt-get upgrade  
apt-get install php5 php5-common php5-cli  
reboot

リポジトリソースからのコンパイル

成功しましたが、Ubuntu リリースの PHP5 がインストールされました。これはほとんどのインストールには問題ありませんが、aptitude インストールには含まれない追加の機能を有効にすることができます。コンパイル時に有効にできるものを確認するには、./configure –help を使用できます。

aptitude install libmysqlclient15-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev sendmail libmcrypt-dev libmhash-dev

これにより、標準リリースには含まれていないかもしれない追加機能を持つ Ubuntu 安全リリースをインストールできます。

cd /usr/src  
apt-get install build-essential debhelper fakeroot  
apt-get source php5  
apt-get install build-dep php5  
cd php5-5.2.6.dfsg.1/  
nano debian/rules

次のように見つけて置き換えます。

[...]  
--with-gd=shared,/usr --enable-gd-native-ttf \  
[...]  

[...]  
--with-gd=shared, --enable-gd-native-ttf \  
[...]  
dpkg-buildpackage -rfakeroot  
cd ..  
# 新しい php5-gd パッケージをインストール  
dpkg -i php5-gd_5.2.6-1ubuntu6.3_i386.deb

外部ソースからの完全なコンパイル

これを最後に実行したとき、私の新しい PHP5 バージョンを認識させるために Apache2 を再コンパイルする必要がありました。なぜそうなったのか、または私だけなのかはわかりませんので、もう少しテストして成功した場合はこの投稿を編集して方法を更新します。

aptitude install php5-dev libmysqlclient15-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev sendmail libmcrypt-dev libmhash-dev bzip2 libcurl3 curl libpng12-dev libfreetype6-dev libmcrypt4 libmcrypt-dev libmhash2 libxslt1-dev apache2-prefork-dev libjpeg62-dev freetype2 libxft libxft-dev libcurl4-gnutls-dev
cd /usr/src  
wget http://apache.mirror.anlx.net/httpd/httpd-2.0.63.tar.gz  
tar -zxvf httpd-2.0.63.tar.gz  
cd httpd-2.0.63  
./configure --help  
./configure --prefix=/etc --enable-rewrite --enable-so --enable-ssl  
make  
make install  
/etc/bin/apachectl start  
/etc/bin/apachectl stop
cd /usr/src  
wget http://uk.php.net/get/php-5.2.9.tar.gz/from/this/mirror  
tar xzvf php-5.2.9.tar.gz  
cd php-5.2.9  
./configure --help  
./configure --prefix=/etc/php5/apache2 --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php5/apache2 --enable-zip --enable-calendar --enable-mbstring --with-mysql --with-mysqli --with-curl --with-curlwrappers --with-zlib --with-gd --with-jpeg-dir --with-png-dir --with-mcrypt --with-mhash --with-pdo-mysql  
make  
make install  
./configure --prefix=/etc/php5/cli --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php5/cli --enable-zip --enable-calendar --enable-mbstring --with-mysql --with-mysqli --with-curl --with-curlwrappers --with-zlib --with-gd --with-jpeg-dir --with-png-dir --with-mcrypt --with-mhash --with-pdo-mysql  
make  
make install-cli

Apache2.conf および httpd.conf に LoadModule ステートメントが必要という警告がいくつか表示されました。それも見つけた場合は、コメント付きのダミーステートメントを追加し、再度 make install すれば動作するはずです。

nano /etc/apache2/apache2.conf
[...]  
    # モジュール構成を含める:  
    Include /etc/apache2/mods-enabled/*.load  
    Include /etc/apache2/mods-enabled/*.conf  

    # モジュールインストールを支援するためのダミー LoadModule 指令  
    #LoadModule dummy_module /usr/lib/apache2/modules/mod_dummy.so  
[...]  

15 PHP と GD ライブラリのテスト / PHP5 インストールの詳細を取得

PHP-CLI がインストールされているので、次のコマンドで GD ライブラリのインストールをテストできます。

php -r "var_dump(function_exists('imagecreatefromjpeg'));" <-- GD ライブラリがインストールされている場合は true が出力されます  
php -r "var_dump(function_exists('imagerotate'));" <-- 制限されたライブラリがインストールされている場合は false になります

デフォルトの Web サイトのドキュメントルートは /var/www です。次に、そのディレクトリに小さな PHP ファイル (phpinfo.php) を作成し、ブラウザで呼び出します。このファイルは、インストールされている PHP バージョンなど、PHP インストールに関する多くの便利な詳細を表示します。

nano /var/www/phpinfo.php

次に、そのファイルをブラウザで呼び出します(例: http://192.168.0.100/phpinfo.php):

これで、PHP5 が動作していることがわかります。下にスクロールすると、すでに PHP5 で有効になっているすべてのモジュールが表示されます。また、MySQL もそこに表示されるはずです。

16 インストールの構成

Zend Framework が正しく機能するために、apache2 で rewrite_module が有効になっていることを確認する必要があります。確認しましょう。

a2dismod

幸運にも、現在有効になっているモジュールのリストに rewrite が表示されるはずです。表示されない場合は、何も無効にせずに Enter を押し、次に次のコマンドを実行します。

a2enmod rewrite

次に、デフォルトサイトファイルで AllowOverride All を有効にする必要があります。

nano /etc/apache2/sites-available/default
[...]  
  DocumentRoot /var/www/  
          
                Options FollowSymLinks  
                AllowOverride All  
          
          
                Options FollowSymLinks   
                AllowOverride All  
                Order allow,deny  
                allow from all  
          
[...]  

これが終わったら、/etc/phpmyadmin/htpasswd.setup ファイルを削除して phpMyAdmin を保護する必要があります…

rm -f /etc/phpmyadmin/htpasswd.setup

… そして、/etc/phpmyadmin/apache.conf の次のセクションを削除またはコメントアウトします。

nano /etc/phpmyadmin/apache.conf
[...]  
## セットアップのための認証  
#  
#      
#    AuthType Basic  
#    AuthName "phpMyAdmin Setup"  
#    AuthUserFile /etc/phpmyadmin/htpasswd.setup  
#      
#    Require valid-user  
#  
[...]  

その後、Apache を再起動します。

/etc/init.d/apache2 restart

17 Zend Framework のインストール

Zend Framework は Ubuntu 9.04 リポジトリにありますが、1.7.5 バージョンであり、最新のリリースを取得したいので、SVN を通じてダウンロードしますが、その前にインストールする必要があります。

aptitude install subversion

これで、Zend Framework の最新バージョンを取得できます。

cd /opt  
mkdir ZendFramework  
cd /ZendFramework  
svn co http://framework.zend.com/svn/framework/standard/tags/release-1.8.3/

次に、リリースフォルダーへのソフトリンク “current” を作成します。これにより、Zend Framework のバージョンを変更する場合、Apache を再起動せずに済みます。

ln -s release-1.8.3 current

手動で PHP スクリプトに set_include_path を使用してインクルードパスを追加する必要がないように、/etc/php5/apache2/php.ini にパスを追加して、現在の Zend Framework を自動的にインクルードしたいと思います。

nano /etc/php5/apache2/php.ini

次のように変更します。

include_path = ".:/usr/share/php5:/usr/share/pear"

include_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"

再度 Apache を再起動します。

/etc/init.d/apache2 restart

Zend Framework の新しいバージョンがリリースされたときは、SVN ディレクトリをチェックアウトし、ソフトリンクを変更するだけで済みます。

cd /opt/ZendFramework  
svn co http://framework.zend.com/svn/framework/standard/tags/release-1.8.4/  
rm current  
ln -s release-1.8.4 current

18 Zend Tool の構成

コマンドラインのパスを設定する必要があるので、上記で行ったのと同じ変更を PHP CLI にも行います。

nano /etc/php5/cli/php.ini
include_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"

スーパーユーザーから出る前に、最後に一つだけ行う必要があります。あなたのユーザー名の下でツールを使用できるようにするために、/var/www フォルダーの権限を設定する必要があります。

chown username:usergroup /var/www

この時点で、スーパーユーザーから出る必要があります。

exit
nano ~/.bashrc

そして、次の行を追加します。

[...]  
PATH=/opt/ZendFramework/current/bin:"${PATH}"
[...]  

ほぼ完了です。インストールをテストしますが、その前に再起動した方が良いでしょう。

sudo reboot

再ログインしたら、sudo su ではなく、

zf.sh show version

と入力します。

そうすると、次のように表示されるはずです。

Zend Framework Version: 1.8.3

19 ツールの使用

新しいプロジェクトを作成したいディレクトリに移動します。

cd /var/www  
zf.sh create project yourProject

すると、ツールが基本的なサイト構造を作成し、初期のコントローラーやビューを含むことがわかります。

最後に、Zend フォルダーを新しいプロジェクトにコピーしたいと思うでしょう。

cp -r /opt/ZendFramework/current/library/Zend /var/www/yourProject/library/Zend

Zend のインストールをテストするには、次の URL にアクセスします: http://192.168.0.100/yourProject/public/

楽しんでください!

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。