Project

General

Profile

Actions

How to set up a development environment for the CDM DataPortal for windows


THIS PAGE IS OUTDATED, please refer to Local dataportal development and test environment on Debian based Linux

NOTICE:


  1. Install apache

You should enable the mode_rewrite uncommenting the line "LoadModule rewrite_module modules/mod_rewrite.so" from the /your_apache/conf/httpd.conf file

  1. Install PHP
  • Download a PHP version. PHP 5.3 is not supported in drupal 5, please install a version <php5.3, more info here http://drupal.org/node/514334
  • Include the Php directory into the path
  • The following configuration directives are needed at the php.ini file
//if the directives do not already exist just add them
register_globals = off
session.save_habdler=user
safe_mode=off
extension_dir = "./ext"

It my be nessecary to increase some of the following parameters (max_execution_time, memory_limit):

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30     ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 128M      ; Maximum amount of memory a script may consume (128MB)

enable the following estensions

extension=php_pdo.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_sockets.dll

2.1 Setup Apache for php and mysql

  • copy libmysql from the php installation root to {Apache2}/bin

  • add the following lines to your Apache httpd.conf and change them according to your individual conditions:

#
# PHP 5 configuration
#
LoadModule php5_module "c:/Programme/PHP/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "c:/Programme/PHP"
  1. Install MySQL
  • Download the MySQL 5 version and install it.

  • Login as a root an write the following commands:

CREATE DATABASE databasename CHARACTER SET utf8 COLLATE utf8_bin; -> which create the database for drupal with UNICODE support[[BR]]

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password';[[BR]]

where databasename and username will be the database and username used by drupal

  1. Drupal
  • Download Drupal 5 from http://drupal.org/project/drupal (our modules are developed for the drupal version 5 and not for the 6)

  • Grant write permissions on the configuration file sites/default/settings.php

  • Move Drupal its final directory e.g. C:/drupal end editi your_apache/conf/httpd.conf in order to tell apache where your drupal diretory is e.g. :

<Directory "C:/drupal">
    AllowOverride All
    Options Indexes
    Order allow,deny
    Allow from all
</Directory>

<IfModule alias_module>
        ...
    Alias /drupal "C:/drupal"
        ...
</IfModule>

  • Open the browser and follow the instructions to install drupal. Do not forget to use the "username" and "databasename" before created in order to fill out the boxes.

  • After drupal´s installation make sure that the configuration file sites/default/settings.php right are back to read-only.

  1. Installing the dbm module within Drupal
[PHP_CURL]
extension=php_curl.dll
  • Download the JQuery update from - http://drupal.org/project/jquery_update an extract the files here /your_drupal_path/sites/all/modules/

  • Enable the module in your drupal admin site.

  • Copy all *.js files from the jquery_update/misc folder and place them in Drupal core's misc/ folder, replacing the files that already exist.

  • Edit the file \your_drupal_path\sites\all\modules\jquery_update\compat.js replacing the lines 24 - 26 by:

/*
 * a.kohlbecker: unload is still a valid event type and must not be replaced!
 *               compat-1.0.js breaks plugins wich are using this event e.g. thickbox
 *  => thus I removed load from var e.
 */
var e = ("blur,focus,resize,scroll,unload,click,dblclick," +
         "mousedown,mouseup,mousemove,mouseover,mouseout,change,reset,select," +
         "submit,keydown,keypress,keyup,error").split(",");

Updated by Andreas Müller almost 2 years ago · 19 revisions