Jump to content

Mac OS X Documentation?


Recommended Posts

Do you mean for the end user or for the server?

Most of our documentation actually assumes you're using a unix server. The operating system of the end user doesn't make a difference, but if you look carefully, most of the screenshots in our documentation are taken on a Mac ;) It's what the majority of the developers here use.

Was there something particular you need help with?

Link to comment
Share on other sites

Why is there no Mac OS X documentation, or linux for that matter. Everything seems to be geared for Windows unfortunately, or if it does exist,

where on earth are you hiding it?

Why would you need specific documentation for a Mac, this is a PHP application and will run on any platform that supports PHP (with some extensions) and MySQL with a running web server.

On Mac you can install MySQL/Apache/PHP either manually or using MAMP http://www.mamp.info/en/index.html.

Then simply upload the IPB files and perform the install as you would with any platform.
Link to comment
Share on other sites

Thanks for your input folks:
I'm looking to set up an initial development model on my local Mac (Snow Leopard),
before I upload it to my domain hosting service. I'd like to gain some much needed
experience before I put it out in the real world (I'm a total rookie at this by the way). :blush:
I've downloaded and installed PHP, which seemed to go OK, but I haven't been able to test the
PHP installation yet. I have MySQL installed and have been using it for other projects for some
time now - So I know that it is working well.
I think my biggest problem might be the location, on my Mac, of the IP Board installation, primarily
because Mac does such a good job of hiding it's UNIX internals. :blink: I have yet to locate the
actual HTTPD deamon. I have currently located the "IP Board" files under "First Drive:/Library/WebServer/share/httpd/Corpex/",
with "Corpex" being the directory name I have chosen, rather then "forum". Does this look right, or have I
totally messed up?
I appreciate your help. SledDog :)

Link to comment
Share on other sites

If you want some quick, fast, and doesn't mess with the rest of your system MAMP is a good option. If you're like me, like the appeal of MAMP, but don't want to be locked in, with some effort you can build your own MAMP (mine has fastcgi, and PHP 4.4 through 5.3).

This isn't "perfect" yet (I'm a perfectionist), but here are my notes for doing that:

MySQL 5.0 64bit:

./configure  '--prefix=/Server/software' '--libexecdir=/Server/software/bin' '--localstatedir=/Server/db/mysql' '--sysconfdir=/Server/config' '--with-unix-socket-path=/Server/tmp/mysql.sock' '--enable-thread-safe-client' '--enable-local-infile' '--with-pic' '--with-client-ldflags=-static' '--with-mysqld-ldflags=-static' '--with-zlib-dir=bundled' '--with-big-tables' '--with-yassl' '--with-readline' '--with-innodb' '--with-ndbcluster' '--with-archive-storage-engine' '--with-blackhole-storage-engine' '--with-csv-storage-engine' '--without-example-storage-engine' '--with-federated-storage-engine' '--with-extra-charsets=all' '--with-mysqld-user=_mysql' --without-debug 'CC=gcc -static-libgcc' 'CFLAGS=-g -Os -arch x86_64 -fno-common' 'CXX=gcc -static-libgcc' 'CXXFLAGS=-g -Os -arch x86_64 -felide-constructors -fno-common'

MySQL 5.1 64bit:

./configure  '--prefix=/Server/software' '--libexecdir=/Server/software/bin' '--localstatedir=/Server/db/mysql' '--sysconfdir=/Server/config' '--with-unix-socket-path=/Server/tmp/mysql.sock' '--enable-thread-safe-client' '--enable-local-infile' '--with-pic' '--with-client-ldflags=-static' '--with-mysqld-ldflags=-static' '--with-zlib-dir=bundled' '--with-big-tables' '--with-ssl' '--with-readline' '--with-embedded-server' '--with-partition' '--with-innodb' '--without-ndbcluster' '--with-archive-storage-engine' '--with-blackhole-storage-engine' '--with-csv-storage-engine' '--without-example-storage-engine' '--with-federated-storage-engine' '--with-extra-charsets=complex' '--with-mysqld-user=_mysql' --without-debug 'CC=gcc -static-libgcc' 'CFLAGS=-g -Os -arch x86_64 -fno-common' 'CXX=gcc -static-libgcc' 'CXXFLAGS=-g -Os -arch x86_64 -felide-constructors -fno-common'

./mysqladmin -u root shutdown

./mysqld_safe --log-error=/Server/logs/mysql.log &

Apache 2.2:

Add to layout file:

<Layout Custom>

	prefix:    	/Server/software

	exec_prefix:   ${prefix}

	bindir:    	${exec_prefix}/bin

	sbindir:   	${exec_prefix}/bin

	libdir:    	${exec_prefix}/lib

	libexecdir:	${exec_prefix}/modules

	mandir:    	${prefix}/man

	sysconfdir:	/Server/config

	datadir:   	${prefix}

	installbuilddir: ${datadir}/build

	errordir:  	${datadir}/error

	iconsdir:  	${datadir}/icons

	htdocsdir: 	/Server/htdocs

	manualdir: 	${datadir}/manual

	cgidir:    	/Server/cgi-bin

	includedir:	${prefix}/include

	localstatedir: ${prefix}

	runtimedir:	/Server/tmp

	logfiledir:	/Server/logs

	proxycachedir: /Server/tmp/proxy


Download mod_fcgid, merge files into the apache source directory stucture and run (if doesn't work with latest version due to bug, I think 2.2.14 works):



./configure --enable-layout=Custom --enable-fcgid --enable-expires --enable-headers --enable-ssl --enable-rewrite --with-mpm=worker

Add this to httpd.conf:

FcgidIOTimeout 300

FcgidIdleTimeout 300

FcgidMaxProcesses 35

FcgidInitialEnv PHP_FCGI_MAX_REQUESTS   	1000

FcgidMaxRequestsPerProcess 	1000

<Files ~ (\.php)>

Options +ExecCGI


PHP 4.4:

./configure --prefix=/Server/software/php44 --with-config-file-path=/Server/config/php44 --enable-fastcgi  --enable-mbstring --enable-sockets --enable-calendar --enable-bcmath --enable-exif --enable-ftp --with-gd --with-jpeg-dir=/Server/software --with-png-dir=/Server/software  --with-freetype-dir=/Server/software --with-ttf  --with-t1lib=/Server/software --with-openssl --with-kerberos --with-curl=/Server/software --with-mcrypt=/Server/software --with-dom=/Server/software --with-ldap --with-zlib --with-mysql=/Server/software --with-mysql-sock=/Server/tmp

4.4 may need "-lresolv" in EXTRA_LIBS in Makefile after ./configure .. something to do with dns.o

PHP 5.2:

./configure --prefix=/Server/software/php52 --with-config-file-path=/Server/config/php52 --enable-fastcgi --enable-mbstring --enable-sockets --enable-soap --enable-calendar --enable-bcmath --enable-exif --enable-ftp --with-gd --with-jpeg-dir=/Server/software --with-png-dir=/Server/software  --with-freetype-dir=/Server/software --with-ttf --with-t1lib=/Server/software --with-openssl --with-kerberos --with-curl=/Server/software --with-mcrypt=/Server/software --with-libxml-dir=/Server/software --with-ldap --with-zlib --with-mysql=/Server/software --with-mysqli=/Server/software/bin/mysql_config --with-mysql-sock=/Server/tmp --with-pdo-mysql=/Server/software 

PHP 5.3:

./configure --prefix=/Server/software/php53 --with-config-file-path=/Server/config/php53 --enable-mbstring --enable-sockets --enable-soap --enable-calendar --enable-bcmath --enable-exif --enable-ftp --with-gd --with-jpeg-dir=/Server/software --with-png-dir=/Server/software  --with-freetype-dir=/Server/software --with-t1lib=/Server/software --with-openssl --with-kerberos --with-curl=/Server/software --with-mcrypt=/Server/software --with-libxml-dir=/Server/software --with-ldap --with-zlib --with-mysql=/Server/software --with-mysqli=/Server/software/bin/mysql_config --with-mysql-sock=/Server/tmp --with-pdo-mysql=/Server/software 

5.3 Mysqli compile bug: http://svn.php.net/viewvc/php/php-src/trunk/ext/mysqli/php_mysqli_structs.h?r1=302179&r2=302178&pathrev=302179


AddHandler fcgid-script .php

One of these:

FcgidWrapper /Scripts/software/php53/php-cgi .php

FcgidWrapper /Scripts/software/php52/php-cgi .php

FcgidWrapper /Scripts/software/php44/php .php

Please not this is not a tutorial. These are just my notes (plus a couple extra notations). There are some things missing (I don't tell you how to compile libpng). This is mostly because it's pretty straight forward. I compiled some libraries I didn't have to, like libxml... You don't have to do this because these should already come on your Mac. Where you don't compile a library, just remove the "=/Server..." part from a --with- flag. I would recommend at least compiling freetype, libpng, and libjpeg. Pretty much compile what you need through trial and error.

To compile something you need to install the developer tools that comes on the Mac OS X CD. Do this all through terminal. This assumes that you're downloading each software into /Server/software/src/ (like /Server/software/src/PHP.../).

My not be complete, doesn't have a warranty of any kind :). Experiment at your own risk. If/when I refine it, I'll come up a guide :).. maybe.

Like mamp this is completely self contained. When every you compile something MAKE SURE to add --prefix=/Server/software so it doesn't overwrite anything on your system. Always read ./configure --help to make sure --prefix is available, and if it isn't use what every is available (Apache is a fairly good example of this. I used the layout file. It has it, but I needed to further customize paths).

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...