CentOS の次は Ubuntu にチャレンジ。CentOS の時には2日程度かかりましたが、Ubuntu の場合は似たような作業なので作業時間は1時間1日くらいでした。
VirtualBox で仮想マシンを作成
- ネットワーク eth0 にブリッジ接続を設定し eth1 に NAT を設定。
- Ubuntu (64 bit) で作成。
- 容量は固定ストレージの50GBで作成
Ubuntu のインストール
- Ubuntu 64 bit をダウンロードする。サーバー版との違いについてはこちらが参考になります。
- GUI のインストーラーでインストールをするが1回目はHDDエラーで失敗。2回目は知らないうちに仮想マシンが中断。3回目で普通に成功。
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 |
Ubuntu : Ubuntu に LAMP 環境を構築する | ゆる~くWebのことさんのコメント
[...] 「upload_max_file」「sizepost_max_size」に関してはこちらの記事を参考にしました。 変更後 設定を反映させるため Apache を再起動します。 [...]