
## Détails de l'installation

Typo3 est installé sur prod-front et sur preprod en double instance:

| Instance | Mini-sites | Portail |
| --- | --- | --- |
| vhost | 001-sub.opentalent.fr.conf | 001-opentalent.fr.conf |
| php | 7.4 | 7.0 |
| Version Typo3 | 10.4 | 8.7 |
| source directory | /var/www/typo3 | /var/www/typo3_82 |
| Url du backend | https://ohcluses.opentalent.fr/typo3/ | https://opentalent.fr/typo3/ |


**Important: Pour la suite de cette documentation, on ne parlera plus que de l'installation la plus récente (v10.4)**

Les [extensions Opentalent](..) sont installées dans: `/var/opentalent/git/ot_typo3`

## Première installation

On créé un répertoire packages qui contiendra des liens symboliques vers les extensions : 

    cd /var/www/typo3
    mkdir packages
    ln -s /var/opentalent/git/ot_typo3/ot_admin packages/ot_admin
    ln -s /var/opentalent/git/ot_typo3/ot_connect packages/ot_connect
    ln -s /var/opentalent/git/ot_typo3/ot_core packages/ot_core
    ln -s /var/opentalent/git/ot_typo3/ot_stats packages/ot_stats
    ln -s /var/opentalent/git/ot_typo3/ot_optimizer packages/ot_optimizer
    ln -s /var/opentalent/git/ot_typo3/ot_templating packages/ot_templating

On créé un lien symbolique depuis le répertoire d'installation Typo3 vers le fichier `composer.json`
à la racine du repository ot_typo3 :

    ln -s /var/opentalent/git/ot_typo3/composer.json ./composer.json

Puis on installe : 

    php composer.phar install

## Opérations courantes

### Faire une sauvegarde des données


Faire un dump compressé de la DB (requiert environ 1Go en 2021):


    mysqldump --single-transaction --compress -u dbcloner --password=**** typo3 | gzip -c > dump_typo3_yyyymmdd.gz


Sauvegarder la configuration des sites (volume négligeable)


    tar czvf ./sites.tar.gz /var/www/typo3/config/sites


Sauvegarder les uploads et les définitions des formulaires (de l'ordre de la centaine de Go):


    tar czvf ./fileadmin.tar.gz /var/www/typo3/public/fileadmin


### Déployer une nouvelle version des extensions


    ssh -A exploitation@[preprod ou prod-front]
    cd /var/opentalent/git/ot_typo3
    git pull


### Mettre à jour Typo3

Pour voir les dernières versions disponibles:

    php composer.phar outdated

Pour mettre à jour typo3:

    php composer.phar update

Pour tout mettre à jour:

    php composer.phar update


### Mettre en mode maintenance

Pour mettre une instance Typo3 en mode maintenance, accéder au serveur en ssh et éditer le .htaccess:

    ssh -A exploitation@preprod
    nano /var/www/typo3/public/.htaccess

Et décommenter les lignes:

    #RewriteCond %{REMOTE_ADDR} !^10\.8\.0\.[0-255]
    #RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
    #RewriteRule .* /maintenance.html [R=302,L]

Puis recommenter pour désactiver le mode maintenance.

