Installation on Fedora 24

rsayle wrote on Tuesday, September 06, 2016:

I recently got OpenEMR working on an instance of Fedora 24. Throughout the installation process, there were a few instances where I got stuck. Most of it was due to not having the right packages loaded for Apache, MySQL and PHP. Given the coolness of having a free EMR package available, I feel it’s my duty to share what combination finally worked for me so the next person who comes along can hopefully avoid the headaches.

MySQL: This was a simple install. As I recall, the base package (mysql57-community-release.noarch) included the others listed below.

mysql-community-client.x86_64 5.7.14-1.fc24 @mysql57-community
mysql-community-common.x86_64 5.7.14-1.fc24 @mysql57-community
mysql-community-libs.x86_64 5.7.14-1.fc24 @mysql57-community
mysql-community-server.x86_64 5.7.14-1.fc24 @mysql57-community
mysql57-community-release.noarch fc24-8 @@commandline

Apache: Another simple one. The base httpd.x86_64 package is likely all that was needed.
httpd.x86_64 2.4.23-4.fc24 @updates
httpd-filesystem.noarch 2.4.23-4.fc24 @updates
httpd-tools.x86_64 2.4.23-4.fc24 @updates
libnghttp2.x86_64 1.7.1-1.fc24 @fedora

PHP: Here’s where things got interesting. In a couple different steps, the installation program simply hung. What seemed to be going on under the covers is whatever PHP script was running didn’t have the necessary support package. The ones I’m certain fixed the problems I ran into were php-mysqlnd.x86_64 and php-adodb.noarch. There were also some warnings at one point about smarty not being available, and on a whim, I installed php-Smarty.noarch and php-Smarty2.noarch. I don’t recall seeing those messages again though I can’t be completely sure loading those packages is what did the trick. Still, it doesn’t hurt to have them.

php.x86_64 5.6.24-2.fc24 @updates
php-Smarty.noarch 3.1.21-4.fc24 @fedora
php-Smarty2.noarch 2.6.27-5.fc24 @fedora
php-adodb.noarch 5.15-9.fc24 @fedora
php-cli.x86_64 5.6.24-2.fc24 @updates
php-common.x86_64 5.6.24-2.fc24 @updates
php-mbstring.x86_64 5.6.24-2.fc24 @updates
php-mysqlnd.x86_64 5.6.24-2.fc24 @updates
php-pdo.x86_64 5.6.24-2.fc24 @updates
php-pecl-jsonc.x86_64 1.3.10-1.fc24 @updates
php-xml.x86_64 5.6.24-2.fc24 @updates

In addition to this, the file perms checking on the very first step failed until I relaxed the SELinux wrapper so that the httpd process could modify files. In other words, I changed SELINUX from enforcing to permissive in the /etc/selinux/config file. This isn’t the right thing to do for a production environment. I’m running my instance in a lab so I’m willing to change the security wrapper into monitor-only mode.

Good luck to the next Fedora OpenEMR installer!