Mac に VirtualBox で Ubuntu をインストールして開発環境を整えるまでの作業メモ

CentOS の次は Ubuntu にチャレンジ。CentOS の時には2日程度かかりましたが、Ubuntu の場合は似たような作業なので作業時間は1時間1日くらいでした。

VirtualBox で仮想マシンを作成

  • ネットワーク eth0 にブリッジ接続を設定し eth1 に NAT を設定。
  • Ubuntu (64 bit) で作成。
  • 容量は固定ストレージの50GBで作成

Ubuntu のインストール

Mac から SSH で接続できるようにする

SSH をインストールする。

1
sudo apt-get install ssh

SSH で root ログインできないようにする。PermitRootLogin を no にします。間違えて on と書いてしまってしばらく悩みました。気をつけましょう。

1
sudo vi /etc/ssh/sshd_config

SSH を再起動して動作するか確かめる。

1
sudo /etc/init.d/ssh restart

ここまでは以下のページが参考になりました。

次に SSH を自動起動に設定されているかを確認するため chkconfig をインストールします。

1
sudo apt-get install chkconfig

以下のコマンドを実行。

1
chkconfig

自動起動に設定されていなければ以下のようにして設定します。

1
sudo chkconfig ssh on

LAMP 環境構築

PHP + MySQL のインストール

1
sudo apt-get install apache2 php5 php5-gd mysql-server php5-mysql

起動する。このコマンドは root では使えませんでした。ユーザーとして sudo で実行すると動きました。

1
sudo apache2ctrl start

Mac のローカルフォルダをドキュメントルートにマウント

Guest Addtions のインストールをします。GUI からインストールできますので手順によって進めます。何もしなければ自動的に /media/sf_bar/ にマウントされます。

制作しやすいように以下のように /var/www 以下にマウントをします。

1
sudo mount -t vboxsf sites /var/www -o uid=hoge,gid=hoge

次回から自動マウントされるように /etc/rc.local にマウントのコマンドを適当な場所に入れておきます。

1
vi /etc/rc.local

exit 0 の上あたりに今回のコマンドを挿入。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
 
sudo mount -t vboxsf sites /var/www -o uid=hoge,gid=hoge
 
exit 0

php.ini を設定する

phpMyAdmin などで SQL ファイルをインポートするとデフォルトでは大抵大きすぎてインポートできませんので、最初から php.ini を設定しておきます。

1
sudo vim etc/php5/apache2/php.ini

以下の項目を任意のサイズに変更しておきます。今回はローカル開発環境なのでかなり大きめに以下を設定しておきます。

1
2
3
upload_max_filesize = 128M
memory_limit = 128M
post_max_size = 128M

mod_rewrite を有効にする

デフォルトでは無効ですので有効にします。
設定後 Apache を再起動します。

1
sudo a2enmod rewrite

以下のページが参考になりました。

バーチャルホストを設定する

以下のような手順が一般的です。

  • /etc/apache2/http.conf などに設定を書く。
  • /etc/init.d/apache2 restart で再起動

しかし Apache を再起動すると以下のようなエラーメッセージが出ました。

* Restarting web server apache2
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
… waiting ..apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
…done.

一応バーチャルホストは動きますが、少し触って問題が解決できなかったのでこのままでいきます。もし解決方法をご存知の方がいらっしゃいましたら教えて頂けると幸いです。

不要なサービスを停止する

以下のサービスを停止しました。

bluetooth, brltty, dns-clean, pppd-dns, rsync, saned, cups, pulseaudio, speech-dispatcher

私のは説明を読んでなんとなく停止してみただけなので参考にせずにご自分で調べてみてください。以下のページにサービスの説明一欄がありました。

curl のインストールは注意

最初に以下のコマンドでインストールしてみました。

1
sudo apt-get curl

しかしこれでは call to undefined function curl_init() というエラーが出てしまいます。curl は以下のコマンドでインストールすれば良かったみたいです。

1
sudo apt-get install php5-curl

以下のページが参考になりました。

おまけの作業

別にやらなくても良いですが不具合が出たのでこういうことをしていました。この作業でその不具合を解決できたかは定かではありません。

1
2
sudo apt-get update
sudo apt-get upgrade

コメント

  1. Ubuntu : Ubuntu に LAMP 環境を構築する | ゆる~くWebのことさんのコメント

    [...]   「upload_max_file」「sizepost_max_size」に関してはこちらの記事を参考にしました。   変更後 設定を反映させるため Apache を再起動します。 [...]