VirtualBoxのUbuntu12.04にApache,PHP,MySQLをインストール

 ツイート 1  シェア 0  Hatena 2

virtualbox_logo

前回は、Windows7 の VirtualBox 上に Ubuntu12.04 をインストールしました。

今回は、PHPの開発環境を構築したときのメモです。

動作確認環境

  • Windows7 64bit
  • VirtualBox 4.1.16
  • Apache2
  • PHP5.3
  • MySQL5.1

目次

  1. apache2の導入
  2. apache2の設定メモ
  3. MySQL導入
  4. PHPの導入
  5. phpmyadminの導入
  6. sshの導入
  7. gitの導入
  8. 関連する記事

apache2の導入

インストール

sudo apt-get install apache2

インストールの確認は、ブラウザから http://localhost/ にアクセスして、It works のページが出ればOKです。

wwwディレクトリのオーナー変更

sudo chown -R 開発ユーザー:www-data /var/www

/var/www/ディレクトリの所有者がrootで扱いづらいので、所有者を開発ユーザーに変更します。

apache2の実行ユーザー名・グループ名はwww-dataなので、www-dataを所属グループとします。

wwwディレクトリのパーミッション変更

sudo chmod 750 /var/www

パーミッションを750に変更します。

web開発ユーザーのプライマリグループをwww-dataに変更

sudo usermod -g www-data web開発ユーザー

設定ファイルの書式を確認

設定ファイルに誤りがないか確認します。

sudo apache2ctl -t

問題なければ Syntax OK と表示されます。

apache再起動

設定を変更したらapacheを再起動します。

sudo /etc/init.d/apache2 restart

apache2の設定メモ

以下は、apache2の設定メモです。

apache全般の設定を変更

sudo vi /etc/apache2/apache2.conf

apache を起動した時に apache2: Could not determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName とメッセージが出る場合は、ServerName をServerRootの上あたりに追加します。

ServerName localhost:80

localhostの設定を変更

sudo vi /etc/apache2/sites-available/default

virtual hostの設定を変更

sudo vi /etc/apache2/sites-available/hoge.com

<VirtualHost *:80>
    ServerName hoge.com
    DocumentRoot /var/www/hoge.com
    <Directory /var/www/hoge.com/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
    ErrorLog /var/log/apache2/error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog /var/log/apache2/access.log combined
</VirtualHost>

上記は、ホスト名を hoge.com ドキュメントルートを /var/www/hoge.com にする場合の例です。

virtual hostの有効化

sudo a2ensite hoge.com

virtual hostの無効化

sudo a2dissite hoge.com

インストールされているモジュールの確認

ls /etc/apache2/mods-available

有効なモジュール一覧の確認

ls /etc/apache2/mods-enabled

モジュールを有効化

rewriteモジュールを有効にする際の例です。

sudo a2enmod rewrite

モジュールを無効化

rewriteモジュールを無効にする際の例です。

sudo a2dismod rewrite

MySQL導入

インストール

sudo apt-get install mysql-server

途中で MySQL の root ユーザーのパスワードを入力します。

my.cnfをバックアップ

sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.default

my.cnfの設定

MySQLのバージョンは5.1です。ご注意ください。

sudo vi /etc/mysql/my.cnf

[client]
default-character-set=utf8

[mysqld]
character-set-server = utf8
skip-character-set-client-handshake
default-storage-engine = InnoDB

[mysql]
default-character-set=utf8

[mysqldump]
default-character-set=utf8

MySQLの再起動

sudo /etc/init.d/mysql restart

MySQLの自動起動

起動スクリプトをrc2.d ~ rc5.dに追加します。

sudo update-rc.d mysql defaults

PHPの導入

インストール

sudo apt-get install php5 php5-mysql php5-sqlite
sudo apt-get install php-pear

その他パッケージは必要に応じてインストールします。

php.iniの設定

開発用の php.ini をベースとして使用します。

#開発用のphp.iniをコピー
sudo cp /usr/share/doc/php5/examples/php.ini-development /etc/php5/apache2/
sudo cp /usr/share/doc/php5/examples/php.ini-development /etc/php5/cli/

#デフォルトのphp.iniをリネーム
sudo mv /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.default
sudo mv /etc/php5/cli/php.ini /etc/php5/cli/php.ini.default

#開発用のphp.iniをリネーム
sudo mv /etc/php5/apache2/php.ini-development /etc/php5/apache2/php.ini
sudo mv /etc/php5/cli/php.ini-development /etc/php5/cli/php.ini

apache 用と cli 用の php.ini 両方を編集します。

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

[Date]
date.timezone = Asia/Tokyo

[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_output = UTF-8

mysql.default_socket = /var/run/mysqld/mysqld.sock
mysqli.default_socket = /var/run/mysqld/mysqld.sock
pdo_mysql.default_socket = /var/run/mysqld/mysqld.sock
sudo vi /etc/php5/cli/php.ini

上記と同じ

php.ini を編集した後は apache を再起動します。

phpmyadminの導入

インストール

sudo apt-get install phpmyadmin
  • インストールの途中でMySQLのrootのパスワードを入力します。
  • phpmyadminをどのwebサーバーで使用するかを選択します。webサーバーはapacheを選択します。

sshの導入

インストール

sudo apt-get update
sudo apt-get install ssh

デフォルト設定のバックアップ

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.default

rootによるログイン禁止

sudo vi /etc/ssh/sshd_config

#PermitRootLogin yes
PermitRootLogin no

IPアドレスによるアクセス制限

sudo vi /etc/hosts.allow

sshd:192.168.11.2
sshd:192.168.11.3
sshd:127.0.0.1

必要に応じて設定

sshを再起動

sudo /etc/init.d/ssh restart

gitの導入

sudo apt-get install git-core git-flow

関連する記事

 ツイート 1  シェア 0  Hatena 2