- http://httpd.apache.org/
/tmp/httpd-2.2.21>env PATH=/usr/bin:/usr/ccs/bin:/opt/SUNWspro/bin:/usr/sfw/bin \
CC=cc CFLAGS="-m64 -xO3" LDFLAGS="-m64 -L/usr/sfw/lib/64 -R/usr/sfw/lib/64" \
./configure --with-expat=/usr/sfw --with-ssl=/usr/sfw --enable-ssl \
--enable-proxy --enable-rewrite --enable-modules=all --enable-mods-shared=all \
--with-included-apr --prefix=/opt/apache2
# edit apr_rules.mk and config_vars.mk in /opt/apache2/build
# add "-m64 -xO3" to EXTRA_CFLAGS and "-m64" EXTRA_LDFLAGS
# confirm "-m64 -L/usr/sfw/lib/64 -R/usr/sfw/lib/64"
# edit apr-1-config and apu-1-config in /opt/apache2/bin
# add the same to CFLAGS and LDFLAGS
# confirm "-m64 -L/usr/sfw/lib/64 -R/usr/sfw/lib/64"
- http://www.cpan.org/
/tmp/perl-5.12.3>env PATH=/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/sfw/bin \
./Configure -Dprefix=/opt/apache2/perl-5.12.3 -Dcc=cc -Duseshrplib \
-Uusemymalc -Duselargefiles -Ubincompat5005 -Doptimize=-xO3 -Duse64bitall
# cleanup config.sh: s/generic64/-m64/
# and get rid of extraneous lib and include paths.
- http://perl.apache.org/
/tmp/mod_perl-2.0.5>env PATH=/opt/apache2/perl-5.12.3/bin:/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/sfw/bin \
perl Makefile.PL MP_APXS=/opt/apache2/bin/apxs MAKE=gmake
# tests require LWP::Simple
- http://httpd.apache.org/apreq/
/tmp/libapreq2-2.13>env PATH=/opt/apache2/perl-5.12.3/bin:/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/sfw/bin \
CC=cc CFLAGS="-m64 -xO3" LDFLAGS="-m64 -R/usr/sfw/lib/64" \
perl Makefile.PL --with-apache2-apxs=/opt/apache2/bin/apxs
/tmp/libapreq2-2.13>env PATH=/usr/bin:/usr/ccs/bin:/opt/SUNWspro/bin:/usr/sfw/bin \
gmake
# libapreq2 requires GNUmake. gmake for Solaris 8 and 9 is available from OpenCSW.ORG among other places
# also requires CPAN module ExtUtils::XSBuilder
- http://tomcat.apache.org/
/tmp/tomcat-connectors-1.2.25-src/native>env PATH=/usr/bin:/usr/ccs/bin:/opt/SUNWspro/bin \
./configure --with-apxs=/opt/apache2/bin/apxs
# tomcat-connectors-1.2.25-src.tar.gz requires GNU gtar.
- http://curl.haxx.se/
# Ruby requires curl.
# curl-config doesn't include -Rprefix/lib, so either add it to LDFLAGS or manually after installation
$ env PATH=/usr/bin:/usr/ccs/bin:/opt/SUNWspro/bin:/usr/sfw/bin CC=cc \
CFLAGS="-m64 -xO3" \
LDFLAGS="-m64 -L/usr/sfw/lib/64 -R/usr/sfw/lib/64 -L/opt/apache2/curl/lib -R/opt/apache2/curl/lib" \
./configure --prefix=/opt/apache2/curl --disable-static
- http://www.ruby-lang.org/
# Remove the ORBCOPY from Makefile.in
# doesn't quite honor CFLAGS, add -m64 to CC
$ env PATH=/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/sfw/bin:/opt/apache2/bin:/opt/apache2/curl/bin \
CC="cc -m64" CXX="CC -m64" CFLAGS="-m64 -xO3" CXXFLAGS="-m64 -xO3" \
LDFLAGS="-m64 -L/usr/sfw/lib/64 -R/usr/sfw/lib/64" \
./configure --prefix=/opt/apache2/ruby-1.9.2 --enable-shared --without-gcc
- http://rubyonrails.org/
$ env PATH=/opt/apache2/ruby-1.9.2/bin:/opt/apache2/curl/bin:/opt/apache2/bin:/usr/postgres/8.3/bin/64:/usr/bin:/usr/ccs/bin:/opt/SUNWspro/bin:/usr/sfw/bin \
gem install pg
$ env PATH=/opt/apache2/ruby-1.9.2/bin:/opt/apache2/curl/bin:/opt/apache2/bin:/usr/postgres/8.3/bin/64:/usr/bin:/usr/ccs/bin:/opt/SUNWspro/bin:/usr/sfw/bin \
gem install rails
- http://www.modrails.com/
$ env PATH=/opt/apache2/ruby-1.9.2/bin:/opt/apache2/curl/bin:/opt/apache2/bin:/usr/postgres/8.3/bin/64:/usr/bin:/usr/ccs/bin:/opt/SUNWspro/bin:/usr/sfw/bin \
gem install passenger
$ cd /opt/apache2/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/passenger-3.0.2/
# edit ext/ruby/extconf.rb and add -m64 to CFLAGS and "-lnsl -lsocket -lrt -lm" to LIBS
# edit build/config.rb and add -m64 to EXTRA
$ env PATH=/opt/apache2/ruby-1.9.2/bin:/opt/apache2/curl/bin:/opt/apache2/bin:/usr/postgres/8.3/bin/64:/usr/bin:/usr/ccs/bin:/opt/SUNWspro/bin:/usr/sfw/bin \
CFLAGS=-m64 CXXFLAGS=-m64 bin/passenger-install-apache2-module
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /opt/apache2/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/passenger-3.0.2/ext/apache2/mod_passenger.so
PassengerRoot /opt/apache2/ruby-1.9.2/lib/ruby/gems/1.9.1/gems/passenger-3.0.2
PassengerRuby /opt/apache2/ruby-1.9.2/bin/ruby
After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!
Deploying a Ruby on Rails application: an example
Suppose you have a Rails application in /somewhere. Add a virtual host to your
Apache configuration file and set its DocumentRoot to /somewhere/public:
ServerName www.yourhost.com
DocumentRoot /somewhere/public # <-- be sure to point to 'public'!
AllowOverride all # <-- relax Apache security settings
Options -MultiViews # <-- MultiViews must be turned off