Hi Larry (With apologies for top posting). These are great notes - if you can provide me with a patch / pull request against
https://github.com/qgis/Quantum-GIS/blob/master/doc/osx.t2t I would be happy to include your notes into the mainstream docs for others to enjoy. Regards Tim On Mon, Jan 23, 2012 at 1:32 AM, Larry Shaffer <[email protected]> wrote: > Hi Devs, > > I have compiled QGIS and Server from the github 'master' branch on > Snow Leopard and Lion and have a couple of suggestions for the > step-by-step build instructions and noticed one possible bug. I have > also tested the Server successfully with the QGIS Web Client on both > OS. > > Concerning the QGIS Server build (-D WITH_MAPSERVER=TRUE in section > 5.5), the current notes state that fastcgi support has been dropped in > Lion and that adding that support is not recommended for the average > user. However, I think adding this support back in is straightforward > and not any harder than the rest of the build steps. > > Here is my suggestion for the build steps to add Server build support > on Snow Leopard and Lion (not tested on older OS): > > 1) Download fastcgi library [1] and install (necessary for building > qgis_mapserv.fcgi): > > cd <fastcgi-src-dir> > ./configure --prefix=/usr/local > make && sudo make install > > 2) Download Apache's mod_fcgid [2] and install (not included with > Apache distribution by default): > > cd <mod-fcgid-src-dir> > APXS=/usr/sbin/apxs ./configure.apxs > make && sudo make install > > This automatically adds the 'LoadModule fcgid_module ...' line to > /etc/apache2/httpd.conf file. In Snow Leopard, commenting out the old > 'LoadModule fastcgi_module' line is advised. > > Both PostgreSQL server and mod_fcgid use the Mac's shared memory for > spawned processes. The default settings for shared memory are too low > to accommodate both programs; and trying to launch Apache now will > cause it to terminate when mod_fcgid can not allocate shared memory > that a running postgres process has already used up. The solution is > to up the values of these shared memory settings. A good explanation > of this is in the README included with PostgreSQL-for-Mac installer by > Enterprise DB [3]. > > 3) Add the file /etc/sysctl.conf with the following contents (as per > PostgreSQL-for-Mac README): > > kern.sysv.shmmax=1610612736 > kern.sysv.shmall=393216 > kern.sysv.shmmin=1 > kern.sysv.shmmni=32 > kern.sysv.shmseg=8 > > 4) Add an Apache virtual host config to support the > ~/Applications/QGIS.app build (default fcgid settings work for > testing/non-production server). > > Add /etc/apache2/other/qgis-mapserver-fcgid.conf (replace > /Users/<user> with where QGIS was built, unless built to > /Applications): > > <IfModule fcgid_module> > # on Mac install, not in logs/ > FcgidIPCDir /var/run/fcgidsock > FcgidProcessTableFile /var/run/fcgid_shm > > # fcgid settings for qgis_mapserv.fcgi, initially set to defaults > # see: http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html > # add InitialEnv name[=value] 1 or more times to pass env variables > FcgidCmdOptions > /Users/<user>/Applications/QGIS.app/Contents/MacOS/fcgi-bin/qgis_mapserv.fcgi > \ > ConnectTimeout 3 \ > IdleTimeout 300 \ > IOTimeout 40 \ > MaxProcesses 100 \ > MaxProcessLifeTime 3600 \ > MaxRequestsPerProcess 0 \ > MinProcesses 3 > > AddHandler fcgid-script .fcgi > > Alias /fcgi-bin/ /Users/<user>/Applications/QGIS.app/Contents/MacOS/fcgi-bin/ > > <Directory /Users/<user>/Applications/QGIS.app/Contents/MacOS/fcgi-bin/> > AllowOverride None > Options ExecCGI > Order allow,deny > Allow from all > </Directory> > > </IfModule> > > 5) Restart Mac for sysctl settings to take affect (though they can be > added dynamically with sysctl program). If not running, start Apache > via the Web Sharing control under System Preferences/Sharing. The log > /var/log/apache2/error_log should show something like: > > Apache/2.2.20 (Unix) ...other modules... mod_fcgid/2.3.6 configured -- > resuming normal operations > > Apple's decision to drop support for fastcgi_module seems to be > appropriate as it is not being developed upon. While mod_fcgid is > currently a supplemental Apache-supported module, an investigation of > the Apache 2.3/4 documentation shows it is still not included by > default. Although, mod_proxy_fcgi [4] looks like it will be included > in the next distribution (same as current third party module? [5]). > Using an fcgi process spawner like fcgistarter [6], then using Apache > as a reverse proxy, appears to be a better, and more versatile > solution in the future. I actually prefer to use spawn_fcgi [7] and > Nginx as a reverse proxy on the Mac (via MacPorts) and on Ubuntu, > instead of Apache, for running my QGIS Server. > > *Possible bug* > I was not able to get QGIS Server to GetMap with image/jpeg, only > image/png. It always returned a server error. I believe this may be a > bug in the source, or when building using Mr. Kyngesburye's > frameworks, as this also occurred in the last QGIS he distributed with > a built Server (1.7.0) [8]. Anyone else notice this? > > > [1] http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz OR > http://www.fastcgi.com/dist/fcgi-current.tar.gz > [2] http://httpd.apache.org/download.cgi#mod_fcgid > [3] http://www.enterprisedb.com/resources-community/pginst-guide#macosx AND > their > http://www.enterprisedb.com/products-services-training/pgdownload#osx > installer README > [4] http://httpd.apache.org/docs/2.3/mod/mod_proxy_fcgi.html > [5] http://mproxyfcgi.sourceforge.net/ > [6] http://httpd.apache.org/docs/2.3/programs/fcgistarter.html > [7] http://redmine.lighttpd.net/projects/spawn-fcgi > [8] http://www.kyngchaos.com/files/software/qgis/Qgis-1.7.0-3-Snow.dmg > > > Best Regards, > > Larry Shaffer > Dakota Cartography > Black Hills, South Dakota > _______________________________________________ > Qgis-developer mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/qgis-developer -- Tim Sutton - QGIS Project Steering Committee Member (Release Manager) ============================================== Please do not email me off-list with technical support questions. Using the lists will gain more exposure for your issues and the knowledge surrounding your issue will be shared with all. Visit http://linfiniti.com to find out about: * QGIS programming and support services * Mapserver and PostGIS based hosting plans * FOSS Consulting Services Skype: timlinux Irc: timlinux on #qgis at freenode.net ============================================== _______________________________________________ Qgis-developer mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/qgis-developer
