Friday, April 16, 2010

Installing Mondrian 3.1.5

Mondrian is an open source ROLAP server. It uses the ROLAP scheme of storing data i.e. It doesn't have a data storage engine of its own. The data is stored in an external relational database.

Prerequisites
JRE 1.4+
Tomcat 5.5+ [with JDBC driver in the tomcat\lib directory]
RDMBS + JDBC driver

Versions used
JRE 1.6.0_18
Tomcat 6.0.20
MySQL 5.0.45
MySQL Connector/J 5.1.10

Steps
mysql> create database foodmart;
mysql> grant all on foodmart.* to foodmart@localhost identified by "foodmart";
mysql> use foodmart;
mysql> \. c:\temp\foodmart_mysql.sql
mysql> quit
  • Start tomcat
  • Copy c:\temp\mondrian-3.1.5.13307\lib\mondrian.war to the tomcat\webapps directory. This will cause the mondrian application to be deployed.
  • Edit the the fourhier.jsp, mondrian.jsp, colors.jsp and arrows.jsp files in the tomcat\webapps\mondrian\web-inf\queries directory. Edit the following line
<jp:mondrianQuery id="query01" jdbcDriver="sun.jdbc.odbc.JdbcOdbcDriver" jdbcUrl="jdbc:odbc:MondrianFoodMart" catalogUri="/WEB-INF/queries/FoodMart.xml">
  • Replace it with details of the mysql foodmart database you've just created
<jp:mondrianQuery id="query01" jdbcDriver="com.mysql.jdbc.Driver" jdbcUrl="jdbc:mysql://localhost/foodmart?user=foodmart&password=foodmart" catalogUri="/WEB-INF/queries/FoodMart.xml"> 
  • Edit the the testrole.jsp files in the tomcat\webapps\mondrian\web-inf\queries directory. Edit the following line
<jp:mondrianQuery id="query01" jdbcDriver="sun.jdbc.odbc.JdbcOdbcDriver" jdbcUrl="jdbc:odbc:MondrianFoodMart" catalogUri="/WEB-INF/queries/FoodMart.xml" role="California manager">
  • Replace it with details of the mysql foodmart database you've just created
<jp:mondrianQuery id="query01" jdbcDriver="com.mysql.jdbc.Driver" jdbcUrl="jdbc:mysql://localhost/foodmart?user=foodmart&password=foodmart" catalogUri="/WEB-INF/queries/FoodMart.xml" role="California manager">
  • Edit the tomcat\webapps\mondrian\web-inf\datasources.xml file. Edit the datasourceinfo tag of the default data source to have the details of the sample foodmart database. e.g.
<DataSourceInfo>Provider=mondrian;Jdbc=jdbc:mysql://localhost/foodmart;JdbcUser=foodmart;JdbcPassword=foodmart;JdbcDrivers=com.mysql.jdbc.Driver;</DataSourceInfo>
  • Edit the tomcat\webapps\mondrian\web-inf\mondrian.properties file. Edit the connectionstring property to have the details of the sample foodmart database. e.g.
mondrian.test.connectString=Provider=mondrian;Jdbc=jdbc:mysql://localhost/foodmart;JdbcUser=foodmart;JdbcPassword=foodmart;JdbcDrivers=com.mysql.jdbc.Driver;Catalog=/WEB-INF/queries/FoodMart.xml;
  • Edit the tomcat\webapps\mondrian\web-inf\web.xml file. Modify all occurrences of the string @mondrian.webapp.connectString@, replacing it with details for connecting to the sample foodmart database. This will be required for the connectString context parameter and the MDXQueryServlet servlet sections of the file e.g
<context-param>
    <param-name>connectString</param-name>
    <param-value>Provider=mondrian;Jdbc=jdbc:mysql://localhost/foodmart;JdbcUser=foodmart;JdbcPassword=foodmart;Catalog=/WEB-INF/queries/FoodMart.xml;JdbcDrivers=com.mysql.jdbc.Driver;</param-value>
  </context-param>

  <servlet>
    <servlet-name>MDXQueryServlet</servlet-name>
    <servlet-class>mondrian.web.servlet.MdxQueryServlet</servlet-class>
    <init-param>
      <param-name>connectString</param-name>
      <param-value>Provider=mondrian;Jdbc=jdbc:mysql://localhost/foodmart;JdbcUser=foodmart;JdbcPassword=foodmart;JdbcDrivers=com.mysql.jdbc.Driver;Catalog=/WEB-INF/queries/FoodMart.xml;</param-value>
    </init-param>
  </servlet>
  • Stop tomcat
  • Download the binary distribution of xalan 2.7.1 from http://xml.apache.org/xalan-j/downloads.html
  • Unzip the package to a temporary folder e.g. c:\temp
  • Delete the file tomcat\webapps\mondrian\web-inf\lib\xalan.jar
  • Copy the files xalan.jar, xercesImpl.jar, xml-apis.jar and serializer.jar from c:\temp\xalan-j_2_7_1 to the folder tomcat\webapps\mondrian\WEB-INF\lib\
  • Start tomcat
  • Using your browser, navigate to localhost:8080/mondrian
  • You can now get a feel of the examples using the links provided.


Using the schema workbench
In order to create OLAP cubes, you can use the mondrian schema workbench. The schema workbench is a Java desktop application allows you to
  • Visually create and test Mondrian OLAP cube schemas, validating the schema against the cube database
  • Run example MDX queries using the schema and the database
  • Browse the cube database
Steps
  1. Download the schema workbench zip package from sourceforge, http://sourceforge.net/projects/mondrian/files/
  2. Extract the zip file to c:\
  3. Place jdbc drivers to connect to the source database in the c:\schema-workbench\drivers folder
  4. Double-click the file c:\schema-workbench\workbench.bat to start the schema workbench. You'll need to have defined a JAVA_HOME or JRE_HOME environment variable pointing to the java location.
  5. Click on the Tools | Connection menu
  6. Enter the connection details for the database
  7. You can then open the xml file that contains a mondrian schema definition for editing, or create a new schema definition.

Installing Pentaho BI Server 3.5.0

The Pentaho BI Suite Community Edition [CE] is an open source business intelligence package that includes ETL, analysis, metadata, and reporting capabilities. The suite is composed of server components and client tools. The server components [also referred to as the BI Platform] consist of the BI Server, the administration console and the user console. The BI server is responsible for management and delivery of reports.

Some of the Pentaho client tools include:
  • Report Designer: Used to create formatted reports. Report Designer offers far more flexibility and functionality
    than the ad hoc reporting capabilities of the Pentaho User Console.
  • Design Studio: An Eclipse-based tool that enables you to hand-edit a report or analysis view
    xaction file. Generally, people use Design Studio to add modifications to an existing report that
    cannot be added with Report Designer. Design Studio is also required to enable report scheduling, e-mail distribution, dynamic and static prompting, and more.
  • Metadata Editor: Enables you to add a custom metadata layer to an existing data source.
    Usually you would do this for a data source that you intend to use for analysis or reporting; it's
    not required, but it makes it easier for business users to parse the database when building a
    query.
  • Pentaho Data Integration: Also known as Kettle. An extract, transform, and load (ETL) tool, which enables
    you to access and prepare data sources for analysis, data mining, or reporting.
  • Schema Workbench: A graphical tool that helps you create ROLAP schemas for analysis.

These steps are for setting up the server components.

Prerequisites
JRE or JDK 1.5+

Versions used
Pentaho BI Server 3.5.0
Pentaho Report Designer 3.5.0
JRE – 1.6.0.17

Steps
  • Download the business intelligence server zip file from SourceForge, http://sourceforge.net/projects/pentaho/files/
  • Download the report designer zip file from the same SourceForge location
  • Create a folder c:\pentaho\server and extract the BI server zip file here.
  • Create a folder c:\pentaho\design-tools and extract the report designer zip file here.
  • Go to Start > Control Panel > System > Advanced System Settings. Select the Advanced tab and click on the Environment Variables button. Click on the new button and create a variable named JRE_HOME with the value set to the path of the JRE directory e.g. C:\Program Files\Java\jre6. If you have JDK installed, create a variable named JAVA_HOME instead with the value set to the path of the JDK directory.
  • Note that the BI server package seems to come with it's own JRE which will be located in C:\Pentaho\server\biserver-ce\jre.
  • Edit the file C:\Pentaho\server\biserver-ce\tomcat\bin\setclasspath.bat. Modify the first four lines of the gotJreHome label so that they appear as follows. [tools.jar comes with JDK, not JRE]
:gotJreHome
if not exist "%JRE_HOME%\bin\java.exe" goto noJavaHome
if not exist "%JRE_HOME%\bin\javaw.exe" goto noJavaHome
REM if not exist "%JRE_HOME%\lib\tools.jar" goto noJreToolsJar
REM set CLASSPATH=%JRE_HOME%\lib\tools.jar
  • Edit the files start-pentaho.bat and stop-pentaho.bat located in C:\Pentaho\server\biserver-ce\. Comment out the line setting the value of the JAVA_HOME variable so that it looks as below
REM set JAVA_HOME=%_PENTAHO_JAVA_HOME%
  • The preceding two steps are only required if you only have JRE and don't have JDK
  • Edit the file C:\Pentaho\server\biserver-ce\pentaho-solutions\system\publisher_config.xml. Enter a password [in clear text] in the element. This is the password that will be used when publishing reports from the report designer to the BI server. Don't leave it blank.
  • Open a command prompt window and navigate to c:\Pentaho\server\biserver-ce. Type start-pentaho and hit enter. This will start the HSQLDB database the BI server uses internally in a new command prompt window and start the tomcat server bundled with the BI server also in a new command window.
  • Wait for the tomcat server to finish starting up. When finished the tomcat command window will display something like INFO: Server startup in 77980 ms
  • Open a command prompt window and navigate to c:\Pentaho\server\administration-console. Type start-pac and hit enter. This will start the pentaho administration console.
  • Open a browser window and navigate to http://localhost:8099 to access the pentaho administration console. If prompted for login credentials, use “admin” for the username and “password” for the password.
  • Open a browser window and navigate to http://localhost:8080/pentaho to access the pentaho user console
  • If port 8080 is already in use, for instance by another web server, modify the file C:\Pentaho\server\biserver-ce\tomcat\conf\server.xml. Search for 8080 and replace the value for the HTTP/1.1 connector with another port number that's not in use. Restart the server and include the new port number in the URL to access the user console.
  • Click on the login button in the user console and select the sample user Joe (admin) to login. The username and password are automatically filled in the form. This user has a username of “Joe” and a password of “password”.
  • If you'll need to access the user console from different machines, edit the file C:\Pentaho\server\biserver-ce\tomcat\webapps\pentaho\WEB-INF\web.xml. Change the base-url parameter, replacing “localhost” with the server's hostname or IP address.
  • To start the report designer, open a command prompt window and navigate to C:\Pentaho\design-tools\report-designer. Type report-designer and hit enter.
  • To stop the BI server, open a command prompt window and navigate to c:\Pentaho\server\biserver-ce. Type stop-pentaho and hit enter. OR double click on the stop-pentaho.bat file.
  • To stop the administration console, double click the file c:\Pentaho\server\administration-console\stop-pentaho.bat file.
  • Note that if you use IE8 for the browser, intranet settings may not be enabled for localhost, and some features of the user console will not work properly. To correct this, select the Tools | Internet Options menu. If the main menu [File, Edit etc] isn't displayed on IE, press the alt key to get it to display. Select the security tab, then the Local intranet zone and click on the sites button. Uncheck the Automatically detect intranet network box and click on the Advanced button. Type in http://localhost and click on the Add button.
  • To enable emailing of reports, edit the file C:\Pentaho\server\biserver-ce\pentaho-solutions\system\smtp-email\email_config.xml, adding the details of the email server.

Using Apache

Disable caching

  • Uncomment the line #LoadModule expires_module modules/mod_expires.so in the httpd.conf file
  • Create a file named .htaccess under the relevant website directory and add the text

# enable expiration
ExpiresActive On

#expire all pages to prevent caching
ExpiresDefault "access plus 1 second"
  • Restart Apache

Use folder structure not in the document root
  • Add an alias in the httpd.conf file e.g.
Alias /mysite "c:/somefolder/mysite"


    AllowOverride None    
    Options Indexes FollowSymLinks ExecCGI
    Order allow,deny
    Allow from all

Using PostgreSQL

Creating a database
createdb -U postgre_user database_name
[assumes postgre bin location has been added to the system path]

Starting the command line client
psql -U postgre_user

Changing database within psql
postgres=# \c mydatabase

Using MySQL

Using keywords as column names or in queries
Enclose keywords around backticks e.g. Select `desc` from mytable

Using Activelock

Activelock is an open source software licensing and copy protection component for windows applications. Its source is available in VB6 and VB.NET.

Prerequisites
Visual Studio 6 with SP6
MSXML 4
Visual Studio 2008
IIS with ASP.NET configured (only for testing web integration)

Version used
Activelock 3.6.0.3
Visual Studio 6 with SP6
.NET framework 3.5
Visual Studio 2008 Express edition
IIS on Windows XP (IIS 5.1)


Installation
  1. Download the VB6 and VB2008 core dlls and source code packages from the activelock website, activelocksoftware.com
  2. Run the setup programs to install the activelock files

Customizing the VB6 dll
  1. Copy the contents of the dll source folder C:\Program Files\Activelock_VB6_3.6\Activelock3.6 for VB6 to your own folder e.g. C:\MyLock
  2. Copy the contents of the test application folder C:\Program Files\Activelock_VB6_3.6\ALTestApp3.6 for VB6 to your own folder e.g. C:\MyLock TestApp
  3. Using the code in the C:\MyLock folder, open the file ActiveLock3.vbp
  4. Save the project with a different name e.g. MyLock.vbp
  5. Change the name of the project under project properties e.g. MyLock
  6. Right click on the project and click on the properties menu
  7. Clear the help file text box
  8. Change the project description text box e.g. MyLock
  9. In the make tab, change the version number e.g. 1.0.0
  10. Change the application title e.g MyLock
  11. Change all the items under version information as desired
  12. Open a code window and replace all occurrences of the string ActiveLock3 with e.g. MyLock. Ensure the Find whole word only option is selected.
  13. In activelock.cls, change the value of the AL_REGISTRY_HIVE$ constant
  14. In activelock.cls, modify the ValidateShortKey procedure. Comment out the section referring to alcrypto, only leaving the automatic registration code. If you don't want the short key to be tied to a specific computer, comment out the line fprint = modHardware.GetFingerprint()
  15. In activelock.cls, modify the IactiveLock_InstallationCode Get procedure. Don't pass the fingerprint to the GenerateShortSerial function. This is also only if the short key isn't required to be tied to a specific computer
  16. Make any other customizations as required
  17. Add a reference to the Microsoft WMI Scripting V1.1 Library
  18. If you don't have MDAC 2.8, remove the existing reference and select the reference for the highest version of Microsoft ActiveX Data Objects Library you have.
  19. Compile the dll, giving it a different name e.g MyLock.dll
  20. Select the project properties, and under the component tab, set version compatibility to binary compatibility, referencing the dll just compiled.
  21. Compile the dll again.
  22. Close the project.

Customizing the key generator
  1. Using the code in the C:\MyLock folder, open the file Alugen.vbp
  2. Save the project with a different name e.g. MyGenerator.vbp
  3. Change the name of the project e.g. MyGenerator
  4. Open a code window and replace all occurrences of the string ActiveLock3 with the same name used in the dll e.g. MyLock
  5. Under project references, remove the reference to the ActiveLock Object Library 3.6 and add a reference to the modified dll you've compiled e.g MyLock.dll.
  6. Build the exe, giving it a different name e.g. MyGenerator.exe
  7. Close the project

Customizing the test application
  1. Using the code in the C:\MyLock TestApp folder, open the file ALVB6Sample.vbp.
  2. Save the project with a different name e.g. MyLockTestApp.vbp
  3. Open a code window and replace all occurrences of the string ActiveLock3 with the same name used in the dll e.g. MyLock
  4. Under project references, remove the reference to the ActiveLock Object Library 3.6 and add a reference to the modified dll you've compiled.
  5. In the form_load procedure of frmMain, comment out the line with CheckForResources
  6. In the form_load procedure of frmMain, modify the software password e.g. .SoftwarePassword="pass"
  7. In the form_load procedure of frmMain, modify the licence key type to .LicenseKeyType = alsShortKeyMD5. Only if a short key will be used
  8. Build the exe, giving it a different name e.g. MyLockTestApp.exe
  9. Close the project

Generating an installation code
  • Create a new project and add two text boxes to it, txtUser and txtInstallCode
  • Add a reference to the modified dll, MyLock.dll
  • Open a code window and paste the following code
Option Explicit

Private ActiveLock As DVTransManager.IActiveLock
Private WithEvents ActiveLockEventSink As ActiveLockEventNotifier

Private Sub Form_Load()
    InitializeActiveLock
End Sub

Private Sub txtUser_Change()
    txtInstallCode.Text = ActiveLock.InstallationCode(txtUser.Text)
    
    On Error GoTo 0
    Exit Sub
End Sub

Private Sub InitializeActiveLock()
    Set ActiveLock = DVTransManager.NewInstance()
    
    Set ActiveLockEventSink = ActiveLock.EventNotifier
    
    With ActiveLock
        .SoftwareName = "ALVB6Sample"
        .SoftwareVersion = "3.6"
        .SoftwarePassword = "pass"
        .SoftwareCode = "RSA1024BgIAAAAkAABSU0ExAAQAAAEAAQCBcwKp9p1rkQhZyxTeREh9EM273wBqpODS+KLkeu/xn/Q0+w8uhBQfZq8f/sdRfL+S5LIBItOv0okG42mKcaNk0mRoSoJkUPMrRp43j8nAKVCmRrD7pZ1Do3uHM4SjydLY0omeK8vOCyZ2WldYy0IxwgQjNqMHLuG1rCg1DR4+5g=="
        
        .LicenseKeyType = alsShortKeyMD5
        .LockType = lockNone
    End With
   
    ActiveLock.Init
End Sub

  • Run the program and in the txtUser text box, type in "test"
  • Copy the installation code displayed

Generate and test a licence key
  1. Run MyGenerator.exe
  2. In the licence keygen tab, make sure the product is ALVB6Sample – 3.6
  3. Paste the installation code in the installation code text box
  4. In the user name text box, type in "user"
  5. Click on the Generate button to generate the licence key
  6. Run MyLockTestApp.exe
  7. In the user name text box, type in "user"
  8. In the installation code text box, paste the installation code used in the key generator
  9. In the liberation key text box, paste the licence key generated by the key generator
  10. Click on the Register button
  11. Registration should be successful, indicating that you have successfully created a licence key and had it verified.

Using with a new product
  1. For your own custom application, you start by creating a new product in the key generator.
  2. Type in a name and version for your product and click on the Generate button to generate the product codes. The codes are a public/private key-pair with the Vcode being the public key, and the Gcode the private key. The codes are specific to a particular product name and version combination
  3. Click on Add to product list to add the new product to the list of known products
  4. The source code in the test application can be used as a guide for your own windows application. Further customization would be required e.g to include different product details, and apply custom stealth measures if desired.


Customizing the VB.NET version
To customize the VB.NET version of Activelock, download and install the corresponding VB.NET package and make code changes in the same places as the VB6 version.
The product codes, installation codes and licence keys [liberation keys] generated by the VB.NET and VB6 versions are not the same. This means a licence key generated by the VB.NET key generator will not be valid when an attempt to register the licence is made from the VB6 component and vice versa.


Web integration for the VB6 version
One may require to automate licence key generation and distribution through a website. If your windows application is using the VB6 component to verify licence keys, you'll need to generate keys using the VB6 key generator.
  1. Download and install the VB6 version of Activelock
  2. Copy the following files from C:\Program Files\Activelock_VB6_3.6\Activelock3.6 for VB6 to your own folder e.g. C:\MyWebGenerator. modActiveLock.bas, modALUGEN.bas and modWindowsVersion.bas.
  3. Open the VB6 IDE and create a new ActiveX DLL project
  4. Give the project a name e.g. MyWebGenerator and change the name of the default class e.g WebGenerator and save the project to the folder you created e.g. C:\MyWebGenerator
  5. Add the module files to the project
  6. Open the project file Alugen.vbp from C:\Program Files\Activelock_VB6_3.6\Activelock3.6 for VB6
  7. Create a public function in you class e.g. GenerateLicenceKey and use code from the cmdKeyGen_Click procedure of the Alugen project to implement the licence key generation as per your requirements.
  8. Declare a private class variable for the Activelock object and use the InitActiveLock procedure from frmMain in the Class_Initialize method.
  9. Add a project reference to the VB6 Activelock dll, perhaps one which you've modified and compiled.
  10. Compile your new dll e.g. MyWebGenerator.dll

Using the VB6 key generation dll in an ASP.NET website
  1. Set up an IIS server that can serve ASP.NET pages
  2. Copy MyWebGenerator.dll to the web server, if it's on a different machine, e.g to a folder C:\Components
  3. Register MyWebGenerator.dll on the web server
  4. Use the tlbimp.exe utility that comes with the .NET framework to create a runtime callable wrapper for the ActiveX dll you've just compiled. This is to allow you to use the functions of the dll from a .NET development environment just like it was a .NET component.
  5. Search for the file tlbimp.exe on the machine and copy it to C:\Components
  6. Open a command prompt window and navigate to C:\Components
  7. Run tlbimp giving a new name for the .NET wrapper. The syntax to use would be something like tlbimp MyWebGenerator.dll /out:MyWebGeneratorRCW.dll /verbose
  8. Create a new website project e.g using Visual Web Developer Express edition
  9. Under the Website | Add Reference menu, browse and add a reference to the wrapper dll MyWebGeneratorRCW.dll
  10. Use the ildasm.exe utility that comes with the .NET framework to confirm the name of the namespace, class and methods in the wrapper dll you've just created. Run ildasm and open the MyWebGeneratorRCW.dll. The namespace is the name of the node directly under the MANIFEST node. Classes are blue nodes and interfaces are blue nodes with an I.
  11. Add a line in your webpage to import the wrapper namespace as indicated by ildasm e.g <%@ Import Namespace="MyWebGeneratorRCW" %>
  12. Instantiate and use the methods in your dll as you would any .NET component in ASP.NET.


Web integration for the VB.NET version
Create a .NET dll using code from the VB.NET ALUGEN, just like is done for the VB6 version. Since ASP.NET will use the .NET dlls without having to jump any hoops, add a reference to this dll and use as required.

Installing Bugzilla 3.2

Bugzilla is an open source, web-based bug-tracking application.



Prerequisites
Web server configured to process CGI requests
Perl 5.8.1 and above
MySQL 4.2.1 and above
Internet connection

Versions used
Apache 2.2.8
MySQL 5.0.45
ActivePerl 5.8.8.820

Steps
  • Download the package [tarball] from the bugzilla website, bugzilla.org.
  • Unzip the package to a folder in the web server's document root, e.g. Bugzilla
  • Create a database on the MySQL server e.g.
mysql> create database bugs;
mysql> grant all on bugs.* to bugs@localhost' identified by 'password';
mysql> quit;
  • Confirm/enable CGI support in Apache by including the following line in the section of the httpd.conf file
AddHandler cgi-script .cgi
  • Allow running of .cgi scripts by adding the ExecCGI option to the section of the the httpd.conf file
Options Indexes FollowSymLinks ExecCGI
  • Allow Bugzilla's .htaccess file to restrict access to sensitive documents by allowing it to override the defaults. This involves changing AllowOverride None to AllowOverride All
  • To tell Apache to use Perl to execute .cgi files, use the ScriptInterpreterSource directive. Add ScriptInterpreterSource Registry-Strict to the httpd.conf file. In order for ScriptInterpreterSource Registry-Strict to work, you also need to add an entry to the Registry. Create a key HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command with the default value of the full path of perl.exe with a -T parameter e.g. C:\Perl\bin\perl.exe -T . This will cause this path to be used to run the cgi scripts rather than the path specified in the first line of the scripts themselves. Bugzilla's cgi scripts specify the path of the perl executable as /usr/bin/perl
  • Add index.cgi to the DirectoryIndex list in the httpd.conf file
  • Restart Apache
  • To confirm that perl cgi scripts process OK, create a file test.cgi in the document root folder with the following contents and then navigate to localhost/test.cgi. If Hello, World is displayed on the browser, cgi configuration was successful
#!/perl/bin/perl
# test cgi execution of perl script
print "Content-type: text/html\r\n\r\n";
print "Hello, World.";
  • Open a command prompt window and run checksetup.pl in the bugzilla folder. This checks for perl modules required for bugzilla and guides on which ones to install if they aren't present
cd \apache\htdocs\bugzilla
perl checksetup.pl
  • With an internet connection available, run the commands given to install the relevant perl packages/modules using PPM [Perl Package Manager]. Add the suggested repository and install at least the mandatory packages. Alternatively download and unzip the individual packages from the suggested website e.g. theoryx5.uwinnipeg.ca/ppms for perl 5.8 packages or ppm.activestate.com/PPMPackages/zips/, and then use PPM to install them offline. e.g. ppm install c:\tmp\TimeDate.ppd
  • After all mandatory packages are installed and the script has read the ./localconfig file, edit the file C:\apache\htdocs\bugzilla\localconfig, updating the database variables, $db_driver, $db_name, $db_user, $db_pass, with details bugzilla will use to connect to the database created.
  • Run checksetup.pl again. This time it will build your database tables and initialise Bugzilla. Enter the hostname of the SMTP server to use [or localhost to continue installation]. Also enter the admin email, name and password. Installation is now complete.
  • Navigate to yourserver/bugzilla/ using your browser and login using the administrator account created. Use the email address as the login.
  • Click on the parameters link to update some required settings. Set at least the maintainer email address and urlbase. This is the final configuration step and after this bugzilla is ready for use.
 
  • Add a Scheduled Task to run collectstats.pl nightly
  • Add a Scheduled Task to run whineatnews.pl nightly
  • Add a Scheduled Task to run whine.pl nightly. whine.pl needs to run in Perl's Taint mode. The command line needs to include the -T option e.g. C:\Perl\bin\perl.exe -T C:\apache\htdocs\bugzilla\whine.pl
  • Backup the entire Bugzilla directory
  • Backup the Bugzilla Database. It contains all the Bugs, Users, Attachments etc. Schedule the mysqldump utility to create the database dump [backup file], and add the resulting file to your backup media 

Note
If the main bugzilla page doesn't load, check that the web server is properly configured by running the perl script testserver.pl in the bugzilla folder to get an idea of what may be wrong e.g.
cd \apache\htdocs\bugzilla
perl testserver.pl http://localhost/bugzilla