Apache

Xcode 4.2 and SVN Authentication Fix

I was having issues with SVN for a long time after upgrading to Xcode 4+ from version 3.2+ when trying to commit file changes. No suggestion I found on the Internet solved them until I found a proper solution. After making my /etc/apache2/other/svn.conf file resemble this, I was finally able to get Xcode 4 to change all the red lights to green. Looks like I won’t have to switch to git after all.

 
<Location /repos>
     DAV svn
     SVNParentPath "/usr/local/svn/repos"
     Order deny,allow
     Deny from all
     Satisfy any
 
     AuthType Basic
     AuthName "SVN Repository Realm"
     AuthUserFile /etc/apache2/svn-auth-file
 
     #read-only access
     <Limit GET PROPFIND OPTIONS REPORT>
        Require valid-user
        Allow from localhost
        # Allow from another-ip
        Satisfy any
     </Limit>
     # write access
     <LimitExcept GET PROPFIND OPTIONS REPORT>
       Require valid-user
     </LimitExcept>
</Location>
VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Snow Leopard PHP Extensions Installation Tutorial

This will help you to setup imagick, magicwand, xdebug, mcrypt and memcached for Snow Leopard’s bundled PHP 5.3.0. Please do expect the installation of ImageMagick to take a bit of time, as it requires a large number of packages. I’m doing it all my preferred way. If you have another way that is faster or better, I’d be glad to take your suggestions and make this tutorial more streamlined.

Step 1:

Make sure you have XCode 3.2 for Snow Leopard installed, from the Snow Leopard install DVD.

Step 2:

Download MacPorts for Mac OS X 10.6 Snow Leopard here.

If you have previously installed MacPorts and installed software with it in Mac OS X 10.5, run this first to remove it, as it won’t work in Snow Leopard anymore.

In Terminal:

sudo rm -rf /opt/local \
/Applications/MacPorts \
/Applications/DarwinPorts \
/Library/Tcl/macports1.0 \
/Library/Tcl/darwinports1.0 \
/Library/LaunchDaemons/org.macports.* \
/Library/StartupItems/DarwinPortsStartup \
/Library/Receipts/MacPorts*.pkg \
/Library/Receipts/DarwinPorts*.pkg \
~/.macports

Step 3:

Open the MacPorts-1.8.0-10.6-SnowLeopard.dmg file, and install the MacPorts package file.

Step 4:

To hide the /opt folder from Finder view that is visible after installing MacPorts.

In Terminal:

sudo chflags hidden /opt

Step 5:

By default, MacPorts for Snow Leopard should use x86_64 arch instead of ppc/i386, so you shouldn’t have to worry much here.

This part most likely will take the longest of all things in the tutorial, as it requires a large group of individual packages. You can cook dinner, eat it, and you might still be waiting for this to complete after you’ve finished eating. It took about a half hour for it to complete on my MacBook.

In Terminal:

sudo port install imagemagick

Step 6:

Download imagick here.

Unpack the file imagick-2.3.0.tgz.

In Terminal:

cd ~/Downloads/imagick-2.3.0/imagick-2.3.0
phpize
./configure --with-imagick=/opt/local
make
cd modules
sudo cp imagick.so /usr/lib/php/extensions/no-debug-non-zts-20090626/

Step 7:

Download magickwand here.

Unpack the file MagickWandForPHP-1.0.8.tar.gz.

In Terminal:

cd ~/Downloads/MagickWandForPHP-1.0.8/
phpize
./configure --with-magickwand=/opt/local
make
cd modules
sudo cp magickwand.so /usr/lib/php/extensions/no-debug-non-zts-20090626/

Step 8:

Download xdebug here.

Unpack the file xdebug-2.0.5.tgz.

In Terminal:

cd ~/Downloads/xdebug-2.0.5/xdebug-2.0.5
phpize
./configure
make
cd modules
sudo cp xdebug.so /usr/lib/php/extensions/no-debug-non-zts-20090626/

Step 9:

In Terminal:

sudo port install libmemcached

When it completes, type this into Terminal:

sudo launchctl load -w /Library/LaunchDaemons/org.macports.memcached.plist

Step 10:

Download memcached here.

Unpack the file memcached-1.0.0.tgz.

In Terminal:

cd ~/Downloads/memcached-1.0.0/memcached-1.0.0/
phpize
./configure --with-libmemcached-dir=/opt/local
make
cd modules
sudo cp memcached.so /usr/lib/php/extensions/no-debug-non-zts-20090626/

Step 11:

Download libmcrypt here.

Unpack the file libmcrypt-2.5.8.tar.bz2.

In Terminal:

cd ~/Downloads/libmcrypt-2.5.8/
./configure --disable-posix-threads --enable-static
make
sudo make install

Step 12:

Download PHP 5.3.0 source code for the mcrypt extension here.

Unpack the file php-5.3.0.tar.gz. We will only need to use the code within the ext/mcrypt directory. No need to compile all of PHP for this.

In Terminal:

cd ~/Downloads/php-5.3.0/ext/mcrypt
phpize
./configure
make
cd modules
sudo cp mcrypt.so /usr/lib/php/extensions/no-debug-non-zts-20090626/

Step 13:

In Terminal:

cd /etc
sudo cp php.ini.default php.ini
sudo pico php.ini

Search for:

display_errors

Set this to:

display_errors = On

Search for:

html_errors

Set this to:

html_errors = On

I placed the following after all the commented out lines for extensions:

;;;;;;
extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/magickwand.so
extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/imagick.so
extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/memcached.so
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so
xdebug.default_enable = On
xdebug.collect_params = 4
xdebug.trace_format = 1
xdebug.show_local_vars = On
xdebug.dump_globals = On
xdebug.show_exception_trace = On
xdebug.collect_assignments = 1
;;;;;;

Set your default timezone. I’ll show mine as an example.

date.timezone = America/New_York

Set your mysql default port.

mysql.default_port = 3306

Press Control-X to exit, it will ask if you want to save changes, so press Y for Yes, and press Enter save and exit completely.

Step 14:

Restart Apache.

In Terminal:

sudo apachectl graceful

That should do it, as this is the exact steps I took to install all of these just now. And everything worked for me just as typed.

Hope this helps you out.

Enjoy.

VN:F [1.9.22_1171]
Rating: 9.7/10 (24 votes cast)
VN:F [1.9.22_1171]
Rating: +12 (from 16 votes)

Mac OS X Snow Leopard, PHP, MySQL, SVN, Xcode, and Me…

With minimal effort, I was able to get the PHP bundled with Snow Leopard to use the PHP extensions that I had compiled for xdebug, imagick, and magickwand to run in 64bit mode.

Snow Leopard comes bundled with Apache 2.2.11, PHP 5.3.0, and SVN 1.6.2.

I upgraded my MySQL install from 5.0.77 to 5.1.37 and then moved my data folder to another location to help keep things sane using the /etc/my.cnf file.

I installed the Xcode from the Snow Leopard CD and downloaded the iPhone SDK 3.1 Beta 3 for Snow Leopard.  Slightly different interface, but I welcome the changes.

So now, instead of using external packages for SVN and PHP (Entropy), now I’m using the prepackaged bundled software.  I did have to reconfigure my svn connection in Apache as it got toasted in the upgrade to Snow Leopard.  It wasn’t a problem though as it was only a few lines.

Now I can sleep good, I hope.

VN:F [1.9.22_1171]
Rating: 7.3/10 (4 votes cast)
VN:F [1.9.22_1171]
Rating: +2 (from 4 votes)

VirtualHostX = Fastest Software Support Known To Man.

I used to use a virtualhost.sh script file to create virtual hosts on my Mac OS X 10.4 Tiger installation. Then when I got my MacBook, I purchased 10.5 Leopard and installed it.  At about the same time, I found a program to assist with configuring all the virtual hosts for Apache, called VirtualHostX for MacOS X. After I tried the program, I explained to someone else how easy it was to backup and restore virtual domains using this program and I immediately registered it for the $7.00 it cost. I would gladly have paid double.

Sometime a week or so ago, I sent a bug report noting that it didn’t have the ability to keep virtual host directives if you set them in the httpd-vhosts.conf file manual, as at the time it didn’t allow it in the program itself. Anytime you applied any settings in the program it would override your manually edited settings. Less than an hour later, I was informed that it would be included in the next release.  A few days later, the new release was out.

Downloaded and installed Version 1.1.0. After playing with this new release, I used it to make a complete backup of my MAMP (Mac OS X, Apache, MySQL, PHP) settings and site source files to my older Mac mini. As I was using the directives for 3 virtual host domains, I wanted to use the new updated version to add these in, and it worked without having to manually edit the files. I just noticed one thing, it didn’t allow copy and paste in the new field, or in any field for that matter. It did allow for drag and drop, which was kinda useful, but copy and paste would help out even better. So I sent out a new bug report.  Amazingly, I got a reply which seemed almost immediately to me, as not only was it reported that it would be fixed in the next version, but it was already released. Mind you, I has just downloaded 1.1.0 earlier today, and 1.1.1 was out just soon after I explained the bug.

So, I downloaded the Version 1.1.1. Low and behold, it had the fix for copy and paste as well as a new feature. Now it supports the ability to give your virtual host settings specific port addresses.

I can honestly say that now, this program is flawless.

If you use a Mac to design websites using Apache as your server, download this application. As it has become a major tool in my collective.

You can buy this app online at: http://clickontyler.com/virtualhostx/

And if you want, tell him I sent you.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)