Apache2, modperl, Ruby on Rails

  1. http://httpd.apache.org/
  2. /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"
    
  3. http://www.cpan.org/
  4. /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.
    
  5. http://perl.apache.org/
  6. /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
    
  7. http://httpd.apache.org/apreq/
  8. /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
    
  9. http://tomcat.apache.org/
  10. /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.
    
  11. http://curl.haxx.se/
  12. # 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
    
  13. http://www.ruby-lang.org/
  14. # 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
    
  15. http://rubyonrails.org/
  16. $ 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
    
  17. http://www.modrails.com/
  18. $ 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
          
       
    

John D. Groenveld <groenveld@acm.org>
$Id: apache2.html,v 1.11 2010/12/31 21:12:49 groenvel Exp groenvel $