CentOS, RedHat y Fedora

Las siguientes instrucciones son para la instalación de TAO en CentOS 7 y pueden ser fácilmente adaptadas para RHEL7 y Fedora 19.

Las siguientes instrucciones son para CentOS 7 y utilizan /var/www/html/tao como directorio de trabajo para la instalación y /var/www/html como DocumentRoot. Si elige una versión diferente del sistema operativo, otro tipo de sistema basado en Red Hat, la ubicación del directorio o el DocumentRoot, tendrá que ajustar estas rutas según corresponda. Estas instrucciones suponen que usted tiene acceso a la línea de comandos. Si es necesario, consulte a su empresa de alojamiento para saber cómo proceder si no tiene acceso SSH a su entorno.

Preparación de los servidores

Asegúrese de que el servidor está actualizado:

sudo yum update

Añade el repositorio Epel e instala las utilidades yum:

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

Preparar el servidor para instalar PHP 7.2 y MySQL. Para instalar PHP 7.2, necesitaremos instalar un repositorio de terceros y luego configurarlo para la versión correcta:

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

Agregue los repositorios de la comunidad MySQL para instalar MySQL 5.7 y luego configúrelo para la versión correcta:

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

Una vez que el sistema esté actualizado, tendrá que instalar los paquetes necesarios para crear su pila LAMP, así como los paquetes necesarios para completar su instalación de TAO si aún no se han creado:

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

Configurar MySQL

Durante la instalación, se establecerá una contraseña temporal de root para MySQL. Para recuperarla tendrá que iniciar primero MySQL:

sudo systemctl start mysqld

Y luego localice la contraseña temporal del mysqld.log:

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

Para completar la configuración de la base de datos, utilizará el script mysql_secure_installation y la contraseña temporal. En este momento se le pedirá que cambie la contraseña de root, así como otras opciones de configuración.

Nota: Sus contraseñas deben tener 12 caracteres, incluyendo al menos una letra mayúscula, una letra minúscula, un número y un carácter especial.

Deberá ejecutar el siguiente script:

/usr/bin/mysql_secure_installation

En este punto puedes entrar en la base de datos y crear un nuevo usuario y/o base de datos para instalar TAO, si lo deseas.

Cree una nueva base de datos y un nuevo usuario para la OAT:

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

Configurar Apache

Usando el editor de su elección, necesitará configurar el nombre del servidor así como el directorio en el que está instalando TAO. Si está utilizando hosts virtuales, tendrá que seguir las instrucciones de Apache que se pueden encontrar aquí(https://httpd.apache.org/docs/2.4/vhosts/examples.html).

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

Configurar el nombre del servidor:

ServerName <hostname or IP>

Configurar el directorio:

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

También querrá configurar Apache para que sirva primero las páginas PHP editando la sección _dirmodule para que tenga primero index.php.

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

Verifique la configuración de Apache y reinicie para que los cambios surtan efecto.

sudo apachectl configtest
sudo systemctl restart httpd

Si está configurando el TAO sólo para uso interno/prueba, puede desactivar el cortafuegos. De lo contrario, tendrá que abrir su firewall para el puerto que planea utilizar para acceder a TAO.

sudo systemctl disable firewalld
sudo systemctl stop firewalld

Instalar TAO

Descargue el paquete TAO del sitio web o de GitHub y prepárese para instalarlo:

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

O utilice Git para descargar la última versión desde GitHub directamente:

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

Cambiar la propiedad al usuario de Apache:

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

Asegúrese de que se utiliza la versión correcta de Composer. Por defecto, la versión de composer instalada en CentOS, RedHat y Fedora es composer 2. Antes de que pueda instalar TAO tendrá que degradar esta a la versión 1, con el siguiente comando:

sudo composer self-update --1

Instale los componentes de TAO en el servidor utilizando Composer y luego cambie la propiedad del directorio tao recién creado al usuario Apache:

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

Configure selinux para permitir el acceso a los directorios necesarios.

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

Instale MathJax en el servidor si es necesario:

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

Ahora puede completar su instalación en la línea de comandos con el siguiente comando:

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

en cuyo caso su instancia TAO estará disponible en:

http://<hostname or IP>/tao

O puede instalar TAO en su navegador yendo a http://<hostname or IP>/tao si ha seguido las instrucciones anteriores. Si no ha seguido las instrucciones anteriores para su configuración de Apache, tendrá que ajustar la URL según corresponda.