994 lines
15 KiB
HTML
994 lines
15 KiB
HTML
<HTML
|
||
><HEAD
|
||
><TITLE
|
||
>Prerequisites</TITLE
|
||
><META
|
||
NAME="GENERATOR"
|
||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
||
REL="HOME"
|
||
TITLE="Apache Compile HOWTO"
|
||
HREF="index.html"><LINK
|
||
REL="PREVIOUS"
|
||
TITLE="Introduction"
|
||
HREF="intro.html"><LINK
|
||
REL="NEXT"
|
||
TITLE="Getting, build and install Apache with its basic modules"
|
||
HREF="apache.html"></HEAD
|
||
><BODY
|
||
CLASS="SECT1"
|
||
BGCOLOR="#FFFFFF"
|
||
TEXT="#000000"
|
||
LINK="#0000FF"
|
||
VLINK="#840084"
|
||
ALINK="#0000FF"
|
||
><DIV
|
||
CLASS="NAVHEADER"
|
||
><TABLE
|
||
SUMMARY="Header navigation table"
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
CELLPADDING="0"
|
||
CELLSPACING="0"
|
||
><TR
|
||
><TH
|
||
COLSPAN="3"
|
||
ALIGN="center"
|
||
>Apache Compile HOWTO</TH
|
||
></TR
|
||
><TR
|
||
><TD
|
||
WIDTH="10%"
|
||
ALIGN="left"
|
||
VALIGN="bottom"
|
||
><A
|
||
HREF="intro.html"
|
||
ACCESSKEY="P"
|
||
>Prev</A
|
||
></TD
|
||
><TD
|
||
WIDTH="80%"
|
||
ALIGN="center"
|
||
VALIGN="bottom"
|
||
></TD
|
||
><TD
|
||
WIDTH="10%"
|
||
ALIGN="right"
|
||
VALIGN="bottom"
|
||
><A
|
||
HREF="apache.html"
|
||
ACCESSKEY="N"
|
||
>Next</A
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><HR
|
||
ALIGN="LEFT"
|
||
WIDTH="100%"></DIV
|
||
><DIV
|
||
CLASS="SECT1"
|
||
><H1
|
||
CLASS="SECT1"
|
||
><A
|
||
NAME="PREREQS"
|
||
></A
|
||
>2. Prerequisites</H1
|
||
><DIV
|
||
CLASS="SECT2"
|
||
><H2
|
||
CLASS="SECT2"
|
||
><A
|
||
NAME="AEN206"
|
||
></A
|
||
>2.1. General</H2
|
||
><P
|
||
></P
|
||
><UL
|
||
><LI
|
||
><P
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>flex</SPAN
|
||
> 2.54</P
|
||
></LI
|
||
><LI
|
||
><P
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>bison</SPAN
|
||
> 1.28</P
|
||
></LI
|
||
><LI
|
||
><P
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>autoconf</SPAN
|
||
> 2.52</P
|
||
></LI
|
||
><LI
|
||
><P
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>automake </SPAN
|
||
>1.4</P
|
||
></LI
|
||
><LI
|
||
><P
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>libtool </SPAN
|
||
>1.4</P
|
||
></LI
|
||
><LI
|
||
><P
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>yacc</SPAN
|
||
> 91.7.30</P
|
||
></LI
|
||
><LI
|
||
><P
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>freetype2</SPAN
|
||
>-devel <A
|
||
NAME="AEN230"
|
||
HREF="#FTN.AEN230"
|
||
><SPAN
|
||
CLASS="footnote"
|
||
>[1]</SPAN
|
||
></A
|
||
></P
|
||
></LI
|
||
><LI
|
||
><P
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>re2c</SPAN
|
||
> <A
|
||
NAME="AEN236"
|
||
HREF="#FTN.AEN236"
|
||
><SPAN
|
||
CLASS="footnote"
|
||
>[2]</SPAN
|
||
></A
|
||
></P
|
||
><P
|
||
></P
|
||
></LI
|
||
></UL
|
||
><P
|
||
>To be continued</P
|
||
><P
|
||
>All major distributions should include this general prerequisites. </P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT2"
|
||
><H2
|
||
CLASS="SECT2"
|
||
><A
|
||
NAME="AEN241"
|
||
></A
|
||
>2.2. OpenSSL</H2
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN243"
|
||
></A
|
||
>2.2.1. What is <SPAN
|
||
CLASS="APPLICATION"
|
||
>OpenSSL</SPAN
|
||
></H3
|
||
><A
|
||
NAME="AEN246"
|
||
></A
|
||
><TABLE
|
||
BORDER="0"
|
||
WIDTH="100%"
|
||
CELLSPACING="0"
|
||
CELLPADDING="0"
|
||
CLASS="BLOCKQUOTE"
|
||
><TR
|
||
><TD
|
||
WIDTH="10%"
|
||
VALIGN="TOP"
|
||
> </TD
|
||
><TD
|
||
WIDTH="80%"
|
||
VALIGN="TOP"
|
||
><P
|
||
>The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured,
|
||
and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1)
|
||
protocols as well as a full-strength general purpose cryptography library. The project is managed by a
|
||
worldwide community of volunteers that use the Internet to communicate, plan, and develop the OpenSSL toolkit
|
||
and its related documentation.</P
|
||
><P
|
||
>OpenSSL is based on the excellent SSLeay library developed by Eric A. Young and Tim J. Hudson.
|
||
The OpenSSL toolkit is licensed under an Apache-style license, which basically means that you are free
|
||
to get and use it for commercial and non-commercial purposes subject to some simple license conditions.</P
|
||
><P
|
||
>From authors points of view, its the basic to build a secure Unix-Server with Opensource Software, its needed
|
||
for all major products like mod_ssl, OpenSSH and lot of other stuff that provides encrypted Data-processing</P
|
||
></TD
|
||
><TD
|
||
WIDTH="10%"
|
||
VALIGN="TOP"
|
||
> </TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
COLSPAN="2"
|
||
ALIGN="RIGHT"
|
||
VALIGN="TOP"
|
||
>--<SPAN
|
||
CLASS="ATTRIBUTION"
|
||
>www.openssl.org</SPAN
|
||
></TD
|
||
><TD
|
||
WIDTH="10%"
|
||
> </TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>OpenSSL provides the libraries and include-files needed be the products mentioned above and also provides
|
||
a Application to build Server and client-Certificates.</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN252"
|
||
></A
|
||
>2.2.2. Download the source</H3
|
||
><P
|
||
>Origin-Site
|
||
<A
|
||
HREF="http://www.openssl.org"
|
||
TARGET="_top"
|
||
>http://www.openssl.org</A
|
||
></P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN256"
|
||
></A
|
||
>2.2.3. Building and installing</H3
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>cd /usr/local
|
||
tar -xvzf openssl-0.9.7.tar.gz
|
||
|
||
cd openssl-0.9.7
|
||
|
||
./config shared
|
||
|
||
make
|
||
make test
|
||
make install
|
||
|
||
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
|
||
ldconfig</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><DIV
|
||
CLASS="TIP"
|
||
><P
|
||
></P
|
||
><TABLE
|
||
CLASS="TIP"
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
><TR
|
||
><TD
|
||
WIDTH="25"
|
||
ALIGN="CENTER"
|
||
VALIGN="TOP"
|
||
><IMG
|
||
SRC="../images/tip.gif"
|
||
HSPACE="5"
|
||
ALT="Tip"></TD
|
||
><TH
|
||
ALIGN="LEFT"
|
||
VALIGN="CENTER"
|
||
><B
|
||
>Select your CPU to improve speed</B
|
||
></TH
|
||
></TR
|
||
><TR
|
||
><TD
|
||
> </TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
><P
|
||
>By default the Makefile generates code for the i486 CPU. You can change this by editing the
|
||
<TT
|
||
CLASS="FILENAME"
|
||
>Makefile</TT
|
||
> after running <B
|
||
CLASS="COMMAND"
|
||
>config </B
|
||
><TT
|
||
CLASS="OPTION"
|
||
>shared</TT
|
||
>.
|
||
Search for <TT
|
||
CLASS="OPTION"
|
||
>-m486</TT
|
||
> and replace it i.e with <TT
|
||
CLASS="OPTION"
|
||
>-march=athlon</TT
|
||
></P
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT2"
|
||
><H2
|
||
CLASS="SECT2"
|
||
><A
|
||
NAME="AEN267"
|
||
></A
|
||
>2.3. GNU Database System</H2
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN269"
|
||
></A
|
||
>2.3.1. What is <SPAN
|
||
CLASS="APPLICATION"
|
||
>gdbm</SPAN
|
||
></H3
|
||
><A
|
||
NAME="AEN272"
|
||
></A
|
||
><TABLE
|
||
BORDER="0"
|
||
WIDTH="100%"
|
||
CELLSPACING="0"
|
||
CELLPADDING="0"
|
||
CLASS="BLOCKQUOTE"
|
||
><TR
|
||
><TD
|
||
WIDTH="10%"
|
||
VALIGN="TOP"
|
||
> </TD
|
||
><TD
|
||
WIDTH="80%"
|
||
VALIGN="TOP"
|
||
><P
|
||
>GNU dbm is a set of database routines that use extensible hashing. It works similar to the standard UNIX dbm routines. </P
|
||
></TD
|
||
><TD
|
||
WIDTH="10%"
|
||
VALIGN="TOP"
|
||
> </TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
COLSPAN="2"
|
||
ALIGN="RIGHT"
|
||
VALIGN="TOP"
|
||
>--<SPAN
|
||
CLASS="ATTRIBUTION"
|
||
>www.gnu.org/software/gdbm</SPAN
|
||
></TD
|
||
><TD
|
||
WIDTH="10%"
|
||
> </TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>The GNU dbm is a very important application used by almost every distribution. So it is installed by default
|
||
on all distributions I tested.</P
|
||
><P
|
||
>In all probability the needed header files which are mandatory to build Apache with mod_rewrite and PHP are
|
||
not installed by default. Please consult your distributions <SPAN
|
||
CLASS="ABBREV"
|
||
>CD</SPAN
|
||
>/<SPAN
|
||
CLASS="ABBREV"
|
||
>DVD</SPAN
|
||
> and install
|
||
the devel package (The version can vary):
|
||
|
||
<TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>rpm -i gdbm-devel-1.8.0-546</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
> </P
|
||
><P
|
||
>This procedure is verified for SuSE and Redhat. Please confirm for other <SPAN
|
||
CLASS="ABBREV"
|
||
>RPM</SPAN
|
||
> based
|
||
systems like Mandrake. Debian will follow as soon as possible.</P
|
||
><P
|
||
>Users of Debian bases systems can install gdbm as follow:</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>apt-get install libgdbmg1-dev</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN284"
|
||
></A
|
||
>2.3.2. Building and installing by yourself</H3
|
||
><P
|
||
>In the unlikely case that your distribution does not contain <SPAN
|
||
CLASS="APPLICATION"
|
||
>gdbm</SPAN
|
||
> here the
|
||
instructions how to build it.</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>./configure
|
||
|
||
make
|
||
make install
|
||
|
||
ldconfig</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT2"
|
||
><H2
|
||
CLASS="SECT2"
|
||
><A
|
||
NAME="AEN289"
|
||
></A
|
||
>2.4. MySQL</H2
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN291"
|
||
></A
|
||
>2.4.1. What is <SPAN
|
||
CLASS="APPLICATION"
|
||
>MySQL</SPAN
|
||
></H3
|
||
><P
|
||
><SPAN
|
||
CLASS="APPLICATION"
|
||
>MySQL</SPAN
|
||
> is a very fast, powerful and very nice to handle Database.</P
|
||
><P
|
||
>Especially for webapplications where most access is read and few write,
|
||
MySQL is the first choice. The newest
|
||
Version is also transaction-capable. If you plan a Webapplication,
|
||
that writes a lot of Data into the DB, maybe PostgreSQL is
|
||
better suited for your project see <A
|
||
HREF="php.html#POSTGRESQL"
|
||
>Section 6.2.4</A
|
||
> for installation hints</P
|
||
><P
|
||
>You need the C-<SPAN
|
||
CLASS="ABBREV"
|
||
>API</SPAN
|
||
> from MySQL for compiling <SPAN
|
||
CLASS="APPLICATION"
|
||
>PHP</SPAN
|
||
> if you
|
||
wish MySQL-Support in <SPAN
|
||
CLASS="ACRONYM"
|
||
>PHP</SPAN
|
||
>. It is also needed if you want to use
|
||
<SPAN
|
||
CLASS="APPLICATION"
|
||
>mod_authmysql</SPAN
|
||
>, See <A
|
||
HREF="modules.html#AUTHMYSQL"
|
||
>Section 4.3</A
|
||
> for more information</P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN304"
|
||
></A
|
||
>2.4.2. Download</H3
|
||
><P
|
||
>Origin-Site: <A
|
||
HREF="http://www.mysql.com/downloads/"
|
||
TARGET="_top"
|
||
>http://www.mysql.com/downloads/</A
|
||
></P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN308"
|
||
></A
|
||
>2.4.3. Building and installing</H3
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>cd /usr/local
|
||
tar -xvzf mysql-3.23.55.tar.gz
|
||
cd mysql-3.23.55
|
||
|
||
./configure \
|
||
--prefix=/usr/local/mysql \
|
||
--enable-assembler \
|
||
--with-innodb \
|
||
--without-debug
|
||
|
||
make
|
||
make install
|
||
|
||
/usr/local/mysql/bin/mysql_install_db
|
||
echo /usr/local/mysql/lib/mysql >> /etc/ld.so.conf
|
||
ldconfig</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>For security-improvement add a MySQL-user on your system <SPAN
|
||
CLASS="ABBREV"
|
||
>e.g.</SPAN
|
||
> <20>mysql<71>.</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>chown -R mysql /usr/local/mysql/var</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>You may wish to start MySQL automatically at boottime, copy <TT
|
||
CLASS="FILENAME"
|
||
>/usr/local/mysql/share/mysql/mysql.server</TT
|
||
>
|
||
to <TT
|
||
CLASS="FILENAME"
|
||
>/etc/init.d/</TT
|
||
> (or wherever your rc-script are located) and create the corresponding symbolic
|
||
link in the runlevel directories.
|
||
|
||
<TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/
|
||
|
||
ln -s /etc/init.d/mysql.server /etc/init.d/rc3.d/S20mysql
|
||
ln -s /etc/init.d/mysql.server /etc/init.d/rc3.d/K20mysql</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
> </P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN318"
|
||
></A
|
||
>2.4.4. Securing MySQL</H3
|
||
><P
|
||
>This part is only optional, and describes how to bind the MySQL daemon to the localhost IP</P
|
||
><P
|
||
>I suggest to just bind MySQL to the loopback-interface 127.0.0.1. This makes sure nobody can connect to your
|
||
MySQL-Daemon via the network. But of course it only makes sense if MySQL runs on the same box like the webserver.</P
|
||
><P
|
||
>edit <TT
|
||
CLASS="FILENAME"
|
||
>/etc/init.d/mysql.server</TT
|
||
> and edit line 107 as following:</P
|
||
><P
|
||
>Original line:</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file&</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>Changed line:</P
|
||
><P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file \
|
||
--bind-address=127.0.0.1& <A
|
||
NAME="BIND"
|
||
><IMG
|
||
SRC="../images/callouts/1.gif"
|
||
HSPACE="0"
|
||
VSPACE="0"
|
||
BORDER="0"
|
||
ALT="(1)"></A
|
||
></PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></P
|
||
><DIV
|
||
CLASS="CALLOUTLIST"
|
||
><DL
|
||
COMPACT="COMPACT"
|
||
><DT
|
||
><A
|
||
HREF="prereqs.html#BIND"
|
||
><IMG
|
||
SRC="../images/callouts/1.gif"
|
||
HSPACE="0"
|
||
VSPACE="0"
|
||
BORDER="0"
|
||
ALT="(1)"></A
|
||
></DT
|
||
><DD
|
||
>Here you can define to which interface MySQL should be bound</DD
|
||
></DL
|
||
></DIV
|
||
><P
|
||
>Alternatively you can completely disable the networking functionality of MySQL.</P
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>$bindir/safe_mysqld --datadir=$datadir --pid-file=$pid_file \
|
||
--skip-networking &</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT2"
|
||
><H2
|
||
CLASS="SECT2"
|
||
><A
|
||
NAME="AEN335"
|
||
></A
|
||
>2.5. Building mm</H2
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN337"
|
||
></A
|
||
>2.5.1. What is <SPAN
|
||
CLASS="APPLICATION"
|
||
>mm</SPAN
|
||
></H3
|
||
><A
|
||
NAME="AEN340"
|
||
></A
|
||
><TABLE
|
||
BORDER="0"
|
||
WIDTH="100%"
|
||
CELLSPACING="0"
|
||
CELLPADDING="0"
|
||
CLASS="BLOCKQUOTE"
|
||
><TR
|
||
><TD
|
||
WIDTH="10%"
|
||
VALIGN="TOP"
|
||
> </TD
|
||
><TD
|
||
WIDTH="80%"
|
||
VALIGN="TOP"
|
||
><P
|
||
>The MM library is a 2-layer abstraction library which simplifies the usage of shared memory between forked
|
||
(and this way strongly related) processes under Unix platforms. On the first layer it hides all platform dependent
|
||
implementation details (allocation and locking) when dealing with shared memory segments and on the second layer
|
||
it provides a high-level malloc(3)-style API for a convenient and well known way to work with data-structures
|
||
inside those shared memory segments. </P
|
||
></TD
|
||
><TD
|
||
WIDTH="10%"
|
||
VALIGN="TOP"
|
||
> </TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
COLSPAN="2"
|
||
ALIGN="RIGHT"
|
||
VALIGN="TOP"
|
||
>--<SPAN
|
||
CLASS="ATTRIBUTION"
|
||
>www.engelschall.com</SPAN
|
||
></TD
|
||
><TD
|
||
WIDTH="10%"
|
||
> </TD
|
||
></TR
|
||
></TABLE
|
||
><P
|
||
>It is a common library that enables Unix programmers to simplify <SPAN
|
||
CLASS="ABBREV"
|
||
>shm</SPAN
|
||
> (Shared memory)
|
||
accesses. It is used by many products, <SPAN
|
||
CLASS="ABBREV"
|
||
>e.g.</SPAN
|
||
>
|
||
<SPAN
|
||
CLASS="APPLICATION"
|
||
>PHP</SPAN
|
||
> and <SPAN
|
||
CLASS="APPLICATION"
|
||
>mod_ssl</SPAN
|
||
></P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN348"
|
||
></A
|
||
>2.5.2. Download</H3
|
||
><P
|
||
>Origin Site: <A
|
||
HREF="ftp://ftp.ossp.org/pkg/lib/mm/mm-1.2.2.tar.gz"
|
||
TARGET="_top"
|
||
>ftp://ftp.ossp.org/pkg/lib/mm/mm-1.2.2.tar.gz</A
|
||
></P
|
||
></DIV
|
||
><DIV
|
||
CLASS="SECT3"
|
||
><H3
|
||
CLASS="SECT3"
|
||
><A
|
||
NAME="AEN352"
|
||
></A
|
||
>2.5.3. Building and installing</H3
|
||
><TABLE
|
||
BORDER="1"
|
||
BGCOLOR="#E0E0E0"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
><FONT
|
||
COLOR="#000000"
|
||
><PRE
|
||
CLASS="SCREEN"
|
||
>cd /usr/local
|
||
|
||
tar -xvzf mm-1.2.2.tar.gz
|
||
|
||
cd mm-1.2.2
|
||
|
||
./configure
|
||
make
|
||
make test
|
||
make install
|
||
|
||
ldconfig</PRE
|
||
></FONT
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><H3
|
||
CLASS="FOOTNOTES"
|
||
>Notes</H3
|
||
><TABLE
|
||
BORDER="0"
|
||
CLASS="FOOTNOTES"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
WIDTH="5%"
|
||
><A
|
||
NAME="FTN.AEN230"
|
||
HREF="prereqs.html#AEN230"
|
||
><SPAN
|
||
CLASS="footnote"
|
||
>[1]</SPAN
|
||
></A
|
||
></TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
WIDTH="95%"
|
||
><P
|
||
>This <SPAN
|
||
CLASS="ABBREV"
|
||
>RPM</SPAN
|
||
> contains the header files
|
||
needed for php</P
|
||
></TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
WIDTH="5%"
|
||
><A
|
||
NAME="FTN.AEN236"
|
||
HREF="prereqs.html#AEN236"
|
||
><SPAN
|
||
CLASS="footnote"
|
||
>[2]</SPAN
|
||
></A
|
||
></TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
WIDTH="95%"
|
||
><P
|
||
>Only needed if PHP is being built from the CVS tree</P
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><DIV
|
||
CLASS="NAVFOOTER"
|
||
><HR
|
||
ALIGN="LEFT"
|
||
WIDTH="100%"><TABLE
|
||
SUMMARY="Footer navigation table"
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
CELLPADDING="0"
|
||
CELLSPACING="0"
|
||
><TR
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="left"
|
||
VALIGN="top"
|
||
><A
|
||
HREF="intro.html"
|
||
ACCESSKEY="P"
|
||
>Prev</A
|
||
></TD
|
||
><TD
|
||
WIDTH="34%"
|
||
ALIGN="center"
|
||
VALIGN="top"
|
||
><A
|
||
HREF="index.html"
|
||
ACCESSKEY="H"
|
||
>Home</A
|
||
></TD
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="right"
|
||
VALIGN="top"
|
||
><A
|
||
HREF="apache.html"
|
||
ACCESSKEY="N"
|
||
>Next</A
|
||
></TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="left"
|
||
VALIGN="top"
|
||
>Introduction</TD
|
||
><TD
|
||
WIDTH="34%"
|
||
ALIGN="center"
|
||
VALIGN="top"
|
||
> </TD
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="right"
|
||
VALIGN="top"
|
||
>Getting, build and install Apache with its basic modules</TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
></BODY
|
||
></HTML
|
||
> |