If you put a web directory within your home directory on a mac (“/Users/name”) you can often run into permission problems that can be a bit mysterious. To fix this w/out compromising security, try:
For each parent directory leading to your web root (e.g. ~/my, ~/my/web, ~/my/web/root):
chmod go-rwx DIR (nobody other than owner can access content) chmod go+x DIR (to allow "users" including _www to "enter" the dir) sudo chgrp -R _www ~/my/web/root (all web content is now group _www) chmod -R go-rwx ~/my/web/root (nobody other than owner can access web content) chmod -R g+rx ~/my/web/root (all web content is now readable/executable/enterable by _www)
(thanks @dkamins)
On Windows you can use putty.exe tool, for Mac or Linux:
Linux: sudo [yum | apt-get] install putty-tools
OS X: brew install putty
puttygen id_dsa.ppk -O private-openssh -o id_dsa
When you do a svn status and the output shows files starting with an exclamation mark (“missing”), try to svn revert them if normal methods (svn update/cleanup/etc) don’t work.
Simply calling phpize, config and make to compile a new extension, even if you point directly to your php binary can still compile with the wrong version as can installing via PECL, even if you reference the pecl binary directly. Using the peclcmd.php script, however, you should be able to get it to load the correct libraries and install in the right place.
For instance, I recently installed PHP 5.4 in /usr/local/php5 to use instead of the native Mac PHP 5.3 install (via http://php-osx.liip.ch/) but I wanted to leave the Mac PHP in place so now I have multiple versions of PHP and can use either one, which is great for dev but can cause compile issues.
On one machine I was eventually able to manually download the extension via pecl download and then phpize and install by passing: ./configure --with-php-config=/usr/local/php5/bin/php-config to the build config but wasn’t able to figure out how to do this directly via pecl. When I next tried the same update to another machine, I remembered the peclcmd file and was able to simply use a single command: /usr/local/php5/bin/php /usr/local/php5/lib/php/peclcmd.php install {extension-name} and done.
Ymmv
While I’m comfortable compiling from scratch, it definitely can save a lot of headaches to use a packager if it gives you what you need and make updates a lot easier.
In order to set the time correctly (timezone, ntp time sync, etc.) on a cloud server, you need to indicate that the system does not support hardware time. I’m not entirely sure how to do this manually, at least not anymore, but if you are using webmin (which I do often use for expediency but only start it up when needed) – here is what you need to set:
Webmin>Hardware>System Time>Module Config>System Configuration>System supports hardware time
set to: no
For time server sync, I use:
0.pool.ntp.org
and sync when webmin starts and turn the schedule on for once a day (may want to set more often if your apps are time critical and/or are syncing data based on timestamp, e.g., svn server).
in bin/catalina.sh set:
CATALINA_OPTS=-Duser.timezone=America/New_York
catalina.sh file does say to use a setenv.sh script instead of editing the file, but I just put the above command at the top of the catalina.sh file and it was fine.
see java timezone names here