I’m working with a fresh installation of RT4.4.4, and it works fine if I run the server in standalone mode using /opt/rt4/sbin/rt-server. I can access the webpage and everything just fine. (EDIT: It may be useful to mention that this is on a RHEL 7 VM, SELinux is disabled, and firewalld is masked)
If I stop that process and try to bring it up using httpd, I can’t get it to work at all. I’m using the rt.conf files provided here, only removing the directives because they’re broken and unnecessary, and updating the server name to match my FQDN.
If I run httpd with the mod_perl config, I get to a page that tells me I’m “almost done” setting up the server, and I just need to tell http to use RT. That page directs me to the one I already linked, from where I had already copied the server configuration file.
If I run httpd with fcgi, it tells me it can’t find the require perl module.
Here’s my rt.conf file.
<VirtualHost *:80>
### Optional apache logs for RT
# Ensure that your log rotation scripts know about these files
# ErrorLog /opt/rt4/var/log/apache2.error
# TransferLog /opt/rt4/var/log/apache2.access
# LogLevel debug
ServerName <FQDN>
AddDefaultCharset UTF-8
ScriptAlias / /opt/rt4/sbin/rt-server.fcgi/
DocumentRoot "/opt/rt4/share/html"
<Location />
Require all granted
Options +ExecCGI
AddHandler fcgid-script fcgi
</Location>
</VirtualHost>
httpd_error_log
[Fri May 08 15:30:31.548805 2020] [fcgid:info] [pid 13231] mod_fcgid: server :/opt/rt4/sbin/rt-server.fcgi(13278) started
Can’t locate UNIVERSAL/require.pm in @INC (@INC contains: /opt/rt4/sbin/…/local/lib /opt/rt4/sbin/…/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /opt/rt4/sbin/…/lib/RT.pm line 60.BEGIN failed–compilation aborted at /opt/rt4/sbin/…/lib/RT.pm line 60.
Compilation failed in require at /opt/rt4/sbin/rt-server.fcgi line 86.
The file is definitely there.
[root@rt_host conf.d]# find /usr -iname ‘require.pm’
/usr/local/share/perl5/Test2/Require.pm
/usr/local/share/perl5/UNIVERSAL/require.pm
And it’s in @INC’s path.
[root@rt_host conf.d]# env -i perl -V | grep @INC -A 10 @INC: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5
What am I missing?