• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Plesk 7.5.4 Reloaded Beta is now Available

Ok, I think I have tracked it down, it appears that the coldfusion server is removing the PSA files in /opt/coldfusionmx7/runtime/lib/wsconfig/psa

I found this in the wsconfig log:

09/02 09:19:07 info Macromedia JRun 4.0 (Build 91015)
09/02 09:19:08 debug Found JRun server coldfusion at 127.0.0.1:2920
09/02 09:19:09 debug Deleted directory /opt/coldfusionmx7/runtime/lib/wsconfig/psa
09/02 09:19:09 error This web server is already configured for JRun.
jrunx.connectorinstaller.ConnectorInstallerException: This web server is already configured for JRun.
at jrunx.connectorinstaller.ApacheInstaller.installConnector(ApacheInstaller.java:163)
at jrunx.connectorinstaller.ConnectorInstaller.installConnector(ConnectorInstaller.java:332)
at jrunx.connectorinstaller.ConnectorInstaller.doIt(ConnectorInstaller.java:266)
at jrunx.connectorinstaller.ConnectorInstaller.main(ConnectorInstaller.java:752)

09/02 09:21:08 info Macromedia JRun 4.0 (Build 91015)
09/02 09:21:08 info Server version: Apache/2.0.46
09/02 09:21:09 error Error running "/etc/rc.d/init.d/httpd restart": exit code was 1
09/02 09:21:09 info Error restarting Apache server. The web server must be restarted to complete this operation.
When this occurs, there are stalled cfusion/apache child processes which hang on the server and then apache attempts to restart, but it fails because psa has placed the call to load /opt/coldfusionmx7/runtime/lib/wsconfig/psa/mod_jrun20.so in the httpd.include file.

I have commented out the jrun settings in /etc/httpd/conf/httpd.conf file :

# JRun Settings
#LoadModule jrun_module /opt/coldfusionmx7/runtime/lib/wsconfig/1/mod_jrun20.so
#<IfModule mod_jrun20.c>
# JRunConfig Verbose false
# JRunConfig Apialloc false
# JRunConfig Ssl false
# JRunConfig Ignoresuffixmap false
# JRunConfig Serverstore /opt/coldfusionmx7/runtime/lib/wsconfig/1/jrunserver.store
# JRunConfig Bootstrap 127.0.0.1:51011
# #JRunConfig Errorurl <optionally redirect to this URL on errors>
# #JRunConfig ProxyRetryInterval 600
# #JRunConfig ConnectTimeout 15
# #JRunConfig RecvTimeout 300
# #JRunConfig SendTimeout 15
# AddHandler jrun-handler .jsp .jws .cfm .cfml .cfc .cfr .cfswf
#</IfModule>
And everything is back to normal, for now. I would assume that coldfsion will attempt to remove the psa files again once the coldfsuion servers is restarted?
 
How did you install ColdFusion? As a seperate server or as an Apache module?

I installed it as an Apache module, then removed the information ColdFusion added to httpd.conf:

Code:
<IfModule mod_jrun20.c>
    JRunConfig Verbose false
    JRunConfig Apialloc false
    JRunConfig Ssl false
    JRunConfig Ignoresuffixmap false
    JRunConfig Serverstore /opt/coldfusionmx7/runtime/lib/wsconfig/1/jrunserver.store
    JRunConfig Bootstrap 127.0.0.1:51011
    #JRunConfig Errorurl <optionally redirect to this URL on errors>
    #JRunConfig ProxyRetryInterval 600
    #JRunConfig ConnectTimeout 15
    #JRunConfig RecvTimeout 300
    #JRunConfig SendTimeout 15
    AddHandler jrun-handler .jsp .jws .cfm .cfml .cfc .cfr .cfswf
</IfModule>
and placed it in a coldfusion.include file. I did however change the line:

Code:
JRunConfig Serverstore /opt/coldfusionmx7/runtime/lib/wsconfig/1/jrunserver.store
to:

Code:
JRunConfig Serverstore /opt/coldfusionmx7/runtime/lib/wsconfig/psa/jrunserver.store
In httpd.conf I added

Code:
Include /etc/httpd/conf/coldfusion.include
I then created a symlink called 'psa' to the '1' dir inside /opt/coldfusionmx7/runtime/lib/wsconfig/.

This seems to work, ColdFusion works, HTTP keeps up, and Plesk is doing fine with these settings as well.

Only problem I have is that since the ColdFusion installation, PostgreSQL seems to fail starting up.
 
#ln -s /opt/coldfusionmx7/runtime/lib/wsconfig/1 psa
#chown apache:apache psa

As soon as the coldfusionmx7 service is restarted it just removes the symlink also?

But the server does appear to be running again normally.
 
Ok well this works:

Add to restart section:

#vi /etc/init.d/coldfusionmx7

restart)
echo "Restarting ColdFusion MX 7..."
cfstop
cfstart
echo "================================================="
echo "Adding PSA/PLESK Support"
echo "================================================="
ln -s /opt/coldfusionmx7/runtime/lib/wsconfig/1 /opt/coldfusionmx7/runtime/lib/wsconfig/psa
chown apache:apache /opt/coldfusionmx7/runtime/lib/wsconfig/psa
;;

This will ensure that the psa symlink is recreated if cfdebug removes it.
 
Couldn't you just do what I did? I mean, server configuration "1" is not needed at all, just "psa". So if you just make sure Apache loads the psa configuration instead of 1, you don't have to keep creating these symlinks.

I have, just to test, rebooted a couple times, and all still works with my method.
 
Are you on RHEL3? Yes I have it an apache module, the /wsconfig/1 is required by coldfusion and is created by coldfusion and not plesk.

moving:

<IfModule mod_jrun20.c>
JRunConfig Verbose false
JRunConfig Apialloc false
JRunConfig Ssl false
JRunConfig Ignoresuffixmap false
JRunConfig Serverstore /opt/coldfusionmx7/runtime/lib/wsconfig/1/jrunserver.store
JRunConfig Bootstrap 127.0.0.1:51011
#JRunConfig Errorurl <optionally redirect to this URL on errors>
#JRunConfig ProxyRetryInterval 600
#JRunConfig ConnectTimeout 15
#JRunConfig RecvTimeout 300
#JRunConfig SendTimeout 15
AddHandler jrun-handler .jsp .jws .cfm .cfml .cfc .cfr .cfswf
</IfModule>

to an include file is the same as leaving it where it was, you do not need this section at all, since PLESK writes it into the http.include file anyway.

the only thing you really did was change:
/opt/coldfusionmx7/runtime/lib/wsconfig/1/jrunserver.store

to

/opt/coldfusionmx7/runtime/lib/wsconfig/psa/jrunserver.store

then you create a symlink to /opt/coldfusionmx7/runtime/lib/wsconfig/1 named psa in the /opt/coldfusionmx7/runtime/lib/wsconfig

Which is exactly what I did.

Did you look at your files recently after you restart the coldfusion services? Is the psa symlink still there?

Maybe you did not see where I posted this:

vi /opt/coldfusionmx7/runtime/lib/wsconfig/wsconfig.log
------------------------------------
09/02 22:26:51 info Macromedia JRun 4.0 (Build 91015)
09/02 22:26:53 debug Found JRun server coldfusion at 127.0.0.1:2920
09/02 22:26:53 debug Deleted directory /opt/coldfusionmx7/runtime/lib/wsconfig/psa
09/02 22:26:53 error This web server is already configured for JRun.
------------------------------------
 
Have you updated your cfmx7 with the latest updater? Bacuase our cfmx7 is behaving differently then yours.

I don't know why jrun debugger would be deleting the psa files to begin with, it just makes it hard for other software to integrate with cfmx.

Anyhow, I remove the symlink code from the init script as it too proved to be causing a bit of trouble, so I then created a folder /opt/coldfusionmx7/runtime/lib/psa and then copied the contents of /opt/coldfusionmx7/runtime/lib/wsconfig/psa into it, I then removed the folder /opt/coldfusionmx7/runtime/lib/wsconfig/psa and replaced it with a symlink to /opt/coldfusionmx7/runtime/lib/psa.

I have restarted coldfusion and it appears to work, as long as the symlink is not pointing to any files located in the /opt/coldfusionmx7/runtime/lib/wsconfig/ folder, then jrun debug will leave it alone.
 
The debugger only attempts to delete the psa files during the apache connection process.

Since we are using PLESK to connect apache we won't be needing the cfmx7 apache connector.

vi /etc/init.d/coldfusionmx7

comment out the following section,

-------------------------------------------------------------------------------------------------

# [ -f "$CF_DIR/bin/cfmx-connectors.sh" ] && {
#
# echo "================================================"
# echo "Running the ColdFusion MX 7 connector wizard"
# echo "========================================"
#
# sh $CF_DIR/bin/cfmx-connectors.sh && {
# mv -f $CF_DIR/bin/cfmx-connectors.sh $CF_DIR/bin/cfmx-connectors-run.sh
# }
# }

--------------------------------------------------------------------------------------------------
 
I have read through the thread and noticed that some of you had problems with the changed filesystem strucure.

I plan to migrate my users from one server to another. First server is PSA 7.5.3
The new server is set up with 7.5.4

Will there be a problem when migrating the users? How do I avoid the problem with the file system? On our current server, all stuff is under /usr/local/psa/home/vhosts. I plan to use now on the new server the same directory, because I don't have the time now to inform users, help the scripting and so on.

But in future I want to migrate to the right place. Is this possible? What will be the best way? Making now a symlink (which doesnt work in some cases I heard) or changing the HTTPD_VHOSTS_D in psa.conf?

And yes, the aspect making different partitions for different directories does actually make sense. When a process in /tmp or /var fills the file system, not the whole server is affected, but only the filesystem it happened in.

Kd rgrds
 
You'd be better moving to the new location and making a symlink I think.
 
Ok, I'll try that. I just thought that I read that somewhere that apache doesnt like symlinks outside the webroot for security reasons. But it seems like I only have one choice: testing it ;)

I will report my success (or unsuccess) on this.
 
Originally posted by dm__
Why did not anyone mention making a symlink /home/httpd/vhosts -> /var/www/vhosts? It's an easy solution, AFAIU.
Did anyone try this? Will PHP scripts with hardcoded paths to the old vhost dir still work fine? I am a little worried about safe mode restrictions, etc.

Thanks.
 
You are still going to have permission issues because of the open_basedir ****.

You'd have to adjust everyones to allow for it.

Regards,
Eric
 
Back
Top