Amazon EC2クラウドサービスインストレーション

移動先: 案内, 検索

これは基本的にクラウド内のLinuxボックスに関する記事ですが、私がこれを書いている時点でLinuxカテゴリに入れたくありません。Linuxカテゴリより、もっと一般的なことに思えるからです。このインストールガイドに詳細が不足している場合、または正常に動作しない場合、このページに付属しているコメントをご覧ください。私はこのドキュメントを前提から始めて、そしてcli (Command Line Interface コマンドラインインターフェース) を使用したフルインストールへと入ります。前提としまして、あなたがAmazon 32 bit EC2 Linuxサーバを契約済みであり、sshおよびhttpでアクセスできるものとします。

すべての必要条件をインストールする (Install all the requirements)

cli (Command Line Interface コマンドラインインターフェース) からrootまたはsudoにより以下のコマンドを実行します。

yum install httpd
yum install mysql-server 
yum install git
yum install php
yum install php-gd 
yum install php-pear
yum install php-mbstring
yum install memcached 
yum install php-mcrypt 
yum install php-xmlrpc 
yum install php-soap 
yum install php-intl 
yum install php-zip 
yum install php-zts
yum install php-xml

または、入力を保存した後、ターミナルにコピー&ペーストしてください。以下のコマンドによりMoodleインストレーションに必要なすべてがインストールされます:

sudo yum -y install aspell aspell-en aspell-fr aspell-es cvs git httpd memcached mysql mysql-server php php-cli php-gd php-intl php-mbstring php-mcrypt php-mysql php-pdo php-pear php-pecl-zip php-pspell php-soap php-xml php-xmlrpc php-zip php-zts unzip zip zip.so

起動時のmysqlおよびhttpdの動作を確実にする (To ensure that mysql and httpd come up on boot.)

chkconfig mysqld on 
chkconfig httpd on

MySQLでのUTF8使用を確実に使用する (To ensure that utf8 is used by mysql)

下記設定内容をを確認するため、/etc/my.cnf を編集してください (場合によって、設定内容が変化するようです)。 最初に次のコマンドで、my.cnfをバックアップしてください:

cp /etc/my.cnf /etc/mycnf.original

そして、下記内容を確認するため編集画面を表示してください:

[mysqld]
default-character-set=utf8
default-collation=utf8_unicode_ci
character-set-server=utf8
collation-server=utf8_unicode_ci
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
default-character-set=utf8

下記コマンドでMySQLを再起動してください:

service mysqld restart

FC16 (Fedora Core 16) では、my.cnfを読めるようにする必要があるようです。

[mysqld]
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under different user or group, 
# customize your systemd unit file for mysqld according to the
# instructions in http://fedoraproject.org/wiki/Systemd
character-set-server=utf8
collation-server=utf8_unicode_ci
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

httpd起動時、PHPが確実にインクルードされるために (In order to make sure php is included when httpd comes up)

下記のようなコンテンツのファイル「/etc/httpd/conf.d/php.conf」が存在していることを確認してください。

<IfModule prefork.c>
LoadModule php5_module modules/libphp5.so
</IfModule> <IfModule worker.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
AddHandler php5-script .php AddType text/html .php
DirectoryIndex index.php

このドキュメントを執筆しています2012年1月26日現在、php-commonには提供する必要のあるzipが含まれていません。そのため、私はフォーラム記事の添付としてコピーを置きました (http://moodle.org/mod/forum/discuss.php?d=194589)。恐らく、wiki buffがこの問題を改善することでしょう。

あなたがzipを取得できた場合、「/usr/lib/php/modules」ディレクトリ内に入れてください。

同時にあなたのphp.ini (/etc内) に下記設定を追加してください:

extension=zip.so

データベース、データベースおよびアクセス権を作成する (Create the database, database user and access rights)

下記コマンドを実行します:

mysql_secure_installation

すべての質問に対して控えめに答えてください (例:あなたはlocalのテストデータベースを必要としませんし、rootはMySQLに対するアクセスをlocalより持っているため、テストデータベースを必要としません)。ここではMySQLのrootパスワードを作成します。 MySQLユーザはUnixユーザに対して、あなたと一緒に何もする必要はありません。

下記のコマンドを実行します:

 mysql -u root -p
<あなたが上記で設定したパスワード>

あなたはMySQLに関して、以下の作業が必要です:

1. データベースを作成してください。あなたの好きなデータベース名にしてください。私はデータベース名に「moodledb」を使用しています。

2. データベースユーザを作成してください。あなたの好きなデータベースユーザ名にしてください。私はデータベースユーザ名に「moodledbuser」を使用しています。

3. そのユーザにlocalhostからのデータベースアクセス権を与えてください。

4. localhost以外のデータベースアクセス権は必要ではありません。

    • あなたはMySQLの中にいます。そして、すべてのコマンドはMySQLコマンドであり、WindowsのMySQLインスタンスと同じようにコマンドを実行することができます。それぞれのコマンドの最後には忘れずに「;」を付加してください。
create database moodledb;
grant all privileges on moodledb.* to moodledbuser@localhost identified by '<put a pw here>';
quit

下記コマンド実行後、上記をコマンドをテストしてください:

mysql -u moodledbuser -p
<password>

正常に接続できる場合、quitコマンドで終了してください。

moodledataフォルダを作成する (Create moodledata folder)

mkdir /var/www/moodledata

Apacheのデフォルトルートフォルダは/var/www/htmlです。moodledataはウェブからアクセスできない場所に作成してください。次にmoodledataに対して、apacheユーザにすべてのアクセス権を与えてください。これは他のユーザがやりそうなchmod 777よりも良い方法です。

chown apache:apache /var/www/moodledata

Moodleを取得する (Fetch moodle)

cd /var/www/html
git clone git://git.moodle.org/moodle.git

上記コマンドにより、正しいディレクトリ/var/www/html内のmoodleディレクトリにMoodleがダウンロード (pull) されます。これには時間を要しますが、ダウンロードのパーセンテージが表示されます。

さらに洗練されたgitコマンドもあります。詳細はmoodledocsのgitドキュメントをご覧ください。 また、インストール時にスクリプトがconfig.phpファイルを作成できるよう、このようにサイトのapacheユーザ所有権を与えることができます。もし、所有権をrootのままにしている場合、あなたに提案されるconfig.phpを/var/www/html/moodleにコピーする必要があります。

apache所有権を与えるには、下記のようにコマンドを実行してください。

chown -R apache:apache /var/www/html/moodle

インストールを実行する (Do the install)

http://<your amazon host>/moodle にアクセスしてください。

私の場合、問題なく動作しました!

他のリソース (Other Resources)

MoodleホスティングにAmazon EC2を利用する場合の別の方法に関して、あなたはBitnami.org (http://bitnami.org/stack/moodle) によって作成されたフリーのイメージを使用することができます。Amazon上に (コマンドラインを必要とせずに) Moodleサーバを即座に作成することができます。