ハマりポイントと簡単にインストールの解説
通常のAmazonLinuxは今後サポートされていかなくなるため2の方を積極的に使いたいところですが、そのままではMoodleがすんなり入りませんでしたのでこの記事を参考にインストールしてみてください。
https://aws.amazon.com/jp/blogs/news/amazon-linux-2-release/
簡単に言うとAamazonLinux2で提供されているPHPのモジュールでzipが入っていなかったため自分でコンパイルする必要がありました。(2018-05-07)
新しいパッケージが提供されれば解消される可能性がありますので、moodleインストール中にphp-zipのライブラリがないよ警告されて先に進まない人はお試しください。
インスタンスを立ち上げてSSHでログイン
SSHでログインしたところから始めます。
タイムゾーンを日本として設定
$ sudo timedatectl set-timezone Asia/Tokyo
OSのパッケージ各種アップデート
$ sudo yum update -y
PHP7を利用するための環境をインストール
通常のインストールではPHP5.4がインストールされますが、AWSの方で外部のパッケージとして用意されています。
$ sudo amazon-linux-extras list
0 ansible2 available [ =2.4.2 ]
1 emacs available [ =25.3 ]
2 memcached1.5 available [ =1.5.1 ]
3 nginx1.12 available [ =1.12.2 ]
4 postgresql9.6 available [ =9.6.6 ]
5 python3 available [ =3.6.2 ]
6 redis4.0 available [ =4.0.5 ]
7 R3.4 available [ =3.4.3 ]
8 rust1 available [ =1.22.1 ]
9 vim available [ =8.0 ]
10 golang1.9 available [ =1.9.2 ]
11 ruby2.4 available [ =2.4.2 ]
12 nano available [ =2.9.1 ]
13 php7.2 available [ =7.2.0 ]
14 lamp-mariadb10.2-php7.2 available [ =10.2.10_7.2.0 ]
PHP7とlamp環境をインストール
$ sudo amazon-linux-extras install 13 14
各種ソフトウェアインストール
WebサーバとDBサーバと関連するパッケージをインストールします。
$ sudo yum -y install httpd-deve
$ sudo yum -y install php php-devel php-pdo php-mysqlnd php-mbstring php-gd php-zip php-soap php-intl php-xmlrpcl php-opcache mod_ssl zlib-devel php-pear
$ sudo yum -y install mariadb-devel mariadb-server
$ sudo yum install libzip libzip-devel
phpでzipを扱うライブラリがパッケージにないためコンパイルしてインストール
php-zipがパッケージとして用意されていませんでしたので、php-zipのライブラリをコンパイルします。
バージョンの指定をしないとAmazonLinux2に入っているlibzipではバージョンが低くてコンパイルすることができませんでした。
$ sudo pecl install zip-1.13.5
/etc/php.ini の下の方へこれを追記する
extension=zip.so
php.ini
php.ini でいつも設定するもの
expose_php = Off
max_execution_time = 180
memory_limit = 256M
max_input_time = 180
post_max_size = 128M
upload_max_filesize = 128M
date.timezone = "Asia/Tokyo"
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.http_output = UTF-8
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none
MariaDB設定
$ sudo vi /etc/my.cnf.d/mariadb-server.cnf
下記の部分を追記と編集 扱う文字コードをUTF8にする
[mysqld]
skip-character-set-client-handshake
character-set-server=utf8
DBサーバの再起動と再起動時に自動起動を行う設定をする
$ systemctl restart mariadb
$ systemctl enable mariadb
初期設定で進めます、必ず他のサイトを参考にしてパスワードを設定してください。
https://weblabo.oscasierra.net/mysql-57-init-setup/
mariadbにログイン後データベース作成
$ mysql -u xxxx -p
xxxxxxx(password)
> create database moodle;
> exit;
Moodleダウンロード & 設置
$ wget https://download.moodle.org/download.php/direct/stable34/moodle-latest-34.tgz
$ tar zxfh moodle-latest-34.tgz
$ sudo mv moodle/* /var/www/html/
$ sudo chown -R apache:apache /var/www/html/
$ sudo mkdir moodledata
$ sudo chown apache:apache moodledata/
アクセス
AWSのコントロールパネルでみれるDNSへアクセスするとインストールが始まります。