1mnoGoSearch Installation notes
2==============================
3
4Quick source installation tips
5------------------------------
6tar -zxf mnogosearch-x.x.x.tar.gz
7cd mnogosearch-x.x.x
8./configure --prefix=/usr/local/mnogosearch --with-mysql
9make
10make install
11cd /usr/local/mnogosearch/etc/
12cp indexer.conf-dist indexer.conf
13cp search.htm-dist search.htm
14vi indexer.conf
15vi search.htm
16/usr/local/mnogosearch/sbin/indexer --create
17
18
19Supported operating systems
20---------------------------
21We use GNU Autoconf so it should be possible to compile mnoGoSearch
22on all modern Linux/Unix systems with a C compiler.
23
24The full list of the operating systems mnoGoSearch is known to work on
25can be found in the online manual at:
26http://www.mnogosearch.org/doc33/msearch-opsys.html
27
28Please report successful platforms to general@mnogosearch.org
29
30
31SQL database requirements
32-------------------------
33mnoGoSearch uses an SQL database to store its data. You need one
34of the supported SQL databases to be installed on your system before
35installing mnoGoSearch. See our online manual for the list of the
36supported databases:
37http://www.mnogosearch.org/doc33/msearch-install.html
38
39You will also need enough permissions to create a new database
40or to create tables in an existing database.
41
42Tools required for installation
43-------------------------------
44
45You need the following tools to build and install mnoGoSearch from source:
46
47  * GNU gunzip to uncompress the distribution.
48  * A reasonable tar to unpack the distribution. GNU tar is known to work.
49  * A working ANSI C compiler. GNU gcc is known to work.
50  * A good make program. GNU make is recommended.
51
52Installing mnoGoSearch
53----------------------
54
551. Unpack the distribution and change dir into the top-level directory
56of the unpacked distribution.
57
58  tar -zxf mnogosearch-x.x.x.tar.gz
59  cd mnogosearch-x.x.x
60
612a. To simplify configuration process  we included a configuration
62script with the package - install.pl.   Run install.pl and select
63mnoGoSearch configuration options in a question-and-answer manner.
64After you specify all the configuration options,  the script will
65run  ./configure  with the options you chose. It will also create
66install.options  file containing your configuration   preferences
67that you can use to run the script later bypassing questions.
68After configuration is finished, build and install the package as
69described in section 3.
70
712b. In case you would like to configure mnoGoSearch manually without
72using the configuration script, do the following:
73
74Configure the package with some SQL database:
75
76  $ ./configure --with-mysql
77or
78  $ ./configure --with-pgsql
79or
80  $ ./configure --with-sqlite3
81
82or with another supported database depending on your choice,
83
84or with multiple databases:
85
86  $ ./configure --with-mysql --with-pgsql --with-freetds
87
88
89By default, mnoGoSearch is installed into '/usr/local/mnogosearch'.
90If you have no permissions to write to this directory or want to install
91mnoGoSearch to another location, use configure with the --prefix option,
92e.g.:
93
94  ./configure --prefix=/home/user/mnogosearch --with-mysql
95
96To install mnoGoSearch with HTTPS support, use configure with the
97following option:
98
99  ./configure --with-openssl --with-mysql
100
101or in case the OpenSSL library is installed in a non-standard location:
102
103	./configure --with-openssl=/path/to/library --with-mysql
104
105Please note that you need OpenSSL library installed on your system.
106
107You can see all available options with ./configure --help
108
109
110If you want to provide some specific flags to C compiler (for example,
111'-O7 -mpentium' to build highly optimized binary for Pentium processor
112if you use egcs/pgcc), you can do so using command
113
114  $ export CFLAGS="-O7 -mpentium"
115
116before running configure.
117
118
119If you run into problems with configure, please see section
120'Installation problems'.
121
1223. Build and install the package.
123
124  $ make
125  $ make install
126
127If you run into problems while doing make, please see section
128'Installation problems'
129
1304. Create a new database
131
132You can also use existing database, skip this step in this case.
133
134MySQL:
135  $ mysqladmin create mnogosearch
136
137PostgreSQL:
138  $ createdb mnogosearch
139
140
141Use database specific documentation for the other databases.
142
143
1445. Create indexer.conf and search.htm:
145Change directory to /usr/local/mnogosearch/etc/,
146copy indexer.conf-dist into indexer.conf,
147copy search.htm-dist into search.htm,
148edit indexer.conf and search.htm in your favorite text editor.
149Setting DBAddr is the most important at this step, e.g:
150
151  DBAddr mysql://root@localhost/mnogosearch/
152
153
1545. Create tables:
155
156Change directory to '/usr/local/mnogosearch/sbin/' and run:
157
158  ./indexer --create
159
160
1616. Installing search Web front-end.
162
163Copy search.cgi to your web-server cgi-bin directory or make Apache alias
164to mnoGoSearch bin directory.
165
166
167Installation problems
168---------------------
169
170  * Every time you run 'configure', you must run 'make' again to rebuild.
171
172    To prevent old configuration information or object files from being
173    used, run these commands before re-running 'configure':
174
175    $ rm config.cache
176    $ make clean
177
178  * If compilation fails with ``make'' errors, it can happen because
179    of a wrong make program being used.
180    The behavior of Solaris, FreeBSD, OpenBSD ``make'' is slightly different
181    from GNU make. If you have make-related problems,
182    you should try using GNU make instead (or ``gmake'' on some platforms).
183
184If above information doesn't help, feel free to write to the mnoGoSearch
185mailing list <general@mnogosearch.org> (please post in English only).
186
187
188Creating binary distribution
189----------------------------
190
191You can create a binary distribution for your platform and share
192it with us. We'll put binaries for various platforms to our site
193to make them available to the other users. To create a binary distribution,
194please type "make bin-dist", then put a newly created tar.gz somewhere on the
195Internet and post a link to it to general@mnogosearch.org
196Thanks.
197
198