Installing mnoGoSearch

  1. Unpack the distribution and change dir into the top-level directory of the unpacked distribution.

    tar -zxf mnogosearch-x.x.x.tar.gz

  2. To simplify configuration process we included a configuration script with the package - install.pl. Run install.pl and select mnoGoSearch configuration options in a question-and-answer manner. After you specify all the configuration options, the script will run ./configure with the options you chose. It will also create install.options file containing your configuration preferences that you can use to run the script later bypassing questions. After configuration is finished, build and install the package as described in section 3.

    In case you would like to configure mnoGoSearch manually without using the configuration script, do the following:

    If you would like to configure the package with built-in database support:

    sh$ ./configure --with-built-in

    If you would like to configure the package with SQL database support:

    sh$ ./configure --with-mysql

    or

    sh$ ./configure --with-pgsql

    or

    sh$ ./configure --with-msql

    or with another depending on what database you prefer,

    or with multiple databases:

    sh$ ./configure --with-mysql --with-pgsql --with-msql --with-freetds

    By default, mnoGoSearch is installed in /usr/local/mnogosearchin the following subdirectories:

    DirectoryContents
    bin search.cgi
    lib libudmsearch.a(so)
    sbin indexer
    etc indexer.conf-dist, search.htm-dist
    man indexer.1, indexer.conf.5
    docvarious documentation

    If you have no permission to write to that directory or just want to install mnoGoSearch to another location, please use configure with --prefix option, e.g.

    ./configure --prefix=/user/home/mnogo --with-built-in

    or with MySQL database support:

    ./configure --prefix=/user/home/mnogo --with-mysql

    To install mnoGoSearch with HTTPS support use configure with the following option:

    ./configure --with-openssl

    or in case the OpenSSL library is installed in a non-standard location:

    ./configure --with-openssl=/path/to/library

    Note: Please note that OpenSSL library installed on your system is required for HTTPS support.

    You can see all available options with ./configure --help

    If you want to provide some specific flags to C compiler (for example, '-O7 -mpentium' to build highly optimized binary for Pentium™ processor if you use egcs/pgcc), you can do so using command

    sh$ CFLAGS="-O7 -mpentium"

    before running configure.

    To compile mnoGoSearch on FreeBSD with Solid in old aout format use

    sh$ CFLAGS="-aout"

    before running configure.

    To compile mnoGoSearch on FreeBSD with aout InterBase use

    sh$ CFLAGS="-aout -static"

    before running configure.

    You may also specify --enable-freebsd-pthreads or --enable-linux-pthreads to compile multi-threaded indexer on FreeBSD and Linux machines.

    To enable DMALLOC memory debugger support use --enable-dmalloc.

    The euc-kr, big5, gb2312 and shift-jis character sets are not supported by default. To built mnoGoSearch with these charsets support use configure with --with-extra-charsets command line argument.

    To build mnoGoSearch with all additional charsets support use:

    ./configure --with-extra-charsets=all

    To build mnoGoSearch with only one specified charset support use:

    ./configure --with-extra-charsets=shift-jis

    To build mnoGoSearch with several specified charsets support use a comma separated list of charsets you want:

    ./configure --with-extra-charset=big5,gb2312

    If you run into problems with configure, please see the Section called Possible installation problems.

  3. Build and install the package.

    sh$ make

    sh$ make install

    If you run into problems with configure, please see the Section called Possible installation problems.

  4. Create database mnogosearch (for SQL database only).

    You can use existing database, skip this step in this case.

    MySQL:

    sh$ mysqladmin create mnogosearch

    PostgreSQL:

    sh$ createdb mnogosearch

    miniSQL:

    sh$ msqladmin create mnogosearch

    See database specific information if you use another database.

  5. Create tables (for SQL database only)

    Change dir to create/your_database directory of the distribution and create tables structure.

    MySQL:

    sh$ mysql mnogosearch < create.txt

    PostgreSQL:

    sh$ psql mnogosearch < create.txt

    miniSQL:

    sh$ msql mnogosearch < create.txt

    Solid:

    sh$ solsql "tcp localhost 1313" dba dba create.txt

    If you want to provide support for stop words, please run the following commands:

    sh$ mysql mnogosearch < stop.lang1.txt

    sh$ mysql mnogosearch < stop.lang2.txt

    for all languages that you are planning to support.

    Stop-list is a list of common words (such as 'am','he','in' etc.) that presents in almost every document, have little information value and therefore should not be stored in database.

    If there is no stop-list for your language in this distribution, you are welcome to compose one and send it to - it will be included in next distribution.

    If you want to make mnoGoSearch work in "multidict" mode, please create all required tables using multi.txt script.

  6. Installing search scripts

    Copy search.cgi to your web-server cgi-bin directory or make Apache alias to mnoGoSearch bin directory.