
## 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`

Ces extensions sont ensuite intégrées à l'installation Typo3 sous forme de liens symboliques dans le répertoire
`/var/www/typo3/public/typo3conf/ext/`

## 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


### Synchroniser les données depuis prod-front sur preprod


    ssh -A exploitation@preprod

    # databases
    cd ~/clonedb
    python3.8 clonedb.py typo3
    
    # files
    rsync -av --delete exploitation@prod-front:/var/www/typo3/config/sites/ /var/www/typo3/config/sites/
    rsync -av --delete exploitation@prod-front:/var/www/typo3/public/fileadmin/ /var/www/typo3/public/fileadmin/
    
    rsync -av --delete exploitation@prod-front:/var/www/typo3/archive/ /var/www/typo3/archive/


### 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.

