##// END OF EJS Templates
auth: only use X- headers instead of wsgi.url_scheme if explicitly told so in url_scheme_header - drop https_fixup setting...
auth: only use X- headers instead of wsgi.url_scheme if explicitly told so in url_scheme_header - drop https_fixup setting Before, several X- headers would be trusted to overrule the actual connection protocol (http or https) seen by the Kallithea WSGI server. That was mainly when https_fixup were set, but it incorrectly also kicked in if https_fixup or use_htsts were configured. The ambiguity of which headers were used also made it less reliable. The proxy server not only had to be configured to set one of the headers correctly, it also had to make sure other headers were not passed on from the client. It would thus in some cases be possible for clients to fake the connection scheme, and thus potentially be possible to bypass restrictions configured in Kallithea. Fixed by making it configurable which WSGI environment variable to use for the protocol. Users can configure url_scheme_header to for example HTTP_X_FORWARDED_PROTO instead of using the default wsgi.url_scheme . This change is a bit similar to what is going on in the https_fixup middleware, but is doing a bit more of what for example is happening in similar code in werkzeug/middleware/proxy_fix.py . The semantics of the old https_fixup were unsafe, so it has been dropped. Admins that are upgrading must change their configuration to use the new url_scheme_header option.

File last commit:

r8089:01aca0a4 default
r8680:070b8c39 default
Show More
installation_win_old.rst
250 lines | 8.3 KiB | text/x-rst | RstLexer
/ docs / installation_win_old.rst

Warning

This section is outdated and needs updating for Python 3.

Installation on Windows (XP/Vista/Server 2003/Server 2008)

First-time install

Target OS: Windows XP SP3 32-bit English (Clean installation) + All Windows Updates until 24-may-2012

Note

This installation is for 32-bit systems, for 64-bit Windows you might need to download proper 64-bit versions of the different packages (Windows Installer, Win32py extensions) plus some extra tweaks. These extra steps haven been marked as "64-bit". Tested on Windows Server 2008 R2 SP1, 9-feb-2013. If you run into any 64-bit related problems, please check these pages:

Step 1 -- Install Visual Studio 2008 Express

Optional: You can also install MinGW, but VS2008 installation is easier.

Download "Visual C++ 2008 Express Edition with SP1" from: http://download.microsoft.com/download/E/8/E/E8EEB394-7F42-4963-A2D8-29559B738298/VS2008ExpressWithSP1ENUX1504728.iso (if not found or relocated, google for "visual studio 2008 express" for updated link. This link was taken from http://stackoverflow.com/questions/15318560/visual-c-2008-express-download-link-dead)

You can also download full ISO file for offline installation, just choose "All -- Offline Install ISO image file" in the previous page and choose "Visual C++ 2008 Express" when installing.

Note

Using other versions of Visual Studio will lead to random crashes. You must use Visual Studio 2008!"

Note

Silverlight Runtime and SQL Server 2008 Express Edition are not required, you can uncheck them

Note

64-bit: You also need to install the Microsoft Windows SDK for .NET 3.5 SP1 (.NET 4.0 won't work). Download from: http://www.microsoft.com/en-us/download/details.aspx?id=3138

Note

64-bit: You also need to copy and rename a .bat file to make the Visual C++ compiler work. I am not sure why this is not necessary for 32-bit. Copy C:Program Files (x86)Microsoft Visual Studio 9.0VCbinvcvars64.bat to C:Program Files (x86)Microsoft Visual Studio 9.0VCbinamd64vcvarsamd64.bat

Step 2 -- Install Python

Install Python 3.8.x from: http://www.python.org/download/

Remember the specific major and minor version installed, because it will be needed in the next step. In this case, it is "3.8".

Note

64-bit: Just download and install the 64-bit version of python.

Step 3 -- Install Win32py extensions

Download pywin32 from: http://sourceforge.net/projects/pywin32/files/

Step 4 -- Python BIN

Add Python BIN folder to the path

You have to add the Python folder to the path, you can do it manually (editing "PATH" environment variable) or using Windows Support Tools that came preinstalled in Vista/7 and can be installed in Windows XP.

  • Using support tools on WINDOWS XP: If you use Windows XP you can install them using Windows XP CD and navigating to SUPPORTTOOLS. There, execute Setup.EXE (not MSI). Afterwards, open a CMD and type:

    SETX PATH "%PATH%;[your-python-path]" -M
    

    Close CMD (the path variable will be updated then)

  • Using support tools on WINDOWS Vista/7:

    Open a CMD and type:

    SETX PATH "%PATH%;[your-python-path]" /M
    

    Please substitute [your-python-path] with your Python installation path. Typically: C:\Python38

Step 5 -- Kallithea folder structure

Create a Kallithea folder structure

This is only a example to install Kallithea, you can of course change it. However, this guide will follow the proposed structure, so please later adapt the paths if you change them. My recommendation is to use folders with NO SPACES. But you can try if you are brave...

Create the following folder structure:

C:\Kallithea
C:\Kallithea\Bin
C:\Kallithea\Env
C:\Kallithea\Repos

Step 6 -- Install virtualenv

Create a virtual Python environment in C:\Kallithea\Env (or similar). To do so, open a CMD (Python Path should be included in Step3), and write:

python3 -m venv C:\Kallithea\Env

Step 7 -- Install Kallithea

Finally, install Kallithea

Close previously opened command prompt/s, and open a Visual Studio 2008 Command Prompt (IMPORTANT!!). To do so, go to Start Menu, and then open "Microsoft Visual C++ 2008 Express Edition" -> "Visual Studio Tools" -> "Visual Studio 2008 Command Prompt"

Note

64-bit: For 64-bit you need to modify the shortcut that is used to start the Visual Studio 2008 Command Prompt. Use right-mouse click to open properties.

Change commandline from:

%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" x86

to:

%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" amd64

In that CMD (loaded with VS2008 PATHs) type:

cd C:\Kallithea\Env\Scripts (or similar)
activate
pip install --upgrade pip setuptools

The prompt will change into "(Env) C:\Kallithea\Env\Scripts" or similar (depending of your folder structure). Then type:

pip install kallithea

(long step, please wait until fully complete)

Some warnings will appear, don't worry as they are normal.

Step 8 -- Configuring Kallithea

steps taken from http://packages.python.org/Kallithea/setup.html

You have to use the same Visual Studio 2008 command prompt as Step7, so if you closed it reopen it following the same commands (including the "activate" one). When ready, just type:

cd C:\Kallithea\Bin
kallithea-cli config-create my.ini

Then, you must edit my.ini to fit your needs (network address and port, mail settings, database, whatever). I recommend using NotePad++ (free) or similar text editor, as it handles well the EndOfLine character differences between Unix and Windows (http://notepad-plus-plus.org/)

For the sake of simplicity lets run it with the default settings. After your edits (if any), in the previous Command Prompt, type:

kallithea-cli db-create -c my.ini

Warning

This time a new database will be installed. You must follow a different process to later :ref:`upgrade <upgrade>` to a newer Kallithea version.

The script will ask you for confirmation about creating a NEW database, answer yes (y) The script will ask you for repository path, answer C:\Kallithea\Repos (or similar) The script will ask you for admin username and password, answer "admin" + "123456" (or whatever you want) The script will ask you for admin mail, answer "admin@xxxx.com" (or whatever you want)

If you make some mistake and the script does not end, don't worry, start it again.

Step 9 -- Running Kallithea

In the previous command prompt, being in the C:\Kallithea\Bin folder, just type:

gearbox serve -c my.ini

Open yout web server, and go to http://127.0.0.1:5000

It works!! :-)

Remark: If it does not work first time, just Ctrl-C the CMD process and start it again. Don't forget the "http://" in Internet Explorer

What this Guide does not cover: