Ⅰ. 機能追加とチューニング

 ここではWebアプリケーション開発のための事前準備を行います。Web上でプログラムを実行させるためのCGI(Common Gateway Interface)機能の有効化、画像処理ためのGDモジュールの組み込み、Windows PCからサーバーのデータベースを操作するためのMySQL用ODBC(Open Database Connectivity)ドライバーの組み込みなどを行うと共に、日本語処理関連のチューニングをします。

1.CGI機能を有効化する

 Webサーバーソフト(Apache)上でユーザープログラムが動くようにするために、ApacheのCGI(Common Gateway Interface)機能を有効にします。次の手順に従ってApache2の設定をCGIが実行できるように修正します。
   <参考サイト>
      CGI機能の有効化についてはServer World「Perlスクリプトを利用する」を参考にさせていただきました。

①ファイル名の設定

 /etc/apache2/mods-enabled/dir.confを編集します。
sudo nano /etc/apache2/mods-enabled/dir.conf
 2行目に、ディレクトリ名のみでアクセスできるファイルの設定を追加します。つまり、index.htmlやindex.cgiが設定されていなければ、次のように追加します。
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm

②CGIとして扱う拡張子の設定

 /etc/apache2/mods-enabled/mime.confを編集します。
sudo nano /etc/apache2/mods-enabled/mime.conf
 219行目のコメントを解除して、CGIとして扱う拡張子を設定します。
AddHandler cgi-script .cgi

③ドキュメント・ルートの設定

 /etc/apache2/sites-enabled/000-default.confを編集します。
sudo nano /etc/apache2/sites-enabled/000-default.conf
 先頭からの解説文に続くDoccumentRoot定義に続いて次の5行を追加します。
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# 次の5行を追加する。
<Directory "/var/www/html">
AllowOverride All # すべての項目を.htaccessで設定可能とする
Options +ExecCGI # CGI スクリプトの実行を許可する
Require all granted # すべてのアクセスを許可する
</Directory>

④CGIの実行を有効にする

次のように、a2enmodでApacheサーバーでのCGIの実行を可能にして、Appacheを再起動します。
sudo a2enmod cgid
sudo service apache2 restart


2.画像変換モジュールのインストール

①インストール

 PHP5用の拡張モジュールであるGD(画像変換モジュール)をインストールします。
sudo apt-get install php5-gd

②PHP設定ファイルの編集

 /etc/php5/apache2/php.iniを編集します。
「; Dynamic Extentions ;」部に以下の5行を追加します。
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
; 以下の5行を追加。
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll


3.MySQL用ODBCドライバー

 データベースが完成した後、Windows PCからサーバー上のデータベースを操作するためにはODBC(Open Database Connectivity)でリンクを張ります。少し気が早いようですが、クライアントの Windows PCにODBCドライバーをインストールしておきましょう。

①MySQL用ODBCドライバーのダウンロード

 MySQL用ODBCドライバーの最新バージョンをmysql.comからダウンロードします。
     MySQL.com(http://dev.mysql.com/)
 ダウンロードは以下に図示する赤矢印を選択して次々に画面を進め、最終画面「Connector/ODBC 5.3.4」で該当するMSI Installerの[Download]ボタンをクリックします。

②MySQL用ODBCドライバーのインストール

 ダウンロードした mysql-connector-odbc-5.3.4-win32.msiをダブルクリックして実行させます。
 実行確認ダイアログが表示されるので[実行]ボタンをクリックしてください。
 インストーラーが起動したら、以下のように次々と進めてドライバーをインストールします。


4.Apache制御ファイルの設定

 Apacheを制御するために、通常はドキュメント・ルート(Webサーバーが外部に公開するファイルを設置するディレクトリ)に「.htaccess」という名称のファイルを作成します。様々な制御ができますが、WebサーバーとしてLAMPを動作させるためには、少なくともHTMLファイルでPHPを実行できるように指定しておく必要があります。

 nanoを起動して、/var/www/htmlに最小限の記述をした.htaccessファイルを作成します。
sudo nano /var/www/html/.htaccess
 (記述内容)
# HTMLファイルでPHPを実行可能にする
AddType application/x-httpd-php .htm .html


5.日本語処理のためのチューニング

 現時点では、MySQLをそのまま使用すると多くの場合は日本語が文字化けします。これを避けるために、MySQLの文字セットを Unicode(UTF-8)に設定します。

①MySQL Character Setの確認

 mysql -u root -pでMySQLを起動して「show variables like 'character_set%';」を入力して文字セットの状態を確認します。
 これを見ると、databaseとserverの文字セットが「latin1」になっていることが分かります。

②MySQLの my.cnfの編集

 /etc/mysql/my.cnfを編集します。
sudo nano /etc/mysql/my.cnf
 [mysqld]に次の2行を追加します。
character-set-server = utf8
skip-character-set-client-handshake #クライアントの意向に関わらずUTF8で返答

③MySQL Character Setの再確認

 mysql -u root -pでMySQLを起動して①と同様の方法で文字セットの状態を確認してください。
 これでdatabaseとserverの文字セットが「utf8」に設定されたことが分かりました。

 以上で基本的な準備が整いました。次章ではいよいよデータベースを構築します。