Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: Step-by-step Install Guide for Solaris 10 with Oracle 10.

Step-by-step Install Guide for Solaris 10 with Oracle 10: Difference between revisions

From MoodleDocs
No edit summary
 
(30 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The '''VDAB''' (Public employment and vocational training service of the Dutch-speaking part of Belgium) is currently preparing an implementation of Moodle 1.9 on a large scale for its clients.
<center>'''Installation Documentation'''</center>


<center>''for''</center>


As a first step we have installed Moodle on a standard environment for VDAB being a '''Solaris 10''' with '''Oracle 10g'''. Since this operation went succefully, problems encountered were solved, the VDAB offers the installation documentation to the Moodle community.
<center>''Moodle at VDAB''</center>




'''Contact person:''' [mailto:gerd.goetschalckx@vdab.be Gerd Goetschalckx]
'''Table of Contents'''1 Purpose of this document1


2 Setting up the Oracle Database2


== Purpose of this document ==
3 Configuring Apache2
This document provides an in-depth installation manual for Moodle on Solaris 10 with Oracle 10.2.0.2.


We provide an overview of the different steps involved:
3.1 Install Apache2


*  Preparing Oracle 10g for a large Moodle installation
3.2 Install OCI 8 and Oracle Instant Client3


*  Configuring Apache 2.2 for a secure and high-performance webserver
3.3 Install PHP4


*  Preparing all necessary PHP packages for Apache and Oracle
3.4 Change PHP settings6


*  Preparing PHP settings for Moodle
3.5 Add GNU Coreutils7


*  An overview of the steps in the Moodle installation wizard.
4 Install Moodle7


4.1 Prepare the Moodle installation files7


== Setting up the Oracle Database ==
4.2 Choose installation language8


We set up 2 parallel Moodle installations on one and a database on a separate server. Both installations share the same Oracle database, but use a different tablespace.
4.3 Check PHP settings8


The Oracle 10.2.0.2 database runs on a Solaris 10 and is set up using Oracle's DBCA tool.
4.4 Set installation and data directories10


*  This is testzone1 on the test server testitis00
4.5 Set Database connection11


*  Database name = testitis02.vdab.be
4.6 Server checks for installed components12


*  We used the General purpose template for the database set-up;
4.7 Install language packs19


*  And set UTF8 character encoding to NLS_LANG=AMERICAN_AMERICA.AL32UTF8
4.8 Confirmation for written configuration file.21


For each Moodle installation we create a separate Tablespace:
4.9 Licence agreement21


*  First Moodle installation on testzone2:
4.10 Release information21


*  MOODLE_DATA with initial size of 300MB
4.11 Automatic database setup22


**  User: MOODLEUSER, password: moodle
4.12 Setting up the administrator account23


**  The user only has rights within the specified tablespace
4.13 Set up Frontpage24


*  Second Moodle installation on testzone3:
4.14 Start with empty Moodle25


**  MOODLE_DATA2 with initial size of 300MB
4.15 Add template Purpose of this document
This document provides an in-depth installation manual for Moodle on Solaris 10 with Oracle 10.2.0.2.


**  User: MOODLEUSER2, password: moodle
We provide an overview of the different steps involved:
 
**  The user only has rights within the specified tablespace
 
 
 
 
 
 
 
 
<div class=Section1>
 
<p class=MsoTitle><span lang=EN-GB>Installation Documentation</span></p>
 
<p class=MsoSubtitle><span lang=EN-GB>for</span></p>
 
<p class=MsoSubtitle><span lang=EN-GB>Moodle at VDAB</span></p>
 
<div style='border:none;border-bottom:solid black 1.0pt;padding:0cm 0cm 0cm 0cm'>
 
<h1 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>1<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Document information</span></h1>
 
</div>
 
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
style='border-collapse:collapse'>
<tr>
  <td width=198 valign=top style='width:118.75pt;padding:0cm 0cm 0cm 0cm'>
  <p class=TableContents style='layout-grid-mode:char'><b><span lang=EN-GB>Document
  status:</span></b></p>
  </td>
  <td width=633 valign=top style='width:379.85pt;padding:0cm 0cm 0cm 0cm'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Final
  2008/07/23</span></p>
  </td>
</tr>
<tr>
  <td width=198 valign=top style='width:118.75pt;padding:0cm 0cm 0cm 0cm'>
  <p class=TableContents style='layout-grid-mode:char'><b><span lang=EN-GB>Owning
  process:</span></b></p>
  </td>
  <td width=633 valign=top style='width:379.85pt;padding:0cm 0cm 0cm 0cm'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>VDAB</span></p>
  </td>
</tr>
<tr>
  <td width=198 valign=top style='width:118.75pt;padding:0cm 0cm 0cm 0cm'>
  <p class=TableContents style='layout-grid-mode:char'><b><span lang=EN-GB>Created
  by:</span></b></p>
  </td>
  <td width=633 valign=top style='width:379.85pt;padding:0cm 0cm 0cm 0cm'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Toby De
  Loght</span></p>
  </td>
</tr>
</table>
 
</div>
 
<span lang=EN-US style='font-size:11.0pt;font-family:"Times New Roman","serif"'><br
clear=all style='page-break-before:auto'>
</span>
 
<div class=Section2>
 
<p class=ContentsHeading><span lang=EN-GB>Table of Contents</span></p>
 
</div>
 
<b><span lang=EN-GB style='font-size:14.0pt;font-family:"Arial","sans-serif"'><br
clear=all style='page-break-before:auto'>
</span></b>
 
<div class=Section3>
 
<p class=MsoToc1><span
lang=EN-US><strong>1</strong> <strong>Document information</strong>____________________________________________________________ <strong>1</strong></span></p>
 
<p class=MsoToc1><strong><span lang=EN-US>2</span></strong><span lang=EN-US> <strong>Purpose
of this document</strong>__________________________________________________________ <strong>2</strong></span></p>
 
<p class=MsoToc1><strong><span lang=EN-US>3</span></strong><span lang=EN-US> <strong>Setting
up the Oracle Database</strong>_____________________________________________________ <strong>2</strong></span></p>
 
<p class=MsoToc1><strong><span lang=EN-US>4</span></strong><span lang=EN-US> <strong>Configuring
Apache</strong>_______________________________________________________________ <strong>2</strong></span></p>
 
<p class=MsoToc2><span lang=EN-US>4.1 Install Apache................................................................................................................... 2</span></p>
 
<p class=MsoToc2><span lang=EN-US>4.2 Install OCI 8 and Oracle Instant Client.............................................................................. 3</span></p>
 
<p class=MsoToc2><span lang=EN-US>4.3 Install PHP....................................................................................................................... 4</span></p>
 
<p class=MsoToc2><span lang=EN-US>4.4 Change PHP settings......................................................................................................... 6</span></p>
 
<p class=MsoToc2><span lang=EN-US>4.5 Add GNU Coreutils........................................................................................................... 7</span></p>
 
<p class=MsoToc1><strong><span lang=EN-US>5</span></strong><span lang=EN-US> <strong>Install
Moodle</strong>___________________________________________________________________ <strong>7</strong></span></p>
 
<p class=MsoToc2><span lang=EN-US>5.1 Prepare the Moodle installation files.................................................................................. 7</span></p>
 
<p class=MsoToc2><span lang=EN-US>5.2 Choose installation language............................................................................................. 8</span></p>
 
<p class=MsoToc2><span lang=EN-US>5.3 Check PHP settings........................................................................................................... 8</span></p>
 
<p class=MsoToc2><span lang=EN-US>5.4 Set installation and data directories.................................................................................... 9</span></p>
 
<p class=MsoToc2><span lang=EN-US>5.5 Set Database connection.................................................................................................. 10</span></p>
 
<p class=MsoToc2><span lang=EN-US>5.6 Server checks for installed components............................................................................ 11</span></p>
 
<p class=MsoToc2><span lang=EN-US>5.7 Install language packs..................................................................................................... 12</span></p>
 
<p class=MsoToc2><span lang=EN-US>5.8 Confirmation for written configuration
file...................................................................... 14</span></p>
 
<p class=MsoToc2><span lang=EN-US>5.9 Licence agreement.......................................................................................................... 14</span></p>
 
<p class=MsoToc2><span lang=EN-US>5.10 Release information....................................................................................................... 14</span></p>
 
<p class=MsoToc2><span lang=EN-US>5.11 Automatic database setup.............................................................................................. 15</span></p>
 
<p class=MsoToc2><span lang=EN-US>5.12 Setting up the administrator account............................................................................. 16</span></p>
 
<p class=MsoToc2><span lang=EN-US>5.13 Set up Frontpage........................................................................................................... 17</span></p>
 
<p class=MsoToc2><span lang=EN-US>5.14 Start with empty Moodle............................................................................................... 18</span></p>
 
<p class=MsoToc1><strong><span lang=EN-US>6</span></strong><span lang=EN-US> <strong>Document
control</strong>_______________________________________________________________ 19</span></p>
 
</div>
 
<strong><span lang=EN-US style='font-size:11.0pt'><br clear=all
style='page-break-before:auto'>
</span></strong>
 
<div class=Section4>
 
<p class=MsoBodyText><span lang=EN-US>&nbsp;</span></p>
 
<p class=MsoBodyText><span lang=EN-US>&nbsp;</span></p>
 
<div style='border:none;border-bottom:solid black 1.0pt;padding:0cm 0cm 0cm 0cm'>
 
<h1 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>2<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Purpose of this document</span></h1>
 
</div>
 
<p class=MsoBodyText><span lang=EN-US>This document provides an in-depth
installation manual for Moodle on Solaris 10 with Oracle 10.2.0.2.</span></p>
 
<p class=MsoBodyText><span lang=EN-US>We provide an overview of the different
steps involved:</span></p>
 
<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>Preparing
Oracle 10g for a large Moodle installation</span></p>
 
<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>Configuring
Apache 2.2 for a secure and high-performance webserver</span></p>
 
<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>Preparing
all necessary PHP packages for Apache and Oracle</span></p>
 
<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>Preparing
PHP settings for Moodle</span></p>
 
<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>An
overview of the steps in the Moodle installation wizard.</span></p>
 
<div style='border:none;border-bottom:solid black 1.0pt;padding:0cm 0cm 0cm 0cm'>
 
<h1 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>3<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Setting up the Oracle Database</span></h1>
 
</div>
 
<p class=MsoBodyText><span lang=EN-US>We set up <b>2 parallel Moodle
installations </b>on one and a <b>database on a separate server</b>. Both
installations share the same Oracle database, but use a different tablespace.</span></p>
 
<p class=MsoBodyText><span lang=EN-US>The Oracle 10.2.0.2 database runs on a
Solaris 10 and is set up using Oracle's <b>DBCA </b>tool. </span></p>
 
<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
class=SourceText><span lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><span
lang=EN-US>This is </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt'>testzone1</span></span><span lang=EN-US> on the test
server </span><span class=SourceText><span lang=EN-US style='font-size:10.5pt'>testitis00</span></span></p>
 
<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
class=SourceText><span lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><span
lang=EN-US>Database name = </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt'>testitis02.vdab.be</span></span></p>
 
<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>We
used the <i>General purpose</i> template for the database set-up;</span></p>
 
<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
class=SourceText><span lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><span
lang=EN-US>And set UTF8 character encoding to </span><span class=SourceText><span
lang=EN-US style='font-size:10.5pt'>NLS_LANG=AMERICAN_AMERICA.AL32UTF8</span></span></p>
 
<p class=MsoBodyText><span lang=EN-US>For each Moodle installation we create a <b>separate
Tablespace</b>:</span></p>
 
<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>First
Moodle installation on </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt'>testzone2</span></span><span lang=EN-US>:</span></p>
 
<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt'><span
lang=EN-US style='font-size:9.0pt;font-family:"Wingdings 2"'><span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span
class=SourceText><span lang=EN-US style='font-size:10.5pt'>MOODLE_DATA</span></span><span
lang=EN-US> with initial size of 300MB</span></p>
 
<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt'><span
class=SourceText><span lang=EN-US style='font-size:9.0pt;font-family:"Wingdings 2"'><span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><span
lang=EN-US>User: </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt'>MOODLEUSER</span></span><span lang=EN-US>, password: </span><span
class=SourceText><span lang=EN-US style='font-size:10.5pt'>moodle</span></span></p>
 
<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt'><span
lang=EN-US style='font-size:9.0pt;font-family:"Wingdings 2"'><span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>The
user only has rights within the specified tablespace</span></p>
 
<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>Second
Moodle installation on </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt'>testzone3</span></span><span lang=EN-US>:</span></p>
 
<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt'><span
lang=EN-US style='font-size:9.0pt;font-family:"Wingdings 2"'><span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span
class=SourceText><span lang=EN-US style='font-size:10.5pt'>MOODLE_DATA2</span></span><span
lang=EN-US> with initial size of 300MB</span></p>
 
<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt'><span
class=SourceText><span lang=EN-US style='font-size:9.0pt;font-family:"Wingdings 2"'><span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><span
lang=EN-US>User: </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt'>MOODLEUSER2</span></span><span lang=EN-US>, password: </span><span
class=SourceText><span lang=EN-US style='font-size:10.5pt'>moodle</span></span></p>
 
<p class=MsoBodyText style='margin-left:54.0pt;text-indent:-18.0pt'><span
lang=EN-US style='font-size:9.0pt;font-family:"Wingdings 2"'><span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>The
user only has rights within the specified tablespace</span></p>
 
<p class=MsoNormal><span lang=EN-US>   </span></p>
 
<div style='border:none;border-bottom:solid black 1.0pt;padding:0cm 0cm 0cm 0cm'>
 
<h1 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>4<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Configuring Apache</span></h1>
 
</div>
 
<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>4.1<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Install Apache</span></h2>
 
<p class=MsoBodyText><span lang=EN-US>First <b>download the latest Apache </b>e.g.</span><span
class=SourceText><span lang=EN-US style='font-size:10.5pt'> httpd-2.2.8.tar.gz </span></span><span
lang=EN-US>from <a href="http://httpd.apache.org/download.cgi">http://httpd.apache.org/download.cgi</a>
to the folder </span><span class=SourceText><span lang=EN-US style='font-size:
10.5pt'>/usr/local/apache2</span></span></p>
 
<p class=MsoBodyText><span lang=EN-US>Log in as </span><span class=SourceText><span
lang=EN-US style='font-size:10.5pt'>root</span></span><span lang=EN-US>, <b>uncompress
the Apache files </b>and go to the installation folder.</span></p>
 
<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># gzip -d
httpd-2.2.8.tar.gz</span></p>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># tar -xvf httpd-2.2.8.tar</span></p>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># cd httpd-2.2.8</span></p>
 
</div>
 
<p class=MsoBodyText><span lang=EN-US>Adapt the <b>Environment Variables </b>to
make sure the correct </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt'>gcc </span></span><span lang=EN-US>and </span><span
class=SourceText><span lang=EN-US style='font-size:10.5pt'>make</span></span><span
lang=EN-US> are used.</span></p>
 
<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># export
PATH=$PATH:/usr/sfw/bin:/usr/ccs/bin:.</span></p>
 
</div>
 
<p class=MsoBodyText><span class=SourceText><b><span lang=EN-US
style='font-size:10.5pt'>Configure </span></b></span><b><span lang=EN-US>and</span></b><span
class=SourceText><b><span lang=EN-US style='font-size:10.5pt'> make</span></b></span><b><span
lang=EN-US> Apache</span></b><span lang=EN-US>:</span></p>
 
<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># make clean --&gt; only
if necessary</span></p>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># ./configure \</span></p>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>--prefix=/usr/local/apache2
\</span></p>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>--with-included-apr</span></p>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># make</span></p>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># make install</span></p>
 
</div>
 
<p class=MsoBodyText><span lang=EN-US>In order to increase performance <b>edit</b>
the following in the </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt'>httpd.conf</span></span><span lang=EN-US> file:</span></p>
 
<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># vi
/usr/local/moodle_1.9+/moodle/httpd.conf -- &gt; opens text editor</span></p>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><b><span lang=EN-GB>DirectoryIndex </span></b><span
lang=EN-GB>index.php</span></p>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><b><span lang=EN-GB>Listen</span></b><span
lang=EN-GB> 8002 -- &gt; for VDAB</span></p>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><b><span lang=EN-GB>DocumentRoot</span></b><span
lang=EN-GB> “/usr/local/moodle_1.9+/moodle”</span></p>
 
<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><b><span lang=EN-GB>AcceptPathInfo </span></b><span
lang=EN-GB>on</span></p>


</div>
* Preparing Oracle 10g for a large Moodle installation
* Configuring Apache 2.2 for a secure and high-performance webserver
* Preparing all necessary PHP packages for Apache and Oracle
* Preparing PHP settings for Moodle
* An overview of the steps in the Moodle installation wizard.


<p class=MsoBodyText><span lang=EN-US>&nbsp;</span></p>
= Setting up the Oracle Database =
We set up '''2 parallel Moodle installations '''on one and a '''database on a separate server'''. Both installations share the same Oracle database, but use a different tablespace.


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>4.2<span
The Oracle 10.2.0.2 database runs on a Solaris 10 and is set up using Oracle's '''DBCA '''tool.
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Install OCI 8 and Oracle Instant Client</span></h2>


<p class=MsoNormal><b><span lang=EN-US>Download the 32bit Solaris Basic en SDK</span></b><span
* This is testzone1 on the test server testitis00
lang=EN-US>: </span><span class=SourceText><span lang=EN-US style='font-size:
* Database name = testitis02.vdab.be
10.5pt'>instantclient-basic-solaris6432-10.2.0.3-20070101.zip</span></span><span
* We used the ''General purpose'' template for the database set-up;
lang=EN-US> and </span></p>
* And set UTF8 character encoding to NLS_LANG=AMERICAN_AMERICA.AL32UTF8


<p class=MsoNormal><span class=SourceText><span lang=EN-US style='font-size:
For each Moodle installation we create a '''separate Tablespace''':
10.5pt'>instantclient-sdk-solaris6432-10.2.0.3-20070101.zip</span></span><span
lang=EN-US> from </span></p>


<p class=MsoNormal><span lang=EN-US><a
* First Moodle installation on testzone2:
href="http://www.oracle.com/technology/tech/oci/instantclient/index.html">http://www.oracle.com/technology/tech/oci/instantclient/index.html</a>
** MOODLE_DATA with initial size of 300MB
to a folder e.g. </span><span class=SourceText><span lang=EN-US
** User: MOODLEUSER, password: moodle
style='font-size:10.5pt'>/oracle/product</span></span><span lang=EN-US>.</span></p>
** The user only has rights within the specified tablespace
* Second Moodle installation on testzone3:
** MOODLE_DATA2 with initial size of 300MB
** User: MOODLEUSER2, password: moodle
** The user only has rights within the specified tablespace


<p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>
= Configuring Apache =
== Install Apache ==
First '''download the latest Apache '''e.g. httpd-2.2.8.tar.gz from [http://httpd.apache.org/download.cgi http://httpd.apache.org/download.cgi] to the folder /usr/local/apache2


<p class=MsoNormal><span lang=EN-US>Log in as the user </span><span
Log in as root, '''uncompress the Apache files '''and go to the installation folder.
class=SourceText><span lang=EN-US style='font-size:10.5pt'>oracle</span></span><span
lang=EN-US> and <b>uncompress the installation files</b>:</span></p>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
<nowiki># gzip -d httpd-2.2.8.tar.gz</nowiki>
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
<nowiki># tar -xvf httpd-2.2.8.tar</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>$ cd /oracle/product</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
<nowiki># cd httpd-2.2.8</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>$ unzip
instantclient-basic-solaris6432-10.2.0.3-20070101.zip --&gt; creates the
directory instantclient_10_2</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
Adapt the '''Environment Variables '''to make sure the correct gcc and make are used.
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>$ unzip
instantclient-sdk-solaris6432-10.2.0.3-20070101.zip --&gt; is put into the
directory instantclient_10_2</span></p>


</div>
<nowiki># export PATH=$PATH:/usr/sfw/bin:/usr/ccs/bin:.</nowiki>


<p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>
'''Configure and make Apache''':


<p class=MsoNormal><b><span lang=EN-US>Adapt the </span></b><span
<nowiki># make clean --> only if necessary</nowiki>
class=SourceText><b><span lang=EN-US style='font-size:10.5pt'>tnsnames</span></b></span><b><span
lang=EN-US> </span></b><span lang=EN-US>to set an alias or Oracle net service
name. Each net service name entry contains connect descriptors that define
listener and service information.</span></p>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
<nowiki># ./configure \</nowiki>
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
--prefix=/usr/local/apache2 \
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>$ cd $TNS_ADMIN --&gt; for
VDAB this is /var/opt/oracle)</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
--with-included-apr
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>$ vi tns_admin _--&gt;
Below an example adaptation:_</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
<nowiki># make</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB> moodle =</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
<nowiki># make install</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>       (DESCRIPTION =</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
In order to increase performance '''edit''' the following in the httpd.conf file:
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>             (ADDRESS =</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
<nowiki># vi /usr/local/moodle_1.9+/moodle/httpd.conf -- > opens text editor</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>                   (COMMUNITY
= TCPDEV.world)</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
'''DirectoryIndex '''index.php
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>                   (PROTOCOL
= TCP)</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
'''Listen''' 8002 -- > for VDAB
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>                   (HOST =
testzone1)</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
'''DocumentRoot''' “/usr/local/moodle_1.9+/moodle”
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>                   (PORT =
1521)</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
'''AcceptPathInfo '''on
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>             )</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
If you're running Moodle on Oracle with Apache on Linux, you might have issues with PHP being able to see the system environment variables.  To resolve this, you can edit /etc/sysconfig/apache2 and add the following lines to the bottom:<br />
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>             (CONNECT_DATA
<br />
= </span></p>
LD_LIBRARY_PATH=/opt/oracle/instantclient_11_2# Set LANG Variables for UTF-8<br />
NLS_LANG=AMERICAN_AMERICA.AL32UTF8<br />
LANG=en_US.UTF-8<br />
LC_ALL=en_US.UTF-8<br />
LC_COLLATE=en_US.UTF-8<br />
LC_CTYPE=en_US.UTF-8<br />
LC_MESSAGES=en_US.UTF-8<br />
LC_MONETARY=en_US.UTF-8<br />
LC_NUMERIC=en_US.UTF-8<br />
LC_TIME=en_US.UTF-8<br />
export LANG LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIM NLS_LANG LD_LIBRARY_PATH<br />
<br />
Also need to add those two lines to ~/.bashrc so that the PHP command-line client can see it too. <br />
<br />


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>                   (SID =
testitis02)</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
== Install OCI 8 and Oracle Instant Client ==
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>             )</span></p>
'''Download the 32bit Solaris Basic en SDK''': instantclient-basic-solaris6432-10.2.0.3-20070101.zip and


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
instantclient-sdk-solaris6432-10.2.0.3-20070101.zip from
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>       )</span></p>


</div>
[http://www.oracle.com/technology/tech/oci/instantclient/index.html http://www.oracle.com/technology/tech/oci/instantclient/index.html] to a folder e.g. /oracle/product.


<p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>


<p class=MsoNormal><span lang=EN-US style='background:white'>If necessary,
Log in as the user oracle and '''uncompress the installation files''':
create and adapt a </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt;background:white'>sqlnet.ora</span></span><span
lang=EN-US style='background:white'> file. For VDAB this was not necessary.</span></p>


<p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>
$ cd /oracle/product


<p class=MsoNormal><span lang=EN-US>Create two <b>Symbolic Links</b>.</span></p>
$ unzip instantclient-basic-solaris6432-10.2.0.3-20070101.zip --> creates the directory instantclient_10_2


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
$ unzip instantclient-sdk-solaris6432-10.2.0.3-20070101.zip --> is put into the directory instantclient_10_2
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>$ ln -s
/oracle/product/instantclient_10_2/libclntsh.so.10.1</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
'''Adapt the tnsnames '''to set an alias or Oracle net service name. Each net service name entry contains connect descriptors that define listener and service information.
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>/oracle/product/instantclient_10_2/libclntsh.so</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
$ cd $TNS_ADMIN --> for VDAB this is /var/opt/oracle)
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>$ ln -s
/oracle/product/instantclient_10_2/libocci.so.10.1</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
$ vi tns_admin _--> Below an example adaptation:_
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>/oracle/product/instantclient_10_2/libocci.so</span></p>


</div>
moodle =


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>4.3<span
(DESCRIPTION =
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Install PHP</span></h2>


<p class=MsoBodyText><span lang=EN-US>To <b>install PHP </b>on the Apache
(ADDRESS =
server, download </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt'>php-5.2.5.tar.gz</span></span><span lang=EN-US> from <a
href="http://www.php.net/downloads">http://www.php.net/downloads</a> to the
folder </span><span class=SourceText><span lang=EN-US style='font-size:10.5pt'>/usr/local/apache2</span></span></p>


<p class=MsoBodyText><span lang=EN-US>Log in as </span><span class=SourceText><span
(COMMUNITY = TCPDEV.world)
lang=EN-US style='font-size:10.5pt'>root</span></span><span lang=EN-US>, <b>uncompress
the PHP files </b>and go to the installation folder.</span></p>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
(PROTOCOL = TCP)
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
(HOST = testzone1)
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># gzip -d php-5.2.5.tar.gz</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
(PORT = 1521)
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># tar -xvf php-5.2.5.tar</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
)
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># cd php-5.2.5</span></p>


</div>
(CONNECT_DATA =


<p class=MsoBodyText><span lang=EN-US>Adapt the <b>Environment Variables </b>to
(SID = testitis02)
make sure the correct </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt'>gcc </span></span><span lang=EN-US>and </span><span
class=SourceText><span lang=EN-US style='font-size:10.5pt'>make</span></span><span
lang=EN-US> are used.</span></p>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
)
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
)
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># export
PATH=$PATH:/usr/sfw/bin:/usr/ccs/bin</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># export
LD_LIBRARY_PATH=/oracle/product/instantclient_10_2</span></p>


</div>
If necessary, create and adapt a sqlnet.ora file. For VDAB this was not necessary.


<p class=MsoBodyText><span lang=EN-US>The following table provides a brief
overview of the PHP extensions and what they are used for. All of these are
required to do a fully functional Moodle installation.</span></p>


<p class=MsoBodyText><span lang=EN-US style='background:yellow'>&nbsp;</span></p>
Create two '''Symbolic Links'''.


<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
$ ln -s /oracle/product/instantclient_10_2/libclntsh.so.10.1
style='margin-left:2.75pt;border-collapse:collapse'>
<thead>
  <tr>
  <td width=203 valign=top style='width:121.55pt;border:solid black 1.0pt;
  border-right:none;background:black;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents align=center style='text-align:center;layout-grid-mode:
  char'><b><span lang=EN-GB>PHP Extensions</span></b></p>
  </td>
  <td width=628 valign=top style='width:377.05pt;border:solid black 1.0pt;
  background:black;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents align=center style='text-align:center;layout-grid-mode:
  char'><b><span lang=EN-GB>Description</span></b></p>
  </td>
  </tr>
</thead>
<tr>
  <td width=203 valign=top style='width:121.55pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>GD</span></p>
  <p class=TableContents><span lang=EN-GB>Freetype 2</span></p>
  </td>
  <td width=628 valign=top style='width:377.05pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>GD is
  commonly used to generate charts, graphics, thumbnails, etc. on the fly. </span></p>
  <p class=TableContents><span lang=EN-GB>Freetype provides an API to
  manipulate fonts.  </span></p>
  <p class=TableContents><span lang=EN-GB>Moodle uses these modules to generate
  dynamic graphs from the logs.</span></p>
  </td>
</tr>
<tr>
  <td width=203 valign=top style='width:121.55pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>OCI8</span></p>
  </td>
  <td width=628 valign=top style='width:377.05pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Required
  connector for Oracle</span></p>
  </td>
</tr>
<tr>
  <td width=203 valign=top style='width:121.55pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>zlib
  (alternatively use zip or unzip)</span></p>
  </td>
  <td width=628 valign=top style='width:377.05pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Zlib is
  required for zip/unzip funcitonality based on the deflate compression method.
  </span></p>
  <p class=TableContents><span lang=EN-GB>Moodle itself can also handle this
  functionality, but this impacts the use of server resources.</span></p>
  </td>
</tr>
<tr>
  <td width=203 valign=top style='width:121.55pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>curl</span></p>
  </td>
  <td width=628 valign=top style='width:377.05pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>curl is
  a client to get files from servers. It is used for handling files using a
  wide variety of protocols.</span></p>
  <p class=TableContents><span lang=EN-GB>This is a requirement for Moodle 1.8
  and later</span></p>
  <p class=TableContents><span lang=EN-GB>&nbsp;</span></p>
  </td>
</tr>
<tr>
  <td width=203 valign=top style='width:121.55pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>openssl</span></p>
  </td>
  <td width=628 valign=top style='width:377.05pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Library
  to enable secured connections to a server. This is mainly used for
  connections between Moodle installations e.g. to share courses.</span></p>
  </td>
</tr>
<tr>
  <td width=203 valign=top style='width:121.55pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>php5-LDAP</span></p>
  </td>
  <td width=628 valign=top style='width:377.05pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Enables
  the use of LDAP functions in PHP</span></p>
  </td>
</tr>
<tr>
  <td width=203 valign=top style='width:121.55pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>aspell-xx</span></p>
  </td>
  <td width=628 valign=top style='width:377.05pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>The
  optional aspell modules provide a free spelling checker functionality
  embedded in Moodle. This module support a very large number of languages. XX
  represents the 2-letter code for the language.</span></p>
  </td>
</tr>
</table>


<p class=MsoNormal><span lang=EN-US>&nbsp;</span></p>
/oracle/product/instantclient_10_2/libclntsh.so


<p class=MsoBodyText><span lang=EN-US>For a default Solaris most of these
$ ln -s /oracle/product/instantclient_10_2/libocci.so.10.1
modules are available by default. We only need to install </span><span
class=SourceText><span lang=EN-US style='font-size:10.5pt'>curl</span></span><span
lang=EN-US> and enable these modules in the Apache-Php configuration.</span></p>


<p class=MsoBodyText><span lang=EN-US>We first install </span><span
/oracle/product/instantclient_10_2/libocci.so
class=SourceText><span lang=EN-US style='font-size:10.5pt'>curl</span></span><span
lang=EN-US>. Download the package </span><span class=SourceText><span
lang=EN-US style='font-size:10.5pt'>curl-7.18.1.tar.gz</span></span><span
lang=EN-US> from <a href="http://curl.haxx.se/">http://curl.haxx.se</a> to </span><span
class=SourceText><span lang=EN-US style='font-size:10.5pt'>/usr/local/apache2</span></span><span
lang=EN-US>.</span></p>


<p class=MsoBodyText><span lang=EN-US>Log in as </span><span class=SourceText><span
== Install PHP ==
lang=EN-US style='font-size:10.5pt'>root</span></span><span lang=EN-US>, <b>uncompress
To '''install PHP '''on the Apache server, download php-5.2.5.tar.gz from [http://www.php.net/downloads http://www.php.net/downloads] to the folder /usr/local/apache2
the </b></span><span class=SourceText><b><span lang=EN-US style='font-size:
10.5pt'>curl</span></b></span><b><span lang=EN-US> files </span></b><span
lang=EN-US>and go to the installation folder to </span><span class=SourceText><b><span
lang=EN-US style='font-size:10.5pt'>make</span></b></span><span lang=EN-US> and
</span><span class=SourceText><b><span lang=EN-US style='font-size:10.5pt'>install</span></b></span><span
lang=EN-US>.</span></p>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
Log in as root, '''uncompress the PHP files '''and go to the installation folder.
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
<nowiki># gzip -d php-5.2.5.tar.gz</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># gunzip
curl-7.18.1.tar.gz</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
<nowiki># tar -xvf php-5.2.5.tar</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># tar -xvf curl-7.18.1.tar</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
<nowiki># cd php-5.2.5</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># cd curl-7.18.1</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
Adapt the '''Environment Variables '''to make sure the correct gcc and make are used.
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># ./configure</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
<nowiki># export PATH=$PATH:/usr/sfw/bin:/usr/ccs/bin</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># make</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
<nowiki># export LD_LIBRARY_PATH=/oracle/product/instantclient_10_2</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># make install</span></p>


</div>
The following table provides a brief overview of the PHP extensions and what they are used for. All of these are required to do a fully functional Moodle installation.


<p class=MsoBodyText><span lang=EN-US>In order to <b>test</b> the </span><span
class=SourceText><span lang=EN-US style='font-size:10.5pt'>curl</span></span><span
lang=EN-US> installation do</span></p>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
{| class="prettytable"
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>/usr/local/bin/curl -V</span></p>
! <center>PHP Extensions</center>
! <center>Description</center>


</div>
|-
| GD


<p class=MsoBodyText><span lang=EN-US style='background:white'>If necessary,
Freetype 2
extend PATH to </span><span class=SourceText><span lang=EN-US style='font-size:
| GD is commonly used to generate charts, graphics, thumbnails, etc. on the fly.  
10.5pt;background:white'>/usr/local/bin</span></span><span lang=EN-US
style='background:white'>. This was not necessary for VDAB.</span></p>


<p class=MsoBodyText><span lang=EN-US>Next, we will </span><span
Freetype provides an API to manipulate fonts.  
class=SourceText><span lang=EN-US style='font-size:10.5pt'>configure</span></span><span
lang=EN-US>, and </span><span class=SourceText><b><span lang=EN-US
style='font-size:10.5pt'>install</span></b></span><b><span lang=EN-US> the PHP
for Apache make links to the PHP extensions</span></b><span lang=EN-US>.</span></p>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
Moodle uses these modules to generate dynamic graphs from the logs.
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
|-
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># cd
| OCI8
/usr/local/apache2/php-5.2.5</span></p>
| Required connector for Oracle


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
|-
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># ./configure \</span></p>
| zlib (alternatively use zip or unzip)
| Zlib is required for zip/unzip funcitonality based on the deflate compression method.  


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
Moodle itself can also handle this functionality, but this impacts the use of server resources.
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>--with-apxs2=/usr/local/apache2/bin/apxs
\</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
|-
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>--with-config-file-path=/usr/local/apache2/conf
| curl
\</span></p>
| curl is a client to get files from servers. It is used for handling files using a wide variety of protocols.


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
This is a requirement for Moodle 1.8 and later
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>--with-oci8=instantclient,/oracle/product/instantclient_10_2
\</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>--enable-sigchild \</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>--enable-mbstring \</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>--with-gd \</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
|-
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>--with-openssl \</span></p>
| openssl
| Library to enable secured connections to a server. This is mainly used for connections between Moodle installations e.g. to share courses.


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
|-
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>--with-curl=/usr/local/apache2/curl-7.18.1</span></p>
| php5-LDAP
| Enables the use of LDAP functions in PHP


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
|-
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># make</span></p>
| aspell-xx
| The optional aspell modules provide a free spelling checker functionality embedded in Moodle. This module support a very large number of languages. XX represents the 2-letter code for the language.


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
|}
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># make install</span></p>
For a default Solaris most of these modules are available by default. We only need to install curl and enable these modules in the Apache-Php configuration.


</div>
We first install curl. Download the package curl-7.18.1.tar.gz from [http://curl.haxx.se/ http://curl.haxx.se] to /usr/local/apache2.


<p class=MsoBodyText><span lang=EN-US style='background:yellow'>&nbsp;</span></p>
Log in as root, '''uncompress the curl files '''and go to the installation folder to '''make''' and '''install'''.


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>4.4<span
<nowiki># gunzip curl-7.18.1.tar.gz</nowiki>
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Change PHP settings</span></h2>


<p class=MsoBodyText><span lang=EN-US>By default there is no </span><span
<nowiki># tar -xvf curl-7.18.1.tar</nowiki>
class=SourceText><span lang=EN-US style='font-size:10.5pt'>php.ini</span></span><span
lang=EN-US> file. However, there is a </span><span class=SourceText><span
lang=EN-US style='font-size:10.5pt'>php.ini-recommended</span></span><span
lang=EN-US> which we will use to make the required adaptations listed in the
table below. Afterwards we will make a copy of this file and make it the active
Php configuration file.</span></p>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
<nowiki># cd curl-7.18.1</nowiki>
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
<nowiki># ./configure</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># vi
/usr/local/apache2/conf/php.ini-recommended --&gt; Open text editor and make
adaptations</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
<nowiki># make</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># cp
/usr/local/apache2/php-5.2.5/php.ini-recommended
/usr/local/apache2/conf/php.ini</span></p>


</div>
<nowiki># make install</nowiki>


<p class=MsoBodyText><b><span lang=EN-US>In the file edit the following
In order to '''test''' the curl installation do
settings:</span></b></p>


<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
/usr/local/bin/curl -V
style='margin-left:2.75pt;border-collapse:collapse'>
<thead>
  <tr>
  <td width=401 valign=top style='width:240.4pt;border:solid black 1.0pt;
  border-right:none;background:black;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents align=center style='text-align:center;layout-grid-mode:
  char'><b><span lang=EN-GB>Setting</span></b></p>
  </td>
  <td width=403 valign=top style='width:241.85pt;border:solid black 1.0pt;
  background:black;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents align=center style='text-align:center;layout-grid-mode:
  char'><b><span lang=EN-GB>Value we used in php.ini</span></b></p>
  </td>
  </tr>
</thead>
<tr>
  <td width=401 valign=top style='width:240.4pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Safe
  mode must be off</span></p>
  </td>
  <td width=403 valign=top style='width:241.85pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>; Safe
  mode</span></p>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>safe_mode
  = Off</span></p>
  </td>
</tr>
<tr>
  <td width=401 valign=top style='width:240.4pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>memory_limit
  is at least 128MB</span></p>
  </td>
  <td width=403 valign=top style='width:241.85pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>;
  Resource Limits</span></p>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>memory_limit
  = 128M      ; Maximum amount of memory a script may consume</span></p>
  </td>
</tr>
<tr>
  <td width=401 valign=top style='width:240.4pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>session.save_handler
  needs to be set to FILES.</span></p>
  </td>
  <td width=403 valign=top style='width:241.85pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>[Session]</span></p>
  <p class=TableContents><span lang=EN-GB>; Handler used to store/retrieve
  data.</span></p>
  <p class=TableContents><span lang=EN-GB>session.save_handler = files</span></p>
  </td>
</tr>
<tr>
  <td width=401 valign=top style='width:240.4pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>magic_quotes_gpc
  needs to be ON</span></p>
  <p class=TableContents><span lang=EN-GB>magic_quotes_runtime needs to be OFF</span></p>
  </td>
  <td width=403 valign=top style='width:241.85pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>; Magic
  quotes for incoming GET/POST/Cookie data.</span></p>
  <p class=TableContents><span lang=EN-GB>magic_quotes_gpc = On</span></p>
  <p class=TableContents><span lang=EN-GB>; Magic quotes for runtime-generated
  data, e.g. data from SQL, from exec(), etc.</span></p>
  <p class=TableContents><span lang=EN-GB>magic_quotes_runtime = Off</span></p>
  </td>
</tr>
<tr>
  <td width=401 valign=top style='width:240.4pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>file_uploads
  needs to be ON</span></p>
  </td>
  <td width=403 valign=top style='width:241.85pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>;
  Whether to allow HTTP file uploads.</span></p>
  <p class=TableContents><span lang=EN-GB>file_uploads = On</span></p>
  </td>
</tr>
<tr>
  <td width=401 valign=top style='width:240.4pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>session.auto_start
  needs to be OFF</span></p>
  </td>
  <td width=403 valign=top style='width:241.85pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>;
  Initialize session on request startup.</span></p>
  <p class=TableContents><span lang=EN-GB>session.auto_start = 0</span></p>
  </td>
</tr>
<tr>
  <td width=401 valign=top style='width:240.4pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>session.bug_compat_warn
  needs to be OFF</span></p>
  </td>
  <td width=403 valign=top style='width:241.85pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>session.bug_compat_warn
  = 0</span></p>
  </td>
</tr>
<tr>
  <td width=401 valign=top style='width:240.4pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>post_max_size
  is too small by default and needs to be increased e.g. when you run into
  problems while creating online content</span></p>
  </td>
  <td width=403 valign=top style='width:241.85pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>;
  Maximum size of POST data that PHP will accept.</span></p>
  <p class=TableContents><span lang=EN-GB>post_max_size = 300M</span></p>
  </td>
</tr>
<tr>
  <td width=401 valign=top style='width:240.4pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>upload_max_filesize
  needs to be increased e.g. to allow uploading larger course packages</span></p>
  </td>
  <td width=403 valign=top style='width:241.85pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>;
  Maximum allowed size for uploaded files.</span></p>
  <p class=TableContents><span lang=EN-GB>upload_max_filesize = 300M</span></p>
  </td>
</tr>
<tr>
  <td width=401 valign=top style='width:240.4pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>magic_quotes_sybase
  should be on for Oracle installations.</span></p>
  </td>
  <td width=403 valign=top style='width:241.85pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>magic_quotes_sybase
  = On</span></p>
  </td>
</tr>
</table>


<p class=MsoBodyText><span lang=EN-US>&nbsp;</span></p>
If necessary, extend PATH to /usr/local/bin. This was not necessary for VDAB.


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>4.5<span
Next, we will configure, and '''install the PHP for Apache make links to the PHP extensions'''.
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Add GNU Coreutils</span></h2>


<p class=MsoBodyText><span lang=EN-US>Also install the GNU Coreutils for
<nowiki># cd /usr/local/apache2/php-5.2.5</nowiki>
Solaris in order to avoid Apache error described in case MDL-6850 . The
Coreutils will include the du command which is required by Moodle to collect
and calculate data on file sizes. </span></p>


<p class=MsoBodyText><b><span lang=EN-US>Download </span></b><span
<nowiki># ./configure \</nowiki>
class=Teletype><span lang=EN-US style='font-size:10.0pt'>coreutils-6.4-sol10-sparc-local.gz</span></span><span
lang=EN-US> from <a
href="http://www.sunfreeware.com/solaris_2.5_list.html#coreutils">http://www.sunfreeware.com/solaris_2.5_list.html#coreutils</a>
to your global zone as </span><span class=Teletype><span lang=EN-US
style='font-size:10.0pt'>root</span></span><span lang=EN-US> .</span></p>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
--with-apxs2=/usr/local/apache2/bin/apxs \
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
--with-config-file-path=/usr/local/apache2/conf \
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>gunzip
coreutils-6.4-sol10-sparc-local.gz</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
--with-oci8=instantclient,/oracle/product/instantclient_10_2 \
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>pkgadd -d
coreutils-6.4-sol10-sparc-local.gz</span></p>


</div>
--enable-sigchild \


<p class=MsoBodyText><span lang=EN-US>Go to </span><span class=Teletype><span
--enable-mbstring \
lang=EN-US style='font-size:10.0pt'>Administration &gt; Configuration &gt;
Variables &gt; Operating System</span></span><span lang=EN-US> and enter the
path to entry </span><span class=Teletype><span lang=EN-US style='font-size:
10.0pt'>pathtodu </span></span><span lang=EN-US>to the GNU du in
/usr/local/bin/du (was /usr/bin/du) .</span></p>


<p class=MsoBodyText><span lang=EN-US>Set the correct path in the Moodle
--with-gd \
administration interface. Go to </span><span class=Teletype><span lang=EN-US
style='font-size:10.0pt'>Administration &gt; Server &gt; System Paths </span></span><span
lang=EN-US>and fill out the correct path in the </span><span class=Teletype><span
lang=EN-US style='font-size:10.0pt'>Path to du</span></span><span lang=EN-US>
entry.</span></p>


<div style='border:none;border-bottom:solid black 1.0pt;padding:0cm 0cm 0cm 0cm'>
--with-openssl \


<h1 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5<span
--with-curl=/usr/local/apache2/curl-7.18.1
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Install Moodle</span></h1>


</div>
--with-ldap=/usr/local


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5.1<span
<nowiki># make</nowiki>
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Prepare the Moodle installation files</span></h2>


<p class=MsoBodyText><span lang=EN-US>Now that we have completed the set-up for
<nowiki># make install</nowiki>
Apache, PHP, Oracle and the connection between PHP and Oracle we prepare for
the Moodle installation.</span></p>


<p class=MsoBodyText><span lang=EN-US>Log in as </span><span class=SourceText><span
lang=EN-US style='font-size:10.5pt'>root</span></span><span lang=EN-US> and <b>create
a </b></span><span class=SourceText><b><span lang=EN-US style='font-size:10.5pt'>moodle</span></b></span><b><span
lang=EN-US> user</span></b><span lang=EN-US> assigned to a group and set a password.</span></p>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
== Change PHP settings ==
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>
By default there is no php.ini file. However, there is a php.ini-recommended which we will use to make the required adaptations listed in the table below. Afterwards we will make a copy of this file and make it the active Php configuration file.


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
<nowiki># vi /usr/local/apache2/conf/php.ini-recommended --> Open text editor and make adaptations</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># mkdir
/export/home/moodle</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
<nowiki># cp /usr/local/apache2/php-5.2.5/php.ini-recommended /usr/local/apache2/conf/php.ini</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># useradd -u 1005 -g 101
-d /export/home/moodle -s /bin/bash -c &quot;Moodle&quot; -m moodle</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
'''In the file edit the following settings:'''
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># chown moodle:users
/export/home/moodle</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># passwd moodle</span></p>


</div>
{| class="prettytable"
! <center>Setting</center>
! <center>Value we used in php.ini</center>


<p class=MsoBodyText><span lang=EN-US>Log in as </span><span class=SourceText><span
|-
lang=EN-US style='font-size:10.5pt'>root</span></span><span lang=EN-US> to <b>create
| Safe mode must be off
a directory for the Moodle installation</b>:</span></p>
| <nowiki>; Safe mode</nowiki>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
safe_mode = Off
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
|-
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># mkdir /usr/local/moodle_1.9+</span></p>
| memory_limit is at least 128MB
| <nowiki>; Resource Limits</nowiki>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
memory_limit = 128M <nowiki>; Maximum amount of memory a script may consume</nowiki>
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># chown moodle:users
/usr/local/moodle_1.9+</span></p>


</div>
|-
| session.save_handler needs to be set to FILES.
| <nowiki>[Session]</nowiki>


<p class=MsoBodyText><b><span lang=EN-US>Download </span></b><span lang=EN-US>moodle-weekly-19.tgz
<nowiki>; Handler used to store/retrieve data.</nowiki>
from <a href="http://download.moodle.org/">http://download.moodle.org/</a>. Log
in as the user moodle and copy the file to </span><span class=SourceText><span
lang=EN-US style='font-size:10.5pt'>/usr/local/moodle_1.9+</span></span><span
lang=EN-US> and uncompress the file:</span></p>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
session.save_handler = files
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
|-
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>$ gunzip
| magic_quotes_gpc needs to be ON
moodle-weekly-19.tgz</span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
magic_quotes_runtime needs to be OFF
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>$ tar -vxf
| <nowiki>; Magic quotes for incoming GET/POST/Cookie data.</nowiki>
moodle-weekly-19.tar --&gt; creates subdirectory 'moodle'</span></p>


</div>
magic_quotes_gpc = On


<p class=MsoBodyText><span lang=EN-US>Now log onto the system where you will
<nowiki>; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.</nowiki>
install Moodle e.g. </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt'>testzone3</span></span><span lang=EN-US> on server </span><span
class=SourceText><span lang=EN-US style='font-size:10.5pt'>testitis03 </span></span><span
lang=EN-US>as the user </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt'>moodle</span></span><span lang=EN-US>.</span></p>


<p class=MsoBodyText><span lang=EN-US>Set the <b>environment variables</b>,
magic_quotes_runtime = Off
preferable in the </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt'>.profile</span></span><span lang=EN-US> of the  de
user </span><span class=SourceText><span lang=EN-US style='font-size:10.5pt'>moodle</span></span><span
lang=EN-US>: </span></p>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
|-
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>
| file_uploads needs to be ON
| <nowiki>; Whether to allow HTTP file uploads.</nowiki>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
file_uploads = On
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>$ export
ORACLE_HOME=/oracle/product/instantclient_10_2 </span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
|-
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>$ export
| session.auto_start needs to be OFF
LD_LIBRARY_PATH=$ORACLE_HOME </span></p>
| <nowiki>; Initialize session on request startup.</nowiki>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
session.auto_start = 0
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>$ export
TNS_ADMIN=/var/opt/oracle </span></p>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
|-
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>$ export
| session.bug_compat_warn needs to be OFF
PATH=$PATH:/usr/local/bin:/local/bin:. </span></p>
| session.bug_compat_warn = 0


</div>
|-
| post_max_size is too small by default and needs to be increased e.g. when you run into problems while creating online content
| <nowiki>; Maximum size of POST data that PHP will accept.</nowiki>


<p class=MsoBodyText><b><span lang=EN-US>Start Apache </span></b><span
post_max_size = 300M
lang=EN-US>with the configuration file adapted to moodle: </span></p>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
|-
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>
| upload_max_filesize needs to be increased e.g. to allow uploading larger course packages
| <nowiki>; Maximum allowed size for uploaded files.</nowiki>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
upload_max_filesize = 300M
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB>$
/usr/local/apache2/bin/apachectl -k start -f
/usr/local/moodle_1.9+/moodle/httpd.conf </span></p>


</div>
|-
| magic_quotes_sybase should be on for Oracle installations.
| magic_quotes_sybase = On


<p class=MsoBodyText><span lang=EN-US>If desired you can install other
|}
languages during the installation wizard by downloading the appropriate
== Add GNU Coreutils ==
language files e.g. Dutch (<a
Also install the GNU Coreutils for Solaris in order to avoid Apache error described in case MDL-6850 . The Coreutils will include the du command which is required by Moodle to collect and calculate data on file sizes.  
href="http://download.moodle.org/lang16/nl_utf8.zip">http://download.moodle.org/lang16/nl_utf8.zip</a>)
to </span><span class=SourceText><span lang=EN-US style='font-size:10.5pt'>/usr/local/moodle_1.9+/moodledata/lang
</span></span><span lang=EN-US>and uncompress the file.</span></p>


<div style='border:solid gray 1.0pt;padding:1.0pt 1.0pt 1.0pt 1.0pt;background:
'''Download '''coreutils-6.4-sol10-sparc-local.gz from [http://www.sunfreeware.com/solaris_2.5_list.html#coreutils http://www.sunfreeware.com/solaris_2.5_list.html#coreutils] to your global zone as root .
#FFFFCC;margin-left:1.0cm;margin-right:1.0cm'>


<p class=Code style='margin-top:2.85pt;margin-right:0cm;margin-bottom:2.85pt;
gunzip coreutils-6.4-sol10-sparc-local.gz
margin-left:0cm;background:#FFFFCC'><span lang=EN-GB># unzip nl_utf8.zip </span></p>


</div>
pkgadd -d coreutils-6.4-sol10-sparc-local.gz


<p class=MsoBodyText><span lang=EN-US>A list of additional languages is
Go to Administration > Configuration > Variables > Operating System and enter the path to entry pathtodu to the GNU du in /usr/local/bin/du (was /usr/bin/du) .
available from the administration interface. Moodle then automatically
downloads and installs the selected languages.</span></p>


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5.2<span
Set the correct path in the Moodle administration interface. Go to Administration > Server > System Paths and fill out the correct path in the Path to du entry.
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Choose installation language</span></h2>


<p class=MsoBodyText><span lang=EN-US>Choose the installation language from the
= Install Moodle =
drop-down list. This choice only applies to the installation wizard.</span></p>
== Prepare the Moodle installation files ==
Now that we have completed the set-up for Apache, PHP, Oracle and the connection between PHP and Oracle we prepare for the Moodle installation.


<p class=MsoBodyText><span lang=EN-US>Click the next button to continue.</span></p>
Log in as root and '''create a moodle user''' assigned to a group and set a password.


<p class=MsoBodyText><img width=391 height=238
<nowiki># mkdir /export/home/moodle</nowiki>
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image001.jpg"><br clear=ALL>
</p>


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5.3<span
<nowiki># useradd -u 1005 -g 101 -d /export/home/moodle -s /bin/bash -c "Moodle" -m moodle</nowiki>
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Check PHP settings</span></h2>


<p class=MsoBodyText><span lang=EN-US>If you followed the above mentioned
<nowiki># chown moodle:users /export/home/moodle</nowiki>
instructions for php, you should get the following screen.</span></p>


<p class=MsoBodyText><span lang=EN-US>In case of a Fail, recheck the PHP
<nowiki># passwd moodle</nowiki>
settings in </span><span class=SourceText><span lang=EN-US style='font-size:
10.5pt'>php.ini</span></span><span lang=EN-US>.</span></p>


<p class=MsoBodyText><img width=381 height=335
Log in as root to '''create a directory for the Moodle installation''':
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image002.jpg"><br clear=ALL>
</p>


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5.4<span
<nowiki># mkdir /usr/local/moodle_1.9+</nowiki>
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Set installation and data directories</span></h2>


<p class=MsoBodyText><span lang=EN-US>In this step you define the basic locations
<nowiki># chown moodle:users /usr/local/moodle_1.9+</nowiki>
of all Moodle-related files. Unless you chose a different location for the
moodledata folder you do not need to change anything.</span></p>


<p class=MsoBodyText><span lang=EN-US>It is adviseable to keep the Moodle
'''Download '''moodle-weekly-19.tgz from [http://download.moodle.org/ http://download.moodle.org/]. Log in as the user moodle and copy the file to /usr/local/moodle_1.9+ and uncompress the file:
software and the data (courses, uploaded assignments etc.) separately;</span></p>


<p class=MsoBodyText><span lang=EN-US>In case of VDAB the web address is e.g. </span><span
$ gunzip moodle-weekly-19.tgz
class=SourceText><span lang=EN-US style='font-size:10.5pt'>testzone2</span></span><span
lang=EN-US> or </span><span class=SourceText><span lang=EN-US style='font-size:
10.5pt'>testzone3</span></span><span lang=EN-US> and the data directory is </span><span
class=SourceText><span lang=EN-US style='font-size:10.5pt'>/usr/local/moodle_1.9+/moodle</span></span></p>


<p class=MsoBodyText><span lang=EN-US><img border=0 width=398 height=334
$ tar -vxf moodle-weekly-19.tar --> creates subdirectory 'moodle'
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image003.jpg"></span></p>


<p class=MsoBodyText><span lang=EN-US>&nbsp;</span></p>
Now log onto the system where you will install Moodle e.g. testzone3 on server testitis03 as the user moodle.


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5.5<span
Set the '''environment variables''', preferable in the .profile of the de user moodle:  
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Set Database connection</span></h2>


<p class=MsoBodyText><span lang=EN-US>In this step we will set up the
$ export ORACLE_HOME=/oracle/product/instantclient_10_2
connection to the database:</span></p>


<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
$ export LD_LIBRARY_PATH=$ORACLE_HOME
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>Select
</span><span class=SourceText><span lang=EN-US style='font-size:10.5pt'>Oracle</span></span><span
lang=EN-US> from the drop-down list</span></p>


<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
$ export TNS_ADMIN=/var/opt/oracle
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>For
an Oracle installation, leave the Host entry empty</span></p>


<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
$ export PATH=$PATH:/usr/local/bin:/local/bin:.  
class=SourceText><span lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><span
lang=EN-US>Provide the name of the Oracle database you created e.g. </span><span
class=SourceText><span lang=EN-US style='font-size:10.5pt'>moodle</span></span></p>


<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
'''Start Apache '''with the configuration file adapted to moodle:  
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>The
database admin username and password</span></p>


<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
$ /usr/local/apache2/bin/apachectl -k start -f /usr/local/moodle_1.9+/moodle/httpd.conf
class=SourceText><span lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><span
lang=EN-US>Add a table prefix e.g. </span><span class=SourceText><span
lang=EN-US style='font-size:10.5pt'>m_</span></span></p>


<p class=MsoBodyText><img width=416 height=475
If desired you can install other languages during the installation wizard by downloading the appropriate language files e.g. Dutch ([http://download.moodle.org/lang16/nl_utf8.zip http://download.moodle.org/lang16/nl_utf8.zip]) to /usr/local/moodle_1.9+/moodledata/lang and uncompress the file.
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image004.jpg"><br clear=ALL>
</p>


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5.6<span
<nowiki># unzip nl_utf8.zip </nowiki>
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Server checks for installed components</span></h2>


<p class=MsoBodyText><span lang=EN-US>The installation wizard will now perform
A list of additional languages is available from the administration interface. Moodle then automatically downloads and installs the selected languages.
an <b>availability check </b>on the required System Components.</span></p>


<p class=MsoBodyText><span lang=EN-US>If you checked all the required PHP
== Choose installation language ==
settings and modules during the pre-installation phase, you should get the
Choose the installation language from the drop-down list. This choice only applies to the installation wizard.
following screen.</span></p>


<p class=MsoBodyText><img width=395 height=556
Click the next button to continue.
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image005.jpg"><br clear=ALL>
</p>


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5.7<span
[[Image:Image001.jpg]]
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Install language packs</span></h2>


<p class=MsoBodyText><span lang=EN-US>Since we chose a <b>Dutch installation</b>,
== Check PHP settings ==
we now get an option to download the <b>Dutch language files </b>for the user
If you followed the above mentioned instructions for php, you should get the following screen.
interface. Provided you have direct write access to the Moodle server, the
set-up of the language pack is <b>automatic</b>. </span></p>


<p class=MsoBodyText><img width=419 height=270
In case of a Fail, recheck the PHP settings in php.ini.
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image006.jpg"><br clear=ALL>
<span lang=EN-US>If the <b>download is unsuccessful</b>, you will get the error
message below. To resolve this problem, you can either:</span></p>


<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
[[Image:Image002.jpg]]
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>Select
other languages by using the <i>Administrator interface </i>when the
installation is complete (Administration &gt; Language &gt; Language packs).</span></p>


<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
== Set installation and data directories ==
class=SourceText><span lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
In this step you define the basic locations of all Moodle-related files. Unless you chose a different location for the moodledata folder you do not need to change anything.
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span></span><i><span
lang=EN-US>Unzip the language file on the server </span></i><span lang=EN-US>in
the lang files directory e.g. </span><span class=SourceText><span lang=EN-US
style='font-size:10.5pt'>&lt;path to Moodle directory&gt;/moodledata/lang</span></span></p>


<p class=MsoBodyText><img width=420 height=385
It is adviseable to keep the Moodle software and the data (courses, uploaded assignments etc.) separately;
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image007.jpg"><br clear=ALL>
</p>


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5.8<span
In case of VDAB the web address is e.g. testzone2 or testzone3 and the data directory is /usr/local/moodle_1.9+/moodle
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Confirmation for written configuration file.</span></h2>


<p class=MsoBodyText><span lang=EN-US>All the settings we made in prior steps
[[Image:Image003.jpg]]
are now collected and written to the <b>Moodle configuration file </b>(</span><span
class=SourceText><span lang=EN-US style='font-size:10.5pt'>config.php</span></span><span
lang=EN-US>). </span></p>


<p class=MsoBodyText><img width=393 height=190
== Set Database connection ==
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image008.jpg"><br clear=ALL>
In this step we will set up the connection to the database:
<span lang=EN-US>In this step, the basic Moodle configuration is complete. In
the next steps, the setup will add the database tables and prepare Moodle for
use.</span></p>


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5.9<span
* Select Oracle from the drop-down list
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
* For an Oracle installation, leave the Host entry empty
</span></span><span lang=EN-GB>Licence agreement</span></h2>
* Provide the name of the Oracle database you created e.g. moodle
* The database admin username and password
* Add a table prefix e.g. m_


<p class=MsoBodyText><span lang=EN-US>Carefully read and <b>accept the licence
[[Image:Image004.jpg]]
agreement </b>before proceeding to the final installation steps.</span></p>


<p class=MsoBodyText><img width=665 height=259
== Server checks for installed components ==
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image009.jpg"><br clear=ALL>
The installation wizard will now perform an '''availability check '''on the required System Components.
</p>


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5.10<span
If you checked all the required PHP settings and modules during the pre-installation phase, you should get the following screen.
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
lang=EN-GB>Release information</span></h2>


<p class=MsoBodyText><span lang=EN-US>This page provides the release
[[Image:Image005.jpg]]
information and the possibility to perform the following steps automatically
(unattended). We will simply click next in order to capture potential setup
errors.</span></p>


<p class=MsoBodyText><img width=665 height=139
== Install language packs ==
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image010.jpg"><br clear=ALL>
Since we chose a '''Dutch installation''', we now get an option to download the '''Dutch language files '''for the user interface. Provided you have direct write access to the Moodle server, the set-up of the language pack is '''automatic'''.  
</p>


<p class=MsoBodyText><a name="DDE_LINK"><span lang=EN-US>Following steps can be
[[Image:Image006.jpg]]If the '''download is unsuccessful''', you will get the error message below. To resolve this problem, you can either:
performed automatically (unattended) or with manual confirmation.</span></a></p>


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5.11<span
* Select other languages by using the ''Administrator interface ''when the installation is complete (Administration > Language > Language packs).
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
* ''Unzip the language file on the server ''in the lang files directory e.g. <nowiki><path to Moodle directory>/moodledata/lang</nowiki>
lang=EN-GB>Automatic database setup</span></h2>


<p class=MsoBodyText><span lang=EN-US>What follows is a series of screens for
[[Image:Image007.jpg]]
the <b>setup of the database tables for all of the standard Moodle components</b>.
Apart from clicking next, no user interaction is required.</span></p>


<p class=MsoBodyText><img width=469 height=439
== Confirmation for written configuration file. ==
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image011.jpg"><br clear=ALL>
All the settings we made in prior steps are now collected and written to the '''Moodle configuration file '''(config.php).  
<span lang=EN-US>After each sequence a <b>confirmation of success </b>appears. </span></p>


<p class=MsoBodyText><img width=599 height=402
[[Image:Image008.jpg]]In this step, the basic Moodle configuration is complete. In the next steps, the setup will add the database tables and prepare Moodle for use.
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image012.jpg"><br clear=ALL>
<span lang=EN-US>This is the final step in the database set-up sequence.</span></p>


<p class=MsoBodyText><img width=534 height=250
== Licence agreement ==
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image013.jpg"><br clear=ALL>
Carefully read and '''accept the licence agreement '''before proceeding to the final installation steps.
</p>


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5.12<span
[[Image:Image009.jpg]]
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
lang=EN-GB>Setting up the administrator account</span></h2>


<p class=MsoBodyText><span lang=EN-US>Now that the system is ready, we only
== Release information ==
need to provide details for an initial administrator account. </span></p>
This page provides the release information and the possibility to perform the following steps automatically (unattended). We will simply click next in order to capture potential setup errors.


<p class=MsoBodyText><span lang=EN-US>These data can be changed and/or
[[Image:Image010.jpg]]
complemented later. This is the account that will initially be used after
installation to allow further configuration of the system.</span></p>


<p class=MsoBodyText><img width=665 height=452
Following steps can be performed automatically (unattended) or with manual confirmation.
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image014.jpg"><br clear=ALL>
</p>


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5.13<span
== Automatic database setup ==
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
What follows is a series of screens for the '''setup of the database tables for all of the standard Moodle components'''. Apart from clicking next, no user interaction is required.
lang=EN-GB>Set up Frontpage</span></h2>


<p class=MsoBodyText><span lang=EN-US>During this final step of the
[[Image:Image011.jpg]]After each sequence a '''confirmation of success '''appears.
installation wizard, we will put:</span></p>


<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
[[Image:Image012.jpg]]This is the final step in the database set-up sequence.
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>The <b>Full
site name </b>e.g. the name of the institution. This will be visible in the
title bar in all of the standard templates.</span></p>


<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
[[Image:Image013.jpg]]
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>As <b>Short
name for the site</b>.</span></p>


<p class=MsoBodyText style='margin-left:36.0pt;text-indent:-18.0pt'><span
== Setting up the administrator account ==
lang=EN-US style='font-size:9.0pt;font-family:Wingdings'>l<span
Now that the system is ready, we only need to provide details for an initial administrator account.  
style='font:7.0pt "Times New Roman"'>&nbsp; </span></span><span lang=EN-US>A <b>Front
page description</b> of the site. This will be displayed as a welcome message
on the start page.</span></p>


<p class=MsoBodyText><span lang=EN-US>&nbsp;</span></p>
These data can be changed and/or complemented later. This is the account that will initially be used after installation to allow further configuration of the system.


<p class=MsoBodyText><img width=665 height=375
[[Image:Image014.jpg]]
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image015.jpg"><br clear=ALL>
</p>


<h2 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>5.14<span
== Set up Frontpage ==
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span
During this final step of the installation wizard, we will put:
lang=EN-GB>Start with empty Moodle</span></h2>


<p class=MsoBodyText><span lang=EN-US>We are then automatically redirected to
* The '''Full site name '''e.g. the name of the institution. This will be visible in the title bar in all of the standard templates.
the <b>Moodle start page</b>. Our Moodle is up and running and we can now
* As '''Short name for the site'''.
continue with the configuration of the system.</span></p>
* A '''Front page description''' of the site. This will be displayed as a welcome message on the start page.


<p class=MsoBodyText><img width=665 height=295
[[Image:Image015.jpg]]
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image016.jpg"><br clear=ALL>
</p>


<p class=MsoBodyText><span lang=EN-US>When we click <b>Turn editing on</b> we
== Start with empty Moodle ==
can start the configuration. We will need to verify the system location of some
We are then automatically redirected to the '''Moodle start page'''. Our Moodle is up and running and we can now continue with the configuration of the system.
additional components. The installation procedure does not check for the
availability of a zip program. Moodle especially needs zip and unzip when
handling SCORM packages. Using the built-in unzip feature may impact server
performance.</span></p>


<p class=MsoBodyText><img width=665 height=431
[[Image:Image016.jpg]]
src="VDAB_Moodle_Installation_DOC_1.0_bestanden/image017.jpg"><br clear=ALL>
</p>


<div style='border:none;border-bottom:solid black 1.0pt;padding:0cm 0cm 0cm 0cm'>
When we click '''Turn editing on''' we can start the configuration. We will need to verify the system location of some additional components. The installation procedure does not check for the availability of a zip program. Moodle especially needs zip and unzip when handling SCORM packages. Using the built-in unzip feature may impact server performance.


<h1 style='margin-left:0cm;text-indent:0cm'><span lang=EN-GB>6<span
[[Image:Image017.jpg]]
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><span lang=EN-GB>Document control</span></h1>


</div>
== Add template ==
To add a theme to a Moodle installation:


<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
* Extract a theme to /usr/local/moodle_1.9+/moodledata/theme
style='margin-left:2.75pt;border-collapse:collapse'>
* Log into Moodle as admin, go to Site Administration >Appearance >Themes > Theme Selector
<thead>
* Select the theme from the list.
  <tr>
  <td width=86 valign=top style='width:51.75pt;border:solid black 1.0pt;
  border-right:none;background:black;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableHeading style='layout-grid-mode:char'><span lang=EN-GB>Role</span></p>
  </td>
  <td width=193 valign=top style='width:115.95pt;border:solid black 1.0pt;
  border-right:none;background:black;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableHeading style='layout-grid-mode:char'><span lang=EN-GB>Names</span></p>
  </td>
  <td width=107 valign=top style='width:64.1pt;border:solid black 1.0pt;
  border-right:none;background:black;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableHeading style='layout-grid-mode:char'><span lang=EN-GB>Date</span></p>
  </td>
  <td width=420 valign=top style='width:252.05pt;border:solid black 1.0pt;
  background:black;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableHeading style='layout-grid-mode:char'><span lang=EN-GB>Comment</span></p>
  </td>
  </tr>
</thead>
<tr>
  <td width=86 valign=top style='width:51.75pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Create</span></p>
  </td>
  <td width=193 valign=top style='width:115.95pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Toby De
  Loght</span></p>
  </td>
  <td width=107 valign=top style='width:64.1pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>20080414</span></p>
  </td>
  <td width=420 valign=top style='width:252.05pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Document
  set-up</span></p>
  </td>
</tr>
<tr>
  <td width=86 valign=top style='width:51.75pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Edit</span></p>
  </td>
  <td width=193 valign=top style='width:115.95pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Toby De
  Loght</span></p>
  </td>
  <td width=107 valign=top style='width:64.1pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>20080507</span></p>
  </td>
  <td width=420 valign=top style='width:252.05pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Added
  installation specifics from Stefaan Houthuys</span></p>
  </td>
</tr>
<tr>
  <td width=86 valign=top style='width:51.75pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Edit</span></p>
  </td>
  <td width=193 valign=top style='width:115.95pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Toby De
  Loght</span></p>
  </td>
  <td width=107 valign=top style='width:64.1pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>20080514</span></p>
  </td>
  <td width=420 valign=top style='width:252.05pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Update
  after final discussion with Stefaan on 20080509</span></p>
  </td>
</tr>
<tr>
  <td width=86 valign=top style='width:51.75pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Add</span></p>
  </td>
  <td width=193 valign=top style='width:115.95pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Toby De
  Loght</span></p>
  </td>
  <td width=107 valign=top style='width:64.1pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>20080722</span></p>
  </td>
  <td width=420 valign=top style='width:252.05pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>Added
  topic “Add GNU Coreutils” from Stefaan (Moodle tuning changes-20080714.pdf)</span></p>
  </td>
</tr>
<tr>
  <td width=86 valign=top style='width:51.75pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>&nbsp;</span></p>
  </td>
  <td width=193 valign=top style='width:115.95pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>&nbsp;</span></p>
  </td>
  <td width=107 valign=top style='width:64.1pt;border-top:none;border-left:
  solid black 1.0pt;border-bottom:solid black 1.0pt;border-right:none;
  padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>&nbsp;</span></p>
  </td>
  <td width=420 valign=top style='width:252.05pt;border:solid black 1.0pt;
  border-top:none;padding:2.75pt 2.75pt 2.75pt 2.75pt'>
  <p class=TableContents style='layout-grid-mode:char'><span lang=EN-GB>&nbsp;</span></p>
  </td>
</tr>
</table>


<p class=MsoBodyText><span lang=EN-US>&nbsp;</span></p>


<p class=MsoNormal style='margin-bottom:10.0pt;line-height:115%'><span
==See also==
lang=EN-US>&nbsp;</span></p>


</div>
[[Category:Installation]]

Latest revision as of 21:11, 28 January 2011

Installation Documentation
for
Moodle at VDAB


Table of Contents1 Purpose of this document1

2 Setting up the Oracle Database2

3 Configuring Apache2

3.1 Install Apache2

3.2 Install OCI 8 and Oracle Instant Client3

3.3 Install PHP4

3.4 Change PHP settings6

3.5 Add GNU Coreutils7

4 Install Moodle7

4.1 Prepare the Moodle installation files7

4.2 Choose installation language8

4.3 Check PHP settings8

4.4 Set installation and data directories10

4.5 Set Database connection11

4.6 Server checks for installed components12

4.7 Install language packs19

4.8 Confirmation for written configuration file.21

4.9 Licence agreement21

4.10 Release information21

4.11 Automatic database setup22

4.12 Setting up the administrator account23

4.13 Set up Frontpage24

4.14 Start with empty Moodle25

4.15 Add template Purpose of this document This document provides an in-depth installation manual for Moodle on Solaris 10 with Oracle 10.2.0.2.

We provide an overview of the different steps involved:

  • Preparing Oracle 10g for a large Moodle installation
  • Configuring Apache 2.2 for a secure and high-performance webserver
  • Preparing all necessary PHP packages for Apache and Oracle
  • Preparing PHP settings for Moodle
  • An overview of the steps in the Moodle installation wizard.

Setting up the Oracle Database

We set up 2 parallel Moodle installations on one and a database on a separate server. Both installations share the same Oracle database, but use a different tablespace.

The Oracle 10.2.0.2 database runs on a Solaris 10 and is set up using Oracle's DBCA tool.

  • This is testzone1 on the test server testitis00
  • Database name = testitis02.vdab.be
  • We used the General purpose template for the database set-up;
  • And set UTF8 character encoding to NLS_LANG=AMERICAN_AMERICA.AL32UTF8

For each Moodle installation we create a separate Tablespace:

  • First Moodle installation on testzone2:
    • MOODLE_DATA with initial size of 300MB
    • User: MOODLEUSER, password: moodle
    • The user only has rights within the specified tablespace
  • Second Moodle installation on testzone3:
    • MOODLE_DATA2 with initial size of 300MB
    • User: MOODLEUSER2, password: moodle
    • The user only has rights within the specified tablespace

Configuring Apache

Install Apache

First download the latest Apache e.g. httpd-2.2.8.tar.gz from http://httpd.apache.org/download.cgi to the folder /usr/local/apache2

Log in as root, uncompress the Apache files and go to the installation folder.

# gzip -d httpd-2.2.8.tar.gz

# tar -xvf httpd-2.2.8.tar

# cd httpd-2.2.8

Adapt the Environment Variables to make sure the correct gcc and make are used.

# export PATH=$PATH:/usr/sfw/bin:/usr/ccs/bin:.

Configure and make Apache:

# make clean --> only if necessary

# ./configure \

--prefix=/usr/local/apache2 \

--with-included-apr

# make

# make install

In order to increase performance edit the following in the httpd.conf file:

# vi /usr/local/moodle_1.9+/moodle/httpd.conf -- > opens text editor

DirectoryIndex index.php

Listen 8002 -- > for VDAB

DocumentRoot “/usr/local/moodle_1.9+/moodle”

AcceptPathInfo on

If you're running Moodle on Oracle with Apache on Linux, you might have issues with PHP being able to see the system environment variables. To resolve this, you can edit /etc/sysconfig/apache2 and add the following lines to the bottom:

LD_LIBRARY_PATH=/opt/oracle/instantclient_11_2# Set LANG Variables for UTF-8
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
LC_COLLATE=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
export LANG LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIM NLS_LANG LD_LIBRARY_PATH

Also need to add those two lines to ~/.bashrc so that the PHP command-line client can see it too.


Install OCI 8 and Oracle Instant Client

Download the 32bit Solaris Basic en SDK: instantclient-basic-solaris6432-10.2.0.3-20070101.zip and

instantclient-sdk-solaris6432-10.2.0.3-20070101.zip from

http://www.oracle.com/technology/tech/oci/instantclient/index.html to a folder e.g. /oracle/product.


Log in as the user oracle and uncompress the installation files:

$ cd /oracle/product

$ unzip instantclient-basic-solaris6432-10.2.0.3-20070101.zip --> creates the directory instantclient_10_2

$ unzip instantclient-sdk-solaris6432-10.2.0.3-20070101.zip --> is put into the directory instantclient_10_2


Adapt the tnsnames to set an alias or Oracle net service name. Each net service name entry contains connect descriptors that define listener and service information.

$ cd $TNS_ADMIN --> for VDAB this is /var/opt/oracle)

$ vi tns_admin _--> Below an example adaptation:_

moodle =

(DESCRIPTION =

(ADDRESS =

(COMMUNITY = TCPDEV.world)

(PROTOCOL = TCP)

(HOST = testzone1)

(PORT = 1521)

)

(CONNECT_DATA =

(SID = testitis02)

)

)


If necessary, create and adapt a sqlnet.ora file. For VDAB this was not necessary.


Create two Symbolic Links.

$ ln -s /oracle/product/instantclient_10_2/libclntsh.so.10.1

/oracle/product/instantclient_10_2/libclntsh.so

$ ln -s /oracle/product/instantclient_10_2/libocci.so.10.1

/oracle/product/instantclient_10_2/libocci.so

Install PHP

To install PHP on the Apache server, download php-5.2.5.tar.gz from http://www.php.net/downloads to the folder /usr/local/apache2

Log in as root, uncompress the PHP files and go to the installation folder.

# gzip -d php-5.2.5.tar.gz

# tar -xvf php-5.2.5.tar

# cd php-5.2.5

Adapt the Environment Variables to make sure the correct gcc and make are used.

# export PATH=$PATH:/usr/sfw/bin:/usr/ccs/bin

# export LD_LIBRARY_PATH=/oracle/product/instantclient_10_2

The following table provides a brief overview of the PHP extensions and what they are used for. All of these are required to do a fully functional Moodle installation.


PHP Extensions
Description
GD

Freetype 2

GD is commonly used to generate charts, graphics, thumbnails, etc. on the fly.

Freetype provides an API to manipulate fonts.

Moodle uses these modules to generate dynamic graphs from the logs.

OCI8 Required connector for Oracle
zlib (alternatively use zip or unzip) Zlib is required for zip/unzip funcitonality based on the deflate compression method.

Moodle itself can also handle this functionality, but this impacts the use of server resources.

curl curl is a client to get files from servers. It is used for handling files using a wide variety of protocols.

This is a requirement for Moodle 1.8 and later



openssl Library to enable secured connections to a server. This is mainly used for connections between Moodle installations e.g. to share courses.
php5-LDAP Enables the use of LDAP functions in PHP
aspell-xx The optional aspell modules provide a free spelling checker functionality embedded in Moodle. This module support a very large number of languages. XX represents the 2-letter code for the language.

For a default Solaris most of these modules are available by default. We only need to install curl and enable these modules in the Apache-Php configuration.

We first install curl. Download the package curl-7.18.1.tar.gz from http://curl.haxx.se to /usr/local/apache2.

Log in as root, uncompress the curl files and go to the installation folder to make and install.

# gunzip curl-7.18.1.tar.gz

# tar -xvf curl-7.18.1.tar

# cd curl-7.18.1

# ./configure

# make

# make install

In order to test the curl installation do

/usr/local/bin/curl -V

If necessary, extend PATH to /usr/local/bin. This was not necessary for VDAB.

Next, we will configure, and install the PHP for Apache make links to the PHP extensions.

# cd /usr/local/apache2/php-5.2.5

# ./configure \

--with-apxs2=/usr/local/apache2/bin/apxs \

--with-config-file-path=/usr/local/apache2/conf \

--with-oci8=instantclient,/oracle/product/instantclient_10_2 \

--enable-sigchild \

--enable-mbstring \

--with-gd \

--with-openssl \

--with-curl=/usr/local/apache2/curl-7.18.1

--with-ldap=/usr/local

# make

# make install


Change PHP settings

By default there is no php.ini file. However, there is a php.ini-recommended which we will use to make the required adaptations listed in the table below. Afterwards we will make a copy of this file and make it the active Php configuration file.

# vi /usr/local/apache2/conf/php.ini-recommended --> Open text editor and make adaptations

# cp /usr/local/apache2/php-5.2.5/php.ini-recommended /usr/local/apache2/conf/php.ini

In the file edit the following settings:


Setting
Value we used in php.ini
Safe mode must be off ; Safe mode

safe_mode = Off

memory_limit is at least 128MB ; Resource Limits

memory_limit = 128M ; Maximum amount of memory a script may consume

session.save_handler needs to be set to FILES. [Session]

; Handler used to store/retrieve data.

session.save_handler = files

magic_quotes_gpc needs to be ON

magic_quotes_runtime needs to be OFF

; Magic quotes for incoming GET/POST/Cookie data.

magic_quotes_gpc = On

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.

magic_quotes_runtime = Off

file_uploads needs to be ON ; Whether to allow HTTP file uploads.

file_uploads = On

session.auto_start needs to be OFF ; Initialize session on request startup.

session.auto_start = 0

session.bug_compat_warn needs to be OFF session.bug_compat_warn = 0
post_max_size is too small by default and needs to be increased e.g. when you run into problems while creating online content ; Maximum size of POST data that PHP will accept.

post_max_size = 300M

upload_max_filesize needs to be increased e.g. to allow uploading larger course packages ; Maximum allowed size for uploaded files.

upload_max_filesize = 300M

magic_quotes_sybase should be on for Oracle installations. magic_quotes_sybase = On

Add GNU Coreutils

Also install the GNU Coreutils for Solaris in order to avoid Apache error described in case MDL-6850 . The Coreutils will include the du command which is required by Moodle to collect and calculate data on file sizes.

Download coreutils-6.4-sol10-sparc-local.gz from http://www.sunfreeware.com/solaris_2.5_list.html#coreutils to your global zone as root .

gunzip coreutils-6.4-sol10-sparc-local.gz

pkgadd -d coreutils-6.4-sol10-sparc-local.gz

Go to Administration > Configuration > Variables > Operating System and enter the path to entry pathtodu to the GNU du in /usr/local/bin/du (was /usr/bin/du) .

Set the correct path in the Moodle administration interface. Go to Administration > Server > System Paths and fill out the correct path in the Path to du entry.

Install Moodle

Prepare the Moodle installation files

Now that we have completed the set-up for Apache, PHP, Oracle and the connection between PHP and Oracle we prepare for the Moodle installation.

Log in as root and create a moodle user assigned to a group and set a password.

# mkdir /export/home/moodle

# useradd -u 1005 -g 101 -d /export/home/moodle -s /bin/bash -c "Moodle" -m moodle

# chown moodle:users /export/home/moodle

# passwd moodle

Log in as root to create a directory for the Moodle installation:

# mkdir /usr/local/moodle_1.9+

# chown moodle:users /usr/local/moodle_1.9+

Download moodle-weekly-19.tgz from http://download.moodle.org/. Log in as the user moodle and copy the file to /usr/local/moodle_1.9+ and uncompress the file:

$ gunzip moodle-weekly-19.tgz

$ tar -vxf moodle-weekly-19.tar --> creates subdirectory 'moodle'

Now log onto the system where you will install Moodle e.g. testzone3 on server testitis03 as the user moodle.

Set the environment variables, preferable in the .profile of the de user moodle:

$ export ORACLE_HOME=/oracle/product/instantclient_10_2

$ export LD_LIBRARY_PATH=$ORACLE_HOME

$ export TNS_ADMIN=/var/opt/oracle

$ export PATH=$PATH:/usr/local/bin:/local/bin:.

Start Apache with the configuration file adapted to moodle:

$ /usr/local/apache2/bin/apachectl -k start -f /usr/local/moodle_1.9+/moodle/httpd.conf

If desired you can install other languages during the installation wizard by downloading the appropriate language files e.g. Dutch (http://download.moodle.org/lang16/nl_utf8.zip) to /usr/local/moodle_1.9+/moodledata/lang and uncompress the file.

# unzip nl_utf8.zip

A list of additional languages is available from the administration interface. Moodle then automatically downloads and installs the selected languages.

Choose installation language

Choose the installation language from the drop-down list. This choice only applies to the installation wizard.

Click the next button to continue.

Image001.jpg

Check PHP settings

If you followed the above mentioned instructions for php, you should get the following screen.

In case of a Fail, recheck the PHP settings in php.ini.

Image002.jpg

Set installation and data directories

In this step you define the basic locations of all Moodle-related files. Unless you chose a different location for the moodledata folder you do not need to change anything.

It is adviseable to keep the Moodle software and the data (courses, uploaded assignments etc.) separately;

In case of VDAB the web address is e.g. testzone2 or testzone3 and the data directory is /usr/local/moodle_1.9+/moodle

Image003.jpg

Set Database connection

In this step we will set up the connection to the database:

  • Select Oracle from the drop-down list
  • For an Oracle installation, leave the Host entry empty
  • Provide the name of the Oracle database you created e.g. moodle
  • The database admin username and password
  • Add a table prefix e.g. m_

Image004.jpg

Server checks for installed components

The installation wizard will now perform an availability check on the required System Components.

If you checked all the required PHP settings and modules during the pre-installation phase, you should get the following screen.

Image005.jpg

Install language packs

Since we chose a Dutch installation, we now get an option to download the Dutch language files for the user interface. Provided you have direct write access to the Moodle server, the set-up of the language pack is automatic.

File:Image006.jpgIf the download is unsuccessful, you will get the error message below. To resolve this problem, you can either:

  • Select other languages by using the Administrator interface when the installation is complete (Administration > Language > Language packs).
  • Unzip the language file on the server in the lang files directory e.g. <path to Moodle directory>/moodledata/lang

Image007.jpg

Confirmation for written configuration file.

All the settings we made in prior steps are now collected and written to the Moodle configuration file (config.php).

Image008.jpgIn this step, the basic Moodle configuration is complete. In the next steps, the setup will add the database tables and prepare Moodle for use.

Licence agreement

Carefully read and accept the licence agreement before proceeding to the final installation steps.

Image009.jpg

Release information

This page provides the release information and the possibility to perform the following steps automatically (unattended). We will simply click next in order to capture potential setup errors.

Image010.jpg

Following steps can be performed automatically (unattended) or with manual confirmation.

Automatic database setup

What follows is a series of screens for the setup of the database tables for all of the standard Moodle components. Apart from clicking next, no user interaction is required.

Image011.jpgAfter each sequence a confirmation of success appears.

Image012.jpgThis is the final step in the database set-up sequence.

Image013.jpg

Setting up the administrator account

Now that the system is ready, we only need to provide details for an initial administrator account.

These data can be changed and/or complemented later. This is the account that will initially be used after installation to allow further configuration of the system.

Image014.jpg

Set up Frontpage

During this final step of the installation wizard, we will put:

  • The Full site name e.g. the name of the institution. This will be visible in the title bar in all of the standard templates.
  • As Short name for the site.
  • A Front page description of the site. This will be displayed as a welcome message on the start page.

Image015.jpg

Start with empty Moodle

We are then automatically redirected to the Moodle start page. Our Moodle is up and running and we can now continue with the configuration of the system.

Image016.jpg

When we click Turn editing on we can start the configuration. We will need to verify the system location of some additional components. The installation procedure does not check for the availability of a zip program. Moodle especially needs zip and unzip when handling SCORM packages. Using the built-in unzip feature may impact server performance.

Image017.jpg

Add template

To add a theme to a Moodle installation:

  • Extract a theme to /usr/local/moodle_1.9+/moodledata/theme
  • Log into Moodle as admin, go to Site Administration >Appearance >Themes > Theme Selector
  • Select the theme from the list.


See also