XAMMP - Apache/MySQL/PHP5/Perl
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 MySQL, PHP and Perl. It requires no dependencies.
- 1 Note
- 2 Prerequisites
- 3 Installing XAMPP on the Apple TV
- 4 Configuring Apache
- 5 Configuring ProFTPD
- 6 Using Perl
- 7 Enabling at boot time
The XAMPP package gets installed in
/Applications which is in the partition
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
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.
If you want to keep the OSBoot mounted read-only, shutdown XAMPP and move the Applications folder to
/mnt/Scratch and symlink the folder on root.
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.
The XAMPP package can be downloaded from their website.
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 to install further binaries...
Installing XAMPP on the Apple TV
To Install the XAMPP package on the Apple TV follow this steps :
On your Mac
- Copy the
.tar.gzfile to your Apple TV (the way you prefer, AFP, SCP, etc...).
Fugu provides a graphical interface for this purpose.
Having installed a Samba service on the AppleTV is another option.
- Open a SSH connection to your Apple TV.
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:
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.
Tip - If you give an SQL root password, the demos won't work any more.
Find the Apache configuration file:
find /Applications/xampp/ -iname httpd.conf
Find the location of the web pages:
cat /Applications/xampp/etc/httpd.conf | grep ^ServerRoot
You can modify the location of the web pages in
httpd.conf and put your files at the proper location.
Find the ProFTPD configuration file:
find /Applications/xampp/ -iname proftpd.conf
Once the configuration file has been modified, ProFTPD has to be restarted:
Using Perl scripts with the usual shebang
will start the already existing version of Perl.
If you want to use the one coming with xampp, you will have to:
and use the following shebang in the Perl scripts
Enabling at boot time
Enabling the Apple way
Apple provides a page on how to create a Startup Item.
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 (XAMPP requires this):
Edit the file
/System/Library/StartupItems/Apache/Apache and add the following lines after the line
export PATH="/Applications/xampp/xamppfiles/bin:$PATH" alias apachectl='/Applications/xampp/xamppfiles/mampp'
Edit the file
SystemStarter restart "Web Server"
and surf to http://AppleTV.local
Enabling with the help of AFP
Assuming you have enabled AFP (AppleShare) to start at boot, you can add the line:
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.