2009-01-20 Badlop <badlop@process-one.net>
+ * src/Makefile.in: The path to the installed copy of ejabberd
+ Guide is set in the environment variable
+ EJABBERD_DOC_PATH (EJAB-837).
+ * src/web/ejabberd_web_admin.erl: Likewise
+ * src/ejabberdctl.template: Likewise
+ * doc/guide.tex: Likewise
+ * doc/guide.html: Likewise
+
* src/mod_privacy.erl: Only run roster_get_jid_info if privacy
list has subscription or group (thanks to George Hazan)(EJAB-851).
Sort items in privacy list by order before storing (EJAB-848)
</P></LI><LI CLASS="li-enumerate">Install OpenSSL in <CODE>C:\sdk\OpenSSL</CODE> and add <CODE>C:\sdk\OpenSSL\lib\VC</CODE> to your path or copy the binaries to your system directory.
</LI><LI CLASS="li-enumerate">Install ZLib in <CODE>C:\sdk\gnuWin32</CODE>. Copy
<CODE>C:\sdk\GnuWin32\bin\zlib1.dll</CODE> to your system directory. If you change your path it should already be set after libiconv install.
-</LI><LI CLASS="li-enumerate">Make sure the you can access Erlang binaries from your path. For example: <CODE>set PATH=%PATH%;"C:\sdk\erl5.5.5\bin"</CODE>
+</LI><LI CLASS="li-enumerate">Make sure the you can access Erlang binaries from your path. For example: <CODE>set PATH=%PATH%;"C:\sdk\erl5.6.5\bin"</CODE>
</LI><LI CLASS="li-enumerate">Depending on how you end up actually installing the library you might need to check and tweak the paths in the file configure.erl.
</LI><LI CLASS="li-enumerate">While in the directory <CODE>ejabberd\src</CODE> run:
<PRE CLASS="verbatim">configure.bat
{s2s_default_policy, deny}.
{{s2s_host,"jabber.example.org"}, allow}.
{{s2s_host,"example.com"}, allow}.
-</PRE><P>Note, that for jabberd 1.4- or WPJabber-based
-services you have to make the transports log and do XDB by themselves:
+</PRE><P>Note, that for services based in jabberd14 or WPJabber
+you have to make the transports log and do XDB by themselves:
</P><PRE CLASS="verbatim"> <!--
You have to add elogger and rlogger entries here when using ejabberd.
In this case the transport will do the logging.
<xdb id="xdb">
<host/>
<load>
- <!-- this is a lib of wpjabber or jabberd -->
+ <!-- this is a lib of wpjabber or jabberd14 -->
<xdb_file>/usr/lib/jabber/xdb_file.so</xdb_file>
</load>
<xdb_file xmlns="jabber:config:xdb_file">
Path to the ejabberd service log file.
</DD><DT CLASS="dt-description"><B><TT>EJABBERD_SO_PATH</TT></B></DT><DD CLASS="dd-description">
Path to the directory with binary system libraries.
+</DD><DT CLASS="dt-description"><B><TT>EJABBERD_DOC_PATH</TT></B></DT><DD CLASS="dd-description">
+ Path to the directory with ejabberd documentation.
</DD><DT CLASS="dt-description"><B><TT>HOME</TT></B></DT><DD CLASS="dd-description">
Path to the directory that is considered <TT>ejabberd</TT>’s home.
This path is used to read the file <TT>.erlang.cookie</TT>.
The file is searched by default in
<TT>"/share/doc/ejabberd/guide.html"</TT>.
The directory of the documentation can be specified in
-<TT>ejabberd.cfg</TT> with the option <TT>doc_path</TT>.
-For example:
-</P><PRE CLASS="verbatim">{doc_path, "/usr/local/share/doc/ejabberd/"}.
-</PRE><P> <A NAME="adhoccommands"></A> </P><!--TOC section Ad-hoc Commands-->
+the environment variable <TT>EJABBERD_DOC_PATH</TT>.
+See section <A HREF="#erlangconfiguration">4.1.2</A>.</P><P> <A NAME="adhoccommands"></A> </P><!--TOC section Ad-hoc Commands-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc65">4.3</A>  <A HREF="#adhoccommands">Ad-hoc Commands</A></H2><!--SEC END --><P> <A NAME="adhoccommands"></A> </P><P>If you enable <TT>mod_configure</TT> and <TT>mod_adhoc</TT>,
you can perform several administrative tasks in <TT>ejabberd</TT>
with a Jabber client.
Path to the ejabberd service log file.
\titem{EJABBERD\_SO\_PATH}
Path to the directory with binary system libraries.
+ \titem{EJABBERD\_DOC\_PATH}
+ Path to the directory with ejabberd documentation.
\titem{HOME}
Path to the directory that is considered \ejabberd{}'s home.
This path is used to read the file \term{.erlang.cookie}.
The file is searched by default in
\term{"/share/doc/ejabberd/guide.html"}.
The directory of the documentation can be specified in
-\term{ejabberd.cfg} with the option \term{doc\_path}.
-For example:
-\begin{verbatim}
-{doc_path, "/usr/local/share/doc/ejabberd/"}.
-\end{verbatim}
+the environment variable \term{EJABBERD\_DOC\_PATH}.
+See section \ref{erlangconfiguration}.
+
\makesection{adhoccommands}{Ad-hoc Commands}
-e "s*@LIBDIR@*@libdir@*" \
-e "s*@SYSCONFDIR@*@sysconfdir@*" \
-e "s*@LOCALSTATEDIR@*@localstatedir@*" \
+ -e "s*@DOCDIR@*@docdir@*" \
-e "s*@erl@*@ERL@*" ejabberdctl.template \
> ejabberdctl.example
[ -f $(ETCDIR)/ejabberdctl.cfg ] \
if [ "$SPOOLDIR" = "" ] ; then
SPOOLDIR=@LOCALSTATEDIR@/lib/ejabberd
fi
+if [ "$EJABBERD_DOC_PATH" = "" ] ; then
+ EJABBERD_DOC_PATH=@DOCDIR@
+fi
# check the proper system user is used
ID=`id -g`
export EJABBERD_LOG_PATH
export EJABBERD_SO_PATH
export EJABBERD_BIN_PATH
+export EJABBERD_DOC_PATH
export ERL_CRASH_DUMP
export ERL_INETRC
export ERL_MAX_PORTS
process(["doc", LocalFile], _Request) ->
- DocPath = case ejabberd_config:get_global_option(doc_path) of
+ DocPath = case os:getenv("EJABBERD_DOC_PATH") of
P when is_list(P) -> P;
- _ -> "/share/doc/ejabberd/"
+ false -> "/share/doc/ejabberd/"
end,
%% Code based in mod_http_fileserver
FileName = filename:join(DocPath, LocalFile),
FileContents};
{error, Error} ->
?DEBUG("Delivering error: ~p", [Error]),
- Help = " " ++ FileName ++ " - Try to specify the path to ejabberd guide.html "
- "with the option doc_path. Check the ejabberd Guide for more information",
+ Help = " " ++ FileName ++ " - Try to specify the path to ejabberd documentation "
+ "with the environment variable EJABBERD_DOC_PATH. Check the ejabberd Guide for more information.",
case Error of
eacces -> {403, [], "Forbidden"++Help};
enoent -> {404, [], "Not found"++Help};