Caucho Technology
  • resin 4.0
  • resin installation


    Resin Step-by-Step Installation Guide If you've decided that you're ready to deploy Resin for production, this page will guide you through the steps to install this powerful application server system-wide. You'll see where we recommend installing the various components of Resin as well as some basic production tuning tips.

    Resin Server Installation

    This page is for you if you:

    • Are evaluating Resin
    • Want to do local application development with Resin
    • Have evaluated Resin and are ready to install system-wide

    This page leads you step-by-step through the installation of Resin. After going through these steps, you'll have a full Java and PHP Application Server able to serve even the most demanding web sites.

    You'll learn:

    • How to install Resin system-wide
    • The recommended installation locations for Resin
    • How to run the Resin administration application

    Preparing for installation

    1. Install JDK 1.6 or later. You'll need to set the JAVA_HOME variable in your shell or link /usr/java to the Java home directory.
    2. Download the latest version of Resin 4 from the Resin download page. Grab the Professional version if:
      • You have purchased a Resin Professional license.
      • You have obtained an evaluation Resin Professional license.
      • You are considering purchasing Resin Professional (without a license, Resin Professional simply downgrades to the open source functionality). This will make it easier to upgrade in the future.
    3. Unzip or untar the Resin download. If you downloaded Resin Professional, it will extract into resin-pro-4.0.x/, otherwise it will extract into resin-4.0.x/.

    Installing Resin on Unix or Mac OS X

    If you're installing Resin on Windows, you can skip to the next section. If you're installing Resin on Ubuntu or Debian and want to use the .deb packaged version of Resin, skip to the end of this section.

    Configuring the build process for Resin

    Next we'll change into the Resin directory we just unpacked to configure and build the server. The Java portions of Resin are already compiled, but this step will build additional C-based components of Resin that provide additional functionality such as:

    • A faster IO library, including massive keepalive support *
    • Support for OpenSSL *
    • The ability to run as a non-priviledged user for security
    • Connector modules for Apache

    (* only available in Resin Professional)

    The following command installs Resin and its files into the recommended locations on the file system:

    ./configure --prefix=/usr/local/resin \
                --with-resin-root=/var/www \
                --with-resin-log=/var/log/resin \
                --with-resin-conf=/etc/resin
    

    This will configure Resin to install in /usr/local/resin, with support for OpenSSL if it was detected, but without support for Apache. If you want to use Apache or another 3rd party HTTP server in front of Resin (unrecommended), please take a look at our third-party HTTP server setup documentation. If you need to configure other options with Resin, now is the time to do it. Please consult ./configure --help

    Once you've run the configuration successfully, the configure script will display a summary like the following:

    Resin Configuration summary:
    
      RESIN_HOME  : /usr/local/resin
          root    : /var/www
          conf    : /etc/resin
          log     : /var/log/resin
          plugins : common apache2 resin_os resin resinssl
      JAVA_HOME: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    
        + 64-bit JNI in -I/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/include
        + JNI CFLAGS: -g -O2 -DPOLL -D_POSIX_PTHREAD_SEMANTICS -DB64 -DHAS_SOCK_TIMEOUT -DHAS_JVMTI
        + poll() for keepalives
        + OpenSSL 0.9.8l 5 Nov 2009
            OpenSSL include: /usr/include
            OpenSSL lib: /usr/lib
            OpenSSL libraries:  -lssl -lcrypto
    
      Apache: /usr
          conf: /private/etc/apache2/httpd.conf
          libexec: /usr/libexec/apache2
          include: /usr/include/apache2
          CFLAGS:   -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK  
    

    Building and Installing Resin

    Now that you've configured the Resin build process, all you need to do is build and install! To build, just run

    make
    

    If this step went well, you'll now need to install the Resin files as the root user:

    sudo make install
    

    Wherever you install Resin to, we'll refer to that directory as resin.home.

    If you have a license file for Resin, save it in /usr/local/resin/licenses

    Installing Resin using the .deb package on Ubuntu and Debian

    We provide a Debian packaged version of Resin that Debian and Ubuntu users can take advantage of. It performs all of the installation steps above for you and creates all the recommended server and content directories. Simply download from the Resin download page and install using dpkg.

    Alternatively, you can add Caucho's Debian repository to your system's repositories to use automated update tools like Synaptic and apt-get. To do this, add the following line to your /etc/apt/sources.list

    deb http://caucho.com/download/debian unstable multiverse
    

    After adding this line, update your local repository cache by running:

    apt-get update
    

    Finally, install Resin Professional using the following:

    apt-get install resin-pro
    

    If you have a license file for Resin, save it in /usr/local/resin/licenses

    Or install Resin Open Source with this command:

    apt-get install resin
    

    Installing Resin on Windows

    The native libraries that are included with Resin are precompiled for Windows in both 32-bit and 64-bit mode. These libraries provide:

    • A faster IO library, including massive keepalive support *
    • Support for OpenSSL *
    • Connector modules for Apache/IIS

    (* only available in Resin Professional)

    1. Download the latest version of Resin 4 from the Resin download page. Grab the Professional version if:
      • You have purchased a Resin Professional license.
      • You have obtained an evaluation Resin Professional license.
      • You are considering purchasing Resin Professional (without a license, Resin Professional simply downgrades to the open source functionality). This will make it easier to upgrade in the future.
    2. Unzip or untar the Resin download. If you downloaded Resin Professional, it will extract into resin-pro-4.0.x, otherwise it will extract into resin-4.0.x.
    3. Move the directory from the previous step to C:\Resin
    4. Run C:\Resin\setup.exe
    5. If you have a license file for Resin, save it in C:\Resin\licenses

    Resin Content Installation

    Once your have the Resin server installed, you can start installing your content.

    Content from the top down

    Resin and JavaEE organize content into "web applications" or webapps. As an administrator, your developers have probably provided you with a webapp in the form of a .war file or a webapp directory. In the Resin root directory is a special subdirectory named webapps which is a webapp deploy directory. Deploying applications in Resin is as easy as copying a .war file or web application directory to one of these webapp deploy directories. Resin detects the applications and deploys them automatically.

    In the directory structure above, notice the special webapp directory named ROOT. This will map to the "/" (root) application. Other webapps will map to their name. For example, wordpress will map to http://www.example.com/wordpress.

    Permanent content locations

    Resin is configured to use the content directory structure show above by default. In the examples, the Resin root directory is /var/www. This directory is also the recommended content root for Unix. For Windows, the recommended content root is C:\www. To specify the root directory to Resin, you pass it on the command line when starting the server. For example:

    java -jar ${resin.home}/lib/resin.jar --root-directory /var/www
    

    If you use the Unix startup scripts mentioned in the next section, they automatically specify the root and log directories.

    Starting Resin

    Creating Unix startup scripts for Resin

    When you installed using the .deb package or when you ran "sudo make install" earlier, the installer created a file named /etc/init.d/resin which contains a standard Unix init.d startup file. This file will start Resin when invoked as:

    /etc/init.d/resin start
    

    Use the tools that came with your system to execute the script on startup.

    Installing Resin as a Windows Service

    Resin can be instaled as a Windows Service by executing the Setup.exe. Setup.exe is a GUI utiltity that allows to install and un-install Resin windows service.

    Creating a password for the Resin Administration Console

    One of the most useful tools provided with Resin is the built-in, web-based administration console. This tool provides detailed information about the operation of the server, a feature that is very useful to administrators, but one which must be kept secure from unauthorized users.

    If you are deploying Resin to a production machine, it's likely that you won't be running your browser on the same system as the server. In this case, you'll need to configure Resin to allow you to access the server remotely.

    1. Edit /etc/resin/resin.xml
    2. Change the line:
      <resin:set var="resin_admin_external" value="false"/>

      to

      <resin:set var="resin_admin_external" value="true"/>
    3. Save /etc/resin/resin.xml and restart the server.
    4. Replace "localhost" with the name of your host in the URLs below.

    Now that you're able to access the administration application, you have to set up a password and install it. In order to prove that you have access to the machine on which Resin is running, the only way to change the password is to create a file with the authentication information on that machine.

    1. Browse to http://localhost:8080/resin-admin/
    2. Enter a username and password in the lower half of the page, then click "Create Configuration File". The recommended username is "admin".
    3. After going to the next page, a new admin-users.xml.generated file has been created for you in the same directory as your resin.xml file is located. (If you followed the directions above, this should be in /etc/resin for Unix and C:\Resin\conf for Windows.) Just rename this file to admin-users.xml and Resin will use it.
    4. Browse back to http://localhost:8080/resin-admin/. The change you made should force Resin to restart and return a 503 error. Just hit refresh in a few moments to bring up the page again.
    5. You should now be able to login using the username and password that you gave above.

    Troubleshooting

    If something went wrong above, the first place to check for problems is the log.

    • If you are using Unix, look in /var/log/resin/jvm_default.log
    • If you are using Windows, look in C:\Resin\log\jvm_default.log

    Hopefully, the log message will be clear enough for you to figure out the problem. If not, you have a number of resources available to you to help you figure out what's going wrong:


    Copyright © 1998-2011 Caucho Technology, Inc. All rights reserved.
    Resin ® is a registered trademark, and Quercustm, Ambertm, and Hessiantm are trademarks of Caucho Technology.