I found all too little information on the PlayStation 2 Virtual Reality Headset and was even told in 2004 or 2003 by a Sony representative that what I had seen and read about in magazines was a prototype, and that it was never actually for sale.  Within 10 minutes I found it for sale on the Japan Sony Website.  Here is all or most of the info I could track down:
Head Mount Display
If Head Mount Display software, to move in all directions horizontally and vertically on the head can realize the virtual image of the world! Display is only for yourself and enjoy games and movies.  HT(DVD) HT software (game or DVD, etc.) can be used in conjunction with, and feels that enters into the picture space in all directions, the item propose a new way of creating a sound and visual entertainment world .
HT(Head-action Tracker ) HT (Head-action Tracker Head Mount Display).
You can experience the virtual image space in all directions horizontally and vertically by moving the head.
HT3D Note HT software and other 3D work and video will not work.
42(:2m) 42-worth of standard screen support (virtual visual range: approx 2m).
achieve a hard-edged sound and video.
Hold high style headphones ‘OBAHEDDOTAIPU’ achieve a comfortable wear.
More information
[Description] PUD-J5A Model for the PUD-J5A
Head Mount Display format
LCD 0.44/18×2 LCD 0.44-/ about 18 million pixels × 2
25 42( 2m) Horizontal angle of about 25 degrees virtual screen size equivalent to 42 inches (virtual visual distance of about 2m)
· AV IN() Input pin style style overhead type headphones attached form an open-air type headphones display AV IN terminal (stereo mini jack for setting special)
· S-VIDEO(S) S-VIDEO (S video input) output terminal
HT3() HT terminal 3 (out HEDDOAKUSHONTORAKKADETA)
· HT(“2″USB) HT power supply via the terminal ( “PlayStation 2″ in the body only when connected to the USB terminal)
· AC 1.5W AC power consumption of about 1.5W Power Adapters
· :340g Body Weight: 340g
· :80g Interface Box: About 80g
· :200×100×250mm()(××) Maximum body dimensions: approximately 200 × 100 × 250mm (when folding) (width × height × depth)
· :70×20×110mm(××) Interface Box: about 70 × 20 × 110mm (width × height × depth)
· AC×1 Accessories AC Power Adapter × 1
· AV(×3)×1 AV cable (special SUTEREOMINIPURAGU pin plug × 3) × 1
· ()×3 Plug Adapter (Jack-pin pin jack) × 3
· HT×1 HT cable × 1
· ×4() Cushion × 4 (for the interface box)
1: 1: Depending on how the software is also unable to visit all directions of the virtual space.
2:(Head-action Tracker): 2: HEDDOAKUSHONTORAKKA (Head-action Tracker) function: to reflect the image sensor to detect movement of the side of the head. 3: HT”2” This user is an all-round view over the virtual image space 3: HT function unit and “PlayStation 2” Please use only in connection with. “2” “PlayStation 2” is connected to other devices, the operation can not be guaranteed.
SONY’s PS2 launch and matching head-mounted liquid crystal display
[Industry News] [Read Trips
2002年09月11日16:19 At 16:19 on September 11, 2002
[æ–‡ç« ç®€ä»‹] [Profile] Articles
SONY Corporation in order to cope with the recent Japanese PS2 sales, but also launched a head-mounted display glasses: PUD-J5A, expected to be available September 26, it is estimated cost about Â¥ 59,800, equivalent to RMB … (recommended) (201 words)
SONY Corporation in order to cope with the recent Japanese PS2 sales, but also launched a head-mounted display glasses: PUD-J5A, expected to be available September 26, it is estimated cost about ¥ 59,800, equivalent to RMB 4,000 yuan.
PUD-J5A has two 0.44-inch 827 × 228. Resolution of about 18 million pixels of the LCD Head Mounted Display, sight distance 2m, dimension 200 × 250 × 100mm (width × depth × height), weight is about 340g.
JHMCS
JHMCS (queuing system integrated helmet attached). HUD real image projected on the visor of the helmet system that some of view can be found here.
What happened and what it means, PDAF (Pontsuku Hall Air Force) is finally introduced!  SONY made a wish HMD, [PUD-J5A] Yafuoku to get!
Click photo is a little larger.
Hmd01_1
This HMD is about features they Heddoakushontorakka, things that you use omni-directional view of the corresponding game.  Immediately “Eimusutoraiku Enajieafosu!” Give it to.
Actual JHMCS will also introduce the F-35 flight. Front cockpit.
Turn left and head
Arrow to lock the enemy planes at an angle like this.
Fox 2!
Literally, we Sidewinder rushing over sideways.
While desperately trying to avoid releasing flares Tu-160.
One splash!
AIM-9X can now finally proved the ability to bore off site.  And F-35 and very easy to overlook when around the vertical landing. “Eimusutoraiku Enajieafosu!” Some time to play again. …… “Earodanshingu 4” Naa it was very, very easy for photography … but if someone would correspond
This HMD, a promise is 2m away and the screen 42 is equivalent to the type, quality minutes, so there is a limit to the pixel in the LCD will be less rough course. And difficult to read small letters. Than expected but quality was good.   It seems to work Heddoakushontorakka, Ito Tetsu so this is no longer move his head like crazy, sometimes reset button (with the headphones are left), there is a pressing need.
The other five were released but only Pureisuteshondottokomu years ago, was quite expensive (¥ 59,800) take the next step should be the ones who want to buy it abuses.  In fact, almost出Nakatta corresponding games. Today is quite difficult to obtain. Sometimes that comes out to check the Yafuoku.
A basic example:
1 |
scp filename user@host.com:/path/where/you/want/it |
SCP
The scp command allows you to copy files over ssh connections. This is pretty useful if you want to transport files between computers, for example to backup something. The scp command uses the ssh command and they are very much alike. However, there are some important differences.
The scp command can be used in three* ways: to copy from a (remote) server to your computer, to copy from your computer to a (remote) server, and to copy from a (remote) server to another (remote) server. In the third case, the data is transferred directly between the servers; your own computer will only tell the servers what to do. These options are very useful for a lot of things that require files to be transferred, so let’s have a look at the syntax of this command:
1 |
scp examplefile yourusername@yourserver:/home/yourusername/ |
Looks quite familiar, right? But there are differences. The command above will transfer the file “examplefile†to the directory “/home/yourusername/†at the server “yourserverâ€, trying to get ssh acces with the username “yourusernameâ€. That’s quite a lot information, but scp really needs it all. Well, almost all of it. You could leave out the “yourusername@†in front of “yourserverâ€, but only if you want to login on the server with your current username on your own computer. Let’s have a closer look at the end of the command. There’s a colon over there, with a directory after it. Just like Linux’s normal cp command, scp will need to know both the source file(s) and the target directory (or file). For remote hosts, the file(s)/directory are given to the scp command is this way.
You can also copy a file (or multiple files) from the (remote) server to your own computer. Let’s have a look at an example of that:
1 |
scp yourusername@yourserver:/home/yourusername/examplefile . |
Note: The dot at the end means the current local directory. This is a handy trick that can be used about everywhere in Linux. Besides a single dot, you can also type a double dot ( .. ), which is the parent directory of the current directory.
This will copy the file “/home/yourusername/examplefile†to the current directory on your own computer, provided that the username and password are correct and that the file actually exists.
You probably already guessed that the following command copies a file from a (remote) server to another (remote) server:
1 |
scp yourusername@yourserver:/home/yourusername/examplefile yourusername2@yourserver2:/home/yourusername2/ |
Please note that, to make the above command work, the servers must be able to reach each other, as the data will be transferred directly between them. If the servers somehow can’t reach each other (for example, if port 22 is not open on one of the sides) you won’t be able to copy anything. In that case, copy the files to your own computer first, then to the other host. Or make the servers able to reach each other (for example by opening the port).
Well, those are the main uses of scp. We’ll now go a bit more in-depth about the differences between ssh and scp.
*: Actually you can also use it just like the normal cp command, withhout any ssh connections in it, but that’s quite useless. It requires you to type an extra ‘s’ =).
Specifying a port with scp
The scp command acts a little different when it comes to ports. You’d expect that specifying a port should be done this way:
1 |
scp -p yourport yourusername@yourserver:/home/yourusername/examplefile . |
However, that will not work. You will get an error message like this one:
cp: cannot stat `yourport’: No such file or directory
This is caused by the different architecture of scp. It aims to resemble cp, and cp also features the -p option. However, in cp terms it means ‘preserve’, and it causes the cp command to preserve things like ownership, permissions and creation dates. The scp command can also preserve things like that, and the -p option enables this feature. The port specification should be done with the -P option. Therefore, the following command will work:
1 |
scp -P yourport yourusername@yourserver:/home/yourusername/examplefile . |
Also note that the -P option must be in front of the (remote) server. The ssh command will still work if you put -p yourport behind the host syntax, but scp won’t. Why? Because scp also supports copying between two servers and therefore needs to know which server the -P option applies to.
Another difference between scp and ssh
Unlike ssh, scp cannot be used to run a command on a (remote) server, as it already uses that feature of ssh to start the scp server on the host. The scp command does have an option that accepts a program (the -S option), but this program will then be used instead of ssh to establish the encrypted connection, and it will not be executed on the remote host.
Tips & Tricks with ssh and scp
Quite a handy thing about scp is that it supports asterisks. You can copy all files in a remote directory in a way like this:
1 |
scp yourusername@yourserver:/home/yourusername/* . |
And you can also just copy a whole directory by specifying the -r (recursive) option:
1 |
scp -r yourusername@yourserver:/home/yourusername/ . |
Both of these also work when copying to a (remote) server or copying between a (remote) server and another (remote) server.
The ssh command can come in handy if you don’t know the exact location of the file you want to copy with scp. First, ssh to the (remote) server:
ssh yourusername@yourserver
Then browse to the right directory with cd. This is essential Linux terminal knowledge, so I won’t explain it here. When you’re in the right directory, you can get the full path with this command:
1 |
pwd |
Note: pwd is an abbreviation of Print Working Directory, which is a useful way to remember the command.
You can then copy this output, leave the ssh shell by pressing Ctrl + D, and then paste the full directory path in your scp command. This saves a lot of remembering and typing!
You can also limit the bandwidth scp may use when copying. This is very useful if you’re wanting to copy a huge amount of data without suffering from slow internet for a long time. Limiting bandwidth is done this way:
1 |
scp -l bandwidthlimit yourusername@yourserver:/home/yourusername/* . |
The bandwidth is specified in Kbit/sec. What does this mean? Eight bits is one byte. If you want to copy no faster than 10 Kbyte/sec, set the limit to 80. If you want to copy no faster than 80 Kbyte/sec, set the limit to 640. Get it? You should set the limit to eight times the maximum Kbyte/sec you want it to be. I’d recommend to set the -l option with all scp’ing you do on a connection that other people need to use, too. A big amount of copying can virtually block a whole 10 Mbit network if you’re using hubs.
In some cases, FusionReactor may be behind a load balancer or CDN, or any other type of proxy that updates the source IP as seen by the server. It helps to see where the requests are actually originating from. For that, FusionReactor has an option for this:
http://www.fusion-reactor.com/support/kb/frs-351/
See the Requests>Settings>Proxy, which lets you tell FR that you need it to use some alternative header for the “real†ip address..
You will see that in the “proxy header†field there is a drop-down, but it doesn’t show your specific header, rather a couple of the most common alternatives. Just paste the name of your header into that field and save the configuration changes.
Once you have saved this change, you should be able to check the Requests>History page to confirm that you now see the real IP’s showing up.
First, you need your installation defaults, find the installer.properties example below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
INSTALLER_UI=SILENT SILENT_LICENSE_MODE=full SILENT_SERIAL_NUMBER= SILENT_PREV_SERIAL_NUMBER= SILENT_INSTALLER_TYPE=standalone SILENT_INSTALL_ODBC=false SILENT_INSTALL_JNBRIDGE=false SILENT_INSTALL_ADMIN=false SILENT_INSTALL_SOLR=true SILENT_INSTALL_PDFG=true SILENT_INSTALL_FOLDER=/opt/coldfusion11 SILENT_ENABLE_PROD_SECURE_PROFILE=true SILENT_ENABLE_PROD_DEFAULT_PROFILE=false SILENT_ENABLE_DEV_PROFILE=false SILENT_ADMIN_IP=127.0.0.1 SILENT_JETTY_IP= SILENT_ADMIN_USERNAME=admin SILENT_ADMIN_PASSWORD=Adm1n$12 SILENT_ENABLE_RDS=false SILENT_RDS_PASSWORD=Adm1n$12 SILENT_JETTY_USERNAME=admin SILENT_JETTY_PASSWORD=Adm1n$12 SILENT_CONTEXT_ROOT= SILENT_AUTO_ENABLE_UPDATES=true SILENT_MIGRATE_COLDFUSION=false SILENT_PREV_CF_MIGR_DIR=/opt/coldfusion10 ENABLE_RDS=false ENABLE_WSRP=false ENABLE_JSDEBUG=false ENABLE_CFR=false ENABLE_CFSWF=false ENABLE_CFFORMS=false |
With this file, you can install ColdFusion 11 with the following:
1 |
./ColdFusion_11_WWEJ_linux64.bin -f installer.properties >> CF11Installer.log |
The output in the log file should look something like this:
1 2 3 4 5 6 7 |
Preparing to install... Extracting the JRE from the installer archive... Unpacking the JRE... Extracting the installation resources from the installer archive... Configuring the installer for this system's environment... Launching installer... |
Chown the CFIDE:
1 |
chown -R nobody:nobody /opt/coldfusion11/cfusion/wwwroot/CFIDE |
Backup your license.properties:
1 |
cp /opt/coldfusion11/cfusion/lib/license.properties /opt/coldfusion11/cfusion/runtime/lib/license.properties |
Add the service:
1 |
sh /opt/coldfusion11/bin/cf-init.sh install |
If the above does not exist, and well hey, it didn’t for me, I did write another article with the file needed. Â Check that Article out.
sconfig wants the “real” hostname or the connector won’t install.
1 2 |
cp /etc/hosts /etc/hostsbackup.$$ echo 127.0.0.1 localhost.localdomain localhost `hostname` > /etc/hosts |
Turn the listen flag to false in the license.propterties:
1 |
perl -pi -e 's/listen=true/listen=false/' /opt/coldfusion11/cfusion/lib/license.properties |
Start ColdFusion:
1 |
/opt/coldfusion11/cfusion/bin/coldfusion start && sleep 10 && |
Perform the wsconfig:
In my example, I happened to run the command twice, with varied setups. Â I am documenting them both and will clean up at next install:
1 2 |
/opt/coldfusion11/cfusion/runtime/bin/wsconfig -ws apache -dir /usr/local/apache/conf -bin /usr/sbin/httpd -script /etc/init.d/httpd >> CF11Installer.log /opt/coldfusion11/cfusion/runtime/bin/wsconfig -ws apache -dir /usr/local/apache/conf -bin /usr/sbin/httpd -script /etc/init.d/httpd -ws64 -apxs -norestart -v >> CF11Installer.log |
After the above, my CF11Installer.log added the following:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
The Apache connector was installed to /usr/local/apache/conf Usage: To use the GUI: java -jar wsconfig.jar To use the property file to specifiy options: java -jar wsconfig.jar -f <property-file-path> To use the command line to specify options: java -jar wsconfig.jar [options] Options To install the web server connector: -ws <IIS|Apache> -dir <path> | -site <site> [-host <hostname>] | [-cluster <clustername>] [-norestart] [-v] [-cfide [<dir>]] [-bin <path>] [-service <servicename>] (Apache/Windows only) [-bin <path>] [-script <path>] (Apache/UNIX only) To remove the web server connector: -remove -ws <IIS|Apache> -dir <path> | -site <site> [-v] To remove all the web server connectors: -uninstall [-v] To upgrade the web server connector: -upgrade -ws <IIS|Apache> -dir <path> | -site <site> [-v] To upgrade all the web server connectors: -upgrade [-v] To list the configured web servers: -list [-ws <IIS|Apache>] To get this help: -help Descriptions -ws <IIS|Apache> web server -dir <path> Apache conf directory -site <site> IIS web site name or number -host <hostname> ColdFusion server address (default=localhost) -cluster <clustername> ColdFusion cluster name -norestart do not restart web server -cfide [<dir>] CFIDE Directory Path -service <servicename> Apache Windows service name -bin <path> Apache server binary file -script <path> Apache Unix control script file -ws32 used to configure 32-bit web server on 64-bit Windows, Linux, and Mac OS. -reuseConnectionCount The reuseConnectionCount property sets the maximum number of connections that can be re-used in the connection pool. -connectionPoolTimeout The connectionPoolTimeout property sets the number of seconds to wait for the idle connection to close. -isWebServiceON The isWebServiceON property signifies that the Apache web server is started with the WEBSERVICE_ON property. Applicable only for Mac OSX 10.8 or higher. -allowedIPList The allowedIPList property represents an allowed IP address list(separated by comma) that access the restricted list of ColdFusion URLs. |
Performing the wsconfig generated the file I needed to move forward, /usr/local/apache/conf/mod_jk.conf to which the contents are below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# Load mod_jk module LoadModule jk_module "/opt/coldfusion11/config/wsconfig/1/mod_jk.so" # Where to find workers.properties JkWorkersFile "/opt/coldfusion11/config/wsconfig/1/workers.properties" JkMountFile "/opt/coldfusion11/config/wsconfig/1/uriworkermap.properties" JKIPRestrictionFile "/opt/coldfusion11/config/wsconfig/1/iprestriction.properties" # Where to put jk logs JkLogFile "/opt/coldfusion11/config/wsconfig/1/mod_jk.log" # custom environment variables JkEnvVar REDIRECT_URL JkEnvVar REDIRECT_REMOTE_HOST JkEnvVar REDIRECT_PATH JkEnvVar REDIRECT_QUERY_STRING JkEnvVar REDIRECT_HTTP_ACCEPT JkEnvVar REDIRECT_HTTP_USER_AGENT JkEnvVar REDIRECT_REMOTE_ADDR JkEnvVar REDIRECT_SERVER_NAME JkEnvVar REDIRECT_SERVER_PORT JkEnvVar REDIRECT_SERVER_SOFTWARE # Where to put jk shared memory JkShmFile "/opt/coldfusion11/config/wsconfig/1/jk_shm" # Set the jk log level [debug/error/info] JkLogLevel info # Select the timestamp log format JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " AddHandler jakarta-servlet .cfm .cfml .cfc .cfr .cfswf DirectoryIndex index.cfm Alias /CFIDE "/opt/coldfusion11/cfusion/wwwroot/CFIDE" <Directory "/opt/coldfusion11/cfusion/wwwroot/CFIDE"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> <Files ~ ".hbmxml$"> Order allow,deny Deny from all </Files> |
I then distilled the changes to ensure cPanel was copacetic with them, regenerated the conf and restarted apache:
1 2 3 |
/usr/local/cpanel/bin/apache_conf_distiller --update /usr/local/cpanel/bin/build_apache_conf /etc/init.d/httpd restart |
During the last step, I did open for editing /usr/local/apache/conf/httpd.conf twice and /usr/local/apache/conf/mod_jk.conf once before distilling and restarting again.
Edit the neo-security.xml and throw in some good defaults.
set rds.security.usesinglerdsp to false
set allowconcurrentadminlogin to false
set admin.userid.required to true
set allowedAdminIPList to 127.0.0.1 and an any others of importance
set secureprofile.enabled to true
The admin.userid.root.salt string may need to be updated, idk.
Restart the CF’s
/opt/coldfusion11/cfusion/bin/coldfusion stop
/opt/coldfusion11/cfusion/bin/coldfusion start
I had to switch out a certificate on a server and got the below error messages, documented here to make this familiar int he future. I was worried that it would break the other sites on the server, 2 others using the old certificate. Instead the server updated the certificate on all 3 and all 3 remained up and running. I could swear that is not how it happened in the past, but this may have been a different case.
Edit Site Binding
At least one other site is using the same HTTPS binding and the binding is configured with a different certificate. Â Are you sure that you want to reuse this HTTPS binding and reassign the other site or sites to use the new certificate?
Edit Site Binding
The certificate is associated with this binding is also assigned to another site’s binding. Â Editing this binding will cause the HTTPS binding of the other site to be unusable. Â Do you still want to continue?
I recently installed ColdFusion 11 on RHEL, but the cfinit script did not exist. I then pulled up a ColdFusion 10 init script, updated the CF10-CF11 bits, corrected the coding error for the CFSTATUS section particular to my OS and have the script below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 |
#!/bin/bash # chkconfig: 345 90 14 # description: starts the ColdFusion MX server PATH=/usr/xpg4/bin:/bin:/sbin:/usr/bin:/usr/sbin:$PATH CONNECTOR="" RUNTIME_USER=""nobody"" JAVA_HOME="/opt/coldfusion11/jre" DOCROOT="" CF_DIR="/opt/coldfusion11/cfusion" IS_RUNNING="false" IS_MAC="false" VERSION="ColdFusion 11" SPACE=" " CLASSPATH=$CF_DIR/runtime/bin/tomcat-juli.jar:$CF_DIR/bin/cf-bootstrap.jar JVMCONFIG=$CF_DIR/bin/jvm.config . $CF_DIR/bin/parseargs $JVMCONFIG CLASSPATH=$CLASSPATH:$JAVA_CLASSPATH JAVA_LIBRARY_PATH=$JAVA_LIBRARYPATH JAVA_EXECUTABLE="$JAVA_HOME/bin/java" #Get the server instance name arr=$(echo $CF_DIR | tr "/" "\n") for x in $arr do CF_INSTANCE_NAME="$x" done for word in $JVM_ARGS do if [ "$word" != "-Xdebug" ]; then if [ ${word:0:9} != "-Xrunjdwp" ]; then JVM_ARGS_NODEBUG="$JVM_ARGS_NODEBUG$SPACE$word" fi fi done ID=`id -u` if [ "`uname`" = "Darwin" ]; then # nothing, on OSX we don't care about the user name. We assume that the user running it has permission to do everything IS_MAC="true" elif [ ! $ID -eq 0 ]; then echo "You must be root to start ColdFusion ." exit 1 fi cfrunning() { IS_RUNNING="false" if [ $OS = "Solaris" ]; then # The comm output on Solaris includes the full path $PSCMD | fgrep $CF_DIR |fgrep java > /dev/null 2>&1 else # other platforms have only the executable name $PSCMD | fgrep java | grep -v grep | grep com.adobe.coldfusion.bootstrap.Bootstrap | grep "start" | grep -w $CF_DIR > /dev/null 2>&1 fi if [ $? -eq 0 ]; then IS_RUNNING="true" fi } cfstart() { # [ -f $CF_DIR/bin/jvm.config ] || { # ln -s $CF_DIR/runtime/bin/jvm.config $CF_DIR/bin/jvm.config # } cfrunning if [ "$IS_RUNNING" = "true" ]; then echo "$VERSION server instance named $CF_INSTANCE_NAME is already running" echo exiting exit 2 fi echo "Starting $VERSION server instance named $CF_INSTANCE_NAME ..." eval $CFSTART echo "The $VERSION server instance named $CF_INSTANCE_NAME is starting up and will be available shortly." # Insert a sleep statement to give the server a few moments. sleep 5 cfrunning if [ "$IS_RUNNING" = "false" ]; then echo "There has been an error starting $VERSION server instance named $CF_INSTANCE_NAME, please check the logs." exit 1 fi [ -f "$CF_DIR/bin/cf-connectors.sh" ] && { # give the server a few more seconds to come up sleep 5 echo "======================================================================" echo "Running the $VERSION connector wizard" echo "======================================================================" sh $CF_DIR/bin/cf-connectors.sh && { mv -f $CF_DIR/bin/cf-connectors.sh $CF_DIR/bin/cf-connectors-run.sh } } echo "======================================================================" echo "$VERSION server instance named $CF_INSTANCE_NAME has been started." echo "$VERSION will write logs to $CF_DIR/logs/coldfusion-out.log" echo "======================================================================" } cfstop() { cfrunning if [ "$IS_RUNNING" = "false" ]; then echo "$VERSION server instance named $CF_INSTANCE_NAME does not seem to be currently running" return fi echo "Stopping $VERSION server instance named $CF_INSTANCE_NAME, please wait" eval $CFSTOP sleep 10 cfrunning if [ "$IS_RUNNING" = "true" ]; then if [ $OS = "Solaris" -a ! -f "/usr/ucb/ps" ]; then $PSCMD | fgrep java | fgrep $CF_DIR | awk '{print $2}' | xargs kill -9 > /dev/null 2>&1 else # other platforms have only the executable name $PSCMD | fgrep java | grep -v grep | grep com.adobe.coldfusion.bootstrap.Bootstrap | grep "start" | grep -w $CF_DIR | awk '{print $2}' | sudo xargs kill -9 > /dev/null 2>&1 fi sleep 2 fi cfrunning if [ "$IS_RUNNING" = "true" ]; then echo "$VERSION server is not responding. You have to forcefully stop the following ColdFusion PIDs manually: " if [ $OS = "Solaris" ]; then $PSCMD | fgrep java | fgrep $CF_DIR | awk '{print $2}' else # other platforms have only the executable name $PSCMD | fgrep java | grep -v grep | grep com.adobe.coldfusion.bootstrap.Bootstrap | grep "start" | grep -w $CF_DIR | awk '{print $2}' fi echo exiting exit 1 fi echo "$VERSION server instance named $CF_INSTANCE_NAME has been stopped" } cfstatus() { eval $CFSTATUS } case `uname` in SunOS) OS=Solaris if [ -f "/usr/ucb/ps" ]; then PSCMD="/usr/ucb/ps -auxww" else PSCMD="ps -eo comm" fi JAVA_EXECUTABLE="$JAVA_HOME/bin/sparcv9/java" LD_LIBRARY_PATH="$CF_DIR/lib:$CF_DIR/lib/_solaris/bin:$JAVA_LIBRARY_PATH" CFSTART='su $RUNTIME_USER -c "LD_LIBRARY_PATH=$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd $CF_DIR/bin; nohup $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS com.adobe.coldfusion.bootstrap.Bootstrap -start &"' CFSTOP='su $RUNTIME_USER -c "cd $CF_DIR/bin; $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS_NODEBUG com.adobe.coldfusion.bootstrap.Bootstrap -stop"' CFSTATUS='su $RUNTIME_USER -c "cd $CF_DIR/bin; $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS_NODEBUG com.adobe.coldfusion.bootstrap.Bootstrap -status"' ;; Darwin) OS=Darwin PSCMD="ps -ef" LD_LIBRARY_PATH="$CF_DIR/lib:$JAVA_LIBRARY_PATH" CFSTART='LD_LIBRARY_PATH=$LD_LIBRARY_PATH; export LD_LIBRARY_PATH;cd $CF_DIR/bin; $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS com.adobe.coldfusion.bootstrap.Bootstrap -start&' CFSTOP='env -i; cd $CF_DIR/bin; $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS_NODEBUG com.adobe.coldfusion.bootstrap.Bootstrap -stop' CFSTATUS='su $RUNTIME_USER -c "cd $CF_DIR/bin; $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS_NODEBUG com.adobe.coldfusion.bootstrap.Bootstrap -status"' ;; Linux) OS=Linux PSCMD="ps -ef" LD_LIBRARY_PATH="$CF_DIR/lib:$CF_DIR/lib/_ilnx21/bin:$JAVA_LIBRARY_PATH" SUCMDFILE=su if [ -x /sbin/runuser ]; then SUCMDFILE=/sbin/runuser fi CFSTART='$SUCMDFILE -s /bin/sh $RUNTIME_USER -c "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH; cd $CF_DIR/bin; nohup $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS com.adobe.coldfusion.bootstrap.Bootstrap -start &"' CFSTOP='$SUCMDFILE -s /bin/sh $RUNTIME_USER -c "env -i; cd $CF_DIR/bin;$JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS_NODEBUG com.adobe.coldfusion.bootstrap.Bootstrap -stop"' CFSTATUS='$SUCMDFILE -s /bin/sh $RUNTIME_USER -c "cd $CF_DIR/bin; $JAVA_EXECUTABLE -classpath $CLASSPATH $JVM_ARGS_NODEBUG com.adobe.coldfusion.bootstrap.Bootstrap -status"' ;; *) echo "Your OS: `uname` is unsupported" echo "exiting" exit 1 ;; esac ARG=$1 [ -z "$ARG" ] && ARG=usage case $ARG in start) cfstart ;; stop) cfstop ;; restart) echo "Restarting $VERSION server instance named $CF_INSTANCE_NAME ..." cfstop cfstart ;; status) cfstatus ;; wsconfig) WSCONFIG_JAR=$CF_DIR/runtime/lib/wsconfig.jar if [ $# -eq 0 ]; then # no arguments so display built-in help from wsconfig.jar $JAVA_EXECUTABLE -jar $WSCONFIG_JAR -help break else # brief help if [ "$2" = "help" ]; then echo "To configure a webserver connector you must specify the -ws and -dir options." echo "If configuring Apache it is recomended that you also specify the -bin and " echo "-script options." echo "" echo "To list all configured webserver connectors use the -list option." echo "To remove a configured webserver connector use the -r option with the " echo "-ws and -dir options." echo "To remove all webserver connectors use the -uninstall option." echo "To upgrade all installed webserver connectors use the -upgrade option." echo "" echo "For more detailed help see $0 $1." fi break fi # pass on all args to wsconfig.jar shift $JAVA_EXECUTABLE -jar $WSCONFIG_JAR $@ -coldfusion ;; *) echo "Usage:$0 (start|stop|restart|status|wsconfig)" ;; esac exit 0 |
I then ensured permissions on the file and made sure it would add to startup correctly:
1 2 3 |
chown root:root /etc/init.d/coldfusion_11 chmod +x /etc/init.d/coldfusion_11 chkconfig --add /etc/init.d/coldfusion_11 |
1 |
/usr/local/cpanel/cpkeyclt |
You can run the above to re sync the local status/key. Â To verify your machine is licensed, browse to the following and enter in the external IP address:
Personal use case scenarios for needing to run the aforementioned script are changing the IP on the machine, or if the license has been upgrades, from trial fro example.
Sauce:Â https://forums.cpanel.net/threads/cpanel-license-activation.97409/
After a recent installation of dotDefender, the following error came up:
“Internal Server Error
500
No response from subprocess (/usr/local/cpanel/whostmgr/docroot/cgi/addon_dotDefender.cgi): The subprocess exited with statu s 2 (ENOENT).”
The log file for dotDefender, /usr/local/APPCure-full/log/dotDefender_bpd.log, gives further detail:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Can't locate Crypt/Passwd/XS.pm in @INC (@INC contains: /usr/local/cpanel /usr/local/cpanel /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/per l5 /usr/share/perl5 .) at /usr/local/cpanel/Cpanel/CheckPass/AP.pm line 15. BEGIN failed--compilation aborted at /usr/local/cpanel/Cpanel/CheckPass/AP.pm line 15. Compilation failed in require at /usr/local/cpanel/Cpanel/CheckPass.pm line 8. BEGIN failed--compilation aborted at /usr/local/cpanel/Cpanel/CheckPass.pm line 8. Compilation failed in require at /usr/local/cpanel/whostmgr/docroot/cgi/addon_dotDefender.cgi line 13. BEGIN failed--compilation aborted at /usr/local/cpanel/whostmgr/docroot/cgi/addon_dotDefender.cgi line 13. Duplicate logaccess: at /usr/local/cpanel/Cpanel/Server.pm line 421. Cpanel::Server::logaccess(Cpanel::Server=HASH(0x3224a68)) called at /usr/local/cpanel/Cpanel/Server.pm line 365 Cpanel::Server::body_internal_error(Cpanel::Server=HASH(0x3224a68), 500, "No response from subprocess (/usr/local/cpanel/whostmgr/docro"...) called at /usr/local/cpanel/Cpanel/Server.pm line 313 Cpanel::Server::internal_error(Cpanel::Server=HASH(0x3224a68), "No response from subprocess (/usr/local/cpanel/whostmgr/docro"...) called at cpsrvd.pl line 6052 cpanel::cpsrvd::internal_error("No response from subprocess (/usr/local/cpanel/whostmgr/docro"...) called at cpsrvd.pl line 9144 cpanel::cpsrvd::handle_subprocess_failure(3, undef, 0, "No response from subprocess (/usr/local/cpanel/whostmgr/docro"...) called at cpsrvd.pl line 7268 cpanel::cpsrvd::subprocess_handler(__CPANEL_HIDDEN__, IO::Handle=GLOB(0x32273b8), GLOB(0x3227370), 0) called at cpsrvd.pl line 7121 cpanel::cpsrvd::cgiHandler(__CPANEL_HIDDEN__, __CPANEL_HIDDEN__) called at cpsrvd.pl line 6506 cpanel::cpsrvd::dodoc_whostmgrd() called at cpsrvd.pl line 1882 cpanel::cpsrvd::dodoc(HASH(0x213f9d0)) called at cpsrvd.pl line 1446 cpanel::cpsrvd::handle_one_connection() called at cpsrvd.pl line 1073 cpanel::cpsrvd::script() called at cpsrvd.pl line 437 Internal Server Error: "GET /cpsess8754229775/cgi/addon_dotDefender.cgi HTTP/1.1" 500 No response from subprocess (/usr/local/cpanel/whostmgr/docroot/cgi/addon_dotDefender.cgi): The subprocess exited with statu s 2 (ENOENT). |
The fix was to install Crypt::Passwd::XS as such:
1 |
/scripts/perlinstaller Crypt::Passwd::XS |
Update 1-29-2016
This error popped up again, and seemingly coincided to an upgrade in cPanel.  The upgraded version is WHM 54.0 (build 8).  The error was almost identical to the one above, but instead of outputting the error to the dotDefender log, it was going to the cPanel log (/usr/local/cpanel/logs/error_log) as such:
~
Can’t locate cPanel/PublicAPI.pm in @INC (@INC contains: /usr/local/cpanel /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 /usr/local/cpanel/Cpanel/Accounting.pm line 32.
BEGIN failed–compilation aborted at /usr/local/cpanel/Cpanel/Accounting.pm line 32.
Compilation failed in require at /usr/local/cpanel/whostmgr/docroot/cgi/addon_dotDefender.cgi line 5.
BEGIN failed–compilation aborted at /usr/local/cpanel/whostmgr/docroot/cgi/addon_dotDefender.cgi line 5.
[2016-01-28 17:35:38 -0500] info [cpsrvd] Internal Server Error: “GET /cpsess122967374/cgi/addon_dotDefender.cgi HTTP/1.1” 500 No response from subprocess (/usr/local/cpanel/whostmgr/docroot/cgi/addon_dotDefender.cgi): The subprocess reported error number 2 when it ended.
~~
Speaking with cPanel support,
This should be fixed. After further review we didn’t acutally rename all of these packages, it looks to maybe only be some API calls rather than the package. This was failing because the following file was modified.
[21:37:25 cp root@7449479 ~]cPs# head /usr/local/cpanel/Cpanel/Accounting.pm
ypackage cPanel::Accounting;
It should have been this looking at another server.
[21:40:42 cp root@7449479 ~]cPs# head Accounting.pm package Cpanel::Accounting;
Once I corrected that I could load the page. I did have a token error and had to login and then got an access error but I believe as root you should have no issue now.
~~~
The updated file correcting the issue is below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
#!/usr/local/APPCure/bin/PERL #WHMADDON:dotDefender:Applicure dotDefender use lib '/usr/local/cpanel'; #use lib '//usr/local/cpanel/3rdparty/perl/514/lib64/perl5/cpanel_lib'; use Cpanel::Accounting; use Cpanel::AcctUtils (); use Cpanel::Rand (); use Cpanel::Config::LoadCpUserFile (); use Cpanel::Hulk (); use Cpanel::AccessIds::SetUids (); use Cpanel::CheckPass (); use Cpanel::AcctUtils::DomainOwner (); use Cpanel::AcctUtils::GetHomeDir (); my $cphulk = Cpanel::Hulk->new; my $my_domain = Cpanel::AcctUtils::getdomain($ENV{'REMOTE_USER'}); if ( $ENV{'REMOTE_USER'} eq 'root' ) { $FileName="/cgi/dotDefender/dotDefender/dotDefender.html"; } else { $FileName="/cgi/dotDefender/not-root/not-root.html"; } print <<EOF_DD Content-Type: text/html\r\n\r <html> <body> <form name="redirect" action="$FileName" method="post" > <input type="hidden" value="dummy" name="dummy"> </form> <script language="javascript"> document.redirect.submit(); </script> </body> </html> EOF_DD |
I recently came across a server that ran services, I was not familiar with, and services were unclear as to the issues I was troubleshooting. As a quick fix, I decided to get a list of services that should be running and start any that were not from that list:
1 |
chkconfig --list | grep "2:on" | grep "3:on" | grep "4:on" | grep "5:on" | awk '{print "service " $1 " status"}' > status.sh |
In some cases, the service was not listed as I had expected, so to get the list I had to run the following, where $3 is the service name from the prior commands. In some cases, I had to use $5, as history had a different output:
1 |
history | grep start | grep service | grep -v grep | awk '{print $5}' | sort | uniq | awk '{print "service " $0 " status"}' > status.sh |
Now we can find out which are running:
1 2 |
chmod +x status.sh ./status.sh | grep " not " | awk '{print "service " $1 " start"}' > start.sh |
Validate what you are starting, come on, be informed and intentful in what you are doing, and if safe, run the second and third command:
1 2 3 |
cat start.sh chmod +x start.sh ./start.sh |