Vmware:UbuntuでWebサーバを構築する

Ubuntu 7.04 (Feisty Fawn)ではTaskselによりパッケージ導入がより簡単になっています。また公式サイトに非常に充実したサーバ構築ガイドが存在します

公式サイトの資料

UbuntuでApache・MySQL・PHPによるWebサーバを構築する。 インストール方法はXAMPP・apt-get・ソースからコンパイルするの3通りがある。

パッケージの使い分け例

apt-getによる導入

Apache2のインストール

sudo apt-get install apache2

動作確認

http://localhost/apache2-default にブラウザでアクセスする。

設定ファイルの編集

gedit /etc/apache2/apache2.conf

外部からのアクセスを禁止する

sudo gedit /etc/apache2/ports.conf

Listen 127.0.0.1:80

とする。

起動・再起動・停止

sudo /etc/init.d/apache2 start
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/apache2 stop

サービスの自動起動の停止

「システム」→「サービスの管理」でApache2のチェックをはずす。 もしくは

sudo rcconf

でチェックを外して停止させる。

mod_rewriteを有効にする

sudo a2enmod rewrite

無効にするときは

sudo a2dismod rewrite

サーバネームの設定

apache2: Could not determine the server's fully qualified domain name,
using 127.0.1.1 for ServerName

デフォルトでは起動に上記のようなエラー表示がされるのでサーバネームを設定する。

sudo nano /etc/apache2/apache2.conf

ServerName 127.0.0.1

を追加したあとに

sudo /etc/init.d/apache2 restart

ユーザディレクトリの作成

ユーザ(username)がpublic_htmlディレクトリ以下のフォルダにhttp://localhost/username/からアクセスできるようにする。

ディレクトリの作成

public_htmlを作成する。

cd /home/username
chmod 701 ~
mkdir -m 705 ~/public_html

apache2.conf

gksudo gedit /etc/apache2/apache2.conf

UserDir public_html
AliasMatch      ^/([^/]+)/(.*)        /home/$1/public_html/$2
<Directory /home/*/public_html>
    AllowOverride All
    Options All
</Directory>

Apacheの再起動

sudo /etc/init.d/apache2 restart

MySQLのインストール

sudo apt-get install mysql-server mysql-client libapache2-mod-auth-mysql

my.cnfの設定

このチュートリアルではPHPとMySQLの内部文字コードをUTF-8に統一します。my.cnf・キャラクタセットに関する公式マニュアルの説明は以下の箇所です。

my.cnf

キャラクタセット

でmy.cnfの[client][mysqldump][mysqld]を以下のように変更・追記する。

 
default-character-set=utf8
 
[mysqld]
language = /usr/share/mysql/japanese
default-character-set=utf8
 
#character-set-server = latin1
#collation-server = latin1_general_ci
 
[mysqldump]
default-character-set=utf8
 

InnoDB

# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
# You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
# default-storage-engine=INNODB
#skip-innodb

起動・再起動・停止

sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql restart
sudo /etc/init.d/mysql stop

サービスの自動起動の停止

sudo rcconf

mysql,mysql-ndb,mysql-ndb-mgm などの項目のチェックをスペースキーではずしてEnterで設定を保存する。

rootのパスワードを設定

sudo mysqladmin -u root password 新しいパスワード

PHP5のインストール

sudo apt-get install php5-dev php-pear php5-cgi libapache2-mod-php5

MySQLを利用するなら

sudo apt-get install php5-mysql php5-mysqli

GDを利用するなら

sudo apt-get install php5-gd

php.ini

sudo gedit /etc/php5/apache2/php.ini

で下記の項目を編集する。/etc/php5/cliにもphp.iniが存在する。

実行時間と最大メモリ量

max_execution_time = 30     ; Maximum execution time of each script, in seconds
memory_limit = 64M      ; Maximum amount of memory a script may consume (8MB)

PEARライブラリのインストール先を指定

「pear config-show」コマンドでPEARライブラリのインストール先を調べるとデフォルトでは下記のディレクトリにインストールされるので、php.iniには次のようにディレクトリを指定する。

include_path = ".:/home/ユーザ名/pear/pear/php"



PEAR executables directory     bin_dir          /home/ユーザー名/pear/pear
PEAR documentation directory   doc_dir          /home/ユーザー名/pear/pear/docs
PHP extension directory        ext_dir          /home/ユーザー名/pear/pear/ext
PEAR directory                 php_dir          /home/ユーザー名/pear/pear/php
PEAR Installer cache directory cache_dir        /home/ユーザー名/pear/pear/cache
PEAR data directory            data_dir         /home/ユーザー名/pear/pear/data
PHP CLI/CGI binary             php_bin          /usr/bin/php
PEAR test directory            test_dir         /home/ユーザー名/pear/pear/tests

mysql・GDの設定

extension=mysql.so
extension=gd.so

phpMyadmin

公式サイトからphpMyAdmin-2.10.0.2-all-languages-utf-8-only.zipを入手して、

unzip phpMyAdmin-2.10.0.2-all-languages-utf-8-only.zip
sudo mv phpMyAdmin-2.10.0.2-all-languages-utf-8-only /var/www/phpmyadmin

config.inc.php

cd phpmyadmin
sudo cp libraries/config.default.php config.inc.php
sudo nano config.inc.php

$cfg['Servers'][$i]['user']          = 'root';
$cfg['Servers'][$i]['password']      = 'パスワード';

//$cfg['Servers'][$i]['auth_type']     = 'config';
$cfg['Servers'][$i]['auth_type']     = 'http';

$cfg['DefaultLang'] = 'utf-8';
$cfg['Lang']     = 'japanese-utf-8';
$cfg['DefaultCharset'] = 'utf-8';

ソースコードからコンパイルする

xdebugのインストール

エラーの内容を詳細に表示してくれるxdebugのインストールと設定。サーバの動作が遅くなるので開発する場合以外は無効にしておいた方がよい。

sudo pecl install xdebug

でインストールしたあとにphp.iniに

zend_extension="/usr/lib/php5/20051025/xdebug.so"

を追加してApacheを再起動。

chmのマニュアルの入手場所

全文検索機能があるchm形式のマニュアルは以下のURLから入手することが出来る。