Apple's iPad/iPhone Out-of-Warranty Service

1 Comment

Apple's iPad/iPhone Out-of-Warranty Service

I often find those with broken iPads/iPhones are unaware of Apple’s Out-of-Warranty Service. Apple's Out-of-Warranty Service encourages users with accidental damage to stay with Apple without paying full price for a new iPad/iPhone. This is a huge saving as with today's pricing, a 64GB iPhone 5S would cost AU$1,129 outright and if the device was damaged, replacing it through Apple's Out-of-Warranty Service would cost only AU$348.95!

Apple’s Out-of-Warranty Service covers devices that have been water damaged, cracked or are outside of their warranty period. The only requirements are that the device needs to be in one piece and cannot be damaged due to an unauthorised modification/repair.

The web pages containing the Out-of-Warranty Service information can be hard to find. Below are direct links:

iPad - Service Answer Centre

iPhone - Service Answer Centre

Simply walk into an Apple Store with your device and pay the Out-of-Warranty Service fee. Apple will replace your iPhone/iPad with a new or equivalent (refurbished) device of the exact same model and capacity.

1 Comment

Disk Utility can’t repair this disk. Back up as many of your files as possible.

66 Comments

Disk Utility can’t repair this disk. Back up as many of your files as possible.

Recently I had a student whose MacBook Pro would't boot into the OS. Using an bootable OS X 10.9 USB I was able to open Disk Utility and see the 'Macintosh HD' partition greyed out. Clicking 'Mount' resulted in:

Mount failed
The disk “Macintosh HD” could not be mounted.
Try running First Aid on the disk and then retry mounting.

Running 'Repair Disk' failed with:

Disk Utility stopped repairing “Macintosh HD”
Disk Utility can’t repair this disk. Back up as many of your files as possible, reformat the disk, and restore your backed-up files.

Here are the steps to back up user data. First open Terminal under the Utilities menu.

To prevent the Mac from going to sleep type:

pmset sleep 0

Note: The display will still go to sleep, but the rest of the computer won't.

We need to find the disk identifier with:

diskutil list

Next we need to manually create a directory to mount our partition to:

mkdir /Volumes/Manual

Time to mount the partition as read only:

mount -t hfs -o rdonly /dev/disk0s2 /Volumes/Manual

Note: If you receive a 'mount_hfs: Resource busy' error your disk identifier for Macintosh HD is not disk0s2 or the more likely scenario is the Macintosh HD partition eventually mounted by itself. If Macintosh HD has mounted by itself the next command is replaced with: cd "/Volumes/Macintosh HD/Users/"

If the above mount command was successful you should be able to move into the Users directory:

cd /Volumes/Manual/Users/

List available home directories:

ls

Time to copy those irreplaceable documents:

ditto -V USERNAME "/Volumes/EXTERNALDRIVE/USERNAME"

In this example I attached an external drive named 'HFS'.

Note: Ditto copies each file individually. It is important that the drive you are copying data to has enough free space, otherwise ditto will give the error “No space left on device” skipping that particular file and going onto the next. The external drive should also be formatted in Disk Utility as 'Mac OS Extended (Journaled).'

Once the copy is complete Terminal will display '-bash-3.2#'.

Now that you have a back up, shutdown and remove the external drive. Connect the external drive to another computer and verify you have a copy of everything important.

At this point you could reformat and reinstall OS X onto the same drive. However, if you believe the disk is faulty and your MacBook is no longer under warranty I recommend having a look at the hard drive replacement guides on iFixIt.com.

66 Comments

Meet Munki - Managed Mac Software Deployment

2 Comments

Meet Munki - Managed Mac Software Deployment

Recently I have come across a number of Mac schools and businesses running Munki, an open source software distribution tool. I have only studied it for a couple weeks but I can already see why so many Mac sites are using it. This post covers the concept of Munki, my best practices and a list of common commands.

 

The Concept

To put it simply, a Munki server maintains a repository of Mac software. Users running the Munki client application (a.k.a. Managed Software Update) are notified of new software and are then prompted to install it.

Munki can deploy newer versions of currently installed applications (e.g. Google Chrome), Apple software updates (e.g. OS X 10.9.3 Combo) or even custom in-house packages (e.g. ConfigurePrinters.pkg). Munki can also detect if an application has been deleted and will reinstall it.

 

The Structure

A Munki repository is hosted on an internal web server and consists of four directories:

pkgs: This contains all available software, generally as dmg, iso or pkg files.

pkgsinfo: This contains a plist file for each software in the pkgs folder. It’s common to edit these plist files to add software to different catalogues, set software dependencies or edit the minimum OS requirements. The Munki server reads all the plists in pkgsinfo and compiles catalogues from the data. Clients do not access this directory.

catalogs: This is another directory of plists. My Munki server has two catalogues: ‘development’ and ‘production.’ Catalogues are useful for sandboxing new versions of software until they are deemed ready for widespread deployment. Munki automatically generates a catalogue named ‘all’. This catalogue should not be included in any manifest.

manifests: This directory contains more plist files, controlling which software is deployed to which clients as each client is set to download a specific manifest (e.g testing, staff_laptop, etc.). A manifest plist lists software (without versions) to install and/or remove. You can also add the optional_items key in a manifest plist and specify a list of optional software choices. This provides a self-service interface, allowing users to choose from the list of optional software.

My Best Practices

Naming Conventions
To make maintaining the Munki repository more intuitive, I have taken a different approach to naming my catalogues and manifests that differs from norm found on the Munki wiki. I have chosen not to have a ‘testing’ catalogue, only ‘development’ and ‘production’ catalogues. I do however have a manifest called ‘testing’ that accesses the ‘development’ catalogue.

Munki imports new .dmg files with the same filename. To keep the repository tidy, I recommend renaming files before importing. The filename should be in lowercase with no spaces, followed by a dash and the softwares version number (e.g. googlechrome-2.1.4.dmg).

Granular Software Control
In my previous workplace, every Mac ran a SOE (Standard Operating Environment) suite of software. Depending on the location (e.g. Art, Music, etc.) and user type (e.g. staff or student), specific extra software (e.g. Photoshop, Sibelius, etc.) was installed. On top of that there were faculty that required access to software normally only provided to Art or Music computer labs. Since Munki clients can only check a single manifest, I dealt with this limitation by creating a structure of manifests included in other manifests.

It seems confusing at first, but once the infrastructure is set up, assigning new software to all relevant clients is simple. The green bubbles are manifests that clients check, we normally do not add any software directly to these. Yellow are purely for merging manifests, again nothing should be added to these. Blue are core attributes (e.g. laptop, staff, science, etc) software is assigned to these.

For example; Skype is an application only installed on boarding house student machines. To add Skype to the boarders manifest I run:

/usr/local/munki/manifestutil
add-pkg Skype --manifest boarder

The boarder’s MacBooks are configured to check the ‘student_laptop_boarder’ manifest and therefore are notified of any changes made to ‘soe,’ ‘student,’ ‘laptop’ and ‘boarder’ manifests.

student_laptop_boarder.png

Since Skype was added to the ‘boarder’ manifest, Managed Software Update lists Skype as well as VLC media player from the ‘soe’ manifest as available software.

Please note: Manifests directly accessed by clients require a catalogue (e.g. ‘production’) to be specified, however, included manifests that are not directly accessed by clients do not require a catalogue to be set.


Updating Software

In this example I have two versions of Skype, 6.15 and 6.17 in my repository. Version 6.15 has already been tested and added to the ‘production’ catalogue, however, the newer version 6.17 still needs to be tested and was added to the ‘development’ catalogue on import. After thoroughly testing Skype version 6.17, I would simply edit the associated Skype-6.17.plist file in pkgsinfo, replacing 'development' with ‘production’ in the 'catalogs' section.

To update the ‘production’ catalogue with this change I run:

/usr/local/munki/makecatalogs

The new version of Skype is now part of the ‘production’ catalogue and made available to clients.


Common Commands

Server Commands
Display Munki server configuration:

defaults read ~/Library/Preferences/com.googlecode.munki.munkiimport

Import a new application or package:

sudo /usr/local/munki/munkiimport /PATH/TO/SOFTWARE

Rebuild catalogues from pkgsinfo data:

/usr/local/munki/makecatalogs

Enter manifest utility interactive mode:

/usr/local/munki/manifestutil

Common manifest utility interactive mode commands:

list-manifests
new-manifest MANIFESTNAME
display-manifest MANIFESTNAME
list-catalogs
list-catalog-items CATALOGNAME
add-catalog CATALOGNAME --manifest MANIFESTNAME
add-pkg CATALOGITEM --manifest MANIFESTNAME


Client Commands
Set Munki software repo URL:

sudo defaults write /Library/Preferences/ManagedInstalls SoftwareRepoURL "http://swupate.local/munki_repo"

Set ClientIdentifier (manifest):

sudo defaults write /Library/Preferences/ManagedInstalls ClientIdentifier "student_laptop_boarder"

View client configuration:

defaults read /Library/Preferences/ManagedInstalls

Check for available updates from Terminal:

sudo /usr/local/munki/managedsoftwareupdate 

After checking for updates, install any discovered updates:

sudo /usr/local/munki/managedsoftwareupdate —-installonly

Download and install Apple software updates (does not require admin rights):

sudo defaults write /Library/Preferences/ManagedInstalls InstallAppleSoftwareUpdates -bool true

Show the user which software will be removed (managed uninstalls):

sudo defaults write /Library/Preferences/ManagedInstalls ShowRemovalDetail -bool true

Disable Munki installing software at the login window (useful for laptop users):

sudo defaults write /Library/Preferences/ManagedInstalls SuppressAutoInstall -bool true

Disable Munki installing software while user is logged in (useful for computer labs):

sudo defaults write /Library/Preferences/ManagedInstalls SuppressUserNotification -bool true

2 Comments

PHP ARD (Apple Remote Desktop) Import List Generator

6 Comments

PHP ARD (Apple Remote Desktop) Import List Generator

In the past, adding new computers to Apple Remote Desktop has been through either Bonjour discovery (local subnet) or scanning IP address ranges. These methods work great until you have hundreds of Macs and your ARD computer list starts to become out of sync from your colleagues.

Since we keep an asset database tracking our Mac's hostnames and last known IP addresses, I have written a PHP function for generating an ARD friendly import file.

You can find the source code on GitHub here.

This function only requires a filename and an array of Mac's with their hostname and last known IP address. Examples of these are included at the top of ardgen.php. With very little work, this script could be integrated into any database containing Mac's with their recent IP addresses.

An earlier version of this function also included device MAC addresses. However, during a migration to a new database, MAC address information was not ported over, therefore the optional MAC address data was removed from the plist generation. If you have access to the MAC addresses of your computers it is worth including it in the plist.

How to import an ARD import list file

Open Apple Remote Desktop and click 'File' > 'Import List...'

Select your newly created plist file.

Assuming all your Mac's use the same Remote Management user account, uncheck 'Verify user name and password before adding' and then click 'Add.'

With a single import, all your Macs are now in ARD!

6 Comments

The Ultimate Education/Enterprise Deployment Guide to Apple TV AirPlay Mirroring

10 Comments

The Ultimate Education/Enterprise Deployment Guide to Apple TV AirPlay Mirroring

This guide was written primarily to benefit educational and corporate I.T. staff deploying Apple TVs in enterprise networks, however many of the tips can also be applied to home setups to greatly improve your AirPlay Mirroring experience.

What is AirPlay Mirroring?

AirPlay Mirroring, a feature in second and third generation Apple TVs, allows supported iPad, iPhone, iPod touch and Mac owners to wirelessly project their display to an audience. With recent updates, an Apple TV can even be used as a secondary display.

When giving a presentation, think about the time spent mucking around with cables, inputs and resolutions. AirPlay Mirroring allows a presenter to instantly share a Keynote presentation directly from an iPhone while freely moving around the room. Once that presentation is over, the next presenter can instantly take control of the screen and start their presentation.

AirPlay Mirroring takes advantage of the H.264 encoding functionality found in newer graphics cards. You can find Apple’s official list of supported AirPlay Mirroring Mac hardware here

It is also worth mentioning AirParrot, a third party AirPlay Mirroring application for unsupported Macs and PCs. Just be aware that AirParrot relies heavily on CPU and as a result has a substantial impact on battery life.

 

Network Infrastructure

Wi-Fi Hardware

AirPlay Mirroring is a highly bandwidth intensive, low latency technology. All of our previous wireless APs (access points) were wireless N specification and yet the AirPlay Mirroring experience with a class full of students was unreliable. Increasing the number of APs to balance wireless usage helped, but not to the standard we were after.

After investigating various wireless vendors we made the move to Aerohive APs. It has greatly improved our AirPlay Mirroring experience and has allowed us to reduce our total number of APs. Now, each classroom containing an Apple TV also has an Aerohive AP330

Special attention is required when positioning APs; for example, mounting an AP to a celling containing an air-conditioning duct may dramatically reduce the APs SNR (signal-to-noise ratio) and greatly impacts throughput. WiFi Explorer is a Mac application for tracking signal to noise ratio of APs. A good AirPlay Mirroring experience requires a SNR of at least 25dB. 

 

Wi-Fi Configuration

In 2011, connecting an Apple TV to a WPA2 Enterprise (802.11x) wireless network was unsuccessful. Therefore we created a WPA2 PSK network with a hidden SSID (not displayed on client devices) purely for Apple TVs. Please note that some time has passed since our initial tests and WPA2 Enterprise support has probably improved. Currently we have chosen to stick with WPA2 PSK as there is no need to install a WPA2 Enterprise profile with Apple Configurator and no real benefit.

 

2.4GHz vs 5GHz

Wireless N supports both the 2.4GHz and 5GHz radios. The 5GHz radio relies on line of sight, where as the the 2.4GHz signal penetrates through walls. During our initial rollout of Apple TVs, we found that they were connecting to the 2.4GHz radio coming from APs in other buildings instead of connecting to the 5GHz wireless access point in the same room.

Since all of our wireless clients are iPads and Macs with 5GHz radio support, we were in a fortunate position to completely disable the 2.4GHz radio on our network and, as a result, Apple TVs connect to their closet access point. This has been a major component to delivering a smooth AirPlay Mirroring experience.

 

Ethernet vs Wi-Fi

Even with the best enterprise wireless equipment, Apple TVs still drop off of the network from time to time and simply require a reboot. Where possible, allocating a dedicated Ethernet port for your Apple TVs is by far the best option to improve reliability and performance.

 

Apple TV Discovery

Bonjour Discovery
Both OS X and iOS use the Bonjour protocol to advertise and discover services on the network; this includes AirPlay. Bonjour is limited to only advertising to clients on the local subnet. This is a problem as enterprise networks generally separate clients into different subnets depending on their credentials (e.g. staff are segregated from students).

A Bonjour gateway is the solution to this problem as it listens to Bonjour traffic on one subnet and then re-advertises on other subnets. We run Aerohive’s virtualised Bonjour gateway, however most wireless manufactures (e.g. Aruba, Cisco, Meru, Ruckus, Xirrus, etc.) now offer Bonjour gateways and experienced Linux administrators should take a look at Avahi.

To get optimal performance from a Bonjour gateway, it is recommend to use a small subnet purely for Apple TVs, as Bonjour gateways scan smaller subnets much faster.

Bluetooth Discovery
With the release of Apple TV Update 6.1, third generation Apple TVs can now advertise themselves via Bluetooth. This is great for networks that don’t have a Bonjour gateway. Better yet, it means clients will only see a list of nearby AirPlay devices.

 

Controlling Apple TV Updates

Originally whenever Apple released a new Apple TV update I was filled with excitement followed by the dread of having to run around and manually update each of the eighty plus Apple TVs across the campus.

To block Apple TV updates we assign our Apple TVs a DNS server (via DHCP) that contains DNS cache poisoning (resolves to 127.0.0.1) of the following URLs:

  • appldnld.apple.com
  • mesu.apple.com
  • appledld.com.edgesuite.net
  • itunes.apple.com.edgesuite.net

It is also a good idea to point time.apple.com at your local NTP (Network Time Protocol) server.

When we are ready to update all of our Apple TVs, we temporarily disable the DNS poisoning and all of the Apple TVs detect a new update. This used in conjunction with automatic updates is the best solution for enterprise networks with large numbers of Apple TVs.

Another bonus to DNS poisoning is the removal of the movie banners and unnecessary services.

The biggest issue we still battle with is the Apple TV updates which displays the ‘What’s New’ screen after it has updated as it prevents AirPlay until ‘Continue’ is selected with an Apple TV remote.

 

Apple TV Configuration

720p vs 1080p

Setting third generation Apple TVs to output 720p video, greatly improves the AirPlay Mirroring experience. This is simply due to the client transmitting a 720p stream of their screen compared to a higher bandwidth intensive 1080p stream.

 

AirPlay Security

I am proud to be part of an I.T. team where delivering a great user experience always comes first and is not restricted with unnecessary policies. Due to the culture of our students, we provide open access to AirPlay Mirroring, therefore we do not make use of any AirPlay Mirroring security features. For the schools that are not in a position to do this, below are the available options for controlling AirPlay access.

Static Password (Settings > AirPlay > Security > Password)
With a static password, users are prompted to enter a password when they connect.

Onscreen Code (Settings > AirPlay > Security > Onscreen Code)
Selecting an Apple TV causes a randomised four digit code to be displayed on the selected Apple TV. The user is required to enter this code before AirPlaying.

Network Access Control List
In theory (untested), you could also use an ACL to limit access to the subnet containing your Apple TVs. Even if a device discovers an Apple TV via Bluetooth, if it cannot connect to the Apple TVs IP address, it will be unable to AirPlay.

 

Conference Room Display (Settings > AirPlay > Conference Room Display)

The Apple TV 6.0 update introduced a Conference Room Mode; while idle instructions to AirPlay Mirror are displayed. This feature works great in situations where the Apple TV is connected via Ethernet or to the same wireless SSID as your clients. However, in our situation the hidden SSID we connect our Apple TVs to would be displayed. To avoid any confusion we do not use this feature.


Out of the Box Configuration

Below are the steps we take configuring a brand new Apple TV.

  1. Connect to the network via Ethernet or Wi-Fi.
  2. Name the Apple TV based on its physical location (Settings > General > Name > Custom).
  3. Physically label the Apple TV for easy identification.
  4. Disable sleep (Settings > General > Sleep After > Never)
  5. Disable screen saver (Settings > Screen Saver > Start After > Never)
  6. Set time zone (Settings > General > Time Zone > Manual)
  7. Enable automatic updates (Settings > General > Update Software > Update Automatically > On)
  8. Set resolution to 720p (Settings > Audio & Video > TV Resolution > 720p HD - 60Hz)


Client Configuration and Training

DVD Playback While AirPlay Mirroring


For what is believed to be copyright reasons, the OS X DVD Player application will not allow playback of movies while AirPlay Mirroring. Our solution to this problem has been to use VLC for DVD playback. We have made the experience of inserting a DVD and having it play seamlessly with the following scripts:

The bellow AppleScript ‘DVD.scpt’ opens VLC, detects the optical drive and then tells VLC to start playing the DVD.

activate application "VLC"
set drive to do shell script "mount | grep udf | awk '{ print $1 }'"

tell application "VLC"
OpenURL "dvdnav://" & drive
play
next
end tell

We then set DVD.scpt as the default action for DVDs, in System Preferences > CDs & DVDs.

Manually configuring this setting through System Preferences on every Mac was not an option, so we pushed out the setting in the plist file:

~/Library/Preferences/com.apple.digihub.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.digihub.dvd.video.appeared</key>
    <dict>
        <key>action</key>
        <integer>6</integer>
        <key>otherscript</key>
        <dict>
                <key>_CFURLString</key>
                <string>file:///Library/Scripts/AirPlay%20DVD/DVD.scpt</string>
                <key>_CFURLStringType</key>
                <integer>15</integer>
        </dict>
    </dict>
</dict>
</plist>

 

Entering Passwords While AirPlay Mirroring

If you have ever entered a password into an iOS device, you would have noticed the last character entered is displayed for a split second before it is masked. While AirPlay Mirroring from an iOS device, this behaviour still occurs and could allow others to work out your password.

To combat this issue, users are taught to disconnect from AirPlay before entering passwords. Using iCloud Keychain is also encouraged as login credentials are pre-filled.

 

Apple TV Alternatives

Using an Apple TV for AirPlay Mirroring is the only Apple supported solution, but not the only AirPlay Mirroring solution out there, some schools run AirServer or Reflector. These solutions are worth considering if:

  • You don’t have the budget for a set of Apple TVs.
  • Your current displays do not support HDMI.
  • You already have dedicated computers connected to your projectors.
  • You want to record your AirPlay Mirroring into a video file.

10 Comments

How to Get Cheap iTunes Cards in Australia

1 Comment

How to Get Cheap iTunes Cards in Australia

If you spend anywhere near as much money as I do on Mac and iOS apps you’ll be looking to top up your iTunes balance frequently. A fantastic little Australian site I use for finding the latest discounts on gift cards is GiftCardsonSale.com.au (formerly iTunesonSale.com.au). Thanks to them I have saved 25% off my iTunes card purchases multiple times.

Next time you need to purchase some iTunes credit take a minute to check out Gift Cards on Sale, you’ll be glad you did.

1 Comment

A Guide to Installing & Uninstalling Mac Applications

Comment

A Guide to Installing & Uninstalling Mac Applications

People making the switch to Mac often ask, “How do I install programs and what’s the equivalent to ‘Add/Remove Programs’ on a Mac?” To answer this question I have put together a guide that covers the three main methods of installing and uninstalling applications in Apple’s Mac OS X:

MAS.png

Mac App Store: Apple introduced the MAS back in Mac OS X 10.6.6 (Snow Leopard) and it is now the preferred method for installing Apple approved applications. The Mac App Store notifies users when an app update is available and a new feature in OS X 10.9 (Mavericks) can even automatically install updates for you. Applications purchased through the MAS are linked to your Apple ID, allowing you to install purchased apps on multiple Macs for no additional charge. Another benefit is that you don’t need to keep track of any serial numbers.

Install: Simply click the price tag button and then click ‘Buy App’ to confirm the purchase. The app icon then literately jumps out of the MAS and into your Lauchpad.

Uninstall: Open Launchpad, click and hold your cursor on an app icon until you see the app icons shaking (I imagine that they are scared that you are going to delete them), then click the little cross in the top left corner of the app icon and confirm by clicking ‘Delete.’

Examples: iBooks Author, Flutter, Muse

DMG.png

Drag & Drop: These generally download as a .dmg (disk image) file, however I have also come across .zip and tar.gz (compressed archive) files, which all just contain a .app file. Apps are often distributed this way if they do not meet MAS requirements. You will find many community driven applications (open source) distributed this way as their licensing conflicts with Apple’s MAS Terms of Service.

Install: Double click to mount the .dmg file and drag the app icon into your Applications directory to install. Often .dmg files will include an alias to your Applications directory, so you don’t need to fiddle with opening another Finder window.

DMG-Example.png

Uninstall: The easiest way to remove these apps is with FreeMacSoft’s AppCleanerOtherwise you can manually remove the app by going to Applications in Finder and dragging the app into the Trash.

Examples: Google Chrome, Mozilla Firefox, VLC

PKG.png

Installer Package: These are generally used if an application needs to install files outside of the Applications directory and/or needs to run an install script. An install of a .pkg or .mpkg file looks very similar to setup wizards found on the Windows operating systems.

Tip: If you ever want to extract something out of a .pkg file, you can use the free app ‘unpkg.’ It’s great for extracting the .app file in situations where an installer will refuse to run on your bleeding edge operating system.

Install: Double click the installer package file and click through the wizard.

PKG-Example.png

Tip: I recommend installing a free Finder QuickLook plug-in called ‘Suspicious Package,’ it presents detailed information about what an installer package is configured to do. Download Suspicious Package here, mount the .dmg and then click ‘Go’ → ‘Go to Folder’ then type ~/Library/.

Library.png

Create a new folder called ‘QuickLook’ and drag ‘Suspicious Package.qlgenerator’ into it.

Library-QuickLook.png

You will need to log out or restart your computer for Finder to detect the plug-in. Once installed, simply select a .pkg file and hit space to see detailed information about that package.

SusPkg-Example.png

 

Uninstall: By far the easiest way is to use AppCleaner. The next best thing is using a tool such as Suspicious Package to find where the package places files and manually go around and delete them. If you are feeling really geeky you could avoid using Suspicious Package and use the Terminal command ‘lsbom -lfs `pkgutil --bom /PATH/TO/PACKAGE/FILE.pkg`’ to get an idea of where the package places files.

Examples: Adobe Flash Player, Oracle Java, Microsoft Office

 

Unless you have used AppCleaner you’ll find settings/configuration files created by that application are left behind. If you want an application to behave like it’s never been opened before, you will need to trash any preference files containing to the application or developer's name. Open Finder and click ‘Go’ → ‘Go to Folder’ then type the following paths:

User specific settings: ~/Application Support/ and ~/Preferences/

System wide settings: /Library/Application Support/ and /Library/Preferences/

Comment

Turn Your Mac into a PHP Web Server In Under 10 Seconds

Comment

Turn Your Mac into a PHP Web Server In Under 10 Seconds

In almost no time at all this post will have your Mac up and running as an Apache 2 web server with PHP support. It's great for those that want to set-up a local web development environment to code that quick web app idea.

 

I have tested the following steps on Mac OS X Lion (10.7), OS X Mountain Lion (10.8) and OS X Mavericks (10.9).

 

Step 1: Enable PHP in the Apache configuration file

Open Terminal (/Applications/Utilities/Terminal) and type: 

sudo nano /etc/apache2/httpd.conf

Hit return and type your password. Don’t worry if it looks like you are not typing anything, it's just Terminal hiding your password input for added security.

To search the document press control + w, type 'php' and hit return.

Seachphp.png

You'll need to uncomment (remove the leading #) the php5_module.

Uncommentphp.png

 

To save changes press control + x, type y and hit return.

Step 2: Start up Apache

Type: 

sudo apachectl restart

Step 3: Test it out

Open Safari and type 'localhost' into the address bar. You should see:

This is the default web page that comes with Apache.

This is the default web page that comes with Apache.

Open Finder and click 'Go' → 'Go to Folder…'

GoToFolder.png

Type “/Library/WebServer/Documents/“ and click 'Go.'

Tip: You can press ‘tab’ to autocomplete folder names.

Tip: You can press ‘tab’ to autocomplete folder names.

&nbsp;/Library/WebServer/Documents/

 /Library/WebServer/Documents/

This index.html file is the “This works!” web page you saw in the last step. Go ahead and edit index.html in your favourite text editor. I like to use Coda 2 (bit pricey) for my web development projects, but you could use any text editor. Before Coda 2 I was using Smultron and Notepad++, which are much cheaper. Once you have made a change refresh the page in Safari to see your changes.

 

Comment

[SOLVED] "This copy of the Install OS X Mavericks application can't be verified. It may have been corrupted or tampered with during downloading."

62 Comments

[SOLVED] "This copy of the Install OS X Mavericks application can't be verified. It may have been corrupted or tampered with during downloading."

2018 UPDATE: This issue also occurs when attempting to install macOS High Sierra, with a slightly different error message: “This copy of the Install macOS High Sierra application is damaged, and can’t be used to install macOS.”

While trying to do a clean install of Mavericks onto a MacBook Air I received the error: "This copy of the install OS X Mavericks application can't be verified. It may have been corrupted or tampered with during downloading."

I found the error wasn't due to a corrupted Mavericks installer, but an incorrect date setting, caused by a flat battery. Since I had already blown away the previous Mac OS X install I needed to fix the time while booted from the Mavericks installer.

If you're experiencing this issue, here's what to do:

Boot into the Mavericks Installer. You can learn how to make bootable Mavericks USB here.

Open Terminal (Utilities → Terminal)

Check what the date is currently set to by typing "date". If it's incorrect type:

	date mmddHHMMYYYY
Substitute
mm = current month (e.g. February = 02)
dd = current date (e.g 31)
HH = current hour (e.g. 6pm = 18)
MM = current minute (e.g. 05)
YYYY = current year (e.g. 2013)

Hit return and quit Terminal. Now attempt the Mavericks install again, if it fails again it's not a date issue and I would try downloading and recreating your Mavericks installer.

 

62 Comments

Creating a Bootable OS X/macOS USB Installer

Comment

Creating a Bootable OS X/macOS USB Installer

Since the release of Mac OS X 10.6 (Snow Leopard) I've carried around a bootable USB on my keychain. It has made my life a lot easier reinstalling OS X/macOS without an Internet connection and troubleshooting Macs without a recovery partition. I also much prefer clean installs of the operating system, using this method vs updating from a previous version of OS X/macOS.

This post will go through the process I use to create a bootable OS X/macOS installer.

 

Requirements

  • At least an 8GB USB, you can also use a FireWire or Thunderbolt drive.

  • A Mac running 10.6.8 (Snow Leopard) or newer.

  • A fast Internet connection to download the OS X/macOS installer.

 

Step 1: Download OS X/macOS

If you haven’t already you can download the desired Install macOS application from the Mac App Store. Here are some direct links:

Once it's downloaded the installer automatically opens, simply quit it.

OSXMavericksInstaller.png
InstallOSXQuit.png

Step 2: Prepare the USB

We are about to erase everything on the USB, make sure you have copied off anything you wish to keep. 

 

Open Disk Utility (/Applications/Utilities/Disk Utility), select your USB drive from the list and click the ‘Erase’ tab.

Set format to: Mac OS Extended (Journaled)

Set name to either: Mavericks, Yosemite, El Capitan, Sierra, High Sierra, Mojave, Catalina, Big Sur, Monterey

DiskUtility.png

 

Click ‘Erase...’ and 'Erase' again, then enter your password if required. 

Step 3: Copy over the files

Open Terminal  (/Applications/Utilities/Terminal) and paste the appropriate command.

For Mavericks (10.9):

sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/Mavericks --applicationpath /Applications/Install\ OS\ X\ Mavericks.app --nointeraction

For Yosemite (10.10):

sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/Yosemite --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --nointeraction

For El Capitan (10.11):

sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/El\ Capitan --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app --nointeraction

For Sierra (10.12):

sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/Sierra --applicationpath /Applications/Install\ macOS\ Sierra.app --nointeraction

For High Sierra (10.13):

sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/High\ Sierra --applicationpath /Applications/Install\ macOS\ High\ Sierra.app --nointeraction

 For Mojave (10.14):

sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/Mojave --applicationpath /Applications/Install\ macOS\ Mojave.app --nointeraction --downloadassets

For Catalina (10.15):

sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/Catalina --nointeraction --downloadassets

For Big Sur (11):

sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/Big\ Sur --nointeraction --downloadassets

For Monterey (12):

sudo /Applications/Install\ macOS\ Monterey.app/Contents/Resources/createinstallmedia --volume /Volumes/Monterey --nointeraction --downloadassets

Hit return, type in your password, then hit return again. Don’t worry if it looks like you are not typing anything, it's just Terminal hiding your password input for added security. Depending on your USB, the copy process takes approximately 20 minutes to finish.

 

That's it! You should now have a bootable OS X USB installer. Go test it out by plugging it into a Mac that is turned off, pressing the power button and then holding down the 'option' key.

I’d like to thank tywebb13  for sharing the above Terminal command on the MacRumors forums.

 

If you need any help feel free to leave a comment. 

Comment