Forbidden You don’t have permission to access /~username/directory in Mac OS X

I have this weird issue with my website backups. When I store them inside my Sites folder and try to view them from the browser.

1. They do not appear listed when I do a directory listing
2. Accessing the folder manually produces the error

You don’t have permission to access on localhost /~username/mydirectory

This is well known and documented on Apple here.

But my issue is it is only a problem for this backups, the existing directories I have in my system works fine.

The solution is not straightforward but this works.

Follow the solution from Apple website. edit your username.conf file using terminal and then add the following line before closing.

Options +FollowSymLinks

So it looks like this.

<Directory “/Users/username/Sites/”>
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
Options +FollowSymLinks
</Directory>

Then restart apache

service apachectl restart

Setup EC2 and FileZilla with PPK file on Mac OS X

Coming from a Windows platform where I have tools like Putty to connect via SSH to our EC2 (Elastic Cloud Compute) instance on Amazon web services(AWS) and a tool like Pageant where I can load a .ppk key to allow me to connect my Filezilla client to connect via SFTP.

I had  to do the same on Mac OS X which eventually took me a bit of time to figure out. So I’m writing this short tutorial to document how I got it configured, so I can refer to it in the future and also help out those having a hard time setting it up. This tutorial is basically for those users who connect to Ec2 from a Windows platform and then moved to a Mac OS X platform.

1. On Windows using a telnet application like Putty to connect via SSH, you require a .ppk key. So first thing is to locate your PPK key in Windows.

2. Next you need to convert the PPK key to an OpenSSH format. Using PuttyGen load the .ppk file and then save the .ssh file generated. (eg. files aws_rsa.ppk and aws_rsa.ssh)

3. Copy the .ssh file and the original .ppk file over to your Mac directory like the Documents folder

4. Next open up Terminal on your Mac and create a new directory

# mkdir ~/.ec2

5. Copy the .ssh file to the ~/.ec2 directory

#mv /Users/myUser/Documents/aws_rsa.ssh ~/.ec2/aws_rsa.ssh

6. Change the file permission

# sudo chmod 600 aws_rsa.ssh

7. Finally connect to your instance.

# ssh -i aws_rsa.ssh root@ec2-xxx-xx-xxx-xxx.compute-1.amazonaws.com

Replace ec2-xxx-xx-xxx-xxx.compute-1.amazonaws.com with your EC2 public address.

Hopefully you should be able to connect to your server instance then.

Next is straightforward, this is for using a GUI like FileZilla to connect to your instance.

1. Open up FileZilla then go to Preferences

2. Go under SFTP and click on Add Key

3. Browse over to your Documents folder where you saved your .ppk file

4. Create a new site and add the public address for the host and protocol as SFTP (SSH File Transfer Protocol), user as root and password leave as blank.

That should be it you should be it. You could now SSH using the Terminal or connect via SFTP using FileZilla. Happy cloud computing.

How to Setup PHP, MySQL and phpMyAdmin on Mac OS X Snow Leopard

My previous working setup was on WAMP( Windows, Apache, MySQL and PHP). On Windows I used a bundled app WampServer that did the job, just install the executable and your all set.

On Mac it kinda needs a bit of work but basically you have to configure PHP, download-install MySQL and phpMyAdmin.
Read the rest of this entry »

Restart Apache in Mac OS X

I miss using a Mac, saving up to get the latest MacBook Pro.

Here is quick tip for an alternative method on how to restart Apache using the Terminal. Long method is go to Preferences then Sharing and disable enable Personal Web Sharing.

Shortcut is

Open the Mac OS X Terminal window then type in.

sudo /usr/sbin/apachectl restart