Saturday, April 5, 2008

XAMMP - Apache/MySQL/PHP5/Perl - AwkwardTV

XAMMP - Apache/MySQL/PHP5/Perl - AwkwardTV

XAMMP - Apache/MySQL/PHP5/Perl

From AwkwardTV

Jump to: navigation, search

XAMPP is a simple, most practical and most complete webserver solution. The XAMPP for OS X distribution provides an Apache 2 web server, integrated with the latest builds of MySQL, PHP (both 4 and 5) and Perl. It requires no dependencies.

If you are an experienced web developer or a Mac enthusiast who needs to run a webserver, create dynamic webpages or use databases, this is your lucky day!

Contents

[hide]

[edit] Note

The XAMPP package gets installed in /Applications which is in the partition /dev/disk3 (named OSBoot) and requires it to be mounted with write permissions.

In contrast, the /Users folder is linked to /mnt/Scratch/Users and as such is in the partition /dev/disk4 (named Media) which is mounted on /mnt/. This allows the system to be located on a read-only partition and as such to be more immune to unproper power off.

Anyway: once you've installed SSH on the AppleTV, you've decided to make a server out of it and you're going to treat it the right way.

[edit] Prerequisites

[edit] XAMPP package

The XAMPP package can be downloaded from their website. Choose the tar version.

[edit] Unzip binaries

Unzip binaries will be used on your AppleTV to extract the XAMPP package, but aren't found on the AppleTV base installation.

  • Download the binary Darwin for Intel distribution from the Opensource pages.
    This contains many useful files.
  • Untar the file (Double click in Mac OS X)
  • Mount the disk image (Double click in Mac OS X)
  • In the Terminal:
scp /Volumes/Darwin8_i386/usr/bin/zip frontrow@AppleTV.local:/Users/frontrow/Documents
scp /Volumes/Darwin8_i386/usr/bin/unzip frontrow@AppleTV.local:/Users/frontrow/Documents
scp /Volumes/Darwin8_i386/usr/bin/gzip frontrow@AppleTV.local:/Users/frontrow/Documents
scp /Volumes/Darwin8_i386/usr/bin/gunzip frontrow@AppleTV.local:/Users/frontrow/Documents
scp /Volumes/Darwin8_i386/usr/bin/bzip2 frontrow@AppleTV.local:/Users/frontrow/Documents
scp /Volumes/Darwin8_i386/usr/bin/bunzip2 frontrow@AppleTV.local:/Users/frontrow/Documents
ssh frontrow@AppleTV.local
sudo -s
mount -uw /
mv /Users/frontrow/Documents/* /usr/bin/
chown root:wheel /usr/bin/*

You might want do install further binaries...

[edit] Installing XAMPP on the Apple TV

To Install the XAMPP package on the Apple TV follow this steps :

[edit] On your Mac

  • Copy the .tar.gz file to your Apple TV (the way you prefer, AFP, SCP, etc...).
    Fugu provides a graphical interface for this purpose.
  • Open a SSH connection to your Apple TV.

[edit] On the AppleTV

  • Navigate to the download folder.
  • Get the required privileges:
sudo -s
mount -uw /
  • Extract the downloaded file:
tar -xvzpf xampp-macosx-0.7.2.tar.gz -C /
  • Start your XAMPP:
/Applications/xampp/xamppfiles/mampp start

You should see the following:

Starting XAMPP for MacOS X 0.7.2...
XAMPP: File permissions are being checked... this may take a while.
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for MacOS X started.
  • Try your installation by surfing to http://AppleTV.local and choose a language.
    Tip - If you get PHP errors, it's because you didn't extract it with the 'p' parameters. Re-extract it with the exact command.
  • Assuming it's working, it's time to secure your XAMPP installation.
/Applications/xampp/xamppfiles/mampp security

Tip - If you give an SQL root password, the demos won't work any more.

[edit] Configuring Apache

Find the Apache configuration file:

find /Applications/xampp/ -iname httpd.conf

Mine is /Applications/xampp/etc/httpd.conf

Find the location of the web pages:

cat /Applications/xampp/etc/httpd.conf | grep ^ServerRoot

Mine is /Applications/xampp/xamppfiles/htdocs/

You can modify the location of the web pages in httpd.conf and put your files at the proper location.

[edit] Enabling at boot time

[edit] Enabling the Apple way

Apple provides a page on how to create a Startup Item.

[edit] Enabling using the AppleTV base installation

The AppleTV already ships with an Apache startup file: /System/Library/StartupItems/Apache/Apache which will need some modifications.

If not done already, get the required privileges:

sudo -s
mount -uw /

Optional: set new host name

scutil --set ComputerName NewName
scutil --set LocalHostName NewName

Make your root partition to be mounted read/write at startup:

touch /.readwrite

Edit the file /System/Library/StartupItems/Apache/Apache and replace apachectl with /Applications/xampp/xamppfiles/mampp

Edit the file /etc/hostconfig and replace WEBSERVER=-NO- with WEBSERVER=-YES-

Test it:

reboot

and surf to http://AppleTV.local

[edit] Enabling with the help of AFP

Assuming you have enabled AFP (AppleShare) to start at boot, you can add the line:

/Applications/xampp/xamppfiles/mampp start

to the file /System/Library/StartupItems/AppleShare/AppleShare after the If statement in the StartService function, and then XAMPP will startup at boot time.

Adding XAMPP to the AppleShare startup item is not recommended.

1 comment:

watari-kashi Jedi said...

Does anyone still contribute to this site? I have a Gen 1 ATV, and am desperately trying to install the MAcPorts in order to have a workable environment.

It anyone can give me a little guidance, I would be very grateful. I do not own a Mac of any type, so that might cause some issues.