Midgard Mac OS X 10.3.9 installation

Robert Guerra <[email protected]>
Newsgroups gmane.comp.web.midgard.user
Message-ID <p06210207be898616892e@[10.0.1.3]>
I've just tried to get Midgard installed and working on Mac OS X . I 
went through Juhana's notes and all worked ok until i reached the 
midgard-php4 section.

The error I got and the steps i've followed are below and documented 
on my blog entry @
http://www.privaterra.org/blog-rg/midgard-mac-os-x-10-3-9-installation.html

regards

Robert



Midgard Mac OS X 10.3.9 installation

Based on Juhana Hirvilahti's step by step instructions on how to 
install Midgard on Mac OS X 10.3.7


Preparations

Install mysql via fink

$ export PATH=$PATH:/sw/bin
$ sudo /sw/bin/apt-get update
$ sudo /sw/bin/apt-get install mysql
$ sudo /sw/bin/apt-get install mysql12-dev

Install expat via fink

$ sudo /sw/bin/apt-get install expat

Installed glib via fink

$ sudo /sw/bin/apt-get install glib
$ sudo /sw/bin/apt-get install glib2

Install gettext via fink

$ sudo /sw/bin/apt-get install gettext

Install dialog via fink

$ sudo /sw/bin/apt-get install dialog


Download the latest Apache 2.0.x and PHP 4.3.x

http://httpd.apache.org/download.cgi
http://www.php.net/releases.php


Installed Apache-2.0.52 from source
$ ./configure --prefix=/usr/local/apache2 \
--enable-module=so \
--sysconfdir=/usr/local/apache2/conf \
--libexecdir=/usr/local/apache2/libexec
$ make
$ sudo make install

Installed php-4.3.11 from source
$ ./configure --prefix=/usr/local/php \
--with-mysql=/sw \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-iconv=/sw \
--with-iconv-dir=/sw \
--with-exif \
--with-xml
$ make
$ sudo make install
$ sudo cp php.ini-dist /usr/local/php/lib/php.ini
$ sudo /usr/local/apache2/bin/apachectl start

Edit  /usr/local/apache2/conf/httpd.conf and add the following lines

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps



$ sudo /usr/local/apache2/bin/apachectl restart

Placed a small script () to my document root to see if php is working properly.


So far so good! At this point I made sure everything was nice and 
cozy for Midgard.

The fun part starts here...

Fetch the Midgard files from the following location:

http://www.midgard-project.org/download/

The easiest thing is to download the all in one file (Midgard_AllinOne.tar.bz2)

$ bunzip2 Midgard_AllinOne.tar.bz2
$ tar xvf Midgard_AllinOne.tar
$ cd Midgard_AllinOne


midgard-core

$ cd midgard-core-1.6.3
$ ./configure --prefix=/usr/local/midgard --with-mysql=/sw
$ make
$ sudo make install

midgard-apache2

$ cd  ..
$ cd midgard-apache2-1.6.3
$ ./configure --with-apxs2=/usr/local/apache2/bin/apxs \
--with-midgard-config=/usr/local/midgard/bin/midgard-config
$ make
$ sudo make install

midgard-php4

$ cd ..
$ cd cd midgard-php4-1.6.3
$ sudo ./mkall --with-apxs=/usr/local/apache2/bin/apxs \
--with-apr-config=/usr/local/apache2/bin/apr-config \
--with-midgard=/usr/local/midgard/bin/midgard-config \
--with-php-config=/usr/local/php/bin/php-config

[error encountered during above step]

gcc ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o 
.libs/midgard.so -bundle  .libs/mgd_errno.o .libs/midgard.o 
.libs/article.o .libs/parameter.o .libs/attachment.o .libs/oop.o 
.libs/topic.o .libs/element.o .libs/mail.o .libs/group.o .libs/file.o 
.libs/host.o .libs/image.o .libs/member.o .libs/calendar.o 
.libs/event.o .libs/eventmember.o .libs/page.o .libs/pageelement.o 
.libs/pagelink.o .libs/person.o .libs/preferences.o .libs/snippet.o 
.libs/snippetdir.o .libs/style.o .libs/sitegroup.o .libs/preparser.o 
.libs/preparse.o .libs/language.o .libs/quota.o  -L/sw/lib 
-L/usr/local/midgard/lib /sw/lib/mysql/libmysqlclient.dylib 
/sw/lib/libexpat.dylib -lpam -lz /sw/lib/libglib.dylib 
/sw/lib/libiconv.dylib /usr/local/midgard/lib/libmidgard.dylib
ld: multiple definitions of symbol _le_midgard_list_fetch
.libs/midgard.o definition of _le_midgard_list_fetch in section 
(__DATA,__common)
.libs/oop.o definition of _le_midgard_list_fetch in section (__DATA,__common)
make: *** [midgard.la] Error 1
/bin/sh 
/Users/rguerra/midgard/Midgard_AllinOne/midgard-php4-1.6.3/libtool 
--mode=link gcc -DPHP_ATOM_INC 
-I/Users/rguerra/midgard/Midgard_AllinOne/midgard-php4-1.6.3/include 
-I/Users/rguerra/midgard/Midgard_AllinOne/midgard-php4-1.6.3/main 
-I/Users/rguerra/midgard/Midgard_AllinOne/midgard-php4-1.6.3 
-I/usr/local/php/include/php -I/usr/local/php/include/php/main 
-I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend 
-I/ -I/sw/include/glib-1.2 -I/sw/lib/glib/include -I/sw/include/mysql 
-I/sw/include -I/usr/local/midgard/include 
-I/usr/local/apache2/include -DHAVE_CONFIG_H  -g -O2   -o midgard.la 
-export-dynamic -avoid-version -prefer-pic -module -rpath 
/Users/rguerra/midgard/Midgard_AllinOne/midgard-php4-1.6.3/modules 
mgd_errno.lo midgard.lo article.lo parameter.lo attachment.lo oop.lo 
topic.lo element.lo mail.lo group.lo file.lo host.lo image.lo 
member.lo calendar.lo event.lo eventmember.lo page.lo pageelement.lo 
pagelink.lo person.lo preferences.lo snippet.lo snippetdir.lo 
style.lo sitegroup.lo preparser.lo preparse.lo language.lo quota.lo 
-L/sw/lib -L/sw/lib -L/sw/lib -L/sw/lib -L/sw/lib -L/sw/lib 
-L/usr/local/midgard/lib -L/usr/local/midgard/lib -lmysqlclient 
-lexpat -lpam -lz -lglib -liconv -lmidgard
gcc ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o 
.libs/midgard.so -bundle  .libs/mgd_errno.o .libs/midgard.o 
.libs/article.o .libs/parameter.o .libs/attachment.o .libs/oop.o 
.libs/topic.o .libs/element.o .libs/mail.o .libs/group.o .libs/file.o 
.libs/host.o .libs/image.o .libs/member.o .libs/calendar.o 
.libs/event.o .libs/eventmember.o .libs/page.o .libs/pageelement.o 
.libs/pagelink.o .libs/person.o .libs/preferences.o .libs/snippet.o 
.libs/snippetdir.o .libs/style.o .libs/sitegroup.o .libs/preparser.o 
.libs/preparse.o .libs/language.o .libs/quota.o  -L/sw/lib 
-L/usr/local/midgard/lib /sw/lib/mysql/libmysqlclient.dylib 
/sw/lib/libexpat.dylib -lpam -lz /sw/lib/libglib.dylib 
/sw/lib/libiconv.dylib /usr/local/midgard/lib/libmidgard.dylib
ld: multiple definitions of symbol _le_midgard_list_fetch
.libs/midgard.o definition of _le_midgard_list_fetch in section 
(__DATA,__common)
.libs/oop.o definition of _le_midgard_list_fetch in section (__DATA,__common)
make: *** [midgard.la] Error 1


- I gather I have to find out what's generating the error above 
before I can continue with the steps Juhana's documented as being the 
next steps...(below)



Added these to my php.ini:
extension=midgard.so
register_globals=on



midgard-data

$ sudo mkdir /usr/local/midgard/blobs
$ sudo chown nobody:noboby /usr/local/midgard/blobs
$ ./configure --with-apache-user=nobody \
--with-apache-group=nobody \
--with-blobdir=/usr/local/midgard/blobs \
--with-apxs=/usr/local/apache2/bin/apxs
--with-midgard-config=/usr/local/midgard/bin/midgard-config
$ sudo make install

Datagard needs to be ran twice. The first time for installing 
database and the second time for importin Aegir, Midcom, 
Spider-admin...and so on...
$ sudo /usr/local/midgard/bin/datagard/datagard

Something that has to be done
$ sudo chown nobody:nobody /usr/local/midgard/var/cache/midgard
$ sudo chmod 0771 /usr/local/midgard/var/cache/midgard

$ sudo /usr/local/apache2/bin/apachectl restart

Voila...I have Midgard on my Mac OS X
-- 
###
Robert Guerra <rguerra-ml4S53UB+/[email protected]>
Privaterra - <http://www.privaterra.org>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.