== link:index.html[Index] -> link:basics.html[Getting started] -> link:basics_installation.html[Installation]
////
Last checked: 2010/04/26 Cherokee 0.99.46b
////

Installation on Windows
-----------------------

The latest Windows bundled release is available at the
link:http://www.cherokee-project.com/download/windows[Windows
download] section of the Cherokee Project website.

WARNING: The Windows native build is currently broken. It will be
fixed as soon as possible. A Windows binary release will be available
too. In the meantime, if you need to run Cherokee on a Windows host
you will have to rely on Cygwin and the likes. Almost all the code
base of the Cherokee-Project can be used natively under Windows, as it
was 100% compatible not too long ago. However, since resources and
man-power are limited, and due to Cherokee's fast evolution, we are
not yet there. Reacquiring binary compatibility with the Windows
platform is a medium-to-long term goal.


[[quickstart]]
Quickstart
~~~~~~~~~~
The installation process requires little explanation, as it is simply
a matter of pointing and clicking.

You have to check the desired components to be installed, select the
desired installation path and that's it.

However, if you want to try out the latest development release or
simply want to compile from source, you will need to setup a proper
building environment.

[[environment]]
Configuring the building the environment
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Cherokee for Windows runs in fully native mode, but the environment
for its development has always been Unix/Linux. Building in
non-native mode (i.e., using Cygwin) would incur in a big loss of
performance, though it would be much simpler to maintain and build.

However, a big effort is made to ensure Cherokee's complete
cross-platform compatibility. To be able to build Cherokee you will
need a unix-like environment that provides the necessary tools listed
in the link:basics_requirements.html[requirements] section. Unfortunately
this environment is far from trivial to set up.

You can either follow these instructions on how to accomplish such
task, or simply download the link:http://cherokee-project.com/download/windows/Win32_Building_Environment.rar[Win32
preconfigured building environment bundle] provided by the
Cherokee-Project and skip the rest of this section, right to the
*building* part.

This is what you need to install. Check the
link:http://www.mingw.org/[MinGW] site to download most of the
software mentioned in the following lines.

.*MinGW*: minimalist GNU for Windows (GCC & binutils)

    * Download MinGW release 5.1.4 at the time of this writing.
    * Run it and select ‘Candidate’. Check base tools & g++
    * Install in a directory with no spaces (the default directory
      C:\MinGW is fine).


.*MSYS*: Minimal SYStem

    * Download MSYS, tests were made with release 1.0.10
    * Install it in the same directory as MinGW (remove “1.0″ from
      the install path).
    * Answer y, y, c:/MinGW
    * You should add something like this to your ~/.profile to process
      your preferences:
+
------------------------------
if [ -f ${HOME}/.bashrc ] then
  . ${HOME}/.bashrc
fi
------------------------------

.*MSYS DTK*: Dev Toolkit

    * Get DTK
    * Install it in the same path as above

.*Update Autoconf & Automake*

    * You might encounter problems if you do not have up to date
    `Autoconf` and `Automake`. We recommend the usage of at least
    versions 2.61 and 1.10.1, that are the ones we used.

.*Pthreads Win32*: POSIX Threads

    * Cherokee will need these. Just download
      link:ftp://sourceware.org/pub/pthreads-win32/dll-latest/[Pthreads-Win32]
      and copy the appropriate files to /lib and /include


.*Python*

    * You will need this, since both the build process and
      Cherokee-Admin use Python. Just
      link:http://python.org/download/[download] a Python Windows
      installer, remember to include the directory in your path
      environment variable, and you’re done.
    * rxvt seems to be broken, which is most noticeable when you try
      to run Python interactively, so just comment out its line in
      msys.bat.


[[building]]
Building
~~~~~~~~
. link:basics_download.html[Download] a fresh copy of Cherokee
. Configure the package for your system:
+
-------------------------------------------------------------------
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var  \
--enable-trace --enable-static-module=all --enable-static         \
--enable-shared=no --enable-beta --disable-readdir_r
-------------------------------------------------------------------

. Compile the package:
+
-----------------------------------------
make
-----------------------------------------

. Install the programs and any data files:
+
-----------------------------------------
make install
-----------------------------------------

[[advanced]]
Advanced parameters
~~~~~~~~~~~~~~~~~~~

If you want to learn more about 'configure' you can run `./configure
--help`.

[cols="30%,70%",options="header"]
|======================================================================
|Parameter             |Description
|`--with-wwwroot=DIR`  |Specify the webserver root directory
|`--with-user=USER`    |Custom username under which the server will run
|`--with-user=GROUP`   |Custom group under which the server will run
|`--disable-epoll`     |Disable epoll() support
|`--disable-pthread`   |Disable threading support
|`--disable-readdir_r` |Disable readdir_r usage
|`--disable-ipv6`      |Disable IPv6 support
|`--disable-pam`       |Disable PAM support
|`--enable-trace`      |Allows debugging options
|`--disable-admin`     |Stops cherokee-admin from installing
|======================================================================

[[autostart]]
Autostart
~~~~~~~~~
To be written

