CentOS、RedHat、Fedora

以下の手順は、CentOS 7にTAOをインストールするためのものですが、RHEL7やFedora 19にも簡単に対応できます。

以下の説明はCentOS 7を対象としており、インストール時の作業ディレクトリには/var/www/html/tao、DocumentRootには/var/www/htmlを使用しています。オペレーティングシステムのバージョン、Red Hatベースの他のフレーバー、ディレクトリの場所、またはDocumentRootを選択した場合は、適切にこれらのパスを調整する必要があります。ここでの説明は、お客様がコマンドラインにアクセスできることを前提としています。必要に応じて、お使いの環境でSSHアクセスができない場合の手順については、ホスティング会社にお問い合わせください。

サーバーの準備

サーバーが最新の状態になっているか確認してください。

sudo yum update

Epelリポジトリを追加し、yum ユーティリティをインストールします。

sudo yum -y install epel-release yum-utils wget

PHP 7.2とMySQLをインストールするためにサーバーを準備します。PHP 7.2をインストールするためには、サードパーティ製のリポジトリをインストールして、正しいバージョンに設定する必要があります。

sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --disable remi-php54
sudo yum-config-manager --enable remi-php72

MySQL 5.7をインストールするために、MySQLコミュニティのリポジトリを追加し、正しいバージョンに設定する。

sudo yum -y install http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-release-el7-7.noarch.rpm

システムが最新の状態になったら、LAMPスタックを作成するために必要なパッケージと、TAOのインストールを完了するために必要なパッケージ(まだ作成されていない場合)をインストールする必要があります。

sudo yum install httpd \
php \
php-cli \
php-common \
mysql-community-server \
mysql-community-common \
php-xml \
php-zip \
composer \
php-curl \
php-mbstring \
libhttp2-mod-php \
php-mcrypt \
php-mysql \
curl \
wget \
zip \
tidy \
unzip \
php-dom \
php-mcrypt \
php-opcache \
php-tidy \
policycoreutils-python \
nano

MySQLの設定

インストール時には、MySQLに一時的なルートパスワードが設定されます。このパスワードを取得するには、まずMySQLを起動する必要があります。

sudo systemctl start mysqld

そして、mysqld.logから一時的なパスワードを見つけます。

grep 'A temporary password' /var/log/mysqld.log |tail -1

データベースの設定を完了するには、mysql_secure_installationスクリプトと一時的なパスワードを使用します。このとき、他の構成オプションと同様に、ルートパスワードを変更するよう促されます。

注:パスワードには、少なくとも大文字1文字、小文字1文字、数字1文字、特殊文字1文字を含む12文字が必要です。

以下のスクリプトを実行する必要があります。

/usr/bin/mysql_secure_installation

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

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

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

Apacheの設定

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

sudo nano /etc/httpd/conf/httpd.conf

Configure ServerName:

ServerName <hostname or IP>

ディレクトリの設定

<Directory /var/www/html/tao>
     Options FollowSymLinks MultiViews
     AllowOverride all
     Order allow,deny
     Allow from all
</Directory>

また、_dirmoduleセクションを編集して、index.phpを最初に置くようにして、PHPページを最初にサーバーするようにApacheを設定することもできます。

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

Apacheの設定を確認し、変更を有効にするために再起動します。

sudo apachectl configtest
sudo systemctl restart httpd

TAOを内部使用/テストのみに設定している場合は、ファイアウォールをオフにすることができます。それ以外の場合は、TAOへのアクセスに使用する予定のポートに対してファイアウォールを開く必要があります。

sudo systemctl disable firewalld
sudo systemctl stop firewalld

TAOのインストール

ウェブサイトまたはGitHubからTAOパッケージをダウンロードし、インストールの準備をします。

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 /var/www/html/tao

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

sudo yum install git
sudo git clone https://github.com/oat-sa/package-tao.git /var/www/html/tao
cd /var/www/html/tao
sudo git checkout release-3.3-rc02

所有権をApacheユーザに変更する。

sudo chown -R apache:apache /var/www/html/tao

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

sudo composer self-update --1

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

cd /var/www/html/tao
sudo composer install
sudo chown -R apache tao
sudo chown -R apache config

必要なディレクトリにアクセスできるようにselinuxを設定する。

sudo semanage fcontext -a -t httpd_sys_content_t /var/www/html/tao/
sudo restorecon -R /var/www/html/tao/
sudo setsebool -P httpd_unified 1
sudo chmod a+w tao/views/locales/
sudo chmod a+w config

必要に応じて、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

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