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>
また、index.phpが最初に来るように_dirmodule セクションを編集して、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を調整する必要があります。