Posts Tagged apache
Mac’s Apache web server crashing out
Posted by admin in Web design & development on May 16th, 2010
Spent a few hours yesterday try to fix my localhost web sharing. After a restart none of my local sites were responding, neither from my user account nor the back-up admin account.
This error message kept showing up in my Console:
com.apple.launchd[1] (org.apache.httpd[790]) Exited with exit code: 1
Followed a lengthy process to discount disk errors – (finding and fixing some serious ones) then a clean install and update of the system. Yeuch.
In the end it turns out to have been an error in the latest addition to my virtualhosts in /etc/apache2/virtualhosts. No error in the contents (created by the excellent virtualhost.sh script) – but something wrong with the file or its permissions or gawd knows what.
Obscure, strange and particularly annoying when a deadline is looming. Nevermind – next time I know to temporarily disable any virtualhosts when trying to find out what has killed my Apache server.
MAMP stacked (Mac OS X 10.6)
Posted by admin in Web design & development on November 16th, 2009
When I moved over to Mac OS X 10.6 last week I found I had to fix my MAMP stack. My old MAMP install didn’t work anymore as unfortunately Marc Liyanage’s excellent PHP package fails in 10.6.
The following instructions are mostly the same as before – except it’s not quite so easy now – if you want more than a base PHP install that is. (I even had another look at the commercial MAMP Pro offering. Nah.) For a simple MAMP stack you really only need to turn on Apple’s PHP package and grab a copy of MySQL. If easy is good for you – jump to 1.5.
But I “like” to have phpMyAdmin and don’t like being warned that I’m missing the mcrypt extension for PHP. If you want mcrypt too – start at #1.
Tools & Requirements:
- You need admin access on your Mac
- Basic understanding of the filesystem and Terminal.app
- If you’ve not got it already grab the wonderful and free editor TextWrangler. The config files that need editing are hidden from normal view- but easily reached by TextWrangler which even has a menu item for that: File / Open hidden… . It also handles authentication beautifully to allow saving without having to manually change permissions to and fro.
1. [extra steps to customise things first eg add mcrypt PHP extension - if you don't need/want it skip past to 1.5.] Go and see Xeon Xai’s blog post Snow Leopard PHP Extensions Installation Tutorial or for a quicker version – go here. These first optional steps to customising your set up (adding PHP extensions and even downgrading PHP from 5.3. to 5.2) has turned out to be more “intereseting” than originally percieved and needs post of its own…
1.5 Prepare your php.ini file by duplicating the supplied stock example file and givining it the right name: In Terminal paste this:
sudo cp /private/etc/php.ini.default /private/etc/php.ini
You’ll need to edit the timezone – replace
;date.timezone = with
date.timezone = Europe/Madrid
For other timezones look to the official list here (note the lost semi colon – that’s the comment character)
1.6 Get PHP looking in the right place for MySQL (once you’ve installed it.) …Still editing php.ini find and replace all instances of /var/mysql/mysql.sock with /tmp/mysql.sock . (Why? – well as documented here it seems php.ini is configured for Mac OS X Server’s bundled version of MySQL)
1.7 Start PHP by un-commenting the LoadModule php5_module line in your /etc/apache2/http.conf file.
1.8 Turn Web Sharing (in System Preferences/Sharing) off-and-on again.
2. Get yourself virtualhost.sh from Patrick Gibson. This little shell script will make the process of setting up proper virtual domains on your development server a cinch. I use “.dev” or “.live” as the TLD to prevent any conflict with the live sites. (Although now I’ve started using Git I may just drop the separation between live and development branch domains on my development box. I still put all my sites in my ~/Sites folder though.
3. MySQL
3.1 If you’ve already got another version installed uninstal MySQL from your Mac. NB – this will delete your databases too! But you’ve got those backed up and you want a clean slate:
- sudo rm /usr/local/mysql
- sudo rm -rf /usr/local/mysql*
- sudo rm -rf /Library/StartupItems/MySQLCOM
- sudo rm -rf /Library/PreferencePanes/My*
- edit /etc/hostconfig and remove the line MYSQLCOM=-YES-
- sudo rm -rf /Library/Receipts/mysql*
- sudo rm -rf /Library/Receipts/MySQL*
3.2 Get a MySQL Community Server for the Mac and install it.
4. Give your MySQL root user a password; type the following into the Terminal:
/usr/local/mysql/bin/mysqladmin -u root password sniggle
…if you like sniggle as a passowrd that is.
5. Now you can administer your MySQL server with phpMyAdmin and the root user you’ve just defined. (There are other tools too – eg MySQL Administrator – but I’m used to phpMyAdmin from the hosting packeges I use). You may want to virtualhost phpMyAdmin to, for example, “http://mysql/”. Love virtualhost.sh.
6. Then for each [dynamic] site you’ll probably want to add a user and then associate a DB with that user. Do this in phpMyAdmin in one step using the Privileges pane fill in “Add a new User”/then select “Create database with same name and grant all privileges”. Job’s a good ‘un.
Done and not long-winded at-all at-all!
MAMP stacked (Mac OS X 10.5)
Posted by admin in Web design & development on June 5th, 2009
UPDATE: I’ve upgraded to Snow Leopard (Mac OS X 10.6) and the following instructions are no longer entirely valid as Marc Liyanage’s PHP package hasn’t been upgraded to work in the Snow.
Want to get MAMP on Mac OS X 10.6?
If you’re on 10.5 you may read on…
Want to roll a MAMP stack of your own to enable proper local web development? Try these steps to getting you own development environment:
1. Swap the Apple package of PHP for Marc Liyanage’s package of PHP for Mac OS X. Read his notes – only takes a minute. His version has useful “extras” like the mcrypt extension that Apple doesn’t include: you’ll want that for phpMyAdmin. (If you’ve already started Apple’s version – you’ll know how to stop it by re-commenting the LoadModule php5_module line in your http.conf file )
2. Get yourself virtualhost.sh from Patrick Gibson. This little shell script will make the process of setting up proper virtual domains on your development server a cinch. I use “.dev” or “.live” as the TLD to prevent any conflict with the live sites. (Although now I’ve started using Git I may just drop the separation between live and development branch domains on my development box. I still put all my sites in my ~/Sites folder though.
3. Get a Mac OS X MySQL package – (not the latest build but v5.0.x) from the good folks at MySQL. If you’ve already got another version installed – here’s how to uninstal MySQL from a Mac (NB – this will delete your databases too!).
4. Give your MySQL root user a password; type the following into the Terminal:
/usr/local/mysql/bin/mysqladmin -u root password sniggle
…if you like sniggle as a passowrd that is.
5. Now you can administer your MySQL server with phpMyAdmin and the root user you’ve just defined. (There are other tools too – eg MySQL Administrator – but I’m used to phpMyAdmin from the hosting packeges I use). You may want to virtualhost phpMyAdmin to, for example, “http://mysql/”. Love virtualhost.sh.
6. Then for each [dynamic] site you’ll probably want to add a user and then associate a DB with that user. Do this in phpMyAdmin in one step using the Privileges pane fill in “Add a new User”/then select “Create database with same name and grant all privileges”. Job’s a good ‘un.
Done and not long-winded at-all at-all!
[Originally posted as a reply in Panic's Coda forum... Lots of love for MAMP Pro - a serious contender - and for just 40€... ]
Subdomains on localhost in Mac OS X 10.5 Leopard
Posted by admin in Web design & development on November 19th, 2008
Apache with PHP and SSI on Mac OS X 10.5 Leopard in two minutes
Posted by admin in Web design & development on November 7th, 2008
[Update - see here. I wouldn't recommend the Apple PHP distro anymore as it has shortcomings. Roll your MAMP!]
See full description for PHP here, for activating SSI here.
Add PHP with debugging
Activate: goto /private/etc/apache2/httpd.conf and uncomment LoadModule php5_module . Save.
Add debugging: In Terminal type:
cd /private/etc
sudo cp php.ini.default php.ini
Edit said php.ini: change
error_reporting = E_ALL & ~E_NOTICE to
error_reporting = E_ALL .Save
Add SSI
Go back to /private/etc/apache2/httpd.conf…
1. Uncomment these lines from the
<ifmodule mime_module>stanza:
AddType text/html .shtml and
AddOutputFilter INCLUDES .shtml2. Add “Includes” to the “Options” statement in the
<directory "/Library/WebServer/Documents">stanza (so it now reads
Options Indexes FollowSymLinks MultiViews Includes)3. [Re]start Apache with
sudo apachectl graceful
Job’s a good ‘un.