25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-24 16:23:40 +01:00

* src/configure.ac: Improve legibility

* src/aclocal.m4: Likewise
* src/configure: Likewise

* src/ejabberdctl.template: Remove garbage variable. Document node
option

* doc/guide.tex: Add references to sections.
* doc/guide.html: Likewise

SVN Revision: 1438
This commit is contained in:
Badlop 2008-07-12 21:32:45 +00:00
parent e7b42f9499
commit 983022438e
7 changed files with 67 additions and 43 deletions

View File

@ -1,3 +1,15 @@
2008-07-12 Badlop <badlop@process-one.net>
* src/configure.ac: Improve legibility
* src/aclocal.m4: Likewise
* src/configure: Likewise
* src/ejabberdctl.template: Remove garbage variable. Document node
option
* doc/guide.tex: Add references to sections.
* doc/guide.html: Likewise
2008-07-11 Badlop <badlop@process-one.net> 2008-07-11 Badlop <badlop@process-one.net>
* src/mod_register.erl: Revert support for io_lib newline, since * src/mod_register.erl: Revert support for io_lib newline, since

View File

@ -333,14 +333,14 @@ Alternatively, the latest development version can be retrieved from the Subversi
</P><P>To compile <TT>ejabberd</TT> execute the commands: </P><P>To compile <TT>ejabberd</TT> execute the commands:
</P><PRE CLASS="verbatim">./configure </P><PRE CLASS="verbatim">./configure
make make
</PRE><P>The build configuration script provides several parameters. </PRE><P>The build configuration script allows several options.
To get the full list run the command: To get the full list run the command:
</P><PRE CLASS="verbatim">./configure --help </P><PRE CLASS="verbatim">./configure --help
</PRE><P>Some options that you may be interested in modifying: </PRE><P>Some options that you may be interested in modifying:
</P><DL CLASS="description"><DT CLASS="dt-description"> </P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>--prefix=/</TT></B></DT><DD CLASS="dd-description"> <B><TT>--prefix=/</TT></B></DT><DD CLASS="dd-description">
Specify the path prefix where the files will be copied when running the make install command.<P> </P></DD><DT CLASS="dt-description"><B><TT>--enable-pam</TT></B></DT><DD CLASS="dd-description"> Specify the path prefix where the files will be copied when running the make install command.<P> </P></DD><DT CLASS="dt-description"><B><TT>--enable-pam</TT></B></DT><DD CLASS="dd-description">
Enable the PAM authentication method.<P> </P></DD><DT CLASS="dt-description"><B><TT>--enable-odbc or --enable-mssql</TT></B></DT><DD CLASS="dd-description"> Enable the PAM authentication method (see section <A HREF="#pam">3.1.4</A>).<P> </P></DD><DT CLASS="dt-description"><B><TT>--enable-odbc or --enable-mssql</TT></B></DT><DD CLASS="dd-description">
Required if you want to use an external database. Required if you want to use an external database.
See section&#XA0;<A HREF="#database">3.2</A> for more information.<P> </P></DD><DT CLASS="dt-description"><B><TT>--enable-full-xml</TT></B></DT><DD CLASS="dd-description"> See section&#XA0;<A HREF="#database">3.2</A> for more information.<P> </P></DD><DT CLASS="dt-description"><B><TT>--enable-full-xml</TT></B></DT><DD CLASS="dd-description">
Enable the use of XML based optimisations. Enable the use of XML based optimisations.
@ -351,7 +351,8 @@ To get the full list run the command:
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc12">2.4.4</A>&#XA0;&#XA0;<A HREF="#install">Install</A></H3><!--SEC END --><P> <A NAME="install"></A> <H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc12">2.4.4</A>&#XA0;&#XA0;<A HREF="#install">Install</A></H3><!--SEC END --><P> <A NAME="install"></A>
</P><P>To install <TT>ejabberd</TT> in the destination directories, run the command: </P><P>To install <TT>ejabberd</TT> in the destination directories, run the command:
</P><PRE CLASS="verbatim">make install </P><PRE CLASS="verbatim">make install
</PRE><P>Note that you may need to have administrative privileges in the system.</P><P>The files and directories created are, by default: </PRE><P>Note that you probably need administrative privileges in the system
to install <TT>ejabberd</TT>.</P><P>The files and directories created are, by default:
</P><DL CLASS="description"><DT CLASS="dt-description"> </P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>/etc/ejabberd/</TT></B></DT><DD CLASS="dd-description"> Configuration files: <B><TT>/etc/ejabberd/</TT></B></DT><DD CLASS="dd-description"> Configuration files:
<DL CLASS="description"><DT CLASS="dt-description"> <DL CLASS="description"><DT CLASS="dt-description">
@ -359,7 +360,7 @@ To get the full list run the command:
</DD><DT CLASS="dt-description"><B><TT>ejabberdctl.cfg</TT></B></DT><DD CLASS="dd-description"> Configuration file of the administration script </DD><DT CLASS="dt-description"><B><TT>ejabberdctl.cfg</TT></B></DT><DD CLASS="dd-description"> Configuration file of the administration script
</DD><DT CLASS="dt-description"><B><TT>inetrc</TT></B></DT><DD CLASS="dd-description"> Network DNS configuration </DD><DT CLASS="dt-description"><B><TT>inetrc</TT></B></DT><DD CLASS="dd-description"> Network DNS configuration
</DD></DL> </DD></DL>
</DD><DT CLASS="dt-description"><B><TT>/sbin/ejabberdctl</TT></B></DT><DD CLASS="dd-description"> Administration script </DD><DT CLASS="dt-description"><B><TT>/sbin/ejabberdctl</TT></B></DT><DD CLASS="dd-description"> Administration script (see section&#XA0;<A HREF="#ejabberdctl">4.1</A>)
</DD><DT CLASS="dt-description"><B><TT>/var/lib/ejabberd/</TT></B></DT><DD CLASS="dd-description"> </DD><DT CLASS="dt-description"><B><TT>/var/lib/ejabberd/</TT></B></DT><DD CLASS="dd-description">
<DL CLASS="description"><DT CLASS="dt-description"> <DL CLASS="description"><DT CLASS="dt-description">
<B><TT>.erlang.cookie</TT></B></DT><DD CLASS="dd-description"> Erlang cookie file (see section <A HREF="#cookie">5.3</A>) <B><TT>.erlang.cookie</TT></B></DT><DD CLASS="dd-description"> Erlang cookie file (see section <A HREF="#cookie">5.3</A>)
@ -367,7 +368,8 @@ To get the full list run the command:
</DD><DT CLASS="dt-description"><B><TT>ebin</TT></B></DT><DD CLASS="dd-description"> Binary Erlang files (*.beam) </DD><DT CLASS="dt-description"><B><TT>ebin</TT></B></DT><DD CLASS="dd-description"> Binary Erlang files (*.beam)
</DD><DT CLASS="dt-description"><B><TT>priv</TT></B></DT><DD CLASS="dd-description"> </DD><DT CLASS="dt-description"><B><TT>priv</TT></B></DT><DD CLASS="dd-description">
<DL CLASS="description"><DT CLASS="dt-description"> <DL CLASS="description"><DT CLASS="dt-description">
<B><TT>lib</TT></B></DT><DD CLASS="dd-description"> Binary system libraries (*.so) <B><TT>bin</TT></B></DT><DD CLASS="dd-description"> Binary C programs
</DD><DT CLASS="dt-description"><B><TT>lib</TT></B></DT><DD CLASS="dd-description"> Binary system libraries (*.so)
</DD><DT CLASS="dt-description"><B><TT>msgs</TT></B></DT><DD CLASS="dd-description"> Translated strings (*.msgs) </DD><DT CLASS="dt-description"><B><TT>msgs</TT></B></DT><DD CLASS="dd-description"> Translated strings (*.msgs)
</DD></DL> </DD></DL>
</DD></DL> </DD></DL>
@ -939,7 +941,7 @@ for more information.
</PRE><P>Though it is quite easy to set up PAM support in <TT>ejabberd</TT>, PAM itself introduces some </PRE><P>Though it is quite easy to set up PAM support in <TT>ejabberd</TT>, PAM itself introduces some
security issues:</P><UL CLASS="itemize"><LI CLASS="li-itemize"> security issues:</P><UL CLASS="itemize"><LI CLASS="li-itemize">
To perform PAM authentication <TT>ejabberd</TT> uses external C-program called To perform PAM authentication <TT>ejabberd</TT> uses external C-program called
<TT>epam</TT>. By default, it is located in <CODE>/var/lib/ejabberd/priv/lib/</CODE> <TT>epam</TT>. By default, it is located in <CODE>/var/lib/ejabberd/priv/bin/</CODE>
directory. You have to set it root on execution in the case when your PAM module directory. You have to set it root on execution in the case when your PAM module
requires root privileges (<TT>pam_unix.so</TT> for example). Also you have to grant access requires root privileges (<TT>pam_unix.so</TT> for example). Also you have to grant access
for <TT>ejabberd</TT> to this file and remove all other permissions from it. for <TT>ejabberd</TT> to this file and remove all other permissions from it.

View File

@ -313,7 +313,7 @@ To compile \ejabberd{} execute the commands:
make make
\end{verbatim} \end{verbatim}
The build configuration script provides several parameters. The build configuration script allows several options.
To get the full list run the command: To get the full list run the command:
\begin{verbatim} \begin{verbatim}
./configure --help ./configure --help
@ -325,7 +325,7 @@ Some options that you may be interested in modifying:
Specify the path prefix where the files will be copied when running the make install command. Specify the path prefix where the files will be copied when running the make install command.
\titem{--enable-pam} \titem{--enable-pam}
Enable the PAM authentication method. Enable the PAM authentication method (see section \ref{pam}).
\titem{--enable-odbc or --enable-mssql} \titem{--enable-odbc or --enable-mssql}
Required if you want to use an external database. Required if you want to use an external database.
@ -348,7 +348,8 @@ To install \ejabberd{} in the destination directories, run the command:
\begin{verbatim} \begin{verbatim}
make install make install
\end{verbatim} \end{verbatim}
Note that you may need to have administrative privileges in the system. Note that you probably need administrative privileges in the system
to install \term{ejabberd}.
The files and directories created are, by default: The files and directories created are, by default:
\begin{description} \begin{description}
@ -358,7 +359,7 @@ The files and directories created are, by default:
\titem{ejabberdctl.cfg} Configuration file of the administration script \titem{ejabberdctl.cfg} Configuration file of the administration script
\titem{inetrc} Network DNS configuration \titem{inetrc} Network DNS configuration
\end{description} \end{description}
\titem{/sbin/ejabberdctl} Administration script \titem{/sbin/ejabberdctl} Administration script (see section~\ref{ejabberdctl})
\titem{/var/lib/ejabberd/} \titem{/var/lib/ejabberd/}
\begin{description} \begin{description}
\titem{.erlang.cookie} Erlang cookie file (see section \ref{cookie}) \titem{.erlang.cookie} Erlang cookie file (see section \ref{cookie})
@ -366,6 +367,7 @@ The files and directories created are, by default:
\titem{ebin} Binary Erlang files (*.beam) \titem{ebin} Binary Erlang files (*.beam)
\titem{priv} \titem{priv}
\begin{description} \begin{description}
\titem{bin} Binary C programs
\titem{lib} Binary system libraries (*.so) \titem{lib} Binary system libraries (*.so)
\titem{msgs} Translated strings (*.msgs) \titem{msgs} Translated strings (*.msgs)
\end{description} \end{description}
@ -393,6 +395,7 @@ ejabberd is running
ejabberdctl stop ejabberdctl stop
\end{verbatim} \end{verbatim}
Please refer to the section~\ref{ejabberdctl} for details about \term{ejabberdctl}, Please refer to the section~\ref{ejabberdctl} for details about \term{ejabberdctl},
and configurable options to fine tune the Erlang runtime system. and configurable options to fine tune the Erlang runtime system.
@ -1117,7 +1120,7 @@ security issues:
\begin{itemize} \begin{itemize}
\item To perform PAM authentication \ejabberd{} uses external C-program called \item To perform PAM authentication \ejabberd{} uses external C-program called
\term{epam}. By default, it is located in \verb|/var/lib/ejabberd/priv/lib/| \term{epam}. By default, it is located in \verb|/var/lib/ejabberd/priv/bin/|
directory. You have to set it root on execution in the case when your PAM module directory. You have to set it root on execution in the case when your PAM module
requires root privileges (\term{pam\_unix.so} for example). Also you have to grant access requires root privileges (\term{pam\_unix.so} for example). Also you have to grant access
for \ejabberd{} to this file and remove all other permissions from it. for \ejabberd{} to this file and remove all other permissions from it.

15
src/aclocal.m4 vendored
View File

@ -1,6 +1,6 @@
AC_DEFUN(AM_WITH_EXPAT, AC_DEFUN(AM_WITH_EXPAT,
[ AC_ARG_WITH(expat, [ AC_ARG_WITH(expat,
[ --with-expat=PREFIX prefix where EXPAT is installed]) [AC_HELP_STRING([--with-expat=PREFIX], [prefix where EXPAT is installed])])
EXPAT_CFLAGS= EXPAT_CFLAGS=
EXPAT_LIBS= EXPAT_LIBS=
@ -34,7 +34,7 @@ AC_DEFUN(AM_WITH_EXPAT,
AC_DEFUN(AM_WITH_ZLIB, AC_DEFUN(AM_WITH_ZLIB,
[ AC_ARG_WITH(zlib, [ AC_ARG_WITH(zlib,
[ --with-zlib=PREFIX prefix where zlib is installed]) [AC_HELP_STRING([--with-zlib=PREFIX], [prefix where zlib is installed])])
ZLIB_CFLAGS= ZLIB_CFLAGS=
ZLIB_LIBS= ZLIB_LIBS=
@ -68,7 +68,7 @@ AC_DEFUN(AM_WITH_ZLIB,
AC_DEFUN(AM_WITH_PAM, AC_DEFUN(AM_WITH_PAM,
[ AC_ARG_WITH(pam, [ AC_ARG_WITH(pam,
[ --with-pam=PREFIX prefix where PAM is installed]) [AC_HELP_STRING([--with-pam=PREFIX], [prefix where PAM is installed])])
PAM_CFLAGS= PAM_CFLAGS=
PAM_LIBS= PAM_LIBS=
@ -102,7 +102,7 @@ AC_DEFUN(AM_WITH_PAM,
AC_DEFUN(AM_WITH_ERLANG, AC_DEFUN(AM_WITH_ERLANG,
[ AC_ARG_WITH(erlang, [ AC_ARG_WITH(erlang,
[ --with-erlang=PREFIX path to erlc and erl ]) [AC_HELP_STRING([--with-erlang=PREFIX], [path to erlc and erl])])
AC_PATH_TOOL(ERLC, erlc, , $with_erlang:$with_erlang/bin:$PATH) AC_PATH_TOOL(ERLC, erlc, , $with_erlang:$with_erlang/bin:$PATH)
AC_PATH_TOOL(ERL, erl, , $with_erlang:$with_erlang/bin:$PATH) AC_PATH_TOOL(ERL, erl, , $with_erlang:$with_erlang/bin:$PATH)
@ -195,14 +195,13 @@ _EOF
AC_SUBST(ERL) AC_SUBST(ERL)
]) ])
AC_DEFUN(AC_MOD_ENABLE, AC_DEFUN(AC_MOD_ENABLE,
[ [
$1= $1=
make_$1= make_$1=
AC_MSG_CHECKING([whether build $1]) AC_MSG_CHECKING([whether build $1])
AC_ARG_ENABLE($1, AC_ARG_ENABLE($1,
[ --enable-$1 enable $1 (default: $2)], [AC_HELP_STRING([--enable-$1], [enable $1 (default: $2)])],
[mr_enable_$1="$enableval"], [mr_enable_$1="$enableval"],
[mr_enable_$1=$2]) [mr_enable_$1=$2])
if test "$mr_enable_$1" = "yes"; then if test "$mr_enable_$1" = "yes"; then
@ -223,7 +222,7 @@ AC_DEFUN([AM_ICONV],
dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
dnl those with the standalone portable GNU libiconv installed). dnl those with the standalone portable GNU libiconv installed).
AC_ARG_WITH([libiconv-prefix], AC_ARG_WITH([libiconv-prefix],
[ --with-libiconv-prefix=PREFIX prefix where libiconv is installed], [ [AC_HELP_STRING([--with-libiconv-prefix=PREFIX], [prefix where libiconv is installed])], [
for dir in `echo "$withval" | tr : ' '`; do for dir in `echo "$withval" | tr : ' '`; do
if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
if test -d $dir/include; then CFLAGS="$CFLAGS -I$dir/include"; fi if test -d $dir/include; then CFLAGS="$CFLAGS -I$dir/include"; fi
@ -308,7 +307,7 @@ size_t iconv();
dnl <openssl> dnl <openssl>
AC_DEFUN(AM_WITH_OPENSSL, AC_DEFUN(AM_WITH_OPENSSL,
[ AC_ARG_WITH(openssl, [ AC_ARG_WITH(openssl,
[ --with-openssl=PREFIX prefix where OPENSSL is installed ]) [AC_HELP_STRING([--with-openssl=PREFIX], [prefix where OPENSSL is installed])])
unset SSL_LIBS; unset SSL_LIBS;
unset SSL_CFLAGS; unset SSL_CFLAGS;
have_openssl=no have_openssl=no

20
src/configure vendored
View File

@ -1291,17 +1291,25 @@ Optional Features:
--enable-tls enable tls (default: yes) --enable-tls enable tls (default: yes)
--enable-odbc enable odbc (default: no) --enable-odbc enable odbc (default: no)
--enable-ejabberd_zlib enable ejabberd_zlib (default: yes) --enable-ejabberd_zlib enable ejabberd_zlib (default: yes)
--enable-hipe Compile natively with HiPE, not recommended (default: no) --enable-hipe compile natively with HiPE, not recommended
--enable-roster-gateway-workaround Turn on workaround for processing gateway subscriptions (default: no) (default: no)
--enable-mssql Use Microsoft SQL Server database (default: no, requires --enable-odbc) --enable-roster-gateway-workaround
--enable-transient_supervisors Use Erlang supervision for transient process (default: yes) turn on workaround for processing gateway
--enable-full-xml Use XML features in XMPP stream (ex: CDATA) (default: no, requires XML compliant clients) subscriptions (default: no)
--enable-mssql use Microsoft SQL Server database (default: no,
requires --enable-odbc)
--enable-transient_supervisors
use Erlang supervision for transient process
(default: yes)
--enable-full-xml use XML features in XMPP stream (ex: CDATA)
(default: no, requires XML compliant clients)
Optional Packages: Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-erlang=PREFIX path to erlc and erl --with-erlang=PREFIX path to erlc and erl
--with-libiconv-prefix=PREFIX prefix where libiconv is installed --with-libiconv-prefix=PREFIX
prefix where libiconv is installed
--with-expat=PREFIX prefix where EXPAT is installed --with-expat=PREFIX prefix where EXPAT is installed
--with-zlib=PREFIX prefix where zlib is installed --with-zlib=PREFIX prefix where zlib is installed
--with-pam=PREFIX prefix where PAM is installed --with-pam=PREFIX prefix where PAM is installed

View File

@ -48,7 +48,7 @@ AC_MOD_ENABLE(odbc, no)
AC_MOD_ENABLE(ejabberd_zlib, yes) AC_MOD_ENABLE(ejabberd_zlib, yes)
AC_ARG_ENABLE(hipe, AC_ARG_ENABLE(hipe,
[ --enable-hipe Compile natively with HiPE, not recommended (default: no)], [AC_HELP_STRING([--enable-hipe], [compile natively with HiPE, not recommended (default: no)])],
[case "${enableval}" in [case "${enableval}" in
yes) hipe=true ;; yes) hipe=true ;;
no) hipe=false ;; no) hipe=false ;;
@ -57,7 +57,7 @@ esac],[hipe=false])
AC_SUBST(hipe) AC_SUBST(hipe)
AC_ARG_ENABLE(roster_gateway_workaround, AC_ARG_ENABLE(roster_gateway_workaround,
[ --enable-roster-gateway-workaround Turn on workaround for processing gateway subscriptions (default: no)], [AC_HELP_STRING([--enable-roster-gateway-workaround], [turn on workaround for processing gateway subscriptions (default: no)])],
[case "${enableval}" in [case "${enableval}" in
yes) roster_gateway_workaround=true ;; yes) roster_gateway_workaround=true ;;
no) roster_gateway_workaround=false ;; no) roster_gateway_workaround=false ;;
@ -66,7 +66,7 @@ esac],[roster_gateway_workaround=false])
AC_SUBST(roster_gateway_workaround) AC_SUBST(roster_gateway_workaround)
AC_ARG_ENABLE(mssql, AC_ARG_ENABLE(mssql,
[ --enable-mssql Use Microsoft SQL Server database (default: no, requires --enable-odbc)], [AC_HELP_STRING([--enable-mssql], [use Microsoft SQL Server database (default: no, requires --enable-odbc)])],
[case "${enableval}" in [case "${enableval}" in
yes) db_type=mssql ;; yes) db_type=mssql ;;
no) db_type=generic ;; no) db_type=generic ;;
@ -75,7 +75,7 @@ esac],[db_type=generic])
AC_SUBST(db_type) AC_SUBST(db_type)
AC_ARG_ENABLE(transient_supervisors, AC_ARG_ENABLE(transient_supervisors,
[ --enable-transient_supervisors Use Erlang supervision for transient process (default: yes)], [AC_HELP_STRING([--enable-transient_supervisors], [use Erlang supervision for transient process (default: yes)])],
[case "${enableval}" in [case "${enableval}" in
yes) transient_supervisors=true ;; yes) transient_supervisors=true ;;
no) transient_supervisors=false ;; no) transient_supervisors=false ;;
@ -84,7 +84,7 @@ esac],[transient_supervisors=true])
AC_SUBST(transient_supervisors) AC_SUBST(transient_supervisors)
AC_ARG_ENABLE(full_xml, AC_ARG_ENABLE(full_xml,
[ --enable-full-xml Use XML features in XMPP stream (ex: CDATA) (default: no, requires XML compliant clients)], [AC_HELP_STRING([--enable-full-xml], [use XML features in XMPP stream (ex: CDATA) (default: no, requires XML compliant clients)])],
[case "${enableval}" in [case "${enableval}" in
yes) full_xml=true ;; yes) full_xml=true ;;
no) full_xml=false ;; no) full_xml=false ;;

View File

@ -135,7 +135,6 @@ live ()
echo "" echo ""
erl \ erl \
$NAME $ERLANG_NODE \ $NAME $ERLANG_NODE \
$ERLANG_OPTS \
-pa $EJABBERD_EBIN \ -pa $EJABBERD_EBIN \
-mnesia dir "\"$EJABBERD_DB\"" \ -mnesia dir "\"$EJABBERD_DB\"" \
-s ejabberd \ -s ejabberd \
@ -165,6 +164,7 @@ ctl ()
echo " --ctl-config file Config file of ejabberdctl: $CONFIG" echo " --ctl-config file Config file of ejabberdctl: $CONFIG"
echo " --logs dir Directory for logs: $LOGS_DIR" echo " --logs dir Directory for logs: $LOGS_DIR"
echo " --spool dir Database spool dir: $EJABBERD_DB" echo " --spool dir Database spool dir: $EJABBERD_DB"
echo " --node nodename ejabberd node name: $ERLANG_NODE"
echo "";; echo "";;
esac esac
return $result return $result