MacOS

以下の説明は、MacOS MojaveにTAOをインストールするためのものです。

以下の説明は、MacOS Mojaveで、作業ディレクトリとDocumentRootに/Users//taoを使用しています。異なるOSバージョン、ディレクトリの場所、DocumentRootを選択した場合は、適切にこれらのパスを調整する必要があります。ここでは、コマンドラインにアクセスできることを前提に説明しています。

サーバーの準備

http、php、mariadbなどの様々なソフトウェアパッケージをインストールするために、まだBrewをインストールしていなければ、システムにBrewをインストールする必要があります。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ブリューのインストールを確認します。

brew --version
brew doctor

TAOをインストールするために、wget、composer、gitをインストールします。

brew install wget composer git

PHP 7.2のインストールと起動

brew install php@7.2
php -v
brew services start php

Apacheの設定

MAcOS MojaveにはデフォルトのApache2が搭載されているので、独自のApacheをインストールするためには、それを停止してデインストールする必要があります。

sudo apachectl stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

これで、httpdのインストールと起動の準備が整いました。

brew install httpd
brew services start httpd

お好みのエディタを使用して、Apacheを設定する必要があります。バーチャルホストを使用している場合は、こちら(https://httpd.apache.org/docs/2.4/vhosts/examples.html)にあるApacheの説明に従う必要があります。

nano /usr/local/etc/httpd/httpd.conf

ポートを80 vs 8080に設定します。

#Listen 8080
Listen 80

Configure ServerName:

ServerName <hostname or IP>

ユーザーとグループを設定します。

User <user>
Group <group>

DocumentRootとconfigureディレクトリを変更する。

DocumentRoot /Users/<user>/tao
<Directory /Users/<user>/tao>
   Options Indexes FollowSymLinks MultiViews
   AllowOverride All
   Require all granted
</Directory>

mod_rewrite および php@7.2 モジュールを使用するように Apache を設定する必要があります。

LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
LoadModule php7_module /usr/local/opt/php@7.2/lib/httpd/modules/libphp7.so

また、index.phpが最初に来るようにdir_moduleセクションを編集して、PHPページを最初に提供するようにApacheを設定する必要があります。

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

MariaDBの設定

データベースにはMariaDBを使用します。MariaDBはbrewでインストールします。

brew install mariadb
brew services start mariadb

この時点でデータベースにログインして、必要に応じてTAOをインストールするための新しいユーザーやデータベースを作成することができます。また、この時点でログインを保護することもできます。

TAOのデータベースとユーザーを新規に作成します。

mysql 
create database <database>;
create user '<user>'@'localhost' identified by '<password>';
grant all privileges on <database>.* to '<user>@'localhost' with grant option;
flush privileges;
quit

TAOのインストール

ウェブサイトまたはGitHubから「Tao Package」をダウンロードし、インストールの準備をします。

wget https://releases.taotesting.com/TAO_3.3.0-RC2_build.zip    
unzip TAO_3.3.0-RC2_build.zip
sudo mv TAO_3.3.0-RC2_build /Users/<user>/tao

また、Gitを使ってGitHubから最新のリリースを直接ダウンロードすることもできます。

git clone https://github.com/oat-sa/package-tao.git /Users/<user>/tao
cd /Users/<user>/tao
git checkout release-3.3-rc02

Apacheの設定を確認し、Apacheを再起動する。

apachectl configtest
brew services restart httpd

正しいバージョンのcomposerが使われているか確認します。デフォルトでは、MacOSにインストールされているcomposerのバージョンはcomposer 2です。TAOをインストールする前に、以下のコマンドでバージョン1にダウングレードする必要があります。

sudo composer self-update --1

composerを使ってTAOのコンポーネントをサーバーにインストールし、新しく作成されたtaoディレクトリの所有権をApacheユーザーに変更します。

cd /Users/<user>/tao
composer install

必要に応じて、MathJaxをサーバーにインストールします。

sudo wget --no-check-certificate  https://hub.taotesting.com/resources/taohub-articles/articles/third-party/MathJax_Install_TAO_3x.sh
sudo chmod u+x MathJax_Install_TAO_3x.sh
sudo ./MathJax_Install_TAO_3x.sh

これで、次のコマンドを使ってコマンドラインでインストールを完了することができます。

sudo -u www-data php tao/scripts/taoInstall.php \
--db_driver pdo_mysql \
--db_host localhost \
--db_name <db_name> \
--db_user <user> \
--db_pass <password>\
--module_namespace http://<hostname or IP>/first.rdf \
--module_url http://<hostname or IP> \
--user_login <user> \
--user_pass <password> \
-e taoCe

その場合、あなたのTAOインスタンスは、次の場所で利用できます。

http://<hostname or IP>

または、ブラウザにTAOをインストールするには、次のようにします。 http://<hostname or IP> 上記の指示に従っている場合はお使いのApacheの設定が上記の指示に従っていない場合は、適切にURLを調整する必要があります。