I am trying to get Omeka 2.8 Classic to run in Azure containers. I have a web service app that runs a Debian variant with Apache and all of the require pre-reqs (although PHP is 7.4). The database exists in a separate app service container running MySQL 5.4 (I had to disable ssl to get it to work).
The Omeka install fails with no details. When I click the Install button a second time it seems to work, but ultimately once I turn on the dev environment I can see that it’s trying to use db tables that don’t exist. So the install didn’t actually complete.
Is there anything I can do to get Omeka to work in this environment? Is it a problem with PHP 7.4 that needs downgraded? Hopefully it’s a fix within the Omeka code so I don’t have to use old PHP. Any help would be appreciated.
Are you using Azure’s managed database product? Maybe it doesn’t support MyISAM: the search_texts table is the only one created during the install that uses the MyISAM engine.
Or, I see you say the database is in another container, maybe you have MyISAM disabled there? Something along those lines, I suspect.
With a modern MySQL (might need to be newer than 5.4, but maybe if you’re using Azure’s MySQL you have a higher version actually?) you can use InnoDB for that table: Omeka Classic supports quite old versions of MySQL and so uses MyISAM there for compatibility reasons.
That being said, at the moment you’d just have to manually edit the install SQL (application/schema/search_texts.sql) to change the engine for that table, we don’t have a more automatic way to change that.