OS Xにインストールする
Yosemite以上のネイティブOS Xインストール
このページは、他の人のパッケージを使用せずにOS Xインストールを実行したい人を対象としています。 覚えておくべきいくつかの警告があります。 OS XマシンへのMoodleのネイティブインストールは、インターネットにリンクされたライブサーバとしてはあまり適していませんが、テストと開発には最適です。ここで説明するOS Xのインストールは基本的にLinuxのインストールと同じであるため、ここでアドバイスを適用できます。また、AppleはOSをアップグレードする際の変更に協力しません。
この作業のほとんどは、'ターミナル' アプリケーションで使用できるCLIを介して行われます。ファイルを編集するには、nanoまたはvi(vim)を使用します。ほとんどの場合、ファイルを編集するにはrootである必要があるため、エディタ名の前にsudoを付けます。例:sudo nano/etc/apache2/httpd.confまたはsudo vi /etc/apache2/httpd.conf
Macで何らかの開発を行っている場合は、XCodeのインストールを検討してください(これはアプリストアから入手できます)。これにより、phpのライブラリなど、時々必要になる可能性のあるあらゆる種類のオッズとエンドがインストールされます。等
Mac上のApache
Mac OS X Yosemite ApacheとPHPはOSにパッケージ化されているため、PHPを有効にしてMySQLをインストールするだけで済みます。
sudo nano /etc/apache2/httpd.conf
or
sudo vim /etc/apache2/httpd.conf
Apacheの開始
Apacheはすでにインストールされているので、Apacheを起動して、機能することを確認する必要があります。コマンドを介してApacheを開始します
sudo apachectl start
起動時にapacheを起動する場合は、このコマンドを発行します
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
ブラウザでhttp:// localhostにアクセスして、apacheをテストします。 "It Works!!" というメッセージが表示された場合、Apacheは正常に機能しています。
Apacheがhttpdプロセスの検索を実行していることを確認するための問題の場合(おおよその出力付き)
$ ps aux | grep httpd | grep -v grep
_www 18859 0.0 0.0 4314808 1296 ?? S 9:38AM 0:00.00 /usr/sbin/httpd -D FOREGROUND
root 18858 0.0 0.1 4314808 11516 ?? Ss 9:38AM 0:00.35 /usr/sbin/httpd -D FOREGROUND
netstatでポート80をチェックするには(概算出力付き)
$ netstat -an | grep '.80' | grep -i LISTEN
tcp46 0 0 *.80 *.* LISTEN
その他のapache関連コマンド
$ tail -10 /var/log/apache2/error_log
$ lsof -i:80
$ curl http://localhost:80/server-status
$ apachectl -S
$ which -a apachectl
サイト を機能させる(オプション)
Macユーザーは、http://<host url address>/~<UserName>にローカルユーザーのWebサイトを公開する/Sitesフォルダを持つことに慣れています。
cd /etc/apache2/users
<username>.confを編集
これらの内容で。<username>をあなたのユーザ名のために変更することを忘れないでください。
<Directory "/Users/<username>/Sites/">
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>
/SitesフォルダのApache構成
可能なセットアップの1つである/Sitesフォルダをセットアップする必要があり、Macに/Sitesフォルダがない場合は、作成します。また、/Sitesフォルダ内にmoodleおよびmoodledata用のフォルダを作成します。
$ cd ~
$ mkdir Sites
$ cd Sites
$ mkdir moodle
$ mkdir moodledata
/Sitesディレクトリを指すようにApacheを設定します。万が一に備えてhttpd.confをバックアップしてから、httpd.confを開いて変更を加えてください
$ sudo cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.orig
$ sudo vim /etc/apache2/httpd.conf
DocumentRootを/Sitesフォルダを指すように変更し、httpd-vhosts.confのコメントを解除します
- DocumentRoot "/Library/WebServer/Documents"
DocumentRoot "/Users/mac_user_you_are_logged_in_with/Sites/"
...
- Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
httpd-vhosts.confを更新します
$ sudo vim /etc/apache2/extra/httpd-vhosts.conf
'mymoodle.dev.com' など、moodleサイトにローカルで使用するURLを選択し、httpd-vhosts.confファイルの最後に追加します。
<VirtualHost *:80>
DocumentRoot "/Users/mac_user_you_are_logged_in/Sites/moodle/"
ServerName mymoodle.dev.com
<Directory "/Users/mac_user_you_are_logged_in/Sites/moodle/">
Require all granted
</Directory>
</VirtualHost>
/etc/hostsを更新します
sudo vim /etc/hosts
/etc/hostsの下部に、httpd-vhosts.confと同じローカルmoodleサイトのURLを追加します
127.0.0.1 mymoodle.dev.com
Apacheを再起動します
sudo apachectl restart
moodleのセットアップ後、ブラウザでポイントできるようになります
http://mymoodle.dev.com/
phpなどを機能させる
/etc/apache2/httpd.confで、次のすべての行のコメントを解除します
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule php5_module libexec/apache2/libphp5.so
Include /private/etc/apache2/extra/httpd-userdir.conf
Moodle 3.3以降、PHPの最小バージョンは7.0.0であり、PHP7.1.xおよび7.2.xもサポートされています。 PHP 7を使用している場合、phpモジュールは次のようになります。
LoadModule php7_module libexec/apache2/libphp7.so
変更を有効にするためにApacheを再起動します
sudo apachectl restart
/moodledataフォルダのApacheユーザ権限
デフォルトのApacheユーザは _www であるため、/moodledataフォルダには_wwwユーザの書き込み権限が必要です。
sudo chown <username>:_www moodledata
ファインダーでフォルダを選択し、情報の取得ダイアログを使用して、フォルダへの_www書き込みアクセスを許可します。
テストphp
Webフォルダのルート(Mac OS XYosemiteのデフォルトのDocumentRootは/Library/WebServer/Documents)にphpinfo.phpというファイルを作成し、このコンテンツを追加します。 <?php phpinfo(); ?>
次に、URLでサイトにアクセスします
http://localhost/<your user name>/phpinfo.php
これにより、よく知られているphpinfoページが表示されます。最も可能性の高いエラーは、<?php phpinfo(); ?>テキストを表示しているだけのページです。これは、phpが機能していないことを意味します。
phpモジュール
やること
このページは更新が必要です。 更新して終了したらこのテンプレートを削除してください。
Mysql
Mysqlサイトhttp://dev.mysql.com/downloads/mysql/からMysqlのバージョンをダウンロードしてインストールしてください! dmg installを使用すると、システム環境設定からMySqlサーバを起動または停止できます。起動時に開始するオプションにチェックマークを付けると、実際には起動時に起動しない場合があります。これはOS Xのオンオフの問題です。
OSX Serverを実行していない場合、AppleがYosemiteのアップグレードを発行すると、Mysqlを再度インストールする必要があります。
dmgがインストールされているMySQLは
$ ls /usr/local/mysql/
MySQL dmgのインストール後、mysqlコマンドの実行時にMySQL PATHに問題がある場合は、PATHを.bash_profileに追加します(bashを使用している場合)
$ mysql --version
-bash: mysql: command not found
$
$ vim ~/.bash_profile
編集のために開いた.bash_profileファイルの最後にmysqlへのパスを追加します
export PATH="${PATH}:/usr/local/mysql/bin"
.bash_profileをリロードします
$ . ~/.bash_profile
$ mysql --version
mysql Ver 8.0.13 for macos10.14 on x86_64 (MySQL Community Server - GPL)
mysqlの開始/停止/再起動
sudo /usr/local/mysql/support-files/mysql.server start
sudo /usr/local/mysql/support-files/mysql.server stop
sudo /usr/local/mysql/support-files/mysql.server restart
MySQLコマンドラインに接続します
$ mysql -u root -p
moodle MySQLユーザ、データベースを作成し、権限を付与します
mysql> CREATE USER 'moodle'@'localhost' IDENTIFIED BY 'moodle';
Query OK, 0 rows affected (0.03 sec)
mysql> SELECT User, Host FROM mysql.user;
mysql> CREATE DATABASE moodle;
Query OK, 1 row affected (0.07 sec)
mysql> GRANT ALL PRIVILEGES ON moodle.* to 'moodle'@'localhost';
Query OK, 0 rows affected (0.06 sec)
mysql> FLUSH PRIVILEGES;
mysql> SHOW GRANTS;
Homebrewを使用する
これは、必要なパッケージをインストールするよりも簡単な方法です。 Homebrewは、OS X用に作成されたaptやyumなどのパッケージ管理ツールです。すべてが/usr/localまたは同様のものになり、Appleがアップグレードを行うとき、彼らはそれを台無しにすべきではありません。 Homebrewサイトは http://brew.sh にあります
コマンドで開始
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
or
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrewは、インストールプロセスの一部として、Xcode用のコマンドラインツールをダウンロードしてインストールします。
Homebrewでインストールされたパッケージは
$ ls /usr/local/Cellar
PostgreSQLでMoodle
PostgreSQLはMoodleがサポートする5つのデータベースの1つです。 Homebrewを使用してPostgreSQLをOS Xにインストールできます
$ brew install postgresql
$ ls /usr/local/Cellar/postgresql/
$ brew info postgres
PostgreSQLを手動で開始/停止する
$ pg_ctl -D /usr/local/var/postgres start
$ pg_ctl -D /usr/local/var/postgres stop
$ pg_ctl -D /usr/local/var/postgres status
brewを使用してPostgreSQLを開始/停止します
$ brew services start postgresql
$ brew services stop postgresql
brewの開始/停止でエラーが発生した場合は、実行してみてください
$ brew services start postgresql
Error: Service `postgresql` is not started.
$ brew tap gapple/services
新しいデータベースクラスター(データベースのコレクション)、postgresユーザを作成し、postgresqlを開始します。デフォルトでは、ユーザpostgresにはログインパスワードがありません。
$ initdb /usr/local/var/postgres/data
$ ls /usr/local/Cellar/postgresql/
$ /usr/local/opt/postgres/bin/createuser -s postgres
$ pg_ctl -D /usr/local/var/postgres start
$ psql -U postgres
moodleユーザ、データベースを作成する
postgres=# CREATE USER moodleuser WITH PASSWORD 'your_password';
CREATE ROLE
postgres=# CREATE DATABASE moodle WITH OWNER moodleuser;
CREATE DATABASE
postgres=# \l
PostgreSQLは、PostgreSQLの 'data' フォルダにある 'pg_hba.conf' というクライアント認証ファイルを使用します。このファイルには、どのユーザがどのデータベースに接続できるか、ユーザが接続できるIPアドレス、および接続に使用できる認証方法のリストがあります。
$ vim /usr/local/var/postgres/data/pg_hba.conf
Moodleが同じマシン上のPostgreSQLサーバに接続するための許可を与えるには、次の行を追加し、DATABASE列とUSER列を実際のデータベース名と上記で設定したユーザ名に変更します。 METHODフィールドには password と表示されているはずです。実際のパスワードをここに入力しないでください。
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host moodle moodleuser 127.0.0.1/32 password
cliを使用したMoodleのインストール
必要なバージョンのMoodle.tgzファイル( https://download.moodle.org/download.php/stable36/moodle-latest-36.tgz など)をダウンロードし、/Sitesフォルダに移動します
$ mv ~/Downloads/moodle-latest-36.tgz ~/Sites/
$ tar -zxvf moodle-latest-36.tgz moodle
$ cd moodle
Create moodle's config.php using install script
$ /usr/bin/php admin/cli/install.php
ローカルで設定したURL(http://mymoodle.dev.com/ など)にブラウザをポイントします。ブラウザにエラーがある場合
Warning: require_once(/Users/vpp/Sites/moodle/moodle/config.php): failed to open stream: Permission denied in /Users/vpp/Sites/moodle/moodle/index.php on line 30
Fatal error: require_once(): Failed opening required 'config.php' (include_path='.:') in /Users/vpp/Sites/moodle/moodle/index.php on line 30
生成されたconfig.phpファイルの所有者を変更する必要がある場合があります
$ sudo chown your_user:_www config.php
データベースをインストールします。上記のadmin/cli/install.phpスクリプトを実行するときに設定したMoodle管理者パスワードを使用してください。
$ sudo -u _www /usr/local/bin/php admin/cli/install_database.php --lang=en --adminpass=whatever_moodle_admin_pass_you_setup --agree-license
上記のスクリプトを実行するときにPHPパス/ usr / bin / phpを使用していて、PHP Intl拡張機能php_intlに関するエラーがある場合は、brewとともにインストールされたPHPである可能性のある/usr/local/bin/phpを使用してみてください。使用しているPHPを確認するには、
$ which php
/usr/local/bin/php