CentOS, RedHat und Fedora

Die folgende Anleitung ist für die Installation von TAO auf CentOS 7 und kann leicht für RHEL7 und Fedora 19 angepasst werden.

Die folgenden Anweisungen beziehen sich auf CentOS 7 und verwenden /var/www/html/tao als Arbeitsverzeichnis für die Installation und /var/www/html als DocumentRoot. Sollten Sie eine andere Betriebssystemversion, eine andere Red Hat-basierte Variante, ein anderes Verzeichnis oder DocumentRoot wählen, müssen Sie diese Pfade entsprechend anpassen. Diese Anweisungen gehen davon aus, dass Sie Zugriff auf die Befehlszeile haben. Wenden Sie sich ggf. an Ihr Hosting-Unternehmen, um zu erfahren, wie Sie vorgehen müssen, wenn Sie keinen SSH-Zugang zu Ihrer Umgebung haben.

Server-Vorbereitung

Stellen Sie sicher, dass der Server auf dem neuesten Stand ist:

sudo yum update

Fügen Sie das Epel-Repository hinzu und installieren Sie yum utilities:

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

Bereiten Sie den Server für die Installation von PHP 7.2 und MySQL vor. Um PHP 7.2 zu installieren, müssen wir ein Repository eines Drittanbieters installieren und es dann für die richtige Version konfigurieren:

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

Fügen Sie die MySQL-Community-Repositories hinzu, um MySQL 5.7 zu installieren, und konfigurieren Sie es dann für die richtige Version:

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

Sobald das System auf dem neuesten Stand ist, müssen Sie die erforderlichen Pakete installieren, um Ihren LAMP-Stack zu erstellen, sowie die Pakete, die zur Vervollständigung Ihrer TAO-Installation erforderlich sind, falls sie noch nicht erstellt wurden:

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 konfigurieren

Während der Installation wird ein temporäres Root-Passwort für MySQL gesetzt. Um es abzurufen, müssen Sie zunächst MySQL starten:

sudo systemctl start mysqld

Und dann suchen Sie das temporäre Kennwort aus dem mysqld.log:

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

Um die Konfiguration der Datenbank abzuschließen, verwenden Sie das Skript mysql_secure_installation und das temporäre Kennwort. Sie werden zu diesem Zeitpunkt aufgefordert, Ihr Root-Passwort sowie andere Konfigurationsoptionen zu ändern.

Hinweis: Ihre Passwörter müssen aus 12 Zeichen bestehen, darunter mindestens ein Großbuchstabe, ein Kleinbuchstabe, eine Zahl und ein Sonderzeichen.

Sie müssen das folgende Skript ausführen:

/usr/bin/mysql_secure_installation

An dieser Stelle können Sie sich an der Datenbank anmelden und einen neuen Benutzer und/oder eine neue Datenbank für die Installation von TAO erstellen, wenn Sie dies wünschen.

Legen Sie eine neue Datenbank und einen neuen Benutzer für TAO an:

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 konfigurieren

Mit einem Editor Ihrer Wahl müssen Sie den ServerName sowie das Verzeichnis, in dem Sie TAO installieren, konfigurieren. Wenn Sie virtuelle Hosts verwenden, müssen Sie die Apache-Anweisungen befolgen, die Sie hier finden(https://httpd.apache.org/docs/2.4/vhosts/examples.html).

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

Konfigurieren Sie ServerName:

ServerName <hostname or IP>

Verzeichnis konfigurieren:

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

Außerdem müssen Sie den Apache so konfigurieren, dass er PHP-Seiten zuerst serverseitig bereitstellt, indem Sie den Abschnitt _dirmodule so bearbeiten, dass index.php zuerst bereitgestellt wird.

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

Überprüfen Sie Ihre Apache-Konfiguration und starten Sie dann neu, damit Ihre Änderungen wirksam werden.

sudo apachectl configtest
sudo systemctl restart httpd

Wenn Sie TAO nur für den internen Gebrauch/Test einrichten, können Sie die Firewall ausschalten. Andernfalls müssen Sie Ihre Firewall für den Port öffnen, den Sie für den Zugriff auf TAO verwenden möchten.

sudo systemctl disable firewalld
sudo systemctl stop firewalld

TAO installieren

Laden Sie das TAO-Paket von der Website oder von GitHub herunter und bereiten Sie die Installation vor:

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

Oder verwenden Sie Git, um die neueste Version direkt von GitHub herunterzuladen:

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

Ändern Sie die Besitzverhältnisse auf den Apache-Benutzer:

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

Stellen Sie sicher, dass die richtige Version von composer verwendet wird. Standardmäßig ist auf CentOS, RedHat und Fedora die Version von composer 2 installiert. Bevor Sie TAO installieren können, müssen Sie diese mit dem folgenden Befehl auf Version 1 herunterstufen:

sudo composer self-update --1

Installieren Sie die TAO-Komponenten auf dem Server mit Hilfe des Composers und ändern Sie dann den Besitz des neu erstellten tao-Verzeichnisses auf den Apache-Benutzer:

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

Konfigurieren Sie selinux so, dass der Zugriff auf die erforderlichen Verzeichnisse möglich ist.

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

Installieren Sie MathJax auf dem Server, falls erforderlich:

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

Sie können Ihre Installation nun entweder auf der Kommandozeile mit dem folgenden Befehl abschließen:

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

in diesem Fall ist Ihre TAO-Instanz verfügbar unter:

http://<hostname or IP>/tao

Oder Sie können TAO in Ihrem Browser installieren, indem Sie zu http://<hostname or IP>/tao wenn Sie die obigen Anweisungen befolgt haben. Wenn Sie die obigen Anweisungen für Ihre Apache-Konfiguration nicht befolgt haben, müssen Sie die URL entsprechend anpassen.