installation thelia 2.2 chez OVH
La procédure d'installation de Thélia pour un néophyte comporte quelques petits pièges surtout sur un hébergement mutualisé OVH.
Voici donc quelques problèmes rencontrés avec leurs solutions
J'ai choisi d'installer Thélia à partir du fichier Zip disponible sur thelia.net
Après avoir dézipper le fichier dans mon répertoire la première mauvaise surprise est que thélia crée un repertoire nommé avec la version de thélia.
Première manipulation je déplace les fichiers vers la racine de mon répertoire (facile)
Je lance l'installation via le navigateur et je m'aperçois que thelia est redirigé vers un nouveau sous-repertoire "/web/". Pour l'instant je laisse tomber ce problème ... on verra plus tard.
en tombant sur une magnifique ERROR 500 je fais quelques recherches sur les forums
- il faut être en php 5.4
- il faut changer certains droits sur les répertoires ( voir ici dans le forum thélia )
mois j'ai fais çàchmod 755 -R local/session
chmod 755 -R local/media
chmod 755 -R web/
chmod 755 -R log/
chmod 755 -R cache/
Je ne sais plus comment j'ai raté ma première installation mais il n'en reste pas moins que pour relancer une installation il faut que les tables de thélia ne soient plus présentes.
Impossible de supprimer la base de données car j'ai d'autres sites internet qui utilisent cette base. Il me faut donc faire des drops.Il nest pas simple de repérer les tables thélia car elles ne sont pas préfixées. C'est fort dommage car cela empêche de mettre plusieurs thélia sur une même base de données. De ce que j'ai pu voir sur les forums thélia cette lacune devrait subsister longtemps.
Le bon point de Thélia c'est l'utilisation des clés étrangères. Par contre pour supprimer les tables cela implique de tout vider ou de faires les drop dans un certains ordre
Ainsi j'ai pu terminer mon installation correctement.
Cet article sera complété pour
- enlever les /web/
- corriger la séquence de drop (il faut queje reteste)
Un autre article sera réalisé pour la partie Migration soit avec l'outil proposé par Thélia soit avec Talend. Mais l'utilisation de ce dernier demande de bien connaître le modèle de données. Il faudra donc que je le (re)découvre.
DROP TABLE IF EXISTS `attribute_av_i18n`;
DROP TABLE IF EXISTS `brand_document_i18n`;
DROP TABLE IF EXISTS `brand_i18n`;
DROP TABLE IF EXISTS `attribute_i18n`;
DROP TABLE IF EXISTS `category_i18n`;
DROP TABLE IF EXISTS `category_image_i18n`;
DROP TABLE IF EXISTS `category_document_i18n`;
DROP TABLE IF EXISTS `config_i18n`;
DROP TABLE IF EXISTS `content_document_i18n`;
DROP TABLE IF EXISTS `content_image_i18n`;
DROP TABLE IF EXISTS `country_i18n`;
DROP TABLE IF EXISTS `coupon_i18n`;
DROP TABLE IF EXISTS `export_category_i18n`;
DROP TABLE IF EXISTS `customer_title_i18n`;
DROP TABLE IF EXISTS `currency_i18n`;
DROP TABLE IF EXISTS `content_i18n`;
DROP TABLE IF EXISTS `export_i18n`;
DROP TABLE IF EXISTS `feature_av_i18n`;
DROP TABLE IF EXISTS `feature_i18n`;
DROP TABLE IF EXISTS `folder_i18n`;
DROP TABLE IF EXISTS `folder_image_i18n`;
DROP TABLE IF EXISTS `folder_document_i18n`;
DROP TABLE IF EXISTS `import_category_i18n`;
DROP TABLE IF EXISTS `module_config_i18n`;
DROP TABLE IF EXISTS `message_i18n`;
DROP TABLE IF EXISTS `hook_i18n`;
DROP TABLE IF EXISTS `import_i18n`;
DROP TABLE IF EXISTS `module_i18n`;
DROP TABLE IF EXISTS `module_image_i18n`;
DROP TABLE IF EXISTS `order_status_i18n`;
DROP TABLE IF EXISTS `product_image_i18n`;
DROP TABLE IF EXISTS `product_document_i18n`;
DROP TABLE IF EXISTS `profile_i18n`;
DROP TABLE IF EXISTS `resource_i18n`;
DROP TABLE IF EXISTS `product_i18n`;
DROP TABLE IF EXISTS `product_price`;
DROP TABLE IF EXISTS `sale_i18n`;
DROP TABLE IF EXISTS `tax_i18n`;
DROP TABLE IF EXISTS `tax_rule_i18n`;
DROP TABLE IF EXISTS `template_i18n`;
delete from `tax`;
delete from `template`;
delete from `brand`;
delete from `product_associated_content`;
delete from `product_category`;
delete from `product_document`;
delete from `product_image`;
delete from `product_sale_elements`;
delete from `product_sale_elements_product_document`;
delete from `product_sale_elements_product_image`;
delete from `product_version`;
delete from `product`;
delete from `profile`;
delete from `profile_module`;
delete from `profile_resource`;
delete from `accessory`;
delete from `address`;
delete from `admin`;
delete from `admin_log`;
delete from `api`;
delete from `area`;
delete from `area_delivery_module`;
delete from `attribute`;
delete from `attribute_av`;
delete from `attribute_combination`;
delete from `attribute_template`;
delete from `brand_document`;
delete from `brand_image`;
delete from `brand_image_i18n`;
delete from `cart`;
delete from `cart_item`;
delete from `category`;
delete from `category_associated_content`;
delete from `category_document`;
delete from `category_image`;
delete from `category_version`;
delete from `config`;
delete from `content`;
delete from `content_document`;
delete from `content_folder`;
delete from `content_image`;
delete from `content_version`;
delete from `country`;
delete from `country_area`;
delete from `coupon`;
delete from `coupon_country`;
delete from `coupon_customer_count`;
delete from `coupon_module`;
delete from `coupon_version`;
delete from `currency`;
delete from `customer`;
delete from `customer_title`;
delete from `customer_version`;
delete from `export`;
delete from `export_category`;
delete from `feature`;
delete from `feature_av`;
delete from `feature_product`;
delete from `feature_template`;
delete from `folder`;
delete from `folder_document`;
delete from `folder_image`;
delete from `folder_version`;
delete from `form_firewall`;
delete from `hook`;
delete from `ignored_module_hook`;
delete from `import`;
delete from `import_category`;
delete from `lang`;
delete from `message`;
delete from `message_version`;
delete from `meta_data`;
delete from `module`;
delete from `module_config`;
delete from `module_hook`;
delete from `module_image`;
delete from `newsletter`;
delete from `order`;
delete from `order_address`;
delete from `order_coupon`;
delete from `order_coupon_country`;
delete from `order_coupon_module`;
delete from `order_product`;
delete from `order_product_attribute_combination`;
delete from `order_product_tax`;
delete from `order_status`;
delete from `order_version`;
delete from `resource`;
delete from `rewriting_argument`;
delete from `rewriting_url`;
delete from `sale`;
delete from `sale_offset_currency`;
delete from `sale_product`;
delete from `tax_rule`;
delete from `tax_rule_country`;
DROP TABLE IF EXISTS `tax`;
DROP TABLE IF EXISTS `template`;
DROP TABLE IF EXISTS `brand`;
DROP TABLE IF EXISTS `product_associated_content`;
DROP TABLE IF EXISTS `product_category`;
DROP TABLE IF EXISTS `product_document`;
DROP TABLE IF EXISTS `product_image`;
DROP TABLE IF EXISTS `product_sale_elements`;
DROP TABLE IF EXISTS `product_sale_elements_product_document`;
DROP TABLE IF EXISTS `product_sale_elements_product_image`;
DROP TABLE IF EXISTS `product_version`;
DROP TABLE IF EXISTS `product`;
DROP TABLE IF EXISTS `profile`;
DROP TABLE IF EXISTS `profile_module`;
DROP TABLE IF EXISTS `profile_resource`;
DROP TABLE IF EXISTS `accessory`;
DROP TABLE IF EXISTS `address`;
DROP TABLE IF EXISTS `admin`;
DROP TABLE IF EXISTS `admin_log`;
DROP TABLE IF EXISTS `api`;
DROP TABLE IF EXISTS `area`;
DROP TABLE IF EXISTS `area_delivery_module`;
DROP TABLE IF EXISTS `attribute`;
DROP TABLE IF EXISTS `attribute_av`;
DROP TABLE IF EXISTS `attribute_combination`;
DROP TABLE IF EXISTS `attribute_template`;
DROP TABLE IF EXISTS `brand_document`;
DROP TABLE IF EXISTS `brand_image`;
DROP TABLE IF EXISTS `brand_image_i18n`;
DROP TABLE IF EXISTS `cart`;
DROP TABLE IF EXISTS `cart_item`;
DROP TABLE IF EXISTS `category`;
DROP TABLE IF EXISTS `category_associated_content`;
DROP TABLE IF EXISTS `category_document`;
DROP TABLE IF EXISTS `category_image`;
DROP TABLE IF EXISTS `category_version`;
DROP TABLE IF EXISTS `config`;
DROP TABLE IF EXISTS `content`;
DROP TABLE IF EXISTS `content_document`;
DROP TABLE IF EXISTS `content_folder`;
DROP TABLE IF EXISTS `content_image`;
DROP TABLE IF EXISTS `content_version`;
DROP TABLE IF EXISTS `country`;
DROP TABLE IF EXISTS `country_area`;
DROP TABLE IF EXISTS `coupon`;
DROP TABLE IF EXISTS `coupon_country`;
DROP TABLE IF EXISTS `coupon_customer_count`;
DROP TABLE IF EXISTS `coupon_module`;
DROP TABLE IF EXISTS `coupon_version`;
DROP TABLE IF EXISTS `currency`;
DROP TABLE IF EXISTS `customer`;
DROP TABLE IF EXISTS `customer_title`;
DROP TABLE IF EXISTS `customer_version`;
DROP TABLE IF EXISTS `export`;
DROP TABLE IF EXISTS `export_category`;
DROP TABLE IF EXISTS `feature`;
DROP TABLE IF EXISTS `feature_av`;
DROP TABLE IF EXISTS `feature_product`;
DROP TABLE IF EXISTS `feature_template`;
DROP TABLE IF EXISTS `folder`;
DROP TABLE IF EXISTS `folder_document`;
DROP TABLE IF EXISTS `folder_image`;
DROP TABLE IF EXISTS `folder_version`;
DROP TABLE IF EXISTS `form_firewall`;
DROP TABLE IF EXISTS `hook`;
DROP TABLE IF EXISTS `ignored_module_hook`;
DROP TABLE IF EXISTS `import`;
DROP TABLE IF EXISTS `import_category`;
DROP TABLE IF EXISTS `lang`;
DROP TABLE IF EXISTS `message`;
DROP TABLE IF EXISTS `message_version`;
DROP TABLE IF EXISTS `meta_data`;
DROP TABLE IF EXISTS `module`;
DROP TABLE IF EXISTS `module_config`;
DROP TABLE IF EXISTS `module_hook`;
DROP TABLE IF EXISTS `module_image`;
DROP TABLE IF EXISTS `newsletter`;
DROP TABLE IF EXISTS `order`;
DROP TABLE IF EXISTS `order_address`;
DROP TABLE IF EXISTS `order_coupon`;
DROP TABLE IF EXISTS `order_coupon_country`;
DROP TABLE IF EXISTS `order_coupon_module`;
DROP TABLE IF EXISTS `order_product`;
DROP TABLE IF EXISTS `order_product_attribute_combination`;
DROP TABLE IF EXISTS `order_product_tax`;
DROP TABLE IF EXISTS `order_status`;
DROP TABLE IF EXISTS `order_version`;
DROP TABLE IF EXISTS `resource`;
DROP TABLE IF EXISTS `rewriting_argument`;
DROP TABLE IF EXISTS `rewriting_url`;
DROP TABLE IF EXISTS `sale`;
DROP TABLE IF EXISTS `sale_offset_currency`;
DROP TABLE IF EXISTS `sale_product`;
DROP TABLE IF EXISTS `tax_rule`;
DROP TABLE IF EXISTS `tax_rule_country`;
suppression du /web/
Personnellement je trouve dommageable que Thelia impose ce sous repertoire lors d'une installation par défaut. Cela rend le logiciel difficile d'accès pour une néophite. Ce defaut combiné à l'absence de préfixe de table SQL rend son exploitatiion moins simple.
Pour supprimé le /web/ le plus simple pour moi a été de paramètré mes DNS du nom de domaine afin de le faire pointer directer sur le repertoire /web/
Je n'ai pas voulu me lancer dans d'autres aventures ou tentatives de paramètrages !