<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/29/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rcollman</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/29/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rcollman"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/Special:Contributions/Rcollman"/>
	<updated>2026-04-23T03:19:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Simple_calculated_question_type&amp;diff=120356</id>
		<title>Simple calculated question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Simple_calculated_question_type&amp;diff=120356"/>
		<updated>2015-11-12T16:59:44Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* DO NOT PUT THE = sign in the formula. */ removed as heading, put in bold&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Questions}}&lt;br /&gt;
Simple calculated questions offer a way to create individual numerical questions whose response is the result of a numerical formula which contain variable numerical values  by the use of wildcards  (i.e &#039;&#039;&#039;{x}&#039;&#039;&#039; , &#039;&#039;&#039;{y}&#039;&#039;&#039;) that are substituted with random values when the quiz is taken.&lt;br /&gt;
&lt;br /&gt;
The simple calculated questions offers the most used features of the calculated question with a much simpler creation interface.&lt;br /&gt;
&lt;br /&gt;
== My first Simple calculated question ==&lt;br /&gt;
As a first example you will create a question asking for the surface of a rectangle. Here are the quick steps we will go over in detail:&lt;br /&gt;
*Create the question content with variables shown in {}&lt;br /&gt;
*Enter the formula using the variables and set the tolerance&lt;br /&gt;
*Determine the range of the generated set of variables that will appear in the question content&lt;br /&gt;
*Review the generated set of question contents&lt;br /&gt;
*Since it is your first, check your work from a student&#039;s view&lt;br /&gt;
&lt;br /&gt;
===Initiating the creation process===&lt;br /&gt;
&lt;br /&gt;
Go to the [[Question bank]], select &amp;quot;create a new question&amp;quot; and in the pop-up window select the Simple calculated.&lt;br /&gt;
The Simple calculated question interface will appear.&lt;br /&gt;
Give a name to your question in the title.&lt;br /&gt;
&lt;br /&gt;
===The question text===&lt;br /&gt;
Fill the question text (note that the &#039;&#039;&#039;{param}&#039;&#039;&#039; names can be chosen at will.&lt;br /&gt;
[[Image:Simple_calculated_first_question_text.jpg]]&lt;br /&gt;
&lt;br /&gt;
===The Correct Answer Formula===&lt;br /&gt;
Fill the Correct Answer Formula using the &#039;&#039;&#039;{param}&#039;&#039;&#039; names used in the question text.&lt;br /&gt;
[[Image:Simple_calculated_first_question_formula.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Other answer and response parameters===&lt;br /&gt;
You will set the Grade to 100%, as this is the only answer in this question.&lt;br /&gt;
&lt;br /&gt;
Leave the other parameters as they appears ( 0.01 relative means ±1% tolerance).&lt;br /&gt;
&lt;br /&gt;
===Find the &#039;&#039;&#039;{param}&#039;&#039;&#039; in the formula===&lt;br /&gt;
In simple calculated only the &#039;&#039;&#039;{param}&#039;&#039;&#039; that are in the formula will be used.&lt;br /&gt;
&lt;br /&gt;
In the question text , the &#039;&#039;&#039;{param}&#039;&#039;&#039; that are in the formula&lt;br /&gt;
 &lt;br /&gt;
will appear with there numerical values i.e 6.7 .&lt;br /&gt;
&lt;br /&gt;
Any other {enclosed text} will appear as is i.e. {enclosed text}.&lt;br /&gt;
&lt;br /&gt;
[[Image:Simple_calculated_first_question_find_wild_card.jpg]]&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Click on the button&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
On reload the two {b} and {h} will be displayed.&lt;br /&gt;
&lt;br /&gt;
===Set the minimum and maximum values===&lt;br /&gt;
Here the &#039;&#039;&#039;{b}&#039;&#039;&#039; range has been set to a 15-20 range and&lt;br /&gt;
&lt;br /&gt;
the &#039;&#039;&#039;{h}&#039;&#039;&#039; range has been set to a 5-10 range &lt;br /&gt;
&lt;br /&gt;
as we want a rectangle with a larger base than height.&lt;br /&gt;
 &lt;br /&gt;
[[Image:Simple_calculated_first_question_set_min_max.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Select the number of sets to generate (here 10) and to display(here 2)===&lt;br /&gt;
Just to illustrate that you can control the number of values displayed which is useful if you create 100 sets.&lt;br /&gt;
&lt;br /&gt;
Also note the (red) warning that a valid question needs at least one set of {wild card} values.&lt;br /&gt;
You will not be allowed to save the question if you don&#039;t do the next step.&lt;br /&gt;
&lt;br /&gt;
===Click on the generate button ===&lt;br /&gt;
[[Image:Simple_calculated_values.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the sets are shown in reverse order so the the number indicates how many sets were created.&lt;br /&gt;
&lt;br /&gt;
The two sets illustrate that the variability defined by the Min and Max values.&lt;br /&gt;
&lt;br /&gt;
Note that the formula result is analyzed and &lt;br /&gt;
&lt;br /&gt;
the tolerance limit (here 1% relative) is shown&lt;br /&gt;
&lt;br /&gt;
The correct response that will be shown to the student is also shown. &lt;br /&gt;
&lt;br /&gt;
The 2 decimals where defined are the default values defined as the last parameter under the Correct formula.&lt;br /&gt;
&lt;br /&gt;
===Click on the Save button===&lt;br /&gt;
&lt;br /&gt;
===Test your first Simple calculated question===&lt;br /&gt;
On the question bank click on the preview icon.&lt;br /&gt;
&lt;br /&gt;
Enter the result you have calculated yourself or click on the Fill with Correct button.&lt;br /&gt;
&lt;br /&gt;
The values should be identical...&lt;br /&gt;
[[Image:Preview_simple_calculated_rectangle_example.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the submit button&lt;br /&gt;
&lt;br /&gt;
[[Image:Previewsimple_calculated_rectangle_example_graded.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Editing a Simple Calculated question: Additional comments==&lt;br /&gt;
&lt;br /&gt;
#Set the &#039;&#039;&#039;default question grade&#039;&#039;&#039; (i.e. the maximum number of marks for this question).&lt;br /&gt;
#Set the &#039;&#039;&#039;Penalty factor&#039;&#039;&#039; (see [[Calculated_question_type#Penalty_factor|Penalty factor]] below).&lt;br /&gt;
[[Calculated_question_type#Correct_answer_formula|Correct answer formula syntax]] for further details.&lt;br /&gt;
# Choose the &#039;&#039;&#039;grade&#039;&#039;&#039; that the student will get for this question if they give this answer. This should be a percentage of the total marks available. For example, you could give 100% for a correct answer, and 50% for an answer that is nearly right. &#039;&#039;&#039;One of the answers must have a 100% grade&#039;&#039;&#039;.&lt;br /&gt;
#Determine the &#039;&#039;&#039;tolerance&#039;&#039;&#039; for error that you will accept in the answer. The tolerance and tolerance type settings combine to give a range of acceptable scores. So, if tolerance = t, correct answer = x and the difference between the user&#039;s answer and the correct answer is dx, then the tolerance types are as follows:&lt;br /&gt;
##Nominal - mark correct if dx &amp;lt;= t&lt;br /&gt;
##Relative - mark correct if dx / x &amp;lt;= t&lt;br /&gt;
# The next 2 settings, &amp;quot;Correct answer shows&amp;quot; and &amp;quot;Format&amp;quot; determine the &#039;&#039;&#039;precision&#039;&#039;&#039; of the Correct answer shown. They are not used for grading.&lt;br /&gt;
# Add some &#039;&#039;&#039;feedback&#039;&#039;&#039; which the student will see if they enter this answer.&lt;br /&gt;
# You can specify as many answer formulae as you like - click &amp;quot;Add another answer blank&amp;quot; to add more.&lt;br /&gt;
# You can also specify units for the answers. For example, if you enter a unit of &#039;cm&#039; here, and the accepted answer is 15, then the answers &#039;15cm&#039; and &#039;15&#039; are both accepted as correct. If you add more than one unit, you can also specify a multiplier. So, if your main answer was 5500 with unit W, you can also add the unit kW with a multiplier of 0.001. This means that the answers &#039;5500&#039;, &#039;5500W&#039; or &#039;5.5kW&#039; would all be marked correct. Note that the accepted error is also multiplied, so an allowed error of 100W would become an error of 0.1kW.&lt;br /&gt;
&lt;br /&gt;
==== Penalty factor ====&lt;br /&gt;
&lt;br /&gt;
The &#039;penalty factor&#039; only applies when the question is used in a quiz using adaptive mode - i.e. where the student is allowed multiple attempts at a question even within the same attempt at the quiz. If the penalty factor is more than 0, then the student will lose that proportion of the &#039;&#039;&#039;maximum&#039;&#039;&#039; grade upon each successive attempt. For example, if the default question grade is 10, and the penalty factor is 0.2, then each successive attempt after the first one will incur a penalty of 0.2 x 10 = 2 points.&lt;br /&gt;
&lt;br /&gt;
==Correct answer formula syntax ==&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;DO NOT PUT THE = sign in the formula&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
* In the recent versions of the calculated question type, you could have more than one answer formula and applied a specific grading value to each of them as long as there is at least one 100% correct answer formula. If more than one correct answer formula input field are displayed when editing, your site has the multiple answer feature. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* As a general rule, write these formulas like you would in a calculator e.g. &amp;lt;code&amp;gt;3 + 5 * sin(3/{x})&amp;lt;/code&amp;gt; A notable exception is exponentiation, where x&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; cannot be entered as &amp;lt;code&amp;gt;{x}^3&amp;lt;/code&amp;gt;, but instead should be entered as &amp;lt;code&amp;gt;pow(x, 3)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Each function&#039;s placeholders and other arguments should be in parentheses (brackets). For example, if you want students to calculate the sine of one angle and cosine of two times of another angle, you would enter &amp;lt;code&amp;gt;sin({a}) + cos({b}*2)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* It&#039;s usually better to have too many parentheses (brackets) than too few.  The server won&#039;t care, and the more specific you are about what you mean, the more likely it will like your complex formulas.&lt;br /&gt;
* There is no implicit multiplication.  To you, the human editor, &amp;quot;5(23)&amp;quot; or &amp;quot;5x&amp;quot; may seem perfectly obvious.  To the server doing the math, it&#039;s crazy talk and won&#039;t be understood.  Always use the &amp;quot;*&amp;quot; for multiplication.&lt;br /&gt;
* Any special mathematical function must have parentheses around its values.  Take the sine function in the first bullet point for instance.  Notice that the &#039;&#039;3 / x&#039;&#039; is wrapped in parentheses (brackets)--this is so the server can understand it properly.  Without those parentheses, the server won&#039;t know if you mean &amp;quot;(sin 3) / x&amp;quot; or &amp;quot;sin (3 / x)&amp;quot; and will reject the entire formula accordingly.&lt;br /&gt;
&lt;br /&gt;
==Available functions==&lt;br /&gt;
&lt;br /&gt;
The [[Calculated_question_type#Available_functions|available functions]] are the same as for the calculated question type.&lt;br /&gt;
&lt;br /&gt;
==Predefined constants==&lt;br /&gt;
Actually there is NO Predefined constant that is allowed other than pi() as a function without parameter.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[de:Berechnungsfragen]]&lt;br /&gt;
[[es:Tipo de Pregunta Calculada Simple]]&lt;br /&gt;
[[zh:計算題]]&lt;br /&gt;
&lt;br /&gt;
[[User:Pierre Pichet|Pierre Pichet]] 00:00, 5 June 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Simple_calculated_question_type&amp;diff=120355</id>
		<title>Simple calculated question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Simple_calculated_question_type&amp;diff=120355"/>
		<updated>2015-11-12T16:57:04Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Test your first Sinple calculated question */ sp correct&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Questions}}&lt;br /&gt;
Simple calculated questions offer a way to create individual numerical questions whose response is the result of a numerical formula which contain variable numerical values  by the use of wildcards  (i.e &#039;&#039;&#039;{x}&#039;&#039;&#039; , &#039;&#039;&#039;{y}&#039;&#039;&#039;) that are substituted with random values when the quiz is taken.&lt;br /&gt;
&lt;br /&gt;
The simple calculated questions offers the most used features of the calculated question with a much simpler creation interface.&lt;br /&gt;
&lt;br /&gt;
== My first Simple calculated question ==&lt;br /&gt;
As a first example you will create a question asking for the surface of a rectangle. Here are the quick steps we will go over in detail:&lt;br /&gt;
*Create the question content with variables shown in {}&lt;br /&gt;
*Enter the formula using the variables and set the tolerance&lt;br /&gt;
*Determine the range of the generated set of variables that will appear in the question content&lt;br /&gt;
*Review the generated set of question contents&lt;br /&gt;
*Since it is your first, check your work from a student&#039;s view&lt;br /&gt;
&lt;br /&gt;
===Initiating the creation process===&lt;br /&gt;
&lt;br /&gt;
Go to the [[Question bank]], select &amp;quot;create a new question&amp;quot; and in the pop-up window select the Simple calculated.&lt;br /&gt;
The Simple calculated question interface will appear.&lt;br /&gt;
Give a name to your question in the title.&lt;br /&gt;
&lt;br /&gt;
===The question text===&lt;br /&gt;
Fill the question text (note that the &#039;&#039;&#039;{param}&#039;&#039;&#039; names can be chosen at will.&lt;br /&gt;
[[Image:Simple_calculated_first_question_text.jpg]]&lt;br /&gt;
&lt;br /&gt;
===The Correct Answer Formula===&lt;br /&gt;
Fill the Correct Answer Formula using the &#039;&#039;&#039;{param}&#039;&#039;&#039; names used in the question text.&lt;br /&gt;
[[Image:Simple_calculated_first_question_formula.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Other answer and response parameters===&lt;br /&gt;
You will set the Grade to 100%, as this is the only answer in this question.&lt;br /&gt;
&lt;br /&gt;
Leave the other parameters as they appears ( 0.01 relative means ±1% tolerance).&lt;br /&gt;
&lt;br /&gt;
===Find the &#039;&#039;&#039;{param}&#039;&#039;&#039; in the formula===&lt;br /&gt;
In simple calculated only the &#039;&#039;&#039;{param}&#039;&#039;&#039; that are in the formula will be used.&lt;br /&gt;
&lt;br /&gt;
In the question text , the &#039;&#039;&#039;{param}&#039;&#039;&#039; that are in the formula&lt;br /&gt;
 &lt;br /&gt;
will appear with there numerical values i.e 6.7 .&lt;br /&gt;
&lt;br /&gt;
Any other {enclosed text} will appear as is i.e. {enclosed text}.&lt;br /&gt;
&lt;br /&gt;
[[Image:Simple_calculated_first_question_find_wild_card.jpg]]&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Click on the button&#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
On reload the two {b} and {h} will be displayed.&lt;br /&gt;
&lt;br /&gt;
===Set the minimum and maximum values===&lt;br /&gt;
Here the &#039;&#039;&#039;{b}&#039;&#039;&#039; range has been set to a 15-20 range and&lt;br /&gt;
&lt;br /&gt;
the &#039;&#039;&#039;{h}&#039;&#039;&#039; range has been set to a 5-10 range &lt;br /&gt;
&lt;br /&gt;
as we want a rectangle with a larger base than height.&lt;br /&gt;
 &lt;br /&gt;
[[Image:Simple_calculated_first_question_set_min_max.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Select the number of sets to generate (here 10) and to display(here 2)===&lt;br /&gt;
Just to illustrate that you can control the number of values displayed which is useful if you create 100 sets.&lt;br /&gt;
&lt;br /&gt;
Also note the (red) warning that a valid question needs at least one set of {wild card} values.&lt;br /&gt;
You will not be allowed to save the question if you don&#039;t do the next step.&lt;br /&gt;
&lt;br /&gt;
===Click on the generate button ===&lt;br /&gt;
[[Image:Simple_calculated_values.jpg]]&lt;br /&gt;
&lt;br /&gt;
Note the sets are shown in reverse order so the the number indicates how many sets were created.&lt;br /&gt;
&lt;br /&gt;
The two sets illustrate that the variability defined by the Min and Max values.&lt;br /&gt;
&lt;br /&gt;
Note that the formula result is analyzed and &lt;br /&gt;
&lt;br /&gt;
the tolerance limit (here 1% relative) is shown&lt;br /&gt;
&lt;br /&gt;
The correct response that will be shown to the student is also shown. &lt;br /&gt;
&lt;br /&gt;
The 2 decimals where defined are the default values defined as the last parameter under the Correct formula.&lt;br /&gt;
&lt;br /&gt;
===Click on the Save button===&lt;br /&gt;
&lt;br /&gt;
===Test your first Simple calculated question===&lt;br /&gt;
On the question bank click on the preview icon.&lt;br /&gt;
&lt;br /&gt;
Enter the result you have calculated yourself or click on the Fill with Correct button.&lt;br /&gt;
&lt;br /&gt;
The values should be identical...&lt;br /&gt;
[[Image:Preview_simple_calculated_rectangle_example.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on the submit button&lt;br /&gt;
&lt;br /&gt;
[[Image:Previewsimple_calculated_rectangle_example_graded.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Editing a Simple Calculated question: Additional comments==&lt;br /&gt;
&lt;br /&gt;
#Set the &#039;&#039;&#039;default question grade&#039;&#039;&#039; (i.e. the maximum number of marks for this question).&lt;br /&gt;
#Set the &#039;&#039;&#039;Penalty factor&#039;&#039;&#039; (see [[Calculated_question_type#Penalty_factor|Penalty factor]] below).&lt;br /&gt;
[[Calculated_question_type#Correct_answer_formula|Correct answer formula syntax]] for further details.&lt;br /&gt;
# Choose the &#039;&#039;&#039;grade&#039;&#039;&#039; that the student will get for this question if they give this answer. This should be a percentage of the total marks available. For example, you could give 100% for a correct answer, and 50% for an answer that is nearly right. &#039;&#039;&#039;One of the answers must have a 100% grade&#039;&#039;&#039;.&lt;br /&gt;
#Determine the &#039;&#039;&#039;tolerance&#039;&#039;&#039; for error that you will accept in the answer. The tolerance and tolerance type settings combine to give a range of acceptable scores. So, if tolerance = t, correct answer = x and the difference between the user&#039;s answer and the correct answer is dx, then the tolerance types are as follows:&lt;br /&gt;
##Nominal - mark correct if dx &amp;lt;= t&lt;br /&gt;
##Relative - mark correct if dx / x &amp;lt;= t&lt;br /&gt;
# The next 2 settings, &amp;quot;Correct answer shows&amp;quot; and &amp;quot;Format&amp;quot; determine the &#039;&#039;&#039;precision&#039;&#039;&#039; of the Correct answer shown. They are not used for grading.&lt;br /&gt;
# Add some &#039;&#039;&#039;feedback&#039;&#039;&#039; which the student will see if they enter this answer.&lt;br /&gt;
# You can specify as many answer formulae as you like - click &amp;quot;Add another answer blank&amp;quot; to add more.&lt;br /&gt;
# You can also specify units for the answers. For example, if you enter a unit of &#039;cm&#039; here, and the accepted answer is 15, then the answers &#039;15cm&#039; and &#039;15&#039; are both accepted as correct. If you add more than one unit, you can also specify a multiplier. So, if your main answer was 5500 with unit W, you can also add the unit kW with a multiplier of 0.001. This means that the answers &#039;5500&#039;, &#039;5500W&#039; or &#039;5.5kW&#039; would all be marked correct. Note that the accepted error is also multiplied, so an allowed error of 100W would become an error of 0.1kW.&lt;br /&gt;
&lt;br /&gt;
==== Penalty factor ====&lt;br /&gt;
&lt;br /&gt;
The &#039;penalty factor&#039; only applies when the question is used in a quiz using adaptive mode - i.e. where the student is allowed multiple attempts at a question even within the same attempt at the quiz. If the penalty factor is more than 0, then the student will lose that proportion of the &#039;&#039;&#039;maximum&#039;&#039;&#039; grade upon each successive attempt. For example, if the default question grade is 10, and the penalty factor is 0.2, then each successive attempt after the first one will incur a penalty of 0.2 x 10 = 2 points.&lt;br /&gt;
&lt;br /&gt;
==Correct answer formula syntax ==&lt;br /&gt;
 &lt;br /&gt;
=== DO NOT PUT THE = sign in the formula. ===&lt;br /&gt;
 &lt;br /&gt;
* In the recent versions of the calculated question type, you could have more than one answer formula and applied a specific grading value to each of them as long as there is at least one 100% correct answer formula.&lt;br /&gt;
 If more than one correct answer formula input field are displayed when editing, &lt;br /&gt;
 your site has the multiple answer feature. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* As a general rule, write these formulas like you would in a calculator e.g. &amp;lt;code&amp;gt;3 + 5 * sin(3/{x})&amp;lt;/code&amp;gt; A notable exception is exponentiation, where x&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt; cannot be entered as &amp;lt;code&amp;gt;{x}^3&amp;lt;/code&amp;gt;, but instead should be entered as &amp;lt;code&amp;gt;pow(x, 3)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Each function&#039;s placeholders and other arguments should be in parentheses (brackets). For example, if you want students to calculate the sine of one angle and cosine of two times of another angle, you would enter &amp;lt;code&amp;gt;sin({a}) + cos({b}*2)&amp;lt;/code&amp;gt;.&lt;br /&gt;
* It&#039;s usually better to have too many parentheses (brackets) than too few.  The server won&#039;t care, and the more specific you are about what you mean, the more likely it will like your complex formulas.&lt;br /&gt;
* There is no implicit multiplication.  To you, the human editor, &amp;quot;5(23)&amp;quot; or &amp;quot;5x&amp;quot; may seem perfectly obvious.  To the server doing the math, it&#039;s crazy talk and won&#039;t be understood.  Always use the &amp;quot;*&amp;quot; for multiplication.&lt;br /&gt;
* Any special mathematical function must have parentheses around its values.  Take the sine function in the first bullet point for instance.  Notice that the &#039;&#039;3 / x&#039;&#039; is wrapped in parentheses (brackets)--this is so the server can understand it properly.  Without those parentheses, the server won&#039;t know if you mean &amp;quot;(sin 3) / x&amp;quot; or &amp;quot;sin (3 / x)&amp;quot; and will reject the entire formula accordingly.&lt;br /&gt;
&lt;br /&gt;
==Available functions==&lt;br /&gt;
&lt;br /&gt;
The [[Calculated_question_type#Available_functions|available functions]] are the same as for the calculated question type.&lt;br /&gt;
&lt;br /&gt;
==Predefined constants==&lt;br /&gt;
Actually there is NO Predefined constant that is allowed other than pi() as a function without parameter.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[de:Berechnungsfragen]]&lt;br /&gt;
[[es:Tipo de Pregunta Calculada Simple]]&lt;br /&gt;
[[zh:計算題]]&lt;br /&gt;
&lt;br /&gt;
[[User:Pierre Pichet|Pierre Pichet]] 00:00, 5 June 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120354</id>
		<title>Calculated multichoice question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120354"/>
		<updated>2015-11-12T15:26:03Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Text added to choice */ got rid of example quotes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Questions}}&lt;br /&gt;
Calculated multichoice questions are like multichoice questions with the additional property that the elements to select can include formula results from numeric values that are selected randomly from a set when the quiz is taken.&lt;br /&gt;
They use the same wildcards than Calculated questions and their wildcards can be shared with other Calculated multichoice or regular Calculated questions.&lt;br /&gt;
&lt;br /&gt;
The main difference is that text and the formula can be included in the answer choice as {=...}.  &lt;br /&gt;
&lt;br /&gt;
===Text added to choice===&lt;br /&gt;
In this example we want the student to see text in the answer along with the answer.  Given a question written by the teacher as:&lt;br /&gt;
 Calculate the area of a rectangle where l = {A} cm  and h = {B}cm.&lt;br /&gt;
&lt;br /&gt;
The correct answer choice text written by the teacher would be:&lt;br /&gt;
 The rectangle&#039;s area is {={A}*{B}} cm2.&lt;br /&gt;
&lt;br /&gt;
The correct answer&#039;s choice will display as:&lt;br /&gt;
 The rectangle area is 10.0 cm&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The variables picked by the dataset in the example were {A} = 4.0  {B} = 2.5 .&lt;br /&gt;
&lt;br /&gt;
===Showing a formula as a choice===&lt;br /&gt;
In this example, we want the student to demonstrate they know how to correctly factor out a binomial equation.  We want every student to have a unique problem to solve. &lt;br /&gt;
&lt;br /&gt;
For example the teacher enters the question as:&lt;br /&gt;
 Given the binomial equation 3x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;+5xy+2y&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;, where x = {A} and y={B} how would you simplify it before solving it?&lt;br /&gt;
&lt;br /&gt;
The correct choice would be written:&lt;br /&gt;
 This polynomial can be reduced to (3*{A}+{B})({A}+2*{B}).&lt;br /&gt;
&lt;br /&gt;
This choice would display as:&lt;br /&gt;
 This polynomial can be reduced to (3+2)(1+4).&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
These sections in the Calculated question type page are useful.&lt;br /&gt;
*[[Calculated_question_type#Wildcards_and_datasets|Handling of the wild cards]], *[[Calculated_question_type#Available_functions|available functions]]  &lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[de:Berechnete Multiple-Choice-Fragen]]&lt;br /&gt;
[[es:Tipo de Pregunta Calculada mutiopción]]&lt;br /&gt;
[[fr:Question calculée à choix multiple]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120353</id>
		<title>Calculated multichoice question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120353"/>
		<updated>2015-11-12T15:25:22Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Showing a formula as a choice */ display the example differently, no need for quotes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Questions}}&lt;br /&gt;
Calculated multichoice questions are like multichoice questions with the additional property that the elements to select can include formula results from numeric values that are selected randomly from a set when the quiz is taken.&lt;br /&gt;
They use the same wildcards than Calculated questions and their wildcards can be shared with other Calculated multichoice or regular Calculated questions.&lt;br /&gt;
&lt;br /&gt;
The main difference is that text and the formula can be included in the answer choice as {=...}.  &lt;br /&gt;
&lt;br /&gt;
===Text added to choice===&lt;br /&gt;
In this example we want the student to see text in the answer along with the answer.  Given a question written by the teacher as:&lt;br /&gt;
 &amp;quot;Calculate the area of a rectangle where l = {A} cm  and h = {B}cm.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The correct answer choice text written by the teacher would be:&lt;br /&gt;
 The rectangle&#039;s area is {={A}*{B}} cm2.&lt;br /&gt;
&lt;br /&gt;
The correct answer&#039;s choice will display as:&lt;br /&gt;
 The rectangle area is 10.0 cm&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The variables picked by the dataset in the example were {A} = 4.0  {B} = 2.5 .&lt;br /&gt;
&lt;br /&gt;
===Showing a formula as a choice===&lt;br /&gt;
In this example, we want the student to demonstrate they know how to correctly factor out a binomial equation.  We want every student to have a unique problem to solve. &lt;br /&gt;
&lt;br /&gt;
For example the teacher enters the question as:&lt;br /&gt;
 Given the binomial equation 3x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;+5xy+2y&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;, where x = {A} and y={B} how would you simplify it before solving it?&lt;br /&gt;
&lt;br /&gt;
The correct choice would be written:&lt;br /&gt;
 This polynomial can be reduced to (3*{A}+{B})({A}+2*{B}).&lt;br /&gt;
&lt;br /&gt;
This choice would display as:&lt;br /&gt;
 This polynomial can be reduced to (3+2)(1+4).&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
These sections in the Calculated question type page are useful.&lt;br /&gt;
*[[Calculated_question_type#Wildcards_and_datasets|Handling of the wild cards]], *[[Calculated_question_type#Available_functions|available functions]]  &lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[de:Berechnete Multiple-Choice-Fragen]]&lt;br /&gt;
[[es:Tipo de Pregunta Calculada mutiopción]]&lt;br /&gt;
[[fr:Question calculée à choix multiple]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120352</id>
		<title>Calculated multichoice question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120352"/>
		<updated>2015-11-12T15:23:43Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Text added to choice */ simple language, however we need to note the correct text filter to display super number in the answer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Questions}}&lt;br /&gt;
Calculated multichoice questions are like multichoice questions with the additional property that the elements to select can include formula results from numeric values that are selected randomly from a set when the quiz is taken.&lt;br /&gt;
They use the same wildcards than Calculated questions and their wildcards can be shared with other Calculated multichoice or regular Calculated questions.&lt;br /&gt;
&lt;br /&gt;
The main difference is that text and the formula can be included in the answer choice as {=...}.  &lt;br /&gt;
&lt;br /&gt;
===Text added to choice===&lt;br /&gt;
In this example we want the student to see text in the answer along with the answer.  Given a question written by the teacher as:&lt;br /&gt;
 &amp;quot;Calculate the area of a rectangle where l = {A} cm  and h = {B}cm.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The correct answer choice text written by the teacher would be:&lt;br /&gt;
 The rectangle&#039;s area is {={A}*{B}} cm2.&lt;br /&gt;
&lt;br /&gt;
The correct answer&#039;s choice will display as:&lt;br /&gt;
 The rectangle area is 10.0 cm&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The variables picked by the dataset in the example were {A} = 4.0  {B} = 2.5 .&lt;br /&gt;
&lt;br /&gt;
===Showing a formula as a choice===&lt;br /&gt;
In this example, we want the student to demonstrate they know how to correctly factor out a binomial equation.  We want every student to have a unique problem to solve. &lt;br /&gt;
&lt;br /&gt;
For example the teacher enters the question as: &amp;quot;Given the binomial equation 3x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;+5xy+2y&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;, where x = {A} and y={B} how would you simplify it before solving it?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The correct choice would be written: &amp;quot;This polynomial can be reduced to (3*{A}+{B})({A}+2*{B}).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This choice would display as &amp;quot;This polynomial can be reduced to (3+2)(1+4).&amp;quot; &lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
These sections in the Calculated question type page are useful.&lt;br /&gt;
*[[Calculated_question_type#Wildcards_and_datasets|Handling of the wild cards]], *[[Calculated_question_type#Available_functions|available functions]]  &lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[de:Berechnete Multiple-Choice-Fragen]]&lt;br /&gt;
[[es:Tipo de Pregunta Calculada mutiopción]]&lt;br /&gt;
[[fr:Question calculée à choix multiple]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120351</id>
		<title>Calculated multichoice question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120351"/>
		<updated>2015-11-12T14:55:40Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: Added see also section and comment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Questions}}&lt;br /&gt;
Calculated multichoice questions are like multichoice questions with the additional property that the elements to select can include formula results from numeric values that are selected randomly from a set when the quiz is taken.&lt;br /&gt;
They use the same wildcards than Calculated questions and their wildcards can be shared with other Calculated multichoice or regular Calculated questions.&lt;br /&gt;
&lt;br /&gt;
The main difference is that text and the formula can be included in the answer choice as {=...}.  &lt;br /&gt;
&lt;br /&gt;
===Text added to choice===&lt;br /&gt;
 &amp;quot;Calculate the area of a rectangle where l = {A} cm  and h = {B}cm.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The value will be displayed as set by the &#039;&#039;&#039;Correct answer shows&#039;&#039;&#039; (0,1,2 etc) and &#039;&#039;&#039;Format&#039;&#039;&#039; (decimals, significant figures).&lt;br /&gt;
&lt;br /&gt;
The Choice text for the correct answer would be:&lt;br /&gt;
The rectangle&#039;s area is {={A}*{B}} cm2.&lt;br /&gt;
&lt;br /&gt;
The correct answer&#039;s choice will display as:&lt;br /&gt;
The rectangle area is 10.0 cm&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; &lt;br /&gt;
&lt;br /&gt;
When {A} = 4,0 ,  {B} = 2,5  and the &#039;&#039;&#039;Correct answer shows&#039;&#039;&#039; a score of at least 1 and the &#039;&#039;&#039;Format&#039;&#039;&#039; is in decimals.&lt;br /&gt;
===Showing a formula as a choice===&lt;br /&gt;
In this example, we want the student to demonstrate they know how to correctly factor out a binomial equation.  We want every student to have a unique problem to solve. &lt;br /&gt;
&lt;br /&gt;
For example the teacher enters the question as: &amp;quot;Given the binomial equation 3x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;+5xy+2y&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;, where x = {A} and y={B} how would you simplify it before solving it?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The correct choice would be written: &amp;quot;This polynomial can be reduced to (3*{A}+{B})({A}+2*{B}).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This choice would display as &amp;quot;This polynomial can be reduced to (3+2)(1+4).&amp;quot; &lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
These sections in the Calculated question type page are useful.&lt;br /&gt;
*[[Calculated_question_type#Wildcards_and_datasets|Handling of the wild cards]], *[[Calculated_question_type#Available_functions|available functions]]  &lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[de:Berechnete Multiple-Choice-Fragen]]&lt;br /&gt;
[[es:Tipo de Pregunta Calculada mutiopción]]&lt;br /&gt;
[[fr:Question calculée à choix multiple]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120350</id>
		<title>Calculated multichoice question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120350"/>
		<updated>2015-11-12T14:51:58Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Showing a formula as a choice */ &amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Questions}}&lt;br /&gt;
Calculated multichoice questions are like multichoice questions with the additional property that the elements to select can include formula results from numeric values that are selected randomly from a set when the quiz is taken.&lt;br /&gt;
They use the same wildcards than Calculated questions and their wildcards can be shared with other Calculated multichoice or regular Calculated questions.&lt;br /&gt;
&lt;br /&gt;
The main difference is that text and the formula can be included in the answer choice as {=...}.  &lt;br /&gt;
&lt;br /&gt;
===Text added to choice===&lt;br /&gt;
 &amp;quot;Calculate the area of a rectangle where l = {A} cm  and h = {B}cm.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The value will be displayed as set by the &#039;&#039;&#039;Correct answer shows&#039;&#039;&#039; (0,1,2 etc) and &#039;&#039;&#039;Format&#039;&#039;&#039; (decimals, significant figures).&lt;br /&gt;
&lt;br /&gt;
The Choice text for the correct answer would be:&lt;br /&gt;
The rectangle&#039;s area is {={A}*{B}} cm2.&lt;br /&gt;
&lt;br /&gt;
The correct answer&#039;s choice will display as:&lt;br /&gt;
The rectangle area is 10.0 cm&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; &lt;br /&gt;
&lt;br /&gt;
When {A} = 4,0 ,  {B} = 2,5  and the &#039;&#039;&#039;Correct answer shows&#039;&#039;&#039; a score of at least 1 and the &#039;&#039;&#039;Format&#039;&#039;&#039; is in decimals.&lt;br /&gt;
===Showing a formula as a choice===&lt;br /&gt;
In this example, we want the student to demonstrate they know how to correctly factor out a binomial equation.  We want every student to have a unique problem to solve. &lt;br /&gt;
&lt;br /&gt;
For example the teacher enters the question as: &amp;quot;Given the binomial equation 3x&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;+5xy+2y&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;, where x = {A} and y={B} how would you simplify it before solving it?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The correct choice would be written: &amp;quot;This polynomial can be reduced to (3*{A}+{B})({A}+2*{B}).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This choice would display as &amp;quot;This polynomial can be reduced to (3+2)(1+4).&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Calculated_question_type#Wildcards_and_datasets|Handling of the wild cards]], and the [[Calculated_question_type#Available_functions|available functions]] is similar to the calculated question type.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[de:Berechnete Multiple-Choice-Fragen]]&lt;br /&gt;
[[es:Tipo de Pregunta Calculada mutiopción]]&lt;br /&gt;
[[fr:Question calculée à choix multiple]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120349</id>
		<title>Calculated multichoice question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120349"/>
		<updated>2015-11-12T14:37:35Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Showing a formula as a choice */ add this sub section, will come back to reformat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Questions}}&lt;br /&gt;
Calculated multichoice questions are like multichoice questions with the additional property that the elements to select can include formula results from numeric values that are selected randomly from a set when the quiz is taken.&lt;br /&gt;
They use the same wildcards than Calculated questions and their wildcards can be shared with other Calculated multichoice or regular Calculated questions.&lt;br /&gt;
&lt;br /&gt;
The main difference is that text and the formula can be included in the answer choice as {=...}.  &lt;br /&gt;
&lt;br /&gt;
===Text added to choice===&lt;br /&gt;
 &amp;quot;Calculate the area of a rectangle where l = {A} cm  and h = {B}cm.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The value will be displayed as set by the &#039;&#039;&#039;Correct answer shows&#039;&#039;&#039; (0,1,2 etc) and &#039;&#039;&#039;Format&#039;&#039;&#039; (decimals, significant figures).&lt;br /&gt;
&lt;br /&gt;
The Choice text for the correct answer would be:&lt;br /&gt;
The rectangle&#039;s area is {={A}*{B}} cm2.&lt;br /&gt;
&lt;br /&gt;
The correct answer&#039;s choice will display as:&lt;br /&gt;
The rectangle area is 10.0 cm&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; &lt;br /&gt;
&lt;br /&gt;
When {A} = 4,0 ,  {B} = 2,5  and the &#039;&#039;&#039;Correct answer shows&#039;&#039;&#039; a score of at least 1 and the &#039;&#039;&#039;Format&#039;&#039;&#039; is in decimals.&lt;br /&gt;
===Showing a formula as a choice===&lt;br /&gt;
In this example, we want the student to demonstrate they know how to correctly factor out a binomial equation.  We want every student to have a unique problem to solve. &lt;br /&gt;
&lt;br /&gt;
For example the teacher enters the question as: &amp;quot;Given the binomial equation 3x^2+5xy+2y^2, where x = {A} and y={B} how would you simplify it before solving it?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The correct choice would be written: &amp;quot;This polynomial can be reduced to (3*{A}+{B})({A}+2*{B}).&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This choice would display as &amp;quot;This polynomial can be reduced to (3+2)(1+4).&amp;quot; &lt;br /&gt;
&lt;br /&gt;
[[Calculated_question_type#Wildcards_and_datasets|Handling of the wild cards]], and the [[Calculated_question_type#Available_functions|available functions]] is similar to the calculated question type.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[de:Berechnete Multiple-Choice-Fragen]]&lt;br /&gt;
[[es:Tipo de Pregunta Calculada mutiopción]]&lt;br /&gt;
[[fr:Question calculée à choix multiple]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120348</id>
		<title>Calculated multichoice question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120348"/>
		<updated>2015-11-12T14:25:44Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: created sub category for text example, will add another for showing an equation as choice&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Questions}}&lt;br /&gt;
Calculated multichoice questions are like multichoice questions with the additional property that the elements to select can include formula results from numeric values that are selected randomly from a set when the quiz is taken.&lt;br /&gt;
They use the same wildcards than Calculated questions and their wildcards can be shared with other Calculated multichoice or regular Calculated questions.&lt;br /&gt;
&lt;br /&gt;
The main difference is that text and the formula can be included in the answer choice as {=...}.  &lt;br /&gt;
&lt;br /&gt;
===Text added to choice===&lt;br /&gt;
For example the teacher enters the question as: &amp;quot;Calculate the area of a rectangle where l = {A} cm  and h = {B}cm.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The value will be displayed as set by the &#039;&#039;&#039;Correct answer shows&#039;&#039;&#039; (0,1,2 etc) and &#039;&#039;&#039;Format&#039;&#039;&#039; (decimals, significant figures).&lt;br /&gt;
&lt;br /&gt;
The Choice text for the correct answer would be:&lt;br /&gt;
The rectangle&#039;s area is {={A}*{B}} cm2.&lt;br /&gt;
&lt;br /&gt;
The correct answer&#039;s choice will display as:&lt;br /&gt;
The rectangle area is 10.0 cm&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; &lt;br /&gt;
&lt;br /&gt;
When {A} = 4,0 ,  {B} = 2,5  and the &#039;&#039;&#039;Correct answer shows&#039;&#039;&#039; a score of at least 1 and the &#039;&#039;&#039;Format&#039;&#039;&#039; is in decimals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Calculated_question_type#Wildcards_and_datasets|Handling of the wild cards]], and the [[Calculated_question_type#Available_functions|available functions]] is similar to the calculated question type.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[de:Berechnete Multiple-Choice-Fragen]]&lt;br /&gt;
[[es:Tipo de Pregunta Calculada mutiopción]]&lt;br /&gt;
[[fr:Question calculée à choix multiple]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Talk:Calculated_multichoice_question_type&amp;diff=120347</id>
		<title>Talk:Calculated multichoice question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Talk:Calculated_multichoice_question_type&amp;diff=120347"/>
		<updated>2015-11-12T14:18:46Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: Note to self about possible future example.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Poor example ==&lt;br /&gt;
Apologies because my math stopped at Algebra II many years ago.  I am trying to sort out the difference between these calculated question types.  I did not see an example of the question being asked.  I thought the answer was similar to the calculated except that the teacher can add text.--[[User:chris collman|chris collman]] ([[User talk:chris collman|talk]]) 22:18, 12 November 2015 (AWST)&lt;br /&gt;
&lt;br /&gt;
===Perhaps an additional and  more exciting example===&lt;br /&gt;
However, when I tried this for the first time, I discovered by mistake that it would also display a formula in the answer.   I was wondering about a question that said:&lt;br /&gt;
&lt;br /&gt;
Given the binomial equation 3x^2+5xy+2y^2, where x = {A} and y={B}  how would you simplify it before solving it?   (Once I discover how to write one in MoodleDocs, I will come back with a correctly formatted example)&lt;br /&gt;
&lt;br /&gt;
The correct choice would be written:  &amp;quot;This polynomial can be reduced to (3*{A}+{B})({A}+2*{B}).&amp;quot;   &lt;br /&gt;
&lt;br /&gt;
This choice would display as &amp;quot;This polynomial can be reduced to (3+2)(1+4).&amp;quot;   --[[User:chris collman|chris collman]] ([[User talk:chris collman|talk]]) 22:18, 12 November 2015 (AWST)&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120346</id>
		<title>Calculated multichoice question type</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Calculated_multichoice_question_type&amp;diff=120346"/>
		<updated>2015-11-12T13:34:10Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: Made complete sentences, added question, used A &amp;amp; B as dataset variable to sub for l and h&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Questions}}&lt;br /&gt;
Calculated multichoice questions are like multichoice questions with the additional property that the elements to select can include formula results from numeric values that are selected randomly from a set when the quiz is taken.&lt;br /&gt;
They use the same wildcards than Calculated questions and their wildcards can be shared with other Calculated multichoice or regular Calculated questions.&lt;br /&gt;
&lt;br /&gt;
The main difference is that the formula is included in the answer choice as {=...}.  &lt;br /&gt;
&lt;br /&gt;
For example the teacher enters the question as: &amp;quot;Calculate the area of a rectangle where l = {A} cm  and h = {B}cm.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The value will be displayed as set by the &#039;&#039;&#039;Correct answer shows&#039;&#039;&#039; (0,1,2 etc) and &#039;&#039;&#039;Format&#039;&#039;&#039; (decimals, significant figures).&lt;br /&gt;
&lt;br /&gt;
The Choice text for the correct answer would be:&lt;br /&gt;
The rectangle&#039;s area is {={A}*{B}} cm2.&lt;br /&gt;
&lt;br /&gt;
The correct answer&#039;s choice will display as:&lt;br /&gt;
The rectangle area is 10.0 cm&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; &lt;br /&gt;
&lt;br /&gt;
When {A} = 4,0 ,  {B} = 2,5  and the &#039;&#039;&#039;Correct answer shows&#039;&#039;&#039; a score of at least 1 and the &#039;&#039;&#039;Format&#039;&#039;&#039; is in decimals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Calculated_question_type#Wildcards_and_datasets|Handling of the wild cards]], and the [[Calculated_question_type#Available_functions|available functions]] is similar to the calculated question type.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mathematics]]&lt;br /&gt;
&lt;br /&gt;
[[de:Berechnete Multiple-Choice-Fragen]]&lt;br /&gt;
[[es:Tipo de Pregunta Calculada mutiopción]]&lt;br /&gt;
[[fr:Question calculée à choix multiple]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Glossary_settings&amp;diff=120341</id>
		<title>Glossary settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Glossary_settings&amp;diff=120341"/>
		<updated>2015-11-11T18:06:16Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Entries shown per page */ give example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Glossary}}&lt;br /&gt;
==Adding a glossary==&lt;br /&gt;
To add a glossary:&lt;br /&gt;
#With the editing turned on, in the section you wish to add your glossary, click the &amp;quot;Add an activity or resource&amp;quot; link (or, if not present, the &amp;quot;Add an activity&amp;quot; drop down menu ) and choose &#039;&#039;Glossary.&#039;&#039; All settings may expanded by clicking the &amp;quot;Expand all&amp;quot; link top right.&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:glossarydescription.png|thumb|477px|General settings expanded by default]]&lt;br /&gt;
|}&lt;br /&gt;
===Name===&lt;br /&gt;
Give your new glossary a descriptive name. &lt;br /&gt;
===Description===&lt;br /&gt;
Describe the purpose of the glossary and provide instructions or background information, links etc. Click the icon top left to expand the toolbars, and drag the bottom right of the text box out to expand it.&lt;br /&gt;
&lt;br /&gt;
===Display description on course page===&lt;br /&gt;
If this box is ticked, the description will appear on the course page just below the name of the glossary.&lt;br /&gt;
===Is this glossary global?===&lt;br /&gt;
&lt;br /&gt;
Administrators can make a global glossary, with entries linking throughout the whole Moodle site. Any course may contain a global glossary, though the best practice is to place a global glossary on the site front page.&lt;br /&gt;
&lt;br /&gt;
===Glossary type===&lt;br /&gt;
&lt;br /&gt;
Here you can decide whether the glossary will be main or secondary. The glossary system allows you to export entries from any secondary glossary to the main one of the course. In order to do this, you should specify which glossary is the main one. You can only have one main glossary per course.&lt;br /&gt;
&lt;br /&gt;
==Entries==&lt;br /&gt;
(These settings are collapsed by default)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:glossaryentries.png|thumb|300px|Entries settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Approved by default===&lt;br /&gt;
If set to &amp;quot;yes&amp;quot; then new entries appear automatically. If not, then the teacher must approve each one first.&lt;br /&gt;
===Always allow editing===&lt;br /&gt;
If set to &amp;quot;yes&amp;quot;, students can edit their entries at any time. If not, then they can only edit for a certain period (as defined in [[Site policies]]).&lt;br /&gt;
&lt;br /&gt;
===Duplicate entries allowed===&lt;br /&gt;
This allows the entry of more than one definition for a given word.&lt;br /&gt;
===Allow comments on entries===&lt;br /&gt;
Students and teachers can leave comments on glossary definitions. The comments are available through a link at the bottom of the definition.&lt;br /&gt;
&lt;br /&gt;
===Automatically link glossary entries===&lt;br /&gt;
If the [[Glossary auto-linking filter]] is enabled by an administrator (see [[Filters]] for further details), then turning this on allows individual entries in this glossary to be automatically linked whenever the concept words and phrases appear throughout the rest of the same course. This includes forum postings, internal resources, week summaries and so on.&lt;br /&gt;
{|&lt;br /&gt;
|[[Image:Glossaryautolink.png|thumb|400px|An auto-linked word in a forum]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Enabling linking for the glossary does not automatically turn on linking for each entry - linking needs to be set for each entry individually. If you do not want particular text to be linked (in a forum posting, say) then you should add &amp;lt;nolink&amp;gt; and &amp;lt;/nolink&amp;gt; tags around the text. Note that category names are also linked.&lt;br /&gt;
&lt;br /&gt;
==Appearance==&lt;br /&gt;
(These settings are collapsed by default)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:glosssaryappearance.png|thumb|430px|Appearance settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Display format===&lt;br /&gt;
&lt;br /&gt;
That specifies the way that each entry will be shown within the glossary. The default formats are:&lt;br /&gt;
&lt;br /&gt;
* Simple, dictionary style - This looks like a conventional dictionary with separate entries. No authors are displayed and attachments are shown as links. &lt;br /&gt;
* Continuous without author - Like the simple style. Shows the entries one after other without any kind of separation but the editing icons, but only if your theme supports it, you usually have to modify the theme if you want an alternative appearance to the simple setting.&lt;br /&gt;
* Full with author - A forum-like display format showing author&#039;s data. Attachments are shown as links. &lt;br /&gt;
* Full without author - A forum-like display format that does not show author&#039;s data. Attachments are shown as links. &lt;br /&gt;
* Encyclopedia - Like &#039;Full with author&#039; but attached images are shown inline.&lt;br /&gt;
* Entry list - This lists the concepts as links.&lt;br /&gt;
* FAQ  - Useful for displaying lists of frequently asked questions. It automatically appends the words QUESTION and ANSWER in the concept and definition respectively.&lt;br /&gt;
&lt;br /&gt;
See [[Glossary FAQ]] for more information on the code for the different display formats.&lt;br /&gt;
&lt;br /&gt;
===Approval display format===&lt;br /&gt;
It is possible to set an alternative display format for when entries are approved that can differ from the display format on the course page. This could be useful for instance if a tutor wants to see who made a particular glossary entry before approving it but doesn&#039;t want the students&#039; name to be displayed for others on the course page.&lt;br /&gt;
===Entries shown per page===&lt;br /&gt;
Enter the number of entries to show to the user looking at the glossary activity.  For example, the teacher may want to display one definition at a time to a student.  The default is 10 entries.&lt;br /&gt;
&lt;br /&gt;
===Show alphabet links===&lt;br /&gt;
If set to &amp;quot;yes&amp;quot;, users can browse the glossary by letters of the alphabet.&lt;br /&gt;
===Show &#039;ALL&#039; link===&lt;br /&gt;
If set to &amp;quot;yes&amp;quot;, users can browse all the entries at once&lt;br /&gt;
===Show &#039;Special&#039; link===&lt;br /&gt;
If set to &amp;quot;yes&amp;quot;, users can can browse the glossary by special characters, such as @ and #.&lt;br /&gt;
===Allow print view===&lt;br /&gt;
This provides a printer-friendly version link for students. (Teachers are always provided with a printer-friendly version link.)&lt;br /&gt;
===Grade to pass===&lt;br /&gt;
Here you can set a passing grade for the glossary. This may be connected with [[Activity completion]] and [[Conditional activities]] such that a student will not be able to access a follow up activity until they have obtained the required rating in this glossary.&lt;br /&gt;
&lt;br /&gt;
==RSS==&lt;br /&gt;
(These settings are collapsed by default and only visible if RSS has been enabled on the site and for the glossary.)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:glossaryrss.png|thumb|450px|RSS settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===RSS feed for this activity===&lt;br /&gt;
&lt;br /&gt;
This turns RSS on or off. When set to “None,” the RSS feed is disabled. When set to “Concepts with authors,” the RSS feed will send out the glossary entries with the name of the author. When set to “Concepts without authors,” the RSS feed sends out glossary entries without the name of the author. &lt;br /&gt;
&lt;br /&gt;
===Number of RSS recent articles===&lt;br /&gt;
&lt;br /&gt;
This number sets the number of entries that go out via RSS. If this number is set to 5, then the 5 most recent articles will be sent to subscribers. As new entries get added, the oldest entry gets replaced on the RSS feed. If your glossary gets a lot of posts every day, you will want to set this number high. &lt;br /&gt;
&lt;br /&gt;
When RSS is enabled for your glossary, an orange RSS button appears on the main page (in the upper right-hand side). When a user clicks on the RSS button, they see the [[XML]] code displayed, needed by the news-reader. Once a user has the RSS news-feed link, adding it to a reader is simple and will then display Glossary aggregated information, along with other information they subscribe to.&lt;br /&gt;
&lt;br /&gt;
==Grade==&lt;br /&gt;
(This setting is collapsed by default)&lt;br /&gt;
Choose the category in which this glossary will appear if ratings are enabled.&lt;br /&gt;
&lt;br /&gt;
==Ratings==&lt;br /&gt;
(This setting is collapsed by default)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:glossaryratings.png|thumb|466px|Ratings settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Roles with permissions to rate===&lt;br /&gt;
Glossary entries can be rated using a [[Scales|scale]]. By default, only teachers can rate glossary entries, though students can be given permission to do so if desired from &#039;&#039;Administration&amp;gt;Glossary administration&#039;&#039;. This is a useful tool for giving students participation grades. Any ratings given are recorded in the [[Gradebook|gradebook]].&lt;br /&gt;
&lt;br /&gt;
==Common module settings==&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
&lt;br /&gt;
See [[Common module settings]]&lt;br /&gt;
&lt;br /&gt;
Note that glossaries at present do not support groups. See MDL-10728.  However, you can restrict glossaries to groups by using the Restrict access options. See [[Conditional activities]] for more details.&lt;br /&gt;
&lt;br /&gt;
==Restrict access/Activity completion==&lt;br /&gt;
(These settings are collapsed by default)&lt;br /&gt;
&lt;br /&gt;
The Restrict access and Activity completion settings are visible if [[Conditional activities]] and [[Activity completion]] have been enabled in the site and the course.&lt;br /&gt;
&lt;br /&gt;
==Adding a new glossary entry==&lt;br /&gt;
See [[Using Glossary]]&lt;br /&gt;
&lt;br /&gt;
==Glossary permissions==&lt;br /&gt;
Role permissions for the activity can be changed in &#039;&#039;Settings &amp;gt; Glossary administration &amp;gt; Permissions.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
==Site administration settings==&lt;br /&gt;
&lt;br /&gt;
The glossary module has additional settings which may be changed by an administrator in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Activity modules &amp;gt; Glossary&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Glossary level default settings ===&lt;br /&gt;
&lt;br /&gt;
* glossary_entbypage - Number of Glossary entries shown per page. Default is set to 10.&lt;br /&gt;
* glossary_dupentries - Whether or not the Glossary will allow duplicate entries. Default is set to &amp;quot;No&amp;quot;.&lt;br /&gt;
* glossary_allowcomments - Whether or not the Glossary will accept user comments on its entries. Default is set to &amp;quot;No&amp;quot;.&lt;br /&gt;
* glossary_linkbydefault - Whether or not a glossary should be automatically linked. Default is set to &amp;quot;Yes&amp;quot;.&lt;br /&gt;
* glossary_defaultapproval - Whether or not the Glossary will define the approval status of an entry posted by a student. Default is set to &amp;quot;Yes&amp;quot;.&lt;br /&gt;
* glossary_enablerssfeeds - Enabling of RSS feeds for all glossaries. Default is set to &amp;quot;No&amp;quot;. Note: feeds will still need to be turned on manually in the settings for each glossary.&lt;br /&gt;
&lt;br /&gt;
=== Entry level default settings===&lt;br /&gt;
&lt;br /&gt;
* glossary_linkentries - Whether or not glossary entries should be automatically linked. Default is set to &amp;quot;No&amp;quot;. &lt;br /&gt;
* glossary_casesensitive - Whether or not an entry is case sensitive when linked. Default is set to &amp;quot;No&amp;quot;.&lt;br /&gt;
* glossary_fullmatch - Whether or not an entry should match the case in the target text by default when linked. Default is set to &amp;quot;No&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Display Formats Setup === &lt;br /&gt;
&lt;br /&gt;
To hide or show any of these entries, simply click on the &amp;quot;eye&amp;quot; icon next to the entry. Clicking on the &amp;quot;writing hand&amp;quot; icon will take you to the settings page for that entry.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://youtu.be/y82WI5DJzkE Moodle 2 Glossary]  MoodleBites video on YouTube &lt;br /&gt;
&lt;br /&gt;
[[Category:Site administration]]&lt;br /&gt;
&lt;br /&gt;
[[de:Glossar konfigurieren]]&lt;br /&gt;
[[ja:用語集エントリを追加/編集する]]&lt;br /&gt;
[[es:Configuraciones del glosario]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120285</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120285"/>
		<updated>2015-10-28T16:43:55Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* =Example of a Moodle 2.9 config.php file */ here is image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
Allow an hour or more to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. A best practice is to give the xampp folder a name that is unique.  For example in C:\xampp568&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel. Say yes.   You can find the XAMPP-control.exe file in your XMAMPP folder.  It is useful.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. Alternatively, there are several start stop bat and exe files in the xampp folder.  The XAMPP-control.exe file takes the place of these.&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type local host  or http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed which means your webserver is working. Click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field.  Usually this is simply moodle, but you might say moodle310.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern.  On the XAMPP page there is a security link on the left. It will help you create a MySQL user and security password. Usually this user is called root.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. If you anticipate adding different versions of moodle on your XAMPP server, give the moodledata folder a unique name.&lt;br /&gt;
*For example: &amp;quot;C:\X_server\moodledata301&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata151&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
The screen shot below is out of date.  However, enter the database settings. The fields are populated with some suggested values. &lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.  &lt;br /&gt;
*In later versions of Moodle you maybe asked for the database port number.  Refer to the XAMPP-Control.exe program main screen for that information.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings.  You may also have issues with other programs and it might be easier to change the port settings in XAMPP and Moodle.  Here is how to change them in Skype. &lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed, using Windows 10?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.  You can put the service called World Wide Web Publishing Service on manual.  If you use MS&#039;s Shared space, then do not fight city hall, leave it running.&lt;br /&gt;
&lt;br /&gt;
You can change the port for you XAMPP webserver.  The easiest way is to use XAMPP-Control.exe, then click on the config button for Apache.  This will open up the httpd.conf file.  Look for the Listen lines.  A best practice is to comment out (with a #) the current active line and type in a new line.  For example you might type &lt;br /&gt;
Listen 127.0.0.1:181&lt;br /&gt;
&lt;br /&gt;
Next you will need to go to the Moodle config.php file and change the wwwroot location by adding the port to the address.  For example: $CFG-&amp;gt;wwwroot   = &#039;http://127.0.0.1:181/moodle&#039;;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to save the file and restart Apache.  &lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
====Example of a Moodle 2.9 config.php file====&lt;br /&gt;
Here is a Moodle 2.9.1 configuration file.   A port has been added to the localhost ip for wwwroot. This webserver can run multiple versions of Moodle. The moodle and moodledata folders have unique names.  The MySQL database name is standard and the tables&#039; prefix are also unique.&lt;br /&gt;
&lt;br /&gt;
[[image:Moodle 2.9.1 config file with port.jpg|thumb|center|100px|Config.php for XAMPP on Windows 10]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120284</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120284"/>
		<updated>2015-10-28T16:37:57Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* =Example of a Moodle 2.9 config.php file */ will change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
Allow an hour or more to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. A best practice is to give the xampp folder a name that is unique.  For example in C:\xampp568&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel. Say yes.   You can find the XAMPP-control.exe file in your XMAMPP folder.  It is useful.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. Alternatively, there are several start stop bat and exe files in the xampp folder.  The XAMPP-control.exe file takes the place of these.&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type local host  or http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed which means your webserver is working. Click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field.  Usually this is simply moodle, but you might say moodle310.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern.  On the XAMPP page there is a security link on the left. It will help you create a MySQL user and security password. Usually this user is called root.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. If you anticipate adding different versions of moodle on your XAMPP server, give the moodledata folder a unique name.&lt;br /&gt;
*For example: &amp;quot;C:\X_server\moodledata301&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata151&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
The screen shot below is out of date.  However, enter the database settings. The fields are populated with some suggested values. &lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.  &lt;br /&gt;
*In later versions of Moodle you maybe asked for the database port number.  Refer to the XAMPP-Control.exe program main screen for that information.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings.  You may also have issues with other programs and it might be easier to change the port settings in XAMPP and Moodle.  Here is how to change them in Skype. &lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed, using Windows 10?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.  You can put the service called World Wide Web Publishing Service on manual.  If you use MS&#039;s Shared space, then do not fight city hall, leave it running.&lt;br /&gt;
&lt;br /&gt;
You can change the port for you XAMPP webserver.  The easiest way is to use XAMPP-Control.exe, then click on the config button for Apache.  This will open up the httpd.conf file.  Look for the Listen lines.  A best practice is to comment out (with a #) the current active line and type in a new line.  For example you might type &lt;br /&gt;
Listen 127.0.0.1:181&lt;br /&gt;
&lt;br /&gt;
Next you will need to go to the Moodle config.php file and change the wwwroot location by adding the port to the address.  For example: $CFG-&amp;gt;wwwroot   = &#039;http://127.0.0.1:181/moodle&#039;;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to save the file and restart Apache.  &lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
=====Example of a Moodle 2.9 config.php file====&lt;br /&gt;
Here is a Moodle 2.9.1 configuration file.   A port has been added to the localhost ip for wwwroot. This webserver can run multiple versions of Moodle. The moodle and moodledata folders have unique names.  The MySQL database name is standard and the tables&#039; prefix are also unique.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=File:Moodle_2.9.1_config_file_with_port.jpg&amp;diff=120283</id>
		<title>File:Moodle 2.9.1 config file with port.jpg</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=File:Moodle_2.9.1_config_file_with_port.jpg&amp;diff=120283"/>
		<updated>2015-10-28T16:34:08Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: This shows a relatively complicated config.php file for a localhost installed on a Windows 10 operating system.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This shows a relatively complicated config.php file for a localhost installed on a Windows 10 operating system.&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120282</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120282"/>
		<updated>2015-10-28T16:30:09Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Still having problems but do not have Skype installed, using Windows 10? */ need to add image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
Allow an hour or more to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. A best practice is to give the xampp folder a name that is unique.  For example in C:\xampp568&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel. Say yes.   You can find the XAMPP-control.exe file in your XMAMPP folder.  It is useful.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. Alternatively, there are several start stop bat and exe files in the xampp folder.  The XAMPP-control.exe file takes the place of these.&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type local host  or http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed which means your webserver is working. Click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field.  Usually this is simply moodle, but you might say moodle310.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern.  On the XAMPP page there is a security link on the left. It will help you create a MySQL user and security password. Usually this user is called root.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. If you anticipate adding different versions of moodle on your XAMPP server, give the moodledata folder a unique name.&lt;br /&gt;
*For example: &amp;quot;C:\X_server\moodledata301&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata151&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
The screen shot below is out of date.  However, enter the database settings. The fields are populated with some suggested values. &lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.  &lt;br /&gt;
*In later versions of Moodle you maybe asked for the database port number.  Refer to the XAMPP-Control.exe program main screen for that information.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings.  You may also have issues with other programs and it might be easier to change the port settings in XAMPP and Moodle.  Here is how to change them in Skype. &lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed, using Windows 10?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.  You can put the service called World Wide Web Publishing Service on manual.  If you use MS&#039;s Shared space, then do not fight city hall, leave it running.&lt;br /&gt;
&lt;br /&gt;
You can change the port for you XAMPP webserver.  The easiest way is to use XAMPP-Control.exe, then click on the config button for Apache.  This will open up the httpd.conf file.  Look for the Listen lines.  A best practice is to comment out (with a #) the current active line and type in a new line.  For example you might type &lt;br /&gt;
Listen 127.0.0.1:181&lt;br /&gt;
&lt;br /&gt;
Next you will need to go to the Moodle config.php file and change the wwwroot location by adding the port to the address.  For example: $CFG-&amp;gt;wwwroot   = &#039;http://127.0.0.1:181/moodle&#039;;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to save the file and restart Apache.  &lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
=====Example of a Moodle 2.9 config.php file====&lt;br /&gt;
Here is a Moodle 2.9.1 configuration file.   A port has been added to the localhost ip for wwwroot. This webserver can run multiple versions of Moodle. The moodle and moodledata folders have unique names.  The MySQL database name is standard and the tables&#039; prefix are also unique.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120281</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120281"/>
		<updated>2015-10-28T16:16:16Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Skype */ edit bydeleting old pictures&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
Allow an hour or more to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. A best practice is to give the xampp folder a name that is unique.  For example in C:\xampp568&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel. Say yes.   You can find the XAMPP-control.exe file in your XMAMPP folder.  It is useful.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. Alternatively, there are several start stop bat and exe files in the xampp folder.  The XAMPP-control.exe file takes the place of these.&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type local host  or http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed which means your webserver is working. Click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field.  Usually this is simply moodle, but you might say moodle310.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern.  On the XAMPP page there is a security link on the left. It will help you create a MySQL user and security password. Usually this user is called root.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. If you anticipate adding different versions of moodle on your XAMPP server, give the moodledata folder a unique name.&lt;br /&gt;
*For example: &amp;quot;C:\X_server\moodledata301&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata151&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
The screen shot below is out of date.  However, enter the database settings. The fields are populated with some suggested values. &lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.  &lt;br /&gt;
*In later versions of Moodle you maybe asked for the database port number.  Refer to the XAMPP-Control.exe program main screen for that information.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings.  You may also have issues with other programs and it might be easier to change the port settings in XAMPP and Moodle.  Here is how to change them in Skype. &lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed, using Windows 10?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.  You can put the service called World Wide Web Publishing Service on manual.  If you use MS&#039;s Shared space, then do not fight city hall, leave it running.&lt;br /&gt;
&lt;br /&gt;
You can change the port for you XAMPP webserver.  The easiest way is to use XAMPP-Control.exe, then click on the config button for Apache.  This will open up the httpd.conf file.  Look for the Listen lines.  A best practice is to comment out (with a #) the current active line and type in a new line.  For example you might type &lt;br /&gt;
Listen 127.0.0.1:181&lt;br /&gt;
&lt;br /&gt;
Next you will need to go to the Moodle config.php file and change the wwwroot location by adding the port to the address.  For example: $CFG-&amp;gt;wwwroot   = &#039;http://127.0.0.1:181/moodle&#039;;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to save the file and restart Apache.  &lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120280</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120280"/>
		<updated>2015-10-28T16:01:53Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Still having problems but do not have Skype installed? */  edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
Allow an hour or more to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. A best practice is to give the xampp folder a name that is unique.  For example in C:\xampp568&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel. Say yes.   You can find the XAMPP-control.exe file in your XMAMPP folder.  It is useful.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. Alternatively, there are several start stop bat and exe files in the xampp folder.  The XAMPP-control.exe file takes the place of these.&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type local host  or http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed which means your webserver is working. Click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field.  Usually this is simply moodle, but you might say moodle310.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern.  On the XAMPP page there is a security link on the left. It will help you create a MySQL user and security password. Usually this user is called root.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. If you anticipate adding different versions of moodle on your XAMPP server, give the moodledata folder a unique name.&lt;br /&gt;
*For example: &amp;quot;C:\X_server\moodledata301&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata151&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
The screen shot below is out of date.  However, enter the database settings. The fields are populated with some suggested values. &lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.  &lt;br /&gt;
*In later versions of Moodle you maybe asked for the database port number.  Refer to the XAMPP-Control.exe program main screen for that information.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings.  You may also have issues with other programs and it might be easier to change the port settings in XAMPP and Moodle.  Here is how to change them in Skype. &lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype1.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype2.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype3.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed, using Windows 10?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.  You can put the service called World Wide Web Publishing Service on manual.  If you use MS&#039;s Shared space, then do not fight city hall, leave it running.&lt;br /&gt;
&lt;br /&gt;
You can change the port for you XAMPP webserver.  The easiest way is to use XAMPP-Control.exe, then click on the config button for Apache.  This will open up the httpd.conf file.  Look for the Listen lines.  A best practice is to comment out (with a #) the current active line and type in a new line.  For example you might type &lt;br /&gt;
Listen 127.0.0.1:181&lt;br /&gt;
&lt;br /&gt;
Next you will need to go to the Moodle config.php file and change the wwwroot location by adding the port to the address.  For example: $CFG-&amp;gt;wwwroot   = &#039;http://127.0.0.1:181/moodle&#039;;&lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to save the file and restart Apache.  &lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120279</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120279"/>
		<updated>2015-10-28T15:52:06Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Skype */ edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
Allow an hour or more to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. A best practice is to give the xampp folder a name that is unique.  For example in C:\xampp568&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel. Say yes.   You can find the XAMPP-control.exe file in your XMAMPP folder.  It is useful.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. Alternatively, there are several start stop bat and exe files in the xampp folder.  The XAMPP-control.exe file takes the place of these.&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type local host  or http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed which means your webserver is working. Click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field.  Usually this is simply moodle, but you might say moodle310.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern.  On the XAMPP page there is a security link on the left. It will help you create a MySQL user and security password. Usually this user is called root.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. If you anticipate adding different versions of moodle on your XAMPP server, give the moodledata folder a unique name.&lt;br /&gt;
*For example: &amp;quot;C:\X_server\moodledata301&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata151&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
The screen shot below is out of date.  However, enter the database settings. The fields are populated with some suggested values. &lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.  &lt;br /&gt;
*In later versions of Moodle you maybe asked for the database port number.  Refer to the XAMPP-Control.exe program main screen for that information.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings.  You may also have issues with other programs and it might be easier to change the port settings in XAMPP and Moodle.  Here is how to change them in Skype. &lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype1.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype2.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype3.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.&lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120278</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120278"/>
		<updated>2015-10-28T15:49:29Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* MySQL database settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
Allow an hour or more to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. A best practice is to give the xampp folder a name that is unique.  For example in C:\xampp568&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel. Say yes.   You can find the XAMPP-control.exe file in your XMAMPP folder.  It is useful.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. Alternatively, there are several start stop bat and exe files in the xampp folder.  The XAMPP-control.exe file takes the place of these.&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type local host  or http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed which means your webserver is working. Click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field.  Usually this is simply moodle, but you might say moodle310.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern.  On the XAMPP page there is a security link on the left. It will help you create a MySQL user and security password. Usually this user is called root.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. If you anticipate adding different versions of moodle on your XAMPP server, give the moodledata folder a unique name.&lt;br /&gt;
*For example: &amp;quot;C:\X_server\moodledata301&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata151&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
The screen shot below is out of date.  However, enter the database settings. The fields are populated with some suggested values. &lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.  &lt;br /&gt;
*In later versions of Moodle you maybe asked for the database port number.  Refer to the XAMPP-Control.exe program main screen for that information.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings in Skype.&lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype1.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype2.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype3.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.&lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120277</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120277"/>
		<updated>2015-10-28T15:46:30Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Paths for Moodle installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
Allow an hour or more to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. A best practice is to give the xampp folder a name that is unique.  For example in C:\xampp568&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel. Say yes.   You can find the XAMPP-control.exe file in your XMAMPP folder.  It is useful.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. Alternatively, there are several start stop bat and exe files in the xampp folder.  The XAMPP-control.exe file takes the place of these.&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type local host  or http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed which means your webserver is working. Click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field.  Usually this is simply moodle, but you might say moodle310.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern.  On the XAMPP page there is a security link on the left. It will help you create a MySQL user and security password. Usually this user is called root.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. If you anticipate adding different versions of moodle on your XAMPP server, give the moodledata folder a unique name.&lt;br /&gt;
*For example: &amp;quot;C:\X_server\moodledata301&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata151&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
In this screen we enter the database settings. The fields are populated with some suggested values.&lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings in Skype.&lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype1.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype2.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype3.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.&lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120276</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120276"/>
		<updated>2015-10-28T15:44:56Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Prepare server for Moodle */ edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
Allow an hour or more to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. A best practice is to give the xampp folder a name that is unique.  For example in C:\xampp568&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel. Say yes.   You can find the XAMPP-control.exe file in your XMAMPP folder.  It is useful.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. Alternatively, there are several start stop bat and exe files in the xampp folder.  The XAMPP-control.exe file takes the place of these.&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type local host  or http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed which means your webserver is working. Click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field.  Usually this is simply moodle, but you might say moodle310.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern.  On the XAMPP page there is a security link on the left. It will help you create a MySQL user and security password. Usually this user is called root.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. If you anticipate adding different versions of moodle on your XAMPP server, give the moodledata folder a unique name.&lt;br /&gt;
*For example: &amp;quot;C:\X_server\moodledata301&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata151&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp26.gif|thumb|center|Paths to parts of your Moodle]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
In this screen we enter the database settings. The fields are populated with some suggested values.&lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings in Skype.&lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype1.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype2.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype3.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.&lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120275</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120275"/>
		<updated>2015-10-28T15:40:34Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Create the MySQL database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
Allow an hour or more to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. A best practice is to give the xampp folder a name that is unique.  For example in C:\xampp568&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel. Say yes.   You can find the XAMPP-control.exe file in your XMAMPP folder.  It is useful.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. Alternatively, there are several start stop bat and exe files in the xampp folder.  The XAMPP-control.exe file takes the place of these.&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type local host  or http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed which means your webserver is working. Click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field.  Usually this is simply moodle, but you might say moodle310.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern.  On the XAMPP page there is a security link on the left. It will help you create a MySQL user and security password. Usually this user is called root.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most XP Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. &lt;br /&gt;
*For example: &amp;quot;C;\X_server\moodledata&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  &lt;br /&gt;
[[image:Vista_moodle_5.jpg|thumb|125px|right|Windows Vista folder securities tab showing permissions]]&lt;br /&gt;
:For example, in Windows Vista, you will need to manually create your moodledata folder and assign it permissions. To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp26.gif|thumb|center|Paths to parts of your Moodle]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
In this screen we enter the database settings. The fields are populated with some suggested values.&lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings in Skype.&lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype1.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype2.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype3.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.&lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120274</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120274"/>
		<updated>2015-10-28T15:38:02Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Create the MySQL database */ simplify the instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
Allow an hour or more to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. A best practice is to give the xampp folder a name that is unique.  For example in C:\xampp568&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel. Say yes.   You can find the XAMPP-control.exe file in your XMAMPP folder.  It is useful.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. Alternatively, there are several start stop bat and exe files in the xampp folder.  The XAMPP-control.exe file takes the place of these.&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type local host  or http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed which means your webserver is working. Click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field.  Usually this is simply moodle, but you might say moodle310.&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp13.gif|thumb|center|Example of a phpMyAdmin database list, click on moodle to add MySQL users]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 created moodle.png|thumb|center|The database is corrected, notice the privileges icon]]  &lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern.  On the XAMPP page there is a security link on the left. It will help you create a MySQL user and security password. Usually this user is called root.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most XP Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. &lt;br /&gt;
*For example: &amp;quot;C;\X_server\moodledata&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  &lt;br /&gt;
[[image:Vista_moodle_5.jpg|thumb|125px|right|Windows Vista folder securities tab showing permissions]]&lt;br /&gt;
:For example, in Windows Vista, you will need to manually create your moodledata folder and assign it permissions. To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp26.gif|thumb|center|Paths to parts of your Moodle]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
In this screen we enter the database settings. The fields are populated with some suggested values.&lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings in Skype.&lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype1.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype2.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype3.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.&lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120273</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120273"/>
		<updated>2015-10-28T15:30:54Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Launch XAMPP */ removed some picture edited&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
Allow an hour or more to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. A best practice is to give the xampp folder a name that is unique.  For example in C:\xampp568&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel. Say yes.   You can find the XAMPP-control.exe file in your XMAMPP folder.  It is useful.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. Alternatively, there are several start stop bat and exe files in the xampp folder.  The XAMPP-control.exe file takes the place of these.&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed, click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field. &lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp13.gif|thumb|center|Example of a phpMyAdmin database list, click on moodle to add MySQL users]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 created moodle.png|thumb|center|The database is corrected, notice the privileges icon]]  &lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern, but at this point we recommend you click the moodle database, then on the privileges icon. Select one of the root users for editing. Create their passwords. [[Image:PhpMyAdmin3131 privileges edit.png|thumb|center|See the edit action icon]] &lt;br /&gt;
&lt;br /&gt;
The best practice is to create a password for the root user. The &amp;quot;edit action&amp;quot; will give a place to do that. Another good practice is to copy the root user&#039;s privileges to another user. Here we changed the root user to admin, added a password and kept the user called root. [[Image:PhpMyAdmin3131 privileges create admin.png|thumb|center|Creating an admin MySQL user]] &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; On a localhost site, that has no internet security issues, use the same name and password for the user with the most privileges/permissions, usually &amp;quot;admin&amp;quot;, for both MySQL and Moodle.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most XP Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. &lt;br /&gt;
*For example: &amp;quot;C;\X_server\moodledata&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  &lt;br /&gt;
[[image:Vista_moodle_5.jpg|thumb|125px|right|Windows Vista folder securities tab showing permissions]]&lt;br /&gt;
:For example, in Windows Vista, you will need to manually create your moodledata folder and assign it permissions. To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp26.gif|thumb|center|Paths to parts of your Moodle]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
In this screen we enter the database settings. The fields are populated with some suggested values.&lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings in Skype.&lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype1.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype2.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype3.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.&lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120272</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120272"/>
		<updated>2015-10-28T15:25:16Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Installing XAMPP */  removed images, edited instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
Allow an hour or more to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. A best practice is to give the xampp folder a name that is unique.  For example in C:\xampp568&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel. Say yes.   You can find the XAMPP-control.exe file in your XMAMPP folder.  It is useful.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. In the folder you installed XAMPP, look for the XAMPP_start, or XAMPP_restart icon.  &lt;br /&gt;
**When XAMPP start has finished, both Apache and MySQL have been started.&lt;br /&gt;
3. In the folder you installed XAMPP, look for the Apache start and MySQL start icons&lt;br /&gt;
**When Apache and MySQL start icons are used, two black windows command window should remain open&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you have to install the PHP curl library :&lt;br /&gt;
   1. Open the php.ini file found in the php/php.ini folder&lt;br /&gt;
      (older versions of XAMPP use moodle/apache/bin folder)&lt;br /&gt;
   2. Find the line: ;extension=php_curl.dll&lt;br /&gt;
   3. Remove the ; at the beginning of the line&lt;br /&gt;
   4. Restart Apache if necessary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed, click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field. &lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp13.gif|thumb|center|Example of a phpMyAdmin database list, click on moodle to add MySQL users]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 created moodle.png|thumb|center|The database is corrected, notice the privileges icon]]  &lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern, but at this point we recommend you click the moodle database, then on the privileges icon. Select one of the root users for editing. Create their passwords. [[Image:PhpMyAdmin3131 privileges edit.png|thumb|center|See the edit action icon]] &lt;br /&gt;
&lt;br /&gt;
The best practice is to create a password for the root user. The &amp;quot;edit action&amp;quot; will give a place to do that. Another good practice is to copy the root user&#039;s privileges to another user. Here we changed the root user to admin, added a password and kept the user called root. [[Image:PhpMyAdmin3131 privileges create admin.png|thumb|center|Creating an admin MySQL user]] &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; On a localhost site, that has no internet security issues, use the same name and password for the user with the most privileges/permissions, usually &amp;quot;admin&amp;quot;, for both MySQL and Moodle.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most XP Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. &lt;br /&gt;
*For example: &amp;quot;C;\X_server\moodledata&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  &lt;br /&gt;
[[image:Vista_moodle_5.jpg|thumb|125px|right|Windows Vista folder securities tab showing permissions]]&lt;br /&gt;
:For example, in Windows Vista, you will need to manually create your moodledata folder and assign it permissions. To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp26.gif|thumb|center|Paths to parts of your Moodle]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
In this screen we enter the database settings. The fields are populated with some suggested values.&lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings in Skype.&lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype1.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype2.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype3.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.&lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120271</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120271"/>
		<updated>2015-10-28T15:20:12Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Allow yourself some time */ add more time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
Allow an hour or more to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. We told it to install it in a new folder called C:\X_server which XAMPP will create.  You could use the browse button to point to a location.&lt;br /&gt;
&lt;br /&gt;
[[Image:XAMPP171 Install folder.png|center]]&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp3.gif|thumb|center|200px|Installation info screen]]&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp4.gif|center|XAMPP 1.7.1 looks different]]&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp5.gif|center]]&lt;br /&gt;
&lt;br /&gt;
*Click the “No” button.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. In the folder you installed XAMPP, look for the XAMPP_start, or XAMPP_restart icon.  &lt;br /&gt;
**When XAMPP start has finished, both Apache and MySQL have been started.&lt;br /&gt;
3. In the folder you installed XAMPP, look for the Apache start and MySQL start icons&lt;br /&gt;
**When Apache and MySQL start icons are used, two black windows command window should remain open&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you have to install the PHP curl library :&lt;br /&gt;
   1. Open the php.ini file found in the php/php.ini folder&lt;br /&gt;
      (older versions of XAMPP use moodle/apache/bin folder)&lt;br /&gt;
   2. Find the line: ;extension=php_curl.dll&lt;br /&gt;
   3. Remove the ; at the beginning of the line&lt;br /&gt;
   4. Restart Apache if necessary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed, click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field. &lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp13.gif|thumb|center|Example of a phpMyAdmin database list, click on moodle to add MySQL users]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 created moodle.png|thumb|center|The database is corrected, notice the privileges icon]]  &lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern, but at this point we recommend you click the moodle database, then on the privileges icon. Select one of the root users for editing. Create their passwords. [[Image:PhpMyAdmin3131 privileges edit.png|thumb|center|See the edit action icon]] &lt;br /&gt;
&lt;br /&gt;
The best practice is to create a password for the root user. The &amp;quot;edit action&amp;quot; will give a place to do that. Another good practice is to copy the root user&#039;s privileges to another user. Here we changed the root user to admin, added a password and kept the user called root. [[Image:PhpMyAdmin3131 privileges create admin.png|thumb|center|Creating an admin MySQL user]] &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; On a localhost site, that has no internet security issues, use the same name and password for the user with the most privileges/permissions, usually &amp;quot;admin&amp;quot;, for both MySQL and Moodle.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most XP Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. &lt;br /&gt;
*For example: &amp;quot;C;\X_server\moodledata&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  &lt;br /&gt;
[[image:Vista_moodle_5.jpg|thumb|125px|right|Windows Vista folder securities tab showing permissions]]&lt;br /&gt;
:For example, in Windows Vista, you will need to manually create your moodledata folder and assign it permissions. To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp26.gif|thumb|center|Paths to parts of your Moodle]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
In this screen we enter the database settings. The fields are populated with some suggested values.&lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings in Skype.&lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype1.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype2.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype3.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.&lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120270</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120270"/>
		<updated>2015-10-28T15:18:53Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Get Moodle */ Mention bitnami free&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
Alternative, once XAMPP is installed use the Moodle link and allow Bitnami to download a current version and start the free install for you.&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
We would allow 30 to 60 minutes to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. We told it to install it in a new folder called C:\X_server which XAMPP will create.  You could use the browse button to point to a location.&lt;br /&gt;
&lt;br /&gt;
[[Image:XAMPP171 Install folder.png|center]]&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp3.gif|thumb|center|200px|Installation info screen]]&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp4.gif|center|XAMPP 1.7.1 looks different]]&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp5.gif|center]]&lt;br /&gt;
&lt;br /&gt;
*Click the “No” button.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. In the folder you installed XAMPP, look for the XAMPP_start, or XAMPP_restart icon.  &lt;br /&gt;
**When XAMPP start has finished, both Apache and MySQL have been started.&lt;br /&gt;
3. In the folder you installed XAMPP, look for the Apache start and MySQL start icons&lt;br /&gt;
**When Apache and MySQL start icons are used, two black windows command window should remain open&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you have to install the PHP curl library :&lt;br /&gt;
   1. Open the php.ini file found in the php/php.ini folder&lt;br /&gt;
      (older versions of XAMPP use moodle/apache/bin folder)&lt;br /&gt;
   2. Find the line: ;extension=php_curl.dll&lt;br /&gt;
   3. Remove the ; at the beginning of the line&lt;br /&gt;
   4. Restart Apache if necessary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed, click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field. &lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp13.gif|thumb|center|Example of a phpMyAdmin database list, click on moodle to add MySQL users]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 created moodle.png|thumb|center|The database is corrected, notice the privileges icon]]  &lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern, but at this point we recommend you click the moodle database, then on the privileges icon. Select one of the root users for editing. Create their passwords. [[Image:PhpMyAdmin3131 privileges edit.png|thumb|center|See the edit action icon]] &lt;br /&gt;
&lt;br /&gt;
The best practice is to create a password for the root user. The &amp;quot;edit action&amp;quot; will give a place to do that. Another good practice is to copy the root user&#039;s privileges to another user. Here we changed the root user to admin, added a password and kept the user called root. [[Image:PhpMyAdmin3131 privileges create admin.png|thumb|center|Creating an admin MySQL user]] &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; On a localhost site, that has no internet security issues, use the same name and password for the user with the most privileges/permissions, usually &amp;quot;admin&amp;quot;, for both MySQL and Moodle.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most XP Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. &lt;br /&gt;
*For example: &amp;quot;C;\X_server\moodledata&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  &lt;br /&gt;
[[image:Vista_moodle_5.jpg|thumb|125px|right|Windows Vista folder securities tab showing permissions]]&lt;br /&gt;
:For example, in Windows Vista, you will need to manually create your moodledata folder and assign it permissions. To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp26.gif|thumb|center|Paths to parts of your Moodle]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
In this screen we enter the database settings. The fields are populated with some suggested values.&lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings in Skype.&lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype1.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype2.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype3.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.&lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120269</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120269"/>
		<updated>2015-10-28T15:16:21Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:181&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:181 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
We would allow 30 to 60 minutes to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. We told it to install it in a new folder called C:\X_server which XAMPP will create.  You could use the browse button to point to a location.&lt;br /&gt;
&lt;br /&gt;
[[Image:XAMPP171 Install folder.png|center]]&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp3.gif|thumb|center|200px|Installation info screen]]&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp4.gif|center|XAMPP 1.7.1 looks different]]&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp5.gif|center]]&lt;br /&gt;
&lt;br /&gt;
*Click the “No” button.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. In the folder you installed XAMPP, look for the XAMPP_start, or XAMPP_restart icon.  &lt;br /&gt;
**When XAMPP start has finished, both Apache and MySQL have been started.&lt;br /&gt;
3. In the folder you installed XAMPP, look for the Apache start and MySQL start icons&lt;br /&gt;
**When Apache and MySQL start icons are used, two black windows command window should remain open&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you have to install the PHP curl library :&lt;br /&gt;
   1. Open the php.ini file found in the php/php.ini folder&lt;br /&gt;
      (older versions of XAMPP use moodle/apache/bin folder)&lt;br /&gt;
   2. Find the line: ;extension=php_curl.dll&lt;br /&gt;
   3. Remove the ; at the beginning of the line&lt;br /&gt;
   4. Restart Apache if necessary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed, click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field. &lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp13.gif|thumb|center|Example of a phpMyAdmin database list, click on moodle to add MySQL users]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 created moodle.png|thumb|center|The database is corrected, notice the privileges icon]]  &lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern, but at this point we recommend you click the moodle database, then on the privileges icon. Select one of the root users for editing. Create their passwords. [[Image:PhpMyAdmin3131 privileges edit.png|thumb|center|See the edit action icon]] &lt;br /&gt;
&lt;br /&gt;
The best practice is to create a password for the root user. The &amp;quot;edit action&amp;quot; will give a place to do that. Another good practice is to copy the root user&#039;s privileges to another user. Here we changed the root user to admin, added a password and kept the user called root. [[Image:PhpMyAdmin3131 privileges create admin.png|thumb|center|Creating an admin MySQL user]] &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; On a localhost site, that has no internet security issues, use the same name and password for the user with the most privileges/permissions, usually &amp;quot;admin&amp;quot;, for both MySQL and Moodle.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most XP Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. &lt;br /&gt;
*For example: &amp;quot;C;\X_server\moodledata&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  &lt;br /&gt;
[[image:Vista_moodle_5.jpg|thumb|125px|right|Windows Vista folder securities tab showing permissions]]&lt;br /&gt;
:For example, in Windows Vista, you will need to manually create your moodledata folder and assign it permissions. To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp26.gif|thumb|center|Paths to parts of your Moodle]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
In this screen we enter the database settings. The fields are populated with some suggested values.&lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings in Skype.&lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype1.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype2.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype3.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.&lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120268</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120268"/>
		<updated>2015-10-28T15:15:40Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Overview */ change into&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer.  The instructions are in the process of being updated.  You may find the older instructions in previous versions of MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:180&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:180 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
We would allow 30 to 60 minutes to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. We told it to install it in a new folder called C:\X_server which XAMPP will create.  You could use the browse button to point to a location.&lt;br /&gt;
&lt;br /&gt;
[[Image:XAMPP171 Install folder.png|center]]&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp3.gif|thumb|center|200px|Installation info screen]]&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp4.gif|center|XAMPP 1.7.1 looks different]]&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp5.gif|center]]&lt;br /&gt;
&lt;br /&gt;
*Click the “No” button.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. In the folder you installed XAMPP, look for the XAMPP_start, or XAMPP_restart icon.  &lt;br /&gt;
**When XAMPP start has finished, both Apache and MySQL have been started.&lt;br /&gt;
3. In the folder you installed XAMPP, look for the Apache start and MySQL start icons&lt;br /&gt;
**When Apache and MySQL start icons are used, two black windows command window should remain open&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you have to install the PHP curl library :&lt;br /&gt;
   1. Open the php.ini file found in the php/php.ini folder&lt;br /&gt;
      (older versions of XAMPP use moodle/apache/bin folder)&lt;br /&gt;
   2. Find the line: ;extension=php_curl.dll&lt;br /&gt;
   3. Remove the ; at the beginning of the line&lt;br /&gt;
   4. Restart Apache if necessary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed, click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field. &lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp13.gif|thumb|center|Example of a phpMyAdmin database list, click on moodle to add MySQL users]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 created moodle.png|thumb|center|The database is corrected, notice the privileges icon]]  &lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern, but at this point we recommend you click the moodle database, then on the privileges icon. Select one of the root users for editing. Create their passwords. [[Image:PhpMyAdmin3131 privileges edit.png|thumb|center|See the edit action icon]] &lt;br /&gt;
&lt;br /&gt;
The best practice is to create a password for the root user. The &amp;quot;edit action&amp;quot; will give a place to do that. Another good practice is to copy the root user&#039;s privileges to another user. Here we changed the root user to admin, added a password and kept the user called root. [[Image:PhpMyAdmin3131 privileges create admin.png|thumb|center|Creating an admin MySQL user]] &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; On a localhost site, that has no internet security issues, use the same name and password for the user with the most privileges/permissions, usually &amp;quot;admin&amp;quot;, for both MySQL and Moodle.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most XP Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. &lt;br /&gt;
*For example: &amp;quot;C;\X_server\moodledata&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  &lt;br /&gt;
[[image:Vista_moodle_5.jpg|thumb|125px|right|Windows Vista folder securities tab showing permissions]]&lt;br /&gt;
:For example, in Windows Vista, you will need to manually create your moodledata folder and assign it permissions. To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp26.gif|thumb|center|Paths to parts of your Moodle]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
In this screen we enter the database settings. The fields are populated with some suggested values.&lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings in Skype.&lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype1.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype2.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype3.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.&lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120267</id>
		<title>Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Windows_installation_using_XAMPP&amp;diff=120267"/>
		<updated>2015-10-28T14:39:52Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Overview */ put in the over steps for XAMPP 5.6.8&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XAMPP is a fully functional web server package. It is built to test web based programs on a personal computer.  It is not meant for online access via the web on a production server.  This page describes how to install the XAMPP webserver package of programs and how to install a Moodle standard package on the server which was created.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; These guidelines are intended for a Standard Moodle installation on a Windows PC for a private or test Moodle installation, not a production (public) site or service. &#039;&#039;&#039;XAMPP-lite&#039;&#039;&#039; is used to create a [[Complete install packages for Windows]] which has a different installation process. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Note: This page was updated showing an installation for XAMPP 1.7.1 but some older screenshots were kept.  It is now October 2015 and XAMPP&#039;s current version is 5.6.8 and Moodle&#039;s is 2.9.2 going on 3.x.   Windows is no longer supporting XP, Windows 10 is the desktop latest and greatest.  Some updating is in order.  See page comments.&lt;br /&gt;
&lt;br /&gt;
This is a guide for installing XAMPP and Moodle on a computer using the Windows XP operating system, but it is still usable for Vista.&lt;br /&gt;
&lt;br /&gt;
An overview of the steps as of 2015:&lt;br /&gt;
&lt;br /&gt;
*Download the latest version of XAMPP from Apachefriends.org&lt;br /&gt;
*Install XAMPP&lt;br /&gt;
*Use control.exe in XAMPP folder to start and stop Apache and MySQL&lt;br /&gt;
*Note the MySQL port.&lt;br /&gt;
*If Apache will not start because of a port conflict&lt;br /&gt;
**then use config button to change the listening port to something like 127.0.0.1:180&lt;br /&gt;
*Type localhost in your browser, or 127.0.0.1:180 (if you changed the port number)&lt;br /&gt;
*You should get to localhost/xampp splash page.&lt;br /&gt;
*Click on the Moodle icon to allow Bitnami to install the latest version of Moodle.&lt;br /&gt;
*You will need to know port number and the usual Moodle Installation initial questions.&lt;br /&gt;
*The process takes a long time.  Be patient, even when things don&#039;t look like anything is happening.&lt;br /&gt;
*You should find your moodle files in /xampp/apps/moodle/htdocs.   Enjoy.&lt;br /&gt;
&lt;br /&gt;
What follows are old XP instructions which will not help much.&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
===Get Moodle===&lt;br /&gt;
Download the standard version of Moodle you wish to install from Moodle.org [http://download.moodle.org Standard install packages].&lt;br /&gt;
&lt;br /&gt;
===Get XAMPP===&lt;br /&gt;
Go to apachefriends.org and download [http://www.apachefriends.org/en/xampp-windows.html XAMPP for Windows]. This example assumes that you have downloaded the “Installer” package.  There are several XAMPP packages to download.  Installer is about 1/2 the size of the same package as a zip file.  &lt;br /&gt;
&lt;br /&gt;
===Allow yourself some time===&lt;br /&gt;
We would allow 30 to 60 minutes to get to the Moodle Front Page on a new site.  The time will depend upon the speed of your computer, download connection and of course your familiarity with the process.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; On slower internet connections, download what you need into a folder for a later install.  The serious moodler might create a MoodleZip folder to put all their different Moodle related zipfiles.&lt;br /&gt;
&lt;br /&gt;
==Create XAMPP webserver==&lt;br /&gt;
===Installing XAMPP===&lt;br /&gt;
Run the installer, eventually you will be presented with an option about where to install the package. We told it to install it in a new folder called C:\X_server which XAMPP will create.  You could use the browse button to point to a location.&lt;br /&gt;
&lt;br /&gt;
[[Image:XAMPP171 Install folder.png|center]]&lt;br /&gt;
&lt;br /&gt;
Continue with the installation, this will take a while!&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp3.gif|thumb|center|200px|Installation info screen]]&lt;br /&gt;
&lt;br /&gt;
Eventually you will be presented with the option to install Apache, MySQL, Filezilla and Mercury as a service.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp4.gif|center|XAMPP 1.7.1 looks different]]&lt;br /&gt;
&lt;br /&gt;
*It’s probably best to choose “No” for now. You can always enable these as services later.&lt;br /&gt;
&lt;br /&gt;
Next you’ll be asked if you want to start the XAMPP Control Panel.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp5.gif|center]]&lt;br /&gt;
&lt;br /&gt;
*Click the “No” button.&lt;br /&gt;
&lt;br /&gt;
=== Launch XAMPP ===&lt;br /&gt;
There are several ways to start your webserver. [[Image:XAMPP171 start stop options.png|thumb|left|60px|Server directory start/stop files]][[image:Xampp6.gif|thumb|right|100px|One way to start/stop: XAMPP control panel]]&lt;br /&gt;
1. On your Desktop, locate the shortcut XAMPP icon and double click to launch the Control Panel. &lt;br /&gt;
**When the XAMPP Control Panel has launched, click the “Start” buttons for Apache and MySQL (see below). &lt;br /&gt;
2. In the folder you installed XAMPP, look for the XAMPP_start, or XAMPP_restart icon.  &lt;br /&gt;
**When XAMPP start has finished, both Apache and MySQL have been started.&lt;br /&gt;
3. In the folder you installed XAMPP, look for the Apache start and MySQL start icons&lt;br /&gt;
**When Apache and MySQL start icons are used, two black windows command window should remain open&lt;br /&gt;
&lt;br /&gt;
*If all is well you will see something like this.&lt;br /&gt;
&#039;&#039;&#039;If Apache fails to run i.e. the &amp;quot;Running&amp;quot; text with the green background keeps disappearing) and you are using Skype or another program that uses port 80 e.g. IIS - please review &amp;quot;Troubleshooting&amp;quot; at the end of these instructions.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then you have to install the PHP curl library :&lt;br /&gt;
   1. Open the php.ini file found in the php/php.ini folder&lt;br /&gt;
      (older versions of XAMPP use moodle/apache/bin folder)&lt;br /&gt;
   2. Find the line: ;extension=php_curl.dll&lt;br /&gt;
   3. Remove the ; at the beginning of the line&lt;br /&gt;
   4. Restart Apache if necessary &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Create the MySQL database==&lt;br /&gt;
To create a MySQL database for your Moodle “site” we will use the phpMyAdmin utility included with XAMPP.&lt;br /&gt;
[[image:Xampp8.gif|right|Browser address bar]]&lt;br /&gt;
*To access this launch the web browser of your choice (Firefox is used in this example), type http://localhost/xampp/ in the address bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*The XAMPP default page will be displayed, click the link for your preferred language – we will be using English.&lt;br /&gt;
&lt;br /&gt;
*From the menu on the left, click on “phpMyAdmin”&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp10.gif|center|Click on phpMyAdmin]]&lt;br /&gt;
&lt;br /&gt;
*When phpMy Admin has launched in your browser window, enter the name of your database in the “Create new database” field. &lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 create database.png|thumb|center|Center of initial phpMyAdmin screen]]&lt;br /&gt;
&lt;br /&gt;
* From the &amp;quot;Collation&amp;quot; drop down list select &amp;quot;utf8_unicode_ci&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Click the “Create” button to create the database.&lt;br /&gt;
&lt;br /&gt;
You should see the database on the left with your moodle MySQL database name without files in it and/or a notice that it was created.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp13.gif|thumb|center|Example of a phpMyAdmin database list, click on moodle to add MySQL users]]&lt;br /&gt;
&lt;br /&gt;
[[Image:PhpMyAdmin3131 created moodle.png|thumb|center|The database is corrected, notice the privileges icon]]  &lt;br /&gt;
&lt;br /&gt;
===MySQL security===&lt;br /&gt;
Security on a localhost may not be a big concern, but at this point we recommend you click the moodle database, then on the privileges icon. Select one of the root users for editing. Create their passwords. [[Image:PhpMyAdmin3131 privileges edit.png|thumb|center|See the edit action icon]] &lt;br /&gt;
&lt;br /&gt;
The best practice is to create a password for the root user. The &amp;quot;edit action&amp;quot; will give a place to do that. Another good practice is to copy the root user&#039;s privileges to another user. Here we changed the root user to admin, added a password and kept the user called root. [[Image:PhpMyAdmin3131 privileges create admin.png|thumb|center|Creating an admin MySQL user]] &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; On a localhost site, that has no internet security issues, use the same name and password for the user with the most privileges/permissions, usually &amp;quot;admin&amp;quot;, for both MySQL and Moodle.&lt;br /&gt;
&lt;br /&gt;
==Prepare server for Moodle==&lt;br /&gt;
You will need to extract the folders and files from the downloaded package and create the moodledata folder (where images, course and user data/files will be located).&lt;br /&gt;
&lt;br /&gt;
===Extract standard Moodle package files===&lt;br /&gt;
Locate the zip file of the standard install package you downloaded from Moodle.org. The easiest method is to extract everything in the file to the htdocs folder that XAMPP just created.  Most XP Windows operating systems come with an program that will recognize a zip file and ask you where you want to extract the files.   &lt;br /&gt;
&lt;br /&gt;
*Extract the Moodle files to htdocs. A default folder named “moodle” is created with all the Moodle folders and files within it.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp19.gif|thumb|center|Example of Moodle folder inthe server&#039;s htdocs]]&lt;br /&gt;
&lt;br /&gt;
===Moodledata folder===&lt;br /&gt;
It is a good practice to manually create the moodledata folder.   In an standard default install, Moodle will look for it in the top most level of folders on your server, the same level as htdocs, apache, php and those folders. &lt;br /&gt;
*For example: &amp;quot;C;\X_server\moodledata&amp;quot;  or &amp;quot;C:\apachefriends\151\moodledata&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*You may have to change the permissions of the folder in some operating systems.  &lt;br /&gt;
[[image:Vista_moodle_5.jpg|thumb|125px|right|Windows Vista folder securities tab showing permissions]]&lt;br /&gt;
:For example, in Windows Vista, you will need to manually create your moodledata folder and assign it permissions. To do this right click on the moodledata folder, select properties and the &amp;quot;Security&amp;quot; tab.&lt;br /&gt;
&lt;br /&gt;
:Another box will pop up. Select &amp;quot;Users&amp;quot; and give them &amp;quot;Modify&amp;quot; and &amp;quot;Write&amp;quot; permissions, along with whatever existed already.&lt;br /&gt;
&lt;br /&gt;
==Start of initial Moodle install==&lt;br /&gt;
&lt;br /&gt;
You have now installed a webserver on your computer. Next you need to get Moodle to install itself.  You will use your favorite web browser to do this.&lt;br /&gt;
&lt;br /&gt;
Other pages in MoodleDocs describe the install process.  We will just cover the first few screens.&lt;br /&gt;
&lt;br /&gt;
===Go to moodle in web browser===&lt;br /&gt;
[[image:Xampp23.gif|thumb|right|Browser address]]&lt;br /&gt;
In your web browser, type the path to the folder containing the Moodle files in te address bar – in this example it’s &amp;lt;nowiki&amp;gt;http://localhost/moodle&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Select language===&lt;br /&gt;
The initial install page will ask you to choose your preferred language. &lt;br /&gt;
[[image:Xampp24.gif|thumb|center|150px|Select language]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button.&lt;br /&gt;
&lt;br /&gt;
===Diagnostic report===&lt;br /&gt;
A diagnostic report is displayed – hopefully it will look like this, if not you may need to address some issues.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp25.gif|thumb|center|Initial diagnostic, it passed, no warnings]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Paths for Moodle installation===&lt;br /&gt;
The paths for your Moodle installation are shown – accept these or amend as desired.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp26.gif|thumb|center|Paths to parts of your Moodle]]&lt;br /&gt;
&lt;br /&gt;
*Click the “Next” button to continue.&lt;br /&gt;
&lt;br /&gt;
===MySQL database settings===&lt;br /&gt;
In this screen we enter the database settings. The fields are populated with some suggested values.&lt;br /&gt;
&lt;br /&gt;
*In this example the database created is “moodle153”. If you created a password for root place it here.  If you want the MySQL user admin to log into the moodle MySQL database, place that user and the password here.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; DO NOT USE THE “ROOT” USER WITHOUT A PASSWORD FOR PRODUCTION INSTALLATIONS AS THIS CREATES A SECURITY VULNERABILITY.  &lt;br /&gt;
[[image:Xampp28.gif|thumb|center|MySQL database settings screen]]&lt;br /&gt;
&lt;br /&gt;
*When you have added or edited information on the page, click the “Next” button to continue.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; This information is creating and can later be edited in the htdocs/moodle/config.php file.&lt;br /&gt;
&lt;br /&gt;
===Server check===&lt;br /&gt;
[[Image:Moodle Install Server checks.png|thumb|center|150px|Server check with minor issues]]&lt;br /&gt;
This screen will report any issues with your webserver settings. Typically the [[admin/environment/php extension/curl|CURL settings]] and [[admin/environment/php extension/openssl|OpenSLL settings]] in a new XAMPP install will receive a mild or critical warning.    &lt;br /&gt;
:&#039;&#039;&#039;TIP:&#039;&#039;&#039; It is possible to open Windows Explorer and edit the php/php.ini file using a plain text editor e.g. notepad at this point and then use the refresh button at the bottom of the server check page once you have saved your changes.  However, exiting the Moodle install at this point is not the end of the world, all your settings up to this point have been saved. Localhost\moodle will start the install again.&lt;br /&gt;
&lt;br /&gt;
===Moodle install confirmed===&lt;br /&gt;
Moodle will tell you it has install the basics.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp29.gif|thumb|center|125px|Confirmed]]&lt;br /&gt;
&lt;br /&gt;
*Click the “ Continue” button to proceed.&lt;br /&gt;
&lt;br /&gt;
===Moodle copyright &amp;amp; license===&lt;br /&gt;
The Moodle copyright / license notices are displayed.&lt;br /&gt;
&lt;br /&gt;
[[image:Xampp30.gif|thumb|center|Copyright &amp;amp; license]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Click the “Yes” button to continue.&lt;br /&gt;
&lt;br /&gt;
===Now you can Moodle===&lt;br /&gt;
You will be asked to create the admin user for your Moodle site. Then as the admin Moodle user, you will be taken to the Front Page settings to start to build your new site.&lt;br /&gt;
Good job&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Bitnami===&lt;br /&gt;
*If you have previously created a Moodle install with the [http://bitnami.org Bitnami] installer you may find that Apache will not start. This is because Bitnami installs a service for Apache and MySQL. To disable these go to Control Panel &amp;gt; Administrative tools &amp;gt; Service to locate and disable these services.&lt;br /&gt;
===Skype===&lt;br /&gt;
*If XAMPP does not work when you launch your browser and you have [http://www.skype.com Skype] enabled it may be necessary to change the port settings in Skype.&lt;br /&gt;
&lt;br /&gt;
* Locate &amp;quot;Options...&amp;quot; in Skype.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype1.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Locate the &amp;quot;Connection&amp;quot; options.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype2.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Remove the tick / check from the Checkbox.&lt;br /&gt;
&lt;br /&gt;
[[Image: Skype3.gif|thumb|center|Click to make bigger]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Click the &amp;quot;Save&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
* You may need to re-start your computer for this to take effect.&lt;br /&gt;
&lt;br /&gt;
* Or you can quit your Skype session while you are working on Moodle.&lt;br /&gt;
&lt;br /&gt;
===Still having problems but do not have Skype installed?===&lt;br /&gt;
* Check for another program which may be using port 80. IIS is commonly found to be the culprit.&lt;br /&gt;
&lt;br /&gt;
====Moodle Networking does not work====&lt;br /&gt;
You may need to enable curl. [[admin/environment/php extension/curl|Curl help]] which will tell you the line of code in the php/php.ini file to change. Or find more instructions at this link [http://www.tildemark.com/programming/php/enable-curl-with-xampp-on-windows-xp.html Enable curl in XAMPP on XP]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Windows installation]]&lt;br /&gt;
*[[Installing AMP]] - Overview of other OS packages&lt;br /&gt;
*[https://docs.moodle.org/en/Xampp_Installer_FAQ Xampp Installer FAQ]&lt;br /&gt;
*[[Complete install packages|Complete install packages for Windows]]&lt;br /&gt;
*[[Installation Quickstart]] the short and simple install notes for experienced&lt;br /&gt;
&lt;br /&gt;
[[sk:Moodle Windows Inštalácia pomocou XAMPP]]&lt;br /&gt;
[[de:Windows-Installation mit XAMPP]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Administrator]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Talk:Windows_installation_using_XAMPP&amp;diff=120266</id>
		<title>Talk:Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Talk:Windows_installation_using_XAMPP&amp;diff=120266"/>
		<updated>2015-10-28T14:26:52Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Using XAMPP to download latest version of Moodle */ more comments&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Notes--[[User:chris collman|chris collman]] ([[User talk:chris collman|talk]]) 22:18, 28 October 2015 (AWST) on XAMPP on Windows 10 with Moodle==&lt;br /&gt;
Will erase these later.   &lt;br /&gt;
==Issues with straight install of XAMPP on Windows 10==&lt;br /&gt;
Windows 10 has a program that uses port 80 (new version of IIS which Sharepoint uses).&lt;br /&gt;
XAMPP&#039;s default port is 80, so there is a conflict.&lt;br /&gt;
My solution is to change XAMPP&#039;s port.   I use 181.  So to reach moodle the long address in the browser is 127.0.0.1:181/moodle.&lt;br /&gt;
I also had some issues with MySQL.  Phpmyadmin worked fine. &lt;br /&gt;
&lt;br /&gt;
==solutions==&lt;br /&gt;
*I used the control.exe file in the XMAPP folder to start Apache and MySQL.   &lt;br /&gt;
*In this program, I used the config button for Apache to get to httpd.conf.  Around line 60 or so, there are some Listen lines of code.  I put a # in front of the activate one and created a new line Listen 127.0.0.1:181.&lt;br /&gt;
*I saved the file. &lt;br /&gt;
*I used the config button for MySQL to get to the my.ini configuration file for MySQL.  I noted the port. It showed 3306.&lt;br /&gt;
&lt;br /&gt;
==Using XAMPP Bitnami link to download latest version of Moodle==&lt;br /&gt;
*I noticed on the splash screen for XAMPP (in my case 127.0.0.1:181/xampp) there was a sections that said &amp;quot;Install applications on XAMPP using Bitnami&amp;quot;.  I clicked on the Moodle icon.  It offered me the chance to download Moodle 2.9.2.  &lt;br /&gt;
*It downloaded a 36 mg excutable file on my computer and I let it run.&lt;br /&gt;
*Later I found that the moodle files were at /apps/moodle/htdocs/moodle.&lt;br /&gt;
*In the Moodle Install, I had an existing moodle database in MySQL.  I told it to use the extention mdl292_. I also noted the port number that my version of XAMMP was using and noted that when asked.  &lt;br /&gt;
**Think I would recommend a reboot before starting the process.  I went into task manager and saw 3 or 4 Apache lines.  In my experience there should be only one.  I shut down apache and MySQL with control and then quit control.  In task manager I stopped ever apache task and XAMPP control task.  Then I restarted my XAMPP control.exe program along with Apache and MySQL. &lt;br /&gt;
*I got a warning about my database not being created.  I forgot what fiddling I did, went back and ignored it.  &lt;br /&gt;
*In the end it works.&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Talk:Windows_installation_using_XAMPP&amp;diff=120265</id>
		<title>Talk:Windows installation using XAMPP</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Talk:Windows_installation_using_XAMPP&amp;diff=120265"/>
		<updated>2015-10-28T14:18:51Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: Created page with &amp;quot;==Notes--~~~~ on XAMPP on Windows 10 with Moodle== Will erase these later.    ==Issues with straight install of XAMPP on Windows 10== Windows 10 has a program that uses port 8...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Notes--[[User:chris collman|chris collman]] ([[User talk:chris collman|talk]]) 22:18, 28 October 2015 (AWST) on XAMPP on Windows 10 with Moodle==&lt;br /&gt;
Will erase these later.   &lt;br /&gt;
==Issues with straight install of XAMPP on Windows 10==&lt;br /&gt;
Windows 10 has a program that uses port 80 (new version of IIS which Sharepoint uses).&lt;br /&gt;
XAMPP&#039;s default port is 80, so there is a conflict.&lt;br /&gt;
My solution is to change XAMPP&#039;s port.   I use 181.  So to reach moodle the long address in the browser is 127.0.0.1:181/moodle.&lt;br /&gt;
I also had some issues with MySQL.  Phpmyadmin worked fine. &lt;br /&gt;
&lt;br /&gt;
==solutions==&lt;br /&gt;
*I used the control.exe file in the XMAPP folder to start Apache and MySQL.   &lt;br /&gt;
*In this program, I used the config button for Apache to get to httpd.conf.  Around line 60 or so, there are some Listen lines of code.  I put a # in front of the activate one and created a new line Listen 127.0.0.1:181.&lt;br /&gt;
*I saved the file. &lt;br /&gt;
*I used the config button for MySQL to get to the my.ini configuration file for MySQL.  I noted the port. It showed 3306.&lt;br /&gt;
&lt;br /&gt;
==Using XAMPP to download latest version of Moodle==&lt;br /&gt;
*I noticed on the splash screen for XAMPP (in my case 127.0.0.1:181/xampp) there was a sections that said &amp;quot;Install applications on XAMPP using Bitnami&amp;quot;.  I clicked on the Moodle icon.  It offered me the chance to download Moodle 2.9.2.  &lt;br /&gt;
*It downloaded a 36 mg excutable file on my computer and I let it run.&lt;br /&gt;
*Later I found that it loaded a copy of moodle in a subfolder called apps.&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Upload_users&amp;diff=120235</id>
		<title>Upload users</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Upload_users&amp;diff=120235"/>
		<updated>2015-10-22T14:00:47Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Country */ add common error USA&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Accounts}}&lt;br /&gt;
An administrator can upload multiple user accounts via text file in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Users &amp;gt; Accounts &amp;gt; Upload users&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
There are many robust options for uploading information (fields associated with a user) with this method: from enrolling users in multiple courses with course specific [[Roles|roles]] to updating user information in the [[User profile]] to deleting users from the site.&lt;br /&gt;
&lt;br /&gt;
Rather than uploading the text file, it can simply dragged from the desktop and dropped into the upload area, as demonstrated in the screencast [http://youtu.be/6E-TQXTkZB0 Drag and drop new users into Moodle 2.3] (by Mary Cooch).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Tip:&#039;&#039; It is usually not necessary to upload users in bulk with Upload users.  To keep maintenance work down you should first explore forms of authentication that do not require manual maintenance, such as [[External database authentication|connecting to existing external databases]] or letting the users create their own accounts ([[Self enrolment]]). See [[Authentication]] for more information.&lt;br /&gt;
&lt;br /&gt;
[[File:uploadusersnew.png|thumb|500px|center|Initial upload users screen]]&lt;br /&gt;
&lt;br /&gt;
==Upload user process==&lt;br /&gt;
Here is an outline of the process:&lt;br /&gt;
&lt;br /&gt;
# Create file for uploading&lt;br /&gt;
# Go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Users &amp;gt; Accounts &amp;gt; Upload users&#039;&#039;&lt;br /&gt;
# Add file to upload&lt;br /&gt;
# Upload users preview - check settings and default user profile settings&lt;br /&gt;
# Upload users preview - click &amp;quot;Upload users&amp;quot;&lt;br /&gt;
# Upload users results - shows list of users, exceptions made in upload and summary of number of users&lt;br /&gt;
# Upload users results - click &amp;quot;Continue&amp;quot;&lt;br /&gt;
# Returns to Upload users screen&lt;br /&gt;
&lt;br /&gt;
==Updating users preview==&lt;br /&gt;
There are various settings to better control the desired upload behaviour. These settings are found on the &amp;quot;Upload users preview&amp;quot; page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning&#039;&#039;&#039;: errors updating existing accounts can affect your users badly. &#039;&#039;&#039;&#039;&#039;Be careful&#039;&#039;&#039;&#039;&#039; when using the options to update.&lt;br /&gt;
&lt;br /&gt;
====Upload type====&lt;br /&gt;
The Upload type specifies how to handle existing accounts.&lt;br /&gt;
;Add new only, skip existing users : is the default Moodle upload type. It creates a new user account for each new record in the uploaded file. If an existing &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; is found (i.e., the &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; in the uploaded file matches an existing &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt;, that record is &#039;&#039;&#039;skipped&#039;&#039;&#039;. By skipping the existing user account, the data in the existing record is not touched (in contrast to the &amp;quot;Add new and update existing users&amp;quot; option) and a second new user account is &#039;&#039;&#039;not&#039;&#039;&#039; created (in contrast to the &amp;quot;Add all, append number to usernames if needed&amp;quot; option). &lt;br /&gt;
;Add all, append number to usernames if needed : creates a new user account for each record in the uploaded file. If an existing user account is found, a new account will be created with a number appended to the &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt;. For example, if a user account for &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; &#039;jsmith&#039; already exists and a new record in the uploaded file contains a record for &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; &#039;jsmith&#039; an additional user account is created with a 1 &#039;&#039;&#039;appended&#039;&#039;&#039; to the &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; to produce user &#039;jsmith1&#039;. &lt;br /&gt;
;Add  new and update existing users : creates a new user account for each new user in the upload file. If an existing user account with the same &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; is found, the account information is &#039;&#039;&#039;updated&#039;&#039;&#039; by the data in the uploaded file. &lt;br /&gt;
;Update existing users only : ignores any new users found in the upload file and updates the user account if a matching &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; record is found in the uploaded file.&lt;br /&gt;
&lt;br /&gt;
====New user password====&lt;br /&gt;
When creating a new user account Moodle can create a new password (if one is not provided) or require a password in the uploaded file.&lt;br /&gt;
;Create password if needed : creates a default password for the new user account if one is not provided in the uploaded file.&lt;br /&gt;
;Field required in file : requires that a password be provided in the uploaded file in order. If a password is not provided, an error is generated and the user account is not created.&lt;br /&gt;
&lt;br /&gt;
====Existing user details====&lt;br /&gt;
The Existing user details options are only available when the Upload type allows existing user accounts to be updated. It specifies how Moodle should process user detail information for existing users.&lt;br /&gt;
;No changes : ignores user detail data in the uploaded and leaves the existing user account data unchanged.&lt;br /&gt;
;Override with file : overwrites data in the existing user account with the data provided in the uploaded file.&lt;br /&gt;
;Override with file and defaults : overwrites data in the existing user account with data provided in the uploaded file and fills in the default values for existing user details when no data is provided in the uploaded file.&lt;br /&gt;
;Fill in missing from file and defaults : adds data in the existing user account with data provided in the uploaded file if the field is empty (does not already contain data) and fills in the default values for existing user details when no data is provided in the uploaded file.&lt;br /&gt;
&lt;br /&gt;
====Existing user password====&lt;br /&gt;
The Existing user password option specifies how to handle password data for existing user accounts when Existing user details is set to overwrite data.&lt;br /&gt;
;No changes : ignores password field in the uploaded user file and leaves the existing user account password untouched&lt;br /&gt;
;Update : overwrites the existing user account password with the password provided in the uploaded file&lt;br /&gt;
&lt;br /&gt;
====Force password change====&lt;br /&gt;
The Force password change option specifies when to tag a user account so that the next login attempt will require the user to change the user&#039;s password.&lt;br /&gt;
;Users having a weak password : If the user account has a weak password as defined by the stie&#039;s [[Password_policy#Password_policy|Password policy]] then the user will be forced to change the password during the next login attempt. This option is not shown if there the site does not have a [[Password_policy#Password_policy|Password policy]], in other words &amp;lt;code&amp;gt;$CFG-&amp;gt;passwordpolicy&amp;lt;/code&amp;gt; must be set to see this option. &lt;br /&gt;
;None : None of the users in the uploaded file will be forced to change the password during the user&#039;s next login attempt.&lt;br /&gt;
;All : All of the users in the uploaded file will be forced to change the password during the user&#039;s next login attempt.&lt;br /&gt;
&lt;br /&gt;
====Allow renames====&lt;br /&gt;
If the uploaded flie contains the special &amp;lt;code&amp;gt;oldusername&amp;lt;/code&amp;gt; field, it is possible to rename a user from the &amp;lt;code&amp;gt;oldusername&amp;lt;/code&amp;gt; to a new &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt;. The default setting is to &#039;&#039;&#039;not&#039;&#039;&#039; allow renames. Keep in mind that renaming a user will require the user to use the new username when logging in.&lt;br /&gt;
;No : ignores the &amp;lt;code&amp;gt;oldusername&amp;lt;/code&amp;gt; field and leaves the existing user account&#039;s &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; field unchanged.&lt;br /&gt;
;Yes : allows the existing user account&#039;s &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; to be changed by the data provided in the uploaded file&#039;s &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; field. The &amp;lt;code&amp;gt;oldusername&amp;lt;/code&amp;gt; will be searched for and then updated with the data provided in the &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; column. &lt;br /&gt;
&lt;br /&gt;
====Allow deletes====&lt;br /&gt;
If the uploaded file contains the &amp;lt;code&amp;gt;deleted&amp;lt;/code&amp;gt; special field, it is possible to use the upload file to delete existing user accounts. The default setting is to &#039;&#039;&#039;not&#039;&#039;&#039; allow deletes. Keep in mind that deleting a user account will prevent that user from logging in. As a protection, site administrator user accounts cannot be deleted with this method. &lt;br /&gt;
;No : ignores the &amp;lt;code&amp;gt;deleted&amp;lt;/code&amp;gt; special field in the uploaded file and leaves the existing user account unchanged&lt;br /&gt;
;Yes : allows the existing user account to be deleted when the value of the of the &amp;lt;code&amp;gt;deleted&amp;lt;/code&amp;gt; field is 1. &lt;br /&gt;
&lt;br /&gt;
====Allow suspending and activating of accounts====&lt;br /&gt;
If the uploaded file contains the &amp;lt;code&amp;gt;suspended&amp;lt;/code&amp;gt; special field, it is possible to use the upload file to either suspend or make active (unsuspend) existing user accounts. The default setting is to allow suspending/activating of existing user accounts. Keep in mind that suspending an existing user account will prevent that user from logging in. &lt;br /&gt;
;Yes : allows the existing user account to be suspended when the value of the of the &amp;lt;code&amp;gt;suspended&amp;lt;/code&amp;gt; field is 1. &lt;br /&gt;
;No : ignores the &amp;lt;code&amp;gt;suspended&amp;lt;/code&amp;gt; special field in the uploaded file and leaves the existing user account status unchanged.&lt;br /&gt;
&lt;br /&gt;
====Prevent email address duplicates====&lt;br /&gt;
It is possible, but &#039;&#039;&#039;not&#039;&#039;&#039; recommended to upload users with duplicate email addresses. By default, uploading users with duplicate email addresses is prevented. See MDL-38104 for some discussion. Further, since MDL-41115 added the ability for users to login with their email address it is even more important that duplicate email addresses be avoided.&lt;br /&gt;
;Yes : prevents user accounts from being created from the uploaded if an existing user account already has the same email address as found in the uploaded file&#039;s  &amp;lt;eode&amp;gt;email&amp;lt;/code&amp;gt; column.&lt;br /&gt;
;No : allows user accounts to be created if an existing user account already has the same email address found in the uploaded file&#039;s  &amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt; column.&lt;br /&gt;
&lt;br /&gt;
====Standardise usernames====&lt;br /&gt;
Standardise usernames is used by default to convert the username to all lower case and to strip out illegal characters. It is possible to not standardise the usernames; however, doing so is &#039;&#039;&#039;not&#039;&#039;&#039; recommended.&lt;br /&gt;
;Yes : standardises usernames found in the uploaded file before updating existing or creating new user accounts so that the username contains only lowercase letters and numbers.&lt;br /&gt;
;No : skips standardising usernames found in the uploaded file so that the newly created or updated usernames will be exactly as they are in the uploaded file (&#039;&#039;&#039;not recommended&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
For those seeking a more technical explanation, the process for standardising the usernames consists of ensuring the characters are all UTF-8 (fix_utf8) encoded, converting the username to lower case, and then stripping out non-letters/non-number characters (unless &amp;lt;code&amp;gt;$CFG-&amp;gt;extendedusernamechars&amp;lt;/code&amp;gt; is set to true) with something similar to: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$username = preg_replace(&#039;/[^-\.@_a-z0-9]/&#039;, &#039;&#039;, $username);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Select for bulk user actions====&lt;br /&gt;
After the uploaded file has finished being processed (all new accounts have been created and existing accounts updated as specified by the previous settings), there is an option to select some of those user accounts to perform additional [[admin/user/user_bulk|bulk user actions]] such as &lt;br /&gt;
*Confirm user accounts created through Email-based self-registration which are not yet confirmed by the user&lt;br /&gt;
*Send a message (requires Messaging to be enabled)&lt;br /&gt;
*Delete user accounts&lt;br /&gt;
*Display a list of users on a page&lt;br /&gt;
*Download user data in text, ODS or Excel file format&lt;br /&gt;
*Force users to change their passwords&lt;br /&gt;
*Add users to a cohort&lt;br /&gt;
&lt;br /&gt;
By default, no users are selected for [[admin/user/user_bulk|bulk user actions]].&lt;br /&gt;
&lt;br /&gt;
;No : No users are selected for [[admin/user/user_bulk|bulk user actions]]&lt;br /&gt;
;New users : Only newly created users are selected for [[admin/user/user_bulk|bulk user actions]]&lt;br /&gt;
;Updated users : Only updated user accounts are selected for [[admin/user/user_bulk|bulk user actions]]&lt;br /&gt;
;All users : All users found (existing updated users and newly created user accounts) in the uploaded file are selected for [[admin/user/user_bulk|bulk user actions]]&lt;br /&gt;
&lt;br /&gt;
===Default values===&lt;br /&gt;
&lt;br /&gt;
You can provide default user values for some fields not included in the uploaded file. Some fields include:&lt;br /&gt;
*Email display&lt;br /&gt;
*Forum auto-subscribe&lt;br /&gt;
*City/town&lt;br /&gt;
*ID number&lt;br /&gt;
*Insttitution&lt;br /&gt;
*Department&lt;br /&gt;
&lt;br /&gt;
==Upload user results ==&lt;br /&gt;
After accepting the preview settings by clicking on &amp;quot;Upload users&amp;quot;, you should see the the Upload users results screen.&lt;br /&gt;
[[File:Upload users results 2.0.JPG|thumb|center|The results screen; everything went well!]]&lt;br /&gt;
This screen will show you any exceptions or changes that were made to each user in the upload process.   For example if you were updating user information, the updated information will be shown.  Or if a user was not added that record will be highlighted.&lt;br /&gt;
&lt;br /&gt;
The screen will summarize how many users were uploaded or updated, indicate the number of weak passwords and the number of errors.&lt;br /&gt;
&lt;br /&gt;
==File formats for upload users file==&lt;br /&gt;
The upload users file has fields separated by a comma (or other delimiter) ONLY - no space.   The first line contains the valid field names.  The rest of the lines (records) contain information about each user.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;:Tip:&#039;&#039; Avoid special characters in field information like quotes or other commas. Test a file with only one record before a large upload. Remember there are other ways to authenticate users on you site or enroll users in a course.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;:Tip:&#039;&#039; You can use a spread sheet program to create the file with the required columns and fields. Then save the file as &amp;quot;CSV (comma delimited)&amp;quot;. These files can be opened with simple text editors for verification. &lt;br /&gt;
&lt;br /&gt;
===Valid upload file for testing===&lt;br /&gt;
Here is an example of a simple valid upload file:&lt;br /&gt;
(Column headers on the first line of the file are only highlighted in bold in this example to distinguish it from the rest of the of the data/user details)&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;username,password,firstname,lastname,email,course1,group1,cohort1&#039;&#039;&#039;&lt;br /&gt;
 jonest,verysecret,Tom,Jones,jonest@someplace.edu,math102,Section 1,year 3&lt;br /&gt;
 reznort,somesecret,Trent,Reznor,reznort@someplace.edu,math102,Section 3,year 4&lt;br /&gt;
&lt;br /&gt;
===Fields that can be included===&lt;br /&gt;
&#039;&#039;:Tip:&#039;&#039; We strongly recommend that you test a file that contains fields you proposed to use with one user before attempting a file upload for the first time.  http://demo.moodle.net might be a good place to see if your test file works.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Required fields&#039;&#039;&#039;: &lt;br /&gt;
:&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;username,firstname,lastname,email&amp;lt;/code&amp;gt;&lt;br /&gt;
:Validity checks are performed for:&lt;br /&gt;
#&amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt; can only contain alphabetical &#039;&#039;&#039;lowercase&#039;&#039;&#039; letters , numbers, hypen &#039;-&#039;, underscore &#039;_&#039;, period &#039;.&#039;, or at-sign &#039;@&#039; &lt;br /&gt;
#&amp;lt;code&amp;gt;email&amp;lt;/code&amp;gt; is in the form: &#039;&#039;name@example.com&#039;&#039; .&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Password field&#039;&#039;&#039;: &amp;quot;password&amp;quot; field is optional if &amp;quot;Create password if needed&amp;quot; setting is chosen (default). &lt;br /&gt;
**If included, values should meet the requirements for the site&#039;s [[Site_policies#Password_policy|Password policy]]. To force password change for a particular user, set the password field to &amp;lt;code&amp;gt;changeme&amp;lt;/code&amp;gt;. &lt;br /&gt;
**If omitted, a password will be generated for each user (during the next Cron job) and welcome e-mails sent out.&lt;br /&gt;
**Note: the text for the welcome e-mail is in the language settings. Please refer to this [https://moodle.org/mod/forum/discuss.php?d=210359&amp;amp;parent=917138 forum thread]for details.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Optional fields&#039;&#039;&#039;: To provide values other than the default include one or more of these&lt;br /&gt;
:&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;institution,department,city,country,lang,auth,timezone,idnumber,icq,phone1,phone2,address,url,description,mailformat,maildisplay,htmleditor,autosubscribe&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;[[Additional name fields]]&#039;&#039;&#039;&lt;br /&gt;
*Country- use a country TWO LETTER CODE&lt;br /&gt;
*Some fields have a maximum number of characters that are allowed (notably institution should be &#039;&#039;&#039;at most 40 characters&#039;&#039;&#039; long).  See hints below.&lt;br /&gt;
*Maildisplay, htmleditor and autosubscribe can be set from an import screen.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Custom profile field names&#039;&#039;&#039;: (Optional). xxxxx is the real custom user profile field name (i.e. the unique shortname)&lt;br /&gt;
:&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;profile_field_xxxxx&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
: Create the custom fields BEFORE importing. Use the standard header. The &amp;quot;shortname&amp;quot; for your custom field is xxxxx (NB the shortname must be all lowercase, otherwise won&#039;t be recognised). The first record must include &amp;quot;profile_field_xxxxx&amp;quot;.&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;&#039;Example&#039;&#039;&#039;: To create a custom field &amp;quot;genre&amp;quot;, you must write a shortname &amp;quot;genre&amp;quot; in the new field, and write &amp;quot;profile_field_genre&amp;quot; in the header of the .csv file.&lt;br /&gt;
&lt;br /&gt;
: For custom profile fields that are a menu, use the corresponding value (new in Moodle 2.3 onwards).&lt;br /&gt;
&lt;br /&gt;
For custom profile fields that are dates, use the ISO standard format YYYY-MM-DD, eg. 2014-06-19 which will then be properly localized in the interfaced.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Example&#039;&#039;&#039;: A custom field &#039;Department&#039; with one of three values &#039;HR&#039;, &#039;Marketing&#039; or &#039;Training&#039;. Just insert one of those three words (e.g. &#039;Training&#039;) as the value for that field. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Special fields&#039;&#039;&#039;: Used for changing of usernames or deleting of users&lt;br /&gt;
:&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;oldusername&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;deleted&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;suspended&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;Enrolment fields&#039;&#039;&#039;: (Optional):&lt;br /&gt;
:&amp;lt;code&amp;gt;course1,type1,role1,group1,enrolperiod1,enrolstatus1,course2,type2,role2,group2,enrolperiod2,enrolstatus2&amp;lt;/code&amp;gt; etc.&lt;br /&gt;
&lt;br /&gt;
:* Header fields must have a numeric suffix such that &amp;lt;code&amp;gt;type1&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;role1&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;group1&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt;enrolperiod1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;enrolstatus1&amp;lt;/code&amp;gt; all apply to &amp;lt;code&amp;gt;course1&amp;lt;/code&amp;gt; for course&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; to course&amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt;.&lt;br /&gt;
:*&amp;lt;code&amp;gt;course&amp;lt;/code&amp;gt; is the &amp;quot;shortname&amp;quot; of the course, if present the user will be enrolled in that course.&lt;br /&gt;
:* &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; sets the role to be used for the enrolment. A value of &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; is default course role, &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;  is legacy Teacher role and &amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt; is legacy Non-editing Teacher.&lt;br /&gt;
:* &amp;lt;code&amp;gt;role&amp;lt;/code&amp;gt; may be used to specify roles directly, using either role short name or id (numeric names of roles are not supported).&lt;br /&gt;
:* &amp;lt;code&amp;gt;group&amp;lt;/code&amp;gt; may be used to assign users to groups in course, using name or id (numeric group names are not supported)&lt;br /&gt;
:* &amp;lt;code&amp;gt;enrolperiod&amp;lt;/code&amp;gt; may be used to set the enrolment duration, in days, for each course.&lt;br /&gt;
:* &amp;lt;code&amp;gt;enrolstatus&amp;lt;/code&amp;gt; can suspend users from a course when set to 1 or left blank for enrolled.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Cohort field&#039;&#039;&#039;: (Optional):&lt;br /&gt;
:&amp;lt;code&amp;gt;cohort1&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
:Internal cohort id numbers or non-numeric Cohort IDs of existing cohorts must be used; names are not allowed.&lt;br /&gt;
*&#039;&#039;&#039;mnethostid&#039;&#039;&#039; (Optional)&lt;br /&gt;
&lt;br /&gt;
Existing [[MNet]]users can be added to courses, groups or cohorts as below:&lt;br /&gt;
#enrolling to courses: username+mnethostid+course required&lt;br /&gt;
# adding to group: username+mnethostid+course+group required&lt;br /&gt;
#adding to cohort: username+mnethostid+cohort required&lt;br /&gt;
#suspending/reviving accounts: username+mnethostid+suspended required&lt;br /&gt;
All other operations are ignored. You can not add users, delete them or update them (such as change names or email, profile fields, etc.)&lt;br /&gt;
&lt;br /&gt;
{{New features}}&lt;br /&gt;
*&#039;&#039;&#039;System role&#039;&#039;&#039; (Optional)&lt;br /&gt;
:&amp;lt;code&amp;gt;sysrole1,sysrole2,sysrole3&amp;lt;/code&amp;gt; etc&lt;br /&gt;
Users may be uploaded to a system role (usually Manager or Course creator)  by entering the shortname of that role. Other roles can only be uploaded if they have already been assigned in the &#039;system&#039; context. See [[Creating custom roles]]. Multiple roles can be assigned using &amp;lt;code&amp;gt;sysrole2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sysrole3&amp;lt;/code&amp;gt;, etc. fields. Note that the number suffix in no way relates to the number suffixes on the enrolment fields. The numbers must go up in sequence starting at 1.&lt;br /&gt;
&lt;br /&gt;
Users can also be removed from a given system role by entering the shortname of that role prefixed with a minus symbol: &#039;-&#039;. If the user is currently assigned to that role, they are removed from it. If the user is not currently assigned to that system role, the field value is ignored. However, the field value must refer to a system role that does exist on the system, otherwise an error will occur.&lt;br /&gt;
[[File:GlobalRoles1.png|thumb|500px|center|Example of a file for uploading users with global/system roles]]&lt;br /&gt;
&lt;br /&gt;
Commas within  a field must be encoded as &amp;amp;#44 - the script will decode these back to commas.&lt;br /&gt;
&lt;br /&gt;
For Boolean fields, use &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; for false and &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for true.&lt;br /&gt;
&lt;br /&gt;
To prevent users from receiving a large number of emails from courses or forced subscription forums use the &#039;&#039;&#039;maildigest&#039;&#039;&#039;.  The options for this field are 0 = No digest, 1 = Complete digest and 2 = Digest with just subjects.&lt;br /&gt;
&lt;br /&gt;
==Advanced potentials of Upload user==&lt;br /&gt;
===Templates===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: This section needs checking and updating if necessary for Moodle 2.0. Please do so and remove this note when finished.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The default values are processed as templates in which the following codes are allowed:&lt;br /&gt;
&lt;br /&gt;
* %l - will be replaced by the lastname&lt;br /&gt;
* %f - will be replaced by the firstname&lt;br /&gt;
* %u - will be replaced by the username&lt;br /&gt;
* %% - will be replaced by the %&lt;br /&gt;
&lt;br /&gt;
Between the percent sign (%) and any code letter (l, f or u) the following modifiers are allowed:&lt;br /&gt;
&lt;br /&gt;
* (-) minus sign - the information specified by the code letter will be converted to lowercase&lt;br /&gt;
* (+) plus sign - the information specified by the code letter will be converted to UPPERCASE&lt;br /&gt;
* (~) tilde sign - the information specified by the code letter will be converted to Title Case&lt;br /&gt;
* a decimal number - the information specified by the code letter will be truncated to that many characters&lt;br /&gt;
&lt;br /&gt;
For example, if the firstname is John and the lastname is Doe, the following values will be obtained with the specified templates:&lt;br /&gt;
&lt;br /&gt;
* %l%f = DoeJohn&lt;br /&gt;
* %l%1f = DoeJ&lt;br /&gt;
* %-l%+f = doeJOHN&lt;br /&gt;
* %-f_%-l = john_doe&lt;br /&gt;
*&amp;lt;nowiki&amp;gt; http://www.example.com/~%u/&amp;lt;/nowiki&amp;gt; results in  &amp;lt;nowiki&amp;gt;http://www.example.com/~jdoe/&amp;lt;/nowiki&amp;gt; (if the username is jdoe or %-1f%-l)&lt;br /&gt;
&lt;br /&gt;
Template processing is done only on default values, and not on the values retrieved from the CSV file.&lt;br /&gt;
&lt;br /&gt;
In order to create correct Moodle usernames, the username is always converted to lowercase. Moreover, if the &amp;quot;Allow extended characters in usernames&amp;quot; option in the Site policies page is off, characters different to letters, digits, dash (-) and dot (.) are removed. For example if the firstname is John Jr. and the lastname is Doe, the username %-f_%-l will produce john jr._doe when Allow extended characters in usernames is on, and johnjr.doe when off.&lt;br /&gt;
&lt;br /&gt;
When the &amp;quot;New username duplicate handling&amp;quot; setting is set to Append counter, an auto-increment counter will be append to duplicate usernames produced by the template. For example, if the CSV file contains the users named John Doe, Jane Doe and Jenny Doe without explicit usernames, the default username is %-1f%-l and New username duplicate handling is set to Append counter, then the usernames produced will be jdoe, jdoe2 and jdoe3.&lt;br /&gt;
&lt;br /&gt;
===Deleting accounts===&lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;code&amp;gt;deleted&amp;lt;/code&amp;gt; field is present, users with value 1 for it will be deleted. In this case, all the fields may be omitted, except for &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt;. After uploading the file, be sure to change the &amp;quot;Upload type&amp;quot; to &amp;quot;Update existing users only&amp;quot; and the &amp;quot;Allow deletes&amp;quot; option to &amp;quot;Yes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039;  A similar field is available for &amp;lt;code&amp;gt;suspended&amp;lt;/code&amp;gt;. This enables a user account to be temporarily disabled rather than completely removed.&lt;br /&gt;
&lt;br /&gt;
Deleting and uploading accounts could be done with a single CSV file. For example, the following file will add the user Tom Jones and delete the user reznort:&lt;br /&gt;
&lt;br /&gt;
 username,firstname,lastname,deleted&lt;br /&gt;
 jonest,Tom,Jones,0&lt;br /&gt;
 reznort,,,1&lt;br /&gt;
&lt;br /&gt;
==Encoding file format==&lt;br /&gt;
On the initial Upload user screen, you may select the file encoding format from a pull down list.  These include UTF-8 (the default), ASCII,  ISO-8859-1 to ISO-8859-11 or any one of over 36 formats.&lt;br /&gt;
&lt;br /&gt;
==Hints==&lt;br /&gt;
&lt;br /&gt;
===Spreadsheet===&lt;br /&gt;
&lt;br /&gt;
If you use a spreadsheet program such as Excel to create your .csv file, check the resulting output in a text editor before you upload it.  It is possible to get trailing commas on each line from an empty field if you have added and deleted columns of information prior to saving the final file. Also check the character encoding. A csv file is a simple text file (ASCII or Unicode) that can be used to upload user accounts.&lt;br /&gt;
&lt;br /&gt;
Excel translates passwords that begin with - (minus) or + (plus) as zero. Even when saving as .csv and saying &amp;quot;Yes&amp;quot; to &amp;quot;Keep this format, and leave out any incompatible features.&amp;quot; Check for this before uploading, as a zero halts the upload process.&lt;br /&gt;
&lt;br /&gt;
If you use a formula in Excel to create fields (for example, the concatenate function to create a user name), then remember to copy the cells with the formula and use special paste with values checked to make them into an acceptable data for a csv file.&lt;br /&gt;
&lt;br /&gt;
The upload will also fail if you have trailing spaces at the end of your data fields. Often, this can not be removed with a simple Find &amp;quot; &amp;quot; and Replace with &amp;quot;&amp;quot;. If information has been copied from web sources than it is possible to include non-breaking spaces which will prevent your upload from being completed correctly. To find these invisible spaces, use the Find and Replace function in Excel. In the find field, hold alt and type 0160. Leave the replace field blank. &lt;br /&gt;
&lt;br /&gt;
===Country===&lt;br /&gt;
The country should be written as a two letter code, in capitals. For example, use BE for Belgium or NL for the Netherlands.  Using &amp;quot;be&amp;quot; or &amp;quot;nl&amp;quot; or &amp;quot;USA&amp;quot; as a country code will result in a database error.&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039;  If you are having trouble working out the two-letter code for a country, you can consult the list of [http://www.iso.org/iso/country_names_and_code_elements country names and code elements] available on the ISO Website. A common error is to use UK for United Kingdom; it should be GB.&lt;br /&gt;
&lt;br /&gt;
===Field size limits===&lt;br /&gt;
Some fields have maximum character lengths.  Typically the file will import to the preview list screen but not finish the process.  Turn on debug to see the fields that are too long.  Common fields to cause problems are &amp;quot;Institution&amp;quot; which is limited to 40 characters, and &amp;quot;City&amp;quot;, also limited (20 characters).  The error will be &amp;quot;User not added - error&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Time zones===&lt;br /&gt;
&lt;br /&gt;
The entry is case sensitive so Europe/London will work but europe/london will not.&lt;br /&gt;
&lt;br /&gt;
===All fields listed here===&lt;br /&gt;
:All the fields that are valid are listed below, except for any custom fields you may have created. &lt;br /&gt;
firstname, lastname, username, email, city, country, lang, timezone, mailformat, maildisplay, maildigest, htmleditor, ajax, autosubscribe ,institution, department, idnumber, skype , msn, aim, yahoo, icq, phone1, phone2, address, url, description, descriptionformat, password, auth, oldusername , deleted, suspended, course1, course2, course3, course4&lt;br /&gt;
&lt;br /&gt;
===Enroll users to Cohorts (system groups)===&lt;br /&gt;
You can enroll users to any Cohort (system level group) by using only the &amp;quot;username&amp;quot; and the &amp;quot;Cohort ID&amp;quot;.&lt;br /&gt;
Here is a sample CSV file:&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;username,cohort1&#039;&#039;&#039;&lt;br /&gt;
 teacher1,system-teachers&lt;br /&gt;
 teacher2,system-teachers&lt;br /&gt;
 teacher3,system-teachers&lt;br /&gt;
&lt;br /&gt;
Make sure you set &amp;quot;Upload type&amp;quot; to &amp;quot;Update existing users only&amp;quot; (So you are not asked to add firstname, lastname and email fields too)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://youtu.be/PFGLZnuu_JI Adding users by using a CSV in Moodle]  MoodleBites video on YouTube&lt;br /&gt;
*[[Flat file]] enrolment&lt;br /&gt;
* [[User profile fields]] for details of how to include data about custom user profile fields in the upload users file&lt;br /&gt;
* [[Upload courses]]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=36851 Can I auto enroll from Excel?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=97903 Uploading users to custom roles]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=181259 User upload option: standardise usernames]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=144569 Matriculacion con flat file csv] - discussion in Spanish&lt;br /&gt;
&lt;br /&gt;
[[fr:Importer des utilisateurs]]&lt;br /&gt;
[[ja:ユーザのアップロード]]&lt;br /&gt;
[[de:Nutzerliste hochladen]]&lt;br /&gt;
[[es:Subir usuarios]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=User:Chris_collman&amp;diff=120189</id>
		<title>User:Chris collman</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=User:Chris_collman&amp;diff=120189"/>
		<updated>2015-10-10T16:49:53Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* History if you are interested */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My page in MoodleDocs.&lt;br /&gt;
I have edited MoodleDocs since 2006.   It is the way I learn.&lt;br /&gt;
&lt;br /&gt;
== History if you are interested==&lt;br /&gt;
In 2006 I started contributing to MoodleDocs as a way to learn the software.  I decreased my intense editing in July 2010 because of additional work and family commitments. I started  editing pages again in September 2011 as I became more familiar with Moodle 2.1&lt;br /&gt;
&lt;br /&gt;
In July-Aug 2011, I was given the task to build a few webservers for our internal WAN, a first for me.  That was both educational and successful.  &lt;br /&gt;
&lt;br /&gt;
Our use of the application is simple.  We do tests, have people download pdfs and fill out questionnaires.  I decided that I might as well install 2.1.  Our previous servers were 1.5.x Moodles :)  We upgraded a 1.5 Moodle internet server to 1.9 in August 2010.     &lt;br /&gt;
&lt;br /&gt;
In the upgrades, I copied then customized a Moodle theme.   I edited our language en_us, then use a text editor to globally change words in a copy of the en language php files and put them in the moodledata correct subfolder.  I have built over 100 quizes on unique subjects and retest.   We also use questionnaires to receive student feedback on each of our subjects.  We provide PDFs as supplemental materials and as copies of the teachers face to face PowerPoints. I also have a random glossary entry block to display pictures.   We just finished a teaching cycle on each of servers.  I was able to import the old courses in new ones on the corresponding servers.&lt;br /&gt;
&lt;br /&gt;
==MoodleDocs self professed goals==&lt;br /&gt;
My MoodleDocs editing has been a great learning experience. I have tweaked my 2010 goals into a more generic version.   &lt;br /&gt;
&lt;br /&gt;
*Stick with technical how tos, encourage practical examples for teachers&lt;br /&gt;
*Add some images that are annotated with numbers for references&lt;br /&gt;
*Remember English pages are read/translated by non-native speakers&lt;br /&gt;
*Delete opinions and sales pitches for the latest and greatest Moodle. &lt;br /&gt;
*Identify Tips and Notes, so the &amp;quot;impatient&amp;quot; can skim.&lt;br /&gt;
*Pay attention to the way others edit my words so I can improve my style&lt;br /&gt;
&lt;br /&gt;
Noble goals!&lt;br /&gt;
&lt;br /&gt;
==Production Moodle goals==&lt;br /&gt;
Over the winter I hope to learn something about the Ipad2 and Moodle.   We be issuing them to our next set of students, instead of our old Dell 610s.  So I anticipate tweaking themes for them.   There are also some code changes I would like to make  (or find some contributed code) in the core.   One of those is the infamous Lesson &amp;quot;Import PowerPoint&amp;quot;, which I would like to tweak to &amp;quot;Import Images&amp;quot; and &amp;quot;Import pages&amp;quot; via a text document (similar to a GIFT).   My 1.8 version of importppt.php that imported images does not run in 2.x.&lt;br /&gt;
&lt;br /&gt;
Another goal is to work on a Jomula interface with Moodle 2.2.   We would like to update our 1.9.10 internet Moodle in the Summer of 2012.  &lt;br /&gt;
&lt;br /&gt;
==The State of Moodle in my state==&lt;br /&gt;
The New Hampshire state agency I work with has been using Moodle since 2005. Thus I was pleased when my college adopted Moodle in 2011 and left the higher priced LMS completely.   Another University in our system switched to Moodle 2009. By my rough count at least 5 different state agencies have started up Moodles since 2010. The K-12 schools all over the state are using Moodle. State agencies formed a users group in 2012 and meet monthly!          &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Best to all,  Chris  --[[User:chris collman|chris collman]] 01:33, 7 April 2013 (WST)&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Talk:Questionnaire_module&amp;diff=113278</id>
		<title>Talk:Questionnaire module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Talk:Questionnaire_module&amp;diff=113278"/>
		<updated>2014-06-22T11:58:51Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: grrr&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox plugin&lt;br /&gt;
|type = Activity&lt;br /&gt;
|entry = [https://moodle.org/plugins/view.php?plugin=mod_questionnaire Questionnaire downloads]&lt;br /&gt;
|tracker = [http://tracker.moodle.org/browse/CONTRIB/component/10231 Questionnaire CONTRIB]&lt;br /&gt;
|discussion = [https://moodle.org/mod/forum/view.php?f=469  Questionnaire Forum]&lt;br /&gt;
|maintainer = [[User:Mike Churchward|Mike Churchward]] and [[User:Joseph Rézeau|Joseph Rézeau]]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Talk:Questionnaire_module&amp;diff=113277</id>
		<title>Talk:Questionnaire module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Talk:Questionnaire_module&amp;diff=113277"/>
		<updated>2014-06-22T11:58:16Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: put hyperlink brackets&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox plugin&lt;br /&gt;
|type = Activity&lt;br /&gt;
|entry = [https://moodle.org/plugins/view.php?plugin=mod_questionnaire Questionnaire downloads]&lt;br /&gt;
|tracker = http://tracker.moodle.org/browse/CONTRIB/component/10231 Questionnaire CONTRIB]&lt;br /&gt;
|discussion = [https://moodle.org/mod/forum/view.php?f=469  Questionnaire Forum]&lt;br /&gt;
|maintainer = [[User:Mike Churchward|Mike Churchward]] and [[User:Joseph Rézeau|Joseph Rézeau]]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Talk:Questionnaire_module&amp;diff=113276</id>
		<title>Talk:Questionnaire module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Talk:Questionnaire_module&amp;diff=113276"/>
		<updated>2014-06-22T11:55:48Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox plugin&lt;br /&gt;
|type = Activity&lt;br /&gt;
|entry = https://moodle.org/plugins/view.php?plugin=mod_questionnaire &lt;br /&gt;
|tracker = http://tracker.moodle.org/browse/CONTRIB/component/10231&lt;br /&gt;
|discussion = https://moodle.org/mod/forum/view.php?f=469  Questionnaire Forum]&lt;br /&gt;
|maintainer = [[User:Mike Churchward|Mike Churchward]] and [[User:Joseph Rézeau|Joseph Rézeau]]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Talk:Questionnaire_module&amp;diff=113275</id>
		<title>Talk:Questionnaire module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Talk:Questionnaire_module&amp;diff=113275"/>
		<updated>2014-06-22T11:54:55Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: Saw an info box on certificate, instead of see also?   This is a test&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox plugin&lt;br /&gt;
|type = Activity&lt;br /&gt;
|downloads = https://moodle.org/plugins/view.php?plugin=mod_questionnaire &lt;br /&gt;
|tracker = http://tracker.moodle.org/browse/CONTRIB/component/10231&lt;br /&gt;
|discussion = https://moodle.org/mod/forum/view.php?f=469  Questionnaire Forum]&lt;br /&gt;
|maintainer = [[User:Mike Churchward|Mike Churchward]] and [[User:Joseph Rézeau|Joseph Rézeau]]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Template:Questionnaire&amp;diff=113274</id>
		<title>Template:Questionnaire</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Template:Questionnaire&amp;diff=113274"/>
		<updated>2014-06-22T10:09:03Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: Changed heading so it would read same but not redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;navtrail&amp;quot;&amp;gt;[[Main page]] ► [[Managing a Moodle course]] ► [[Activities]] ► [[Questionnaire]] ► [[{{PAGENAME}}]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sideblock right&amp;quot; style=&amp;quot;width: 12em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;header&amp;quot;&amp;gt;[[Questionnaire module|Questionnaire]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
* [[Adding/editing a questionnaire]]&lt;br /&gt;
* [[Setting up a questionnaire|Advanced settings]]&lt;br /&gt;
* [[Editing Questionnaire questions|Adding questions]]&lt;br /&gt;
* [[Viewing Questionnaire responses|Viewing responses]]&lt;br /&gt;
* [[Questionnaire Conditional branching|Conditional branching]]&lt;br /&gt;
* [[Questionnaire Personality test|Personality test]]&lt;br /&gt;
* [[Questionnaire_index_view|Index View]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Certificate_customizing&amp;diff=113273</id>
		<title>Certificate customizing</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Certificate_customizing&amp;diff=113273"/>
		<updated>2014-06-22T00:46:53Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Modifying text and text position code examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Certificate}}&lt;br /&gt;
A [[Certificate module|certificate]] can be customized beyond the standard downloaded install by the site administrator.  In general:&lt;br /&gt;
  &lt;br /&gt;
#This can be done by uploading additional image types through the site administration menu. Or by uploading images into one of the certificate/pix folders. &lt;br /&gt;
#The displayed text can be changed by customizing the language in site administration.  Or directly editing the /certificate/lang file.  &lt;br /&gt;
#The location of certificate images and text can be change by creating/editing a certificate type&#039;s code. &lt;br /&gt;
&lt;br /&gt;
==Certificate examples==&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Certificate examples - click on any to enlarge&amp;quot; widths=&amp;quot;200px&amp;quot; heights=&amp;quot;100px&amp;quot; perrow=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
Image:Certificate 27 plain.png|Shows no options selected, standard title, course name, user name and words.&lt;br /&gt;
Image:Certificate 1.gif|Fancy border, signature line, seal, code&lt;br /&gt;
Image:Certificate 27 manyoptions.png|Shows many text and images selected, signature, seal, watermark, code, grade, teachers name, custom text and border&lt;br /&gt;
Image:Certificate199 example lines.png|Lines, signature, seal, watermark, code, grade, outcomes, custom text&lt;br /&gt;
.&lt;br /&gt;
Image:Certificate199 example creative.png|Uploaded border, signature, watermark and seal&lt;br /&gt;
Image:Certificate 27 customcode.png |Custom everything, new certificate type, with new text strings, new text and image positions, plus uploadd watermark, seal, signature and border. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customizing==&lt;br /&gt;
The certificate code is located in the /mod/certificate folder.   There are sub-folders for backup, db, lang (holds language sub-folders), type (holds standard certificate types, each in their own sub-folder) and pix. The pix folder holds the sub-folders for the default borders, seals, signatures and watermarks.  These will be used at the time of  installation and become the default standard choices, after that they will not be used.  &lt;br /&gt;
&lt;br /&gt;
===Adding images===&lt;br /&gt;
[[Image:Certificate199 example creative.png|thumb|Creative customized example]] The easiest way to customize your certificate is for the site administrator to add your own JPG or PNG images for  borders, seals, signatures and watermarks to the default images found at the time of installation. The system administrator should go to the site administration block, Plugins&amp;gt;Activities&amp;gt;Certificate&amp;gt;Upload images.&lt;br /&gt;
&lt;br /&gt;
Make sure your new files are the same size as the standard images. For example, the standard signature file is 150x31 pixels. If the signature file is a different size, you may need to modify the code line.  The same will be true for seals, borders and watermarks.The sample seals are 80x80 pixels in size.&lt;br /&gt;
&lt;br /&gt;
In the creative example, a custom border, watermark, signature and seal were uploaded.  All were sized and in the same file format as the one supplied with the initial certificate install.&lt;br /&gt;
&lt;br /&gt;
===Customize format===&lt;br /&gt;
[[Image:Certificate_27_customcode.png|thumb|New type with new strings, new positions]] You will need to be able to edit your Moodle code to create a custom format.   It is a good idea to create your own custom certificate type, that will appear on a list along with the standard certificates types.  You will know which is your custom certificate type and it will survive when you upgrade.  Here is how:&lt;br /&gt;
&lt;br /&gt;
1.  Choose the one of the certificate/type folders, copy and paste it in the certificate/type folder.  Give the copied folder a new name.  For example copy the /type/letter_non_embedded folder and rename it &#039;mycertificate&#039;. &lt;br /&gt;
&lt;br /&gt;
2.  Open the certificate/lang/en/certificate.php file and add the name of your new folder type.  Following the above example, you would add:&lt;br /&gt;
&lt;br /&gt;
:$string[&#039;typemycertificate&#039;] = &#039;My New Certificate&#039;;&lt;br /&gt;
&lt;br /&gt;
Now, when you add a certificate to a course, your new type will appear on the drop down list as &amp;quot;My New Certificate&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; You should add the proper string as shown in step 2 above or you may receive an error message and it will appear as if the code is broken.  And remember if you update your certificate module that this file may be erased with a new version. &lt;br /&gt;
: &#039;&#039;Tip:&#039;&#039; The sections below give examples of how to change text and image position in a certificate type file.  It also covers how to create a new text string in the certificate lang file.&lt;br /&gt;
&lt;br /&gt;
===Modifying text and text position code examples===&lt;br /&gt;
Changing the location of text is done by using code to set the x,y position on the page.  The &amp;quot;x&amp;quot; is the distance from the left margin and the &amp;quot;y&amp;quot; is the distance from the top.  All the certificate type code files start off with defining x,y points for various strings or images.&lt;br /&gt;
&lt;br /&gt;
Here are some examples which set the position in the same place:&lt;br /&gt;
:certificate_print_text($pdf, 28, 183, &#039;C&#039;, &#039;Times&#039;, &#039;B&#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;)); //This fixes the start of the text at 28,183.&lt;br /&gt;
&lt;br /&gt;
:certificate_print_text($pdf, $x, $y + 55, &#039;C&#039;, &#039;Times&#039;, &#039;I&#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;)); // This uses the x string (which is $x= 28) and adds 55 to the y string (which was $y=128).&lt;br /&gt;
&lt;br /&gt;
:certificate_print_text($pdf, $certx, $certy, &#039;C&#039;, &#039;Times&#039;, &#039; &#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;));  //This uses new string definitions that were added to top of the in both Landscape and Portraits sections.  &lt;br /&gt;
&lt;br /&gt;
In the above examples we centered the text, used the Times font, used bold, italic and none and kept the font size to 20.  &lt;br /&gt;
&lt;br /&gt;
We also created a new text string called certifymoodle.  In the /certifcate/lang/en/certificate.php file we copied the $string[&#039;certify&#039;] = &#039;This is to certify that&#039;; string line, pasted it underneath the original and changed it to read $string[&#039;certifymoodle&#039;] = &#039;This is to say that&#039;;  See the section below for more examples of changing text.&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; Text not changing?   You might want to go to the site administration language settings and turn off cache. Remember this will slow loading times for all users, so turn it back on as soon as you are done.&lt;br /&gt;
&lt;br /&gt;
====Modifying image position code example====&lt;br /&gt;
&lt;br /&gt;
We will change the signature position that is found in the type/letter_non_embedded/certificate.php file when we generate a pdf in landscape mode.  There are at least 2 ways to change the code. Say we want to move it to the left to the 100 position from 130 and up to the 435 line from the 440 line.&lt;br /&gt;
*Near the top of the file, you should notice there are a set of variables for &amp;quot;Landscape&amp;quot; which are followed by another set for &amp;quot;Portrait&amp;quot;. We can overrule some of the landscape and portrait codes the $sigx and $sigy position variables, so they read $sigx = 100 and $sigy = 435 .  &lt;br /&gt;
**Alternatively, we can overrule some of the landscape and portrait codes, in this case the signature block. In the &amp;quot;// Add images and lines&amp;quot; section we see the code that actually prints in the position by using the landscape and portrait variables:&lt;br /&gt;
:print_signature($pdf, $certificate, $sigx, $sigy, &#039;&#039;, &#039;&#039;);&lt;br /&gt;
By changing the variables to fix numbers it will not matter if the teacher selects landscape or portrait mode for this custom type. For example:&lt;br /&gt;
:print_signature($pdf, $certificate, 100, 435, &#039;&#039;, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
If others have not added a standard signature line, you might want to fix it to a certain size.  For example, you want the image to print 150px by 75px.   &lt;br /&gt;
&lt;br /&gt;
:print_signature($pdf, $certificate, $sigx, $sigy, &#039;150&#039;, &#039;75&#039;);&lt;br /&gt;
&lt;br /&gt;
This should give you a good idea about how to change the position of other images.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Adjusting transparency of an image====&lt;br /&gt;
It is possible to put in a strong image as a watermark and adjust the transparency setting when the PDF is created.  Look for the SetAlpha code in front of a print element. For example infront of the &amp;quot;print_watermark..&amp;quot; line, you will see $pdf_SetAlpha(0.1);  It is currently set to .1, the .3 in our example is less transparent.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; In older version of certificate, the watermark image itself was dimmed before it was placed in the folder.  If you had a custom watermark, this is the way it was done.   You can change the SetAlpha in the code to 1 and it should appear as it did in previous version of certificate.&lt;br /&gt;
&lt;br /&gt;
===Changing printed text===&lt;br /&gt;
There are two ways to change the language strings.  A best practice is to customize your language pack via site administration.  You will find the certificate.php in the mod group.   If you use the method below, when you update all your certificate files, then your changes will not be saved.     &lt;br /&gt;
&lt;br /&gt;
You can edit the language file found in the certificate folder, such as certificate/lang/en/certificate.php if you are not worried about losing you changes. Lets say you want to change the words at the top of all certificates on your site.&lt;br /&gt;
&lt;br /&gt;
Find the default strings:&lt;br /&gt;
:$string[&#039;title&#039;] = &#039;CERTIFICATE OF ACHIEVEMENT&#039;;     &lt;br /&gt;
:$string[&#039;intro&#039;] = &#039;This is to certify that&#039;;&lt;br /&gt;
:$string[&#039;statement&#039;] = &#039;has completed the course&#039;;&lt;br /&gt;
&lt;br /&gt;
Change them to read (for example):&lt;br /&gt;
:$string[&#039;title&#039;] = &#039;DIP0LOMA&#039;;    &lt;br /&gt;
:$string[&#039;intro&#039;] = &#039;I am proud to state that&#039;; &lt;br /&gt;
:$string[&#039;statement&#039;] = &#039;has successfully passed the final exam&#039;;&lt;br /&gt;
&lt;br /&gt;
===Adding a New Line of Text===&lt;br /&gt;
You have created a couple of custom certificate types.   In these certificates you want some new words to appear.  There are basically 2 choices, you can have it look up a new string, or hard code the words in the certificate type instead of looking for a string.  &lt;br /&gt;
&lt;br /&gt;
*Add new string method.&lt;br /&gt;
**Open the certificate/lang/en/certificate.php file and add your new string giving it a unique name. &lt;br /&gt;
:$string[&#039;mynewtext&#039;] = &#039;This is what I want to print on the certificate&#039;;&lt;br /&gt;
&lt;br /&gt;
**Open the file for your certificate type and change the string reference. For example, go to  certificate/type/mycertificate/certificate.php.  Near the end of the file find &amp;quot;// Add Text&amp;quot;.  This is the area that prints--you guessed it--text on the certificate.  Find the current line below which you would like your new text to be printed.  For example, if you want your text to print below the course name, find the line:&lt;br /&gt;
&lt;br /&gt;
:cert_printtext($pdf, $x, $y, &#039;C&#039;, &#039;Helvetica&#039;, &#039;&#039;, 30, get_string(&#039;title&#039;, &#039;certificate&#039;));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Add a new line below that to print your new text using the name you gave your new lang string like this:&lt;br /&gt;
:cert_printtext($pdf, $x, $y+25, &#039;C&#039;, &#039;Helvetica&#039;, &#039;B&#039;, 10, get_string(&#039;mynewtext&#039;, &#039;certificate&#039;));&lt;br /&gt;
&lt;br /&gt;
Quick review.  We want the string mynewtext to start on the $x position from the left, on the $y+25 line, and the line should be center aligned (C, L, R or &#039; &#039;), in Helvetica type, in bold, with a font size of 10.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. You can add a hard coded line of text. For example, add signature title block line under the signature image:&lt;br /&gt;
:cert_printtext($pdf, $sigx, $sigy+30,&#039;&#039;, &#039;Helvetica&#039;, &#039;B&#039;, 10, &#039;Martin Dougiamas, Lead Developer&#039;);&lt;br /&gt;
&lt;br /&gt;
===Adding a second page===&lt;br /&gt;
After you have created your first page (or copied an existing page), add this bit of code:&lt;br /&gt;
&lt;br /&gt;
$pdf-&amp;gt;AddPage();&lt;br /&gt;
&lt;br /&gt;
Then you in the code for the second page. You can create a certificate with as many pages as you want.&lt;br /&gt;
&lt;br /&gt;
==Nov 2011 changes==&lt;br /&gt;
[https://github.com/PukunuiAustralia/moodle-mod_certificate PukunuiAustralia / moodle-mod_certificate] version 2011110107 is the basis for these comments.  There maybe earlier versions which are different.&lt;br /&gt;
*Standard types of certificates.  There are 4 standard certificate types based upon paper size and if the fonts are embedded or non-embedded in the pdf documents.   The orientation of landscape or portrait is located within each of these types.  This is different from the 1.9.x versions.&lt;br /&gt;
*The code for printing strings has changed.   While similar to the pre 2.0, be careful.&lt;br /&gt;
&lt;br /&gt;
==Tips &amp;amp; Tricks==&lt;br /&gt;
*Start with one of the existing certificate types, copy it and modify it. &lt;br /&gt;
*Try your customized code on a non production site, such as a local host.&lt;br /&gt;
*In Administration&amp;gt;&amp;gt;Server set debugging to maximum (to show any coding error messages).&lt;br /&gt;
*While you can leave a php file open in edit mode, you must save the file before your changes become active.&lt;br /&gt;
*Make code changes one at a time, test and then backup after each successful change. For example,after adding a new string to the certificate lang file), go to your course page and click on a certificate to see if it appears on the list.&lt;br /&gt;
*If you broke the code you may get a blank screen for a certificate.  &lt;br /&gt;
**So it might be a good idea to make a backup of each successful change before starting the next change.   For example, after the 3rd code change, save certificate.php as certificate3.txt.&lt;br /&gt;
*Certificate icon location-If you are using your own theme you have to put the icon.gif inside a folder called certificate and put in your mod folder image.  For example, if your theme uses custom icons, you must put a certificate folder with the certificate icon.gif in it under your theme/pix/mod folder.&lt;br /&gt;
*Consider editing you language pack rather than the /certificate/lang/en/certificate.php file.  You can do this through the Settings &amp;gt; Site administration &amp;gt;Language &amp;gt; Language customization menu. Look for mod/certificate.php.  Then when you update your certificate and it&#039;s language,it will keep your changes for the standard strings.&lt;br /&gt;
*Use a topic section heading as the certificate title. See [http://moodle.org/mod/forum/discuss.php?d=193170#p842551 in the certificate forum] for a code tweak.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[mod/certificate/mod|Add/Edit Certificate]]&lt;br /&gt;
* [[mod/certificate/view|Viewing a Certificate]]&lt;br /&gt;
* Moodle 2.x and later versions of certificate can be found at [https://github.com/PukunuiAustralia/moodle-mod_certificate PukunuiAustralia / moodle-mod_certificate].&lt;br /&gt;
&lt;br /&gt;
[[es:Personalizar certificado]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Certificate_customizing&amp;diff=113272</id>
		<title>Certificate customizing</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Certificate_customizing&amp;diff=113272"/>
		<updated>2014-06-22T00:44:34Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Modifying text and text position code examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Certificate}}&lt;br /&gt;
A [[Certificate module|certificate]] can be customized beyond the standard downloaded install by the site administrator.  In general:&lt;br /&gt;
  &lt;br /&gt;
#This can be done by uploading additional image types through the site administration menu. Or by uploading images into one of the certificate/pix folders. &lt;br /&gt;
#The displayed text can be changed by customizing the language in site administration.  Or directly editing the /certificate/lang file.  &lt;br /&gt;
#The location of certificate images and text can be change by creating/editing a certificate type&#039;s code. &lt;br /&gt;
&lt;br /&gt;
==Certificate examples==&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Certificate examples - click on any to enlarge&amp;quot; widths=&amp;quot;200px&amp;quot; heights=&amp;quot;100px&amp;quot; perrow=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
Image:Certificate 27 plain.png|Shows no options selected, standard title, course name, user name and words.&lt;br /&gt;
Image:Certificate 1.gif|Fancy border, signature line, seal, code&lt;br /&gt;
Image:Certificate 27 manyoptions.png|Shows many text and images selected, signature, seal, watermark, code, grade, teachers name, custom text and border&lt;br /&gt;
Image:Certificate199 example lines.png|Lines, signature, seal, watermark, code, grade, outcomes, custom text&lt;br /&gt;
.&lt;br /&gt;
Image:Certificate199 example creative.png|Uploaded border, signature, watermark and seal&lt;br /&gt;
Image:Certificate 27 customcode.png |Custom everything, new certificate type, with new text strings, new text and image positions, plus uploadd watermark, seal, signature and border. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customizing==&lt;br /&gt;
The certificate code is located in the /mod/certificate folder.   There are sub-folders for backup, db, lang (holds language sub-folders), type (holds standard certificate types, each in their own sub-folder) and pix. The pix folder holds the sub-folders for the default borders, seals, signatures and watermarks.  These will be used at the time of  installation and become the default standard choices, after that they will not be used.  &lt;br /&gt;
&lt;br /&gt;
===Adding images===&lt;br /&gt;
[[Image:Certificate199 example creative.png|thumb|Creative customized example]] The easiest way to customize your certificate is for the site administrator to add your own JPG or PNG images for  borders, seals, signatures and watermarks to the default images found at the time of installation. The system administrator should go to the site administration block, Plugins&amp;gt;Activities&amp;gt;Certificate&amp;gt;Upload images.&lt;br /&gt;
&lt;br /&gt;
Make sure your new files are the same size as the standard images. For example, the standard signature file is 150x31 pixels. If the signature file is a different size, you may need to modify the code line.  The same will be true for seals, borders and watermarks.The sample seals are 80x80 pixels in size.&lt;br /&gt;
&lt;br /&gt;
In the creative example, a custom border, watermark, signature and seal were uploaded.  All were sized and in the same file format as the one supplied with the initial certificate install.&lt;br /&gt;
&lt;br /&gt;
===Customize format===&lt;br /&gt;
[[Image:Certificate_27_customcode.png|thumb|New type with new strings, new positions]] You will need to be able to edit your Moodle code to create a custom format.   It is a good idea to create your own custom certificate type, that will appear on a list along with the standard certificates types.  You will know which is your custom certificate type and it will survive when you upgrade.  Here is how:&lt;br /&gt;
&lt;br /&gt;
1.  Choose the one of the certificate/type folders, copy and paste it in the certificate/type folder.  Give the copied folder a new name.  For example copy the /type/letter_non_embedded folder and rename it &#039;mycertificate&#039;. &lt;br /&gt;
&lt;br /&gt;
2.  Open the certificate/lang/en/certificate.php file and add the name of your new folder type.  Following the above example, you would add:&lt;br /&gt;
&lt;br /&gt;
:$string[&#039;typemycertificate&#039;] = &#039;My New Certificate&#039;;&lt;br /&gt;
&lt;br /&gt;
Now, when you add a certificate to a course, your new type will appear on the drop down list as &amp;quot;My New Certificate&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; You should add the proper string as shown in step 2 above or you may receive an error message and it will appear as if the code is broken.  And remember if you update your certificate module that this file may be erased with a new version. &lt;br /&gt;
: &#039;&#039;Tip:&#039;&#039; The sections below give examples of how to change text and image position in a certificate type file.  It also covers how to create a new text string in the certificate lang file.&lt;br /&gt;
&lt;br /&gt;
===Modifying text and text position code examples===&lt;br /&gt;
Changing the location of text is done by using code to set the x,y position on the page.  The &amp;quot;x&amp;quot; is the distance from the left margin and the &amp;quot;y&amp;quot; is the distance from the top.  All the certificate type code files start off with defining x,y points for various strings or images.&lt;br /&gt;
&lt;br /&gt;
Here are some examples which set the position in the same place:&lt;br /&gt;
:certificate_print_text($pdf, 28, 183, &#039;C&#039;, &#039;Times&#039;, &#039;B&#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;)); //This fixes the start of the text at 28,183.&lt;br /&gt;
&lt;br /&gt;
:certificate_print_text($pdf, $x, $y + 55, &#039;C&#039;, &#039;Times&#039;, &#039;I&#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;)); // This uses the x string (which is $x= 28) and adds 55 to the y string (which was $y=128).&lt;br /&gt;
&lt;br /&gt;
:certificate_print_text($pdf, $certx, $certy, &#039;C&#039;, &#039;Times&#039;, &#039; &#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;));  //This uses new string definitions that were added to top of the in both Landscape and Portraits sections.  &lt;br /&gt;
&lt;br /&gt;
In the above examples we centered the text, used the Times font, used bold, italic and none and kept the font size to 20.  &lt;br /&gt;
&lt;br /&gt;
We also created a new text string called certifymoodle.  In the /certifcate/lang/en/certificate.php file we copied the $string[&#039;certify&#039;] = &#039;This is to certify that&#039;; string line, pasted it underneath the original and changed it to read $string[&#039;certifymoodle&#039;] = &#039;This is to say that&#039;;&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; Text not changing?   You might want to go to the site administration language settings and turn off cache. Remember this will slow loading times for all users, so turn it back on as soon as you are done.&lt;br /&gt;
&lt;br /&gt;
====Modifying image position code example====&lt;br /&gt;
&lt;br /&gt;
We will change the signature position that is found in the type/letter_non_embedded/certificate.php file when we generate a pdf in landscape mode.  There are at least 2 ways to change the code. Say we want to move it to the left to the 100 position from 130 and up to the 435 line from the 440 line.&lt;br /&gt;
*Near the top of the file, you should notice there are a set of variables for &amp;quot;Landscape&amp;quot; which are followed by another set for &amp;quot;Portrait&amp;quot;. We can overrule some of the landscape and portrait codes the $sigx and $sigy position variables, so they read $sigx = 100 and $sigy = 435 .  &lt;br /&gt;
**Alternatively, we can overrule some of the landscape and portrait codes, in this case the signature block. In the &amp;quot;// Add images and lines&amp;quot; section we see the code that actually prints in the position by using the landscape and portrait variables:&lt;br /&gt;
:print_signature($pdf, $certificate, $sigx, $sigy, &#039;&#039;, &#039;&#039;);&lt;br /&gt;
By changing the variables to fix numbers it will not matter if the teacher selects landscape or portrait mode for this custom type. For example:&lt;br /&gt;
:print_signature($pdf, $certificate, 100, 435, &#039;&#039;, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
If others have not added a standard signature line, you might want to fix it to a certain size.  For example, you want the image to print 150px by 75px.   &lt;br /&gt;
&lt;br /&gt;
:print_signature($pdf, $certificate, $sigx, $sigy, &#039;150&#039;, &#039;75&#039;);&lt;br /&gt;
&lt;br /&gt;
This should give you a good idea about how to change the position of other images.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Adjusting transparency of an image====&lt;br /&gt;
It is possible to put in a strong image as a watermark and adjust the transparency setting when the PDF is created.  Look for the SetAlpha code in front of a print element. For example infront of the &amp;quot;print_watermark..&amp;quot; line, you will see $pdf_SetAlpha(0.1);  It is currently set to .1, the .3 in our example is less transparent.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; In older version of certificate, the watermark image itself was dimmed before it was placed in the folder.  If you had a custom watermark, this is the way it was done.   You can change the SetAlpha in the code to 1 and it should appear as it did in previous version of certificate.&lt;br /&gt;
&lt;br /&gt;
===Changing printed text===&lt;br /&gt;
There are two ways to change the language strings.  A best practice is to customize your language pack via site administration.  You will find the certificate.php in the mod group.   If you use the method below, when you update all your certificate files, then your changes will not be saved.     &lt;br /&gt;
&lt;br /&gt;
You can edit the language file found in the certificate folder, such as certificate/lang/en/certificate.php if you are not worried about losing you changes. Lets say you want to change the words at the top of all certificates on your site.&lt;br /&gt;
&lt;br /&gt;
Find the default strings:&lt;br /&gt;
:$string[&#039;title&#039;] = &#039;CERTIFICATE OF ACHIEVEMENT&#039;;     &lt;br /&gt;
:$string[&#039;intro&#039;] = &#039;This is to certify that&#039;;&lt;br /&gt;
:$string[&#039;statement&#039;] = &#039;has completed the course&#039;;&lt;br /&gt;
&lt;br /&gt;
Change them to read (for example):&lt;br /&gt;
:$string[&#039;title&#039;] = &#039;DIP0LOMA&#039;;    &lt;br /&gt;
:$string[&#039;intro&#039;] = &#039;I am proud to state that&#039;; &lt;br /&gt;
:$string[&#039;statement&#039;] = &#039;has successfully passed the final exam&#039;;&lt;br /&gt;
&lt;br /&gt;
===Adding a New Line of Text===&lt;br /&gt;
You have created a couple of custom certificate types.   In these certificates you want some new words to appear.  There are basically 2 choices, you can have it look up a new string, or hard code the words in the certificate type instead of looking for a string.  &lt;br /&gt;
&lt;br /&gt;
*Add new string method.&lt;br /&gt;
**Open the certificate/lang/en/certificate.php file and add your new string giving it a unique name. &lt;br /&gt;
:$string[&#039;mynewtext&#039;] = &#039;This is what I want to print on the certificate&#039;;&lt;br /&gt;
&lt;br /&gt;
**Open the file for your certificate type and change the string reference. For example, go to  certificate/type/mycertificate/certificate.php.  Near the end of the file find &amp;quot;// Add Text&amp;quot;.  This is the area that prints--you guessed it--text on the certificate.  Find the current line below which you would like your new text to be printed.  For example, if you want your text to print below the course name, find the line:&lt;br /&gt;
&lt;br /&gt;
:cert_printtext($pdf, $x, $y, &#039;C&#039;, &#039;Helvetica&#039;, &#039;&#039;, 30, get_string(&#039;title&#039;, &#039;certificate&#039;));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Add a new line below that to print your new text using the name you gave your new lang string like this:&lt;br /&gt;
:cert_printtext($pdf, $x, $y+25, &#039;C&#039;, &#039;Helvetica&#039;, &#039;B&#039;, 10, get_string(&#039;mynewtext&#039;, &#039;certificate&#039;));&lt;br /&gt;
&lt;br /&gt;
Quick review.  We want the string mynewtext to start on the $x position from the left, on the $y+25 line, and the line should be center aligned (C, L, R or &#039; &#039;), in Helvetica type, in bold, with a font size of 10.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. You can add a hard coded line of text. For example, add signature title block line under the signature image:&lt;br /&gt;
:cert_printtext($pdf, $sigx, $sigy+30,&#039;&#039;, &#039;Helvetica&#039;, &#039;B&#039;, 10, &#039;Martin Dougiamas, Lead Developer&#039;);&lt;br /&gt;
&lt;br /&gt;
===Adding a second page===&lt;br /&gt;
After you have created your first page (or copied an existing page), add this bit of code:&lt;br /&gt;
&lt;br /&gt;
$pdf-&amp;gt;AddPage();&lt;br /&gt;
&lt;br /&gt;
Then you in the code for the second page. You can create a certificate with as many pages as you want.&lt;br /&gt;
&lt;br /&gt;
==Nov 2011 changes==&lt;br /&gt;
[https://github.com/PukunuiAustralia/moodle-mod_certificate PukunuiAustralia / moodle-mod_certificate] version 2011110107 is the basis for these comments.  There maybe earlier versions which are different.&lt;br /&gt;
*Standard types of certificates.  There are 4 standard certificate types based upon paper size and if the fonts are embedded or non-embedded in the pdf documents.   The orientation of landscape or portrait is located within each of these types.  This is different from the 1.9.x versions.&lt;br /&gt;
*The code for printing strings has changed.   While similar to the pre 2.0, be careful.&lt;br /&gt;
&lt;br /&gt;
==Tips &amp;amp; Tricks==&lt;br /&gt;
*Start with one of the existing certificate types, copy it and modify it. &lt;br /&gt;
*Try your customized code on a non production site, such as a local host.&lt;br /&gt;
*In Administration&amp;gt;&amp;gt;Server set debugging to maximum (to show any coding error messages).&lt;br /&gt;
*While you can leave a php file open in edit mode, you must save the file before your changes become active.&lt;br /&gt;
*Make code changes one at a time, test and then backup after each successful change. For example,after adding a new string to the certificate lang file), go to your course page and click on a certificate to see if it appears on the list.&lt;br /&gt;
*If you broke the code you may get a blank screen for a certificate.  &lt;br /&gt;
**So it might be a good idea to make a backup of each successful change before starting the next change.   For example, after the 3rd code change, save certificate.php as certificate3.txt.&lt;br /&gt;
*Certificate icon location-If you are using your own theme you have to put the icon.gif inside a folder called certificate and put in your mod folder image.  For example, if your theme uses custom icons, you must put a certificate folder with the certificate icon.gif in it under your theme/pix/mod folder.&lt;br /&gt;
*Consider editing you language pack rather than the /certificate/lang/en/certificate.php file.  You can do this through the Settings &amp;gt; Site administration &amp;gt;Language &amp;gt; Language customization menu. Look for mod/certificate.php.  Then when you update your certificate and it&#039;s language,it will keep your changes for the standard strings.&lt;br /&gt;
*Use a topic section heading as the certificate title. See [http://moodle.org/mod/forum/discuss.php?d=193170#p842551 in the certificate forum] for a code tweak.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[mod/certificate/mod|Add/Edit Certificate]]&lt;br /&gt;
* [[mod/certificate/view|Viewing a Certificate]]&lt;br /&gt;
* Moodle 2.x and later versions of certificate can be found at [https://github.com/PukunuiAustralia/moodle-mod_certificate PukunuiAustralia / moodle-mod_certificate].&lt;br /&gt;
&lt;br /&gt;
[[es:Personalizar certificado]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Certificate_customizing&amp;diff=113263</id>
		<title>Certificate customizing</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Certificate_customizing&amp;diff=113263"/>
		<updated>2014-06-21T15:49:44Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Customize format */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Certificate}}&lt;br /&gt;
A [[Certificate module|certificate]] can be customized beyond the standard downloaded install by the site administrator.  In general:&lt;br /&gt;
  &lt;br /&gt;
#This can be done by uploading additional image types through the site administration menu. Or by uploading images into one of the certificate/pix folders. &lt;br /&gt;
#The displayed text can be changed by customizing the language in site administration.  Or directly editing the /certificate/lang file.  &lt;br /&gt;
#The location of certificate images and text can be change by creating/editing a certificate type&#039;s code. &lt;br /&gt;
&lt;br /&gt;
==Certificate examples==&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Certificate examples - click on any to enlarge&amp;quot; widths=&amp;quot;200px&amp;quot; heights=&amp;quot;100px&amp;quot; perrow=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
Image:Certificate 27 plain.png|Shows no options selected, standard title, course name, user name and words.&lt;br /&gt;
Image:Certificate 1.gif|Fancy border, signature line, seal, code&lt;br /&gt;
Image:Certificate 27 manyoptions.png|Shows many text and images selected, signature, seal, watermark, code, grade, teachers name, custom text and border&lt;br /&gt;
Image:Certificate199 example lines.png|Lines, signature, seal, watermark, code, grade, outcomes, custom text&lt;br /&gt;
.&lt;br /&gt;
Image:Certificate199 example creative.png|Uploaded border, signature, watermark and seal&lt;br /&gt;
Image:Certificate 27 customcode.png |Custom everything, new certificate type, with new text strings, new text and image positions, plus uploadd watermark, seal, signature and border. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customizing==&lt;br /&gt;
The certificate code is located in the /mod/certificate folder.   There are sub-folders for backup, db, lang (holds language sub-folders), type (holds standard certificate types, each in their own sub-folder) and pix. The pix folder holds the sub-folders for the default borders, seals, signatures and watermarks.  These will be used at the time of  installation and become the default standard choices, after that they will not be used.  &lt;br /&gt;
&lt;br /&gt;
===Adding images===&lt;br /&gt;
[[Image:Certificate199 example creative.png|thumb|Creative customized example]] The easiest way to customize your certificate is for the site administrator to add your own JPG or PNG images for  borders, seals, signatures and watermarks to the default images found at the time of installation. The system administrator should go to the site administration block, Plugins&amp;gt;Activities&amp;gt;Certificate&amp;gt;Upload images.&lt;br /&gt;
&lt;br /&gt;
Make sure your new files are the same size as the standard images. For example, the standard signature file is 150x31 pixels. If the signature file is a different size, you may need to modify the code line.  The same will be true for seals, borders and watermarks.The sample seals are 80x80 pixels in size.&lt;br /&gt;
&lt;br /&gt;
In the creative example, a custom border, watermark, signature and seal were uploaded.  All were sized and in the same file format as the one supplied with the initial certificate install.&lt;br /&gt;
&lt;br /&gt;
===Customize format===&lt;br /&gt;
[[Image:Certificate_27_customcode.png|thumb|New type with new strings, new positions]] You will need to be able to edit your Moodle code to create a custom format.   It is a good idea to create your own custom certificate type, that will appear on a list along with the standard certificates types.  You will know which is your custom certificate type and it will survive when you upgrade.  Here is how:&lt;br /&gt;
&lt;br /&gt;
1.  Choose the one of the certificate/type folders, copy and paste it in the certificate/type folder.  Give the copied folder a new name.  For example copy the /type/letter_non_embedded folder and rename it &#039;mycertificate&#039;. &lt;br /&gt;
&lt;br /&gt;
2.  Open the certificate/lang/en/certificate.php file and add the name of your new folder type.  Following the above example, you would add:&lt;br /&gt;
&lt;br /&gt;
:$string[&#039;typemycertificate&#039;] = &#039;My New Certificate&#039;;&lt;br /&gt;
&lt;br /&gt;
Now, when you add a certificate to a course, your new type will appear on the drop down list as &amp;quot;My New Certificate&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; You should add the proper string as shown in step 2 above or you may receive an error message and it will appear as if the code is broken.  And remember if you update your certificate module that this file may be erased with a new version. &lt;br /&gt;
: &#039;&#039;Tip:&#039;&#039; The sections below give examples of how to change text and image position in a certificate type file.  It also covers how to create a new text string in the certificate lang file.&lt;br /&gt;
&lt;br /&gt;
===Modifying text and text position code examples===&lt;br /&gt;
Changing the location of text is done by using code to set the x,y position on the page.  The &amp;quot;x&amp;quot; is the distance from the left margin and the &amp;quot;y&amp;quot; is the distance from the top.  Here are some examples which set the position in the same place:&lt;br /&gt;
:certificate_print_text($pdf, 28, 183, &#039;C&#039;, &#039;Times&#039;, &#039;B&#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;)); //This fixes the start of the text at 28,183.&lt;br /&gt;
&lt;br /&gt;
:certificate_print_text($pdf, $x, $y + 55, &#039;C&#039;, &#039;Times&#039;, &#039;I&#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;)); // This uses the x string (which is $x= 28) and adds 55 to the y string (which was $y=128).&lt;br /&gt;
&lt;br /&gt;
:certificate_print_text($pdf, $certx, $certy, &#039;C&#039;, &#039;Times&#039;, &#039; &#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;));  //This uses new string definitions that were added to top of the in both Landscape and Portraits sections.  &lt;br /&gt;
&lt;br /&gt;
In the above examples we centered the text, used the Times font, used bold, italic and none and kept the font size to 20.  &lt;br /&gt;
&lt;br /&gt;
We also created a new text string called certifymoodle.  In the /certifcate/lang/certificate.php file we copied the $string[&#039;certify&#039;] = &#039;This is to certify that&#039;; string line, pasted it underneath the original and changed it to read $string[&#039;certifymoodle&#039;] = &#039;This is to say that&#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Modifying image position code example====&lt;br /&gt;
&lt;br /&gt;
We will change the signature position that is found in the type/letter_non_embedded/certificate.php file when we generate a pdf in landscape mode.  There are at least 2 ways to change the code. Say we want to move it to the left to the 100 position from 130 and up to the 435 line from the 440 line.&lt;br /&gt;
*Near the top of the file, you should notice there are a set of variables for &amp;quot;Landscape&amp;quot; which are followed by another set for &amp;quot;Portrait&amp;quot;. We can overrule some of the landscape and portrait codes the $sigx and $sigy position variables, so they read $sigx = 100 and $sigy = 435 .  &lt;br /&gt;
**Alternatively, we can overrule some of the landscape and portrait codes, in this case the signature block. In the &amp;quot;// Add images and lines&amp;quot; section we see the code that actually prints in the position by using the landscape and portrait variables:&lt;br /&gt;
:print_signature($pdf, $certificate, $sigx, $sigy, &#039;&#039;, &#039;&#039;);&lt;br /&gt;
By changing the variables to fix numbers it will not matter if the teacher selects landscape or portrait mode for this custom type. For example:&lt;br /&gt;
:print_signature($pdf, $certificate, 100, 435, &#039;&#039;, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
If others have not added a standard signature line, you might want to fix it to a certain size.  For example, you want the image to print 150px by 75px.   &lt;br /&gt;
&lt;br /&gt;
:print_signature($pdf, $certificate, $sigx, $sigy, &#039;150&#039;, &#039;75&#039;);&lt;br /&gt;
&lt;br /&gt;
This should give you a good idea about how to change the position of other images.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Adjusting transparency of an image====&lt;br /&gt;
It is possible to put in a strong image as a watermark and adjust the transparency setting when the PDF is created.  Look for the SetAlpha code in front of a print element. For example infront of the &amp;quot;print_watermark..&amp;quot; line, you will see $pdf_SetAlpha(0.1);  It is currently set to .1, the .3 in our example is less transparent.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; In older version of certificate, the watermark image itself was dimmed before it was placed in the folder.  If you had a custom watermark, this is the way it was done.   You can change the SetAlpha in the code to 1 and it should appear as it did in previous version of certificate.&lt;br /&gt;
&lt;br /&gt;
===Changing printed text===&lt;br /&gt;
There are two ways to change the language strings.  A best practice is to customize your language pack via site administration.  You will find the certificate.php in the mod group.   If you use the method below, when you update all your certificate files, then your changes will not be saved.     &lt;br /&gt;
&lt;br /&gt;
You can edit the language file found in the certificate folder, such as certificate/lang/en/certificate.php if you are not worried about losing you changes. Lets say you want to change the words at the top of all certificates on your site.&lt;br /&gt;
&lt;br /&gt;
Find the default strings:&lt;br /&gt;
:$string[&#039;title&#039;] = &#039;CERTIFICATE OF ACHIEVEMENT&#039;;     &lt;br /&gt;
:$string[&#039;intro&#039;] = &#039;This is to certify that&#039;;&lt;br /&gt;
:$string[&#039;statement&#039;] = &#039;has completed the course&#039;;&lt;br /&gt;
&lt;br /&gt;
Change them to read (for example):&lt;br /&gt;
:$string[&#039;title&#039;] = &#039;DIP0LOMA&#039;;    &lt;br /&gt;
:$string[&#039;intro&#039;] = &#039;I am proud to state that&#039;; &lt;br /&gt;
:$string[&#039;statement&#039;] = &#039;has successfully passed the final exam&#039;;&lt;br /&gt;
&lt;br /&gt;
===Adding a New Line of Text===&lt;br /&gt;
You have created a couple of custom certificate types.   In these certificates you want some new words to appear.  There are basically 2 choices, you can have it look up a new string, or hard code the words in the certificate type instead of looking for a string.  &lt;br /&gt;
&lt;br /&gt;
*Add new string method.&lt;br /&gt;
**Open the certificate/lang/en/certificate.php file and add your new string giving it a unique name. &lt;br /&gt;
:$string[&#039;mynewtext&#039;] = &#039;This is what I want to print on the certificate&#039;;&lt;br /&gt;
&lt;br /&gt;
**Open the file for your certificate type and change the string reference. For example, go to  certificate/type/mycertificate/certificate.php.  Near the end of the file find &amp;quot;// Add Text&amp;quot;.  This is the area that prints--you guessed it--text on the certificate.  Find the current line below which you would like your new text to be printed.  For example, if you want your text to print below the course name, find the line:&lt;br /&gt;
&lt;br /&gt;
:cert_printtext($pdf, $x, $y, &#039;C&#039;, &#039;Helvetica&#039;, &#039;&#039;, 30, get_string(&#039;title&#039;, &#039;certificate&#039;));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Add a new line below that to print your new text using the name you gave your new lang string like this:&lt;br /&gt;
:cert_printtext($pdf, $x, $y+25, &#039;C&#039;, &#039;Helvetica&#039;, &#039;B&#039;, 10, get_string(&#039;mynewtext&#039;, &#039;certificate&#039;));&lt;br /&gt;
&lt;br /&gt;
Quick review.  We want the string mynewtext to start on the $x position from the left, on the $y+25 line, and the line should be center aligned (C, L, R or &#039; &#039;), in Helvetica type, in bold, with a font size of 10.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. You can add a hard coded line of text. For example, add signature title block line under the signature image:&lt;br /&gt;
:cert_printtext($pdf, $sigx, $sigy+30,&#039;&#039;, &#039;Helvetica&#039;, &#039;B&#039;, 10, &#039;Martin Dougiamas, Lead Developer&#039;);&lt;br /&gt;
&lt;br /&gt;
===Adding a second page===&lt;br /&gt;
After you have created your first page (or copied an existing page), add this bit of code:&lt;br /&gt;
&lt;br /&gt;
$pdf-&amp;gt;AddPage();&lt;br /&gt;
&lt;br /&gt;
Then you in the code for the second page. You can create a certificate with as many pages as you want.&lt;br /&gt;
&lt;br /&gt;
==Nov 2011 changes==&lt;br /&gt;
[https://github.com/PukunuiAustralia/moodle-mod_certificate PukunuiAustralia / moodle-mod_certificate] version 2011110107 is the basis for these comments.  There maybe earlier versions which are different.&lt;br /&gt;
*Standard types of certificates.  There are 4 standard certificate types based upon paper size and if the fonts are embedded or non-embedded in the pdf documents.   The orientation of landscape or portrait is located within each of these types.  This is different from the 1.9.x versions.&lt;br /&gt;
*The code for printing strings has changed.   While similar to the pre 2.0, be careful.&lt;br /&gt;
&lt;br /&gt;
==Tips &amp;amp; Tricks==&lt;br /&gt;
*Start with one of the existing certificate types, copy it and modify it. &lt;br /&gt;
*Try your customized code on a non production site, such as a local host.&lt;br /&gt;
*In Administration&amp;gt;&amp;gt;Server set debugging to maximum (to show any coding error messages).&lt;br /&gt;
*While you can leave a php file open in edit mode, you must save the file before your changes become active.&lt;br /&gt;
*Make code changes one at a time, test and then backup after each successful change. For example,after adding a new string to the certificate lang file), go to your course page and click on a certificate to see if it appears on the list.&lt;br /&gt;
*If you broke the code you may get a blank screen for a certificate.  &lt;br /&gt;
**So it might be a good idea to make a backup of each successful change before starting the next change.   For example, after the 3rd code change, save certificate.php as certificate3.txt.&lt;br /&gt;
*Certificate icon location-If you are using your own theme you have to put the icon.gif inside a folder called certificate and put in your mod folder image.  For example, if your theme uses custom icons, you must put a certificate folder with the certificate icon.gif in it under your theme/pix/mod folder.&lt;br /&gt;
*Consider editing you language pack rather than the /certificate/lang/en/certificate.php file.  You can do this through the Settings &amp;gt; Site administration &amp;gt;Language &amp;gt; Language customization menu. Look for mod/certificate.php.  Then when you update your certificate and it&#039;s language,it will keep your changes for the standard strings.&lt;br /&gt;
*Use a topic section heading as the certificate title. See [http://moodle.org/mod/forum/discuss.php?d=193170#p842551 in the certificate forum] for a code tweak.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[mod/certificate/mod|Add/Edit Certificate]]&lt;br /&gt;
* [[mod/certificate/view|Viewing a Certificate]]&lt;br /&gt;
* Moodle 2.x and later versions of certificate can be found at [https://github.com/PukunuiAustralia/moodle-mod_certificate PukunuiAustralia / moodle-mod_certificate].&lt;br /&gt;
&lt;br /&gt;
[[es:Personalizar certificado]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Certificate_customizing&amp;diff=113261</id>
		<title>Certificate customizing</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Certificate_customizing&amp;diff=113261"/>
		<updated>2014-06-21T15:45:12Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Customize format */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Certificate}}&lt;br /&gt;
A [[Certificate module|certificate]] can be customized beyond the standard downloaded install by the site administrator.  In general:&lt;br /&gt;
  &lt;br /&gt;
#This can be done by uploading additional image types through the site administration menu. Or by uploading images into one of the certificate/pix folders. &lt;br /&gt;
#The displayed text can be changed by customizing the language in site administration.  Or directly editing the /certificate/lang file.  &lt;br /&gt;
#The location of certificate images and text can be change by creating/editing a certificate type&#039;s code. &lt;br /&gt;
&lt;br /&gt;
==Certificate examples==&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Certificate examples - click on any to enlarge&amp;quot; widths=&amp;quot;200px&amp;quot; heights=&amp;quot;100px&amp;quot; perrow=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
Image:Certificate 27 plain.png|Shows no options selected, standard title, course name, user name and words.&lt;br /&gt;
Image:Certificate 1.gif|Fancy border, signature line, seal, code&lt;br /&gt;
Image:Certificate 27 manyoptions.png|Shows many text and images selected, signature, seal, watermark, code, grade, teachers name, custom text and border&lt;br /&gt;
Image:Certificate199 example lines.png|Lines, signature, seal, watermark, code, grade, outcomes, custom text&lt;br /&gt;
.&lt;br /&gt;
Image:Certificate199 example creative.png|Uploaded border, signature, watermark and seal&lt;br /&gt;
Image:Certificate 27 customcode.png |Custom everything, new certificate type, with new text strings, new text and image positions, plus uploadd watermark, seal, signature and border. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customizing==&lt;br /&gt;
The certificate code is located in the /mod/certificate folder.   There are sub-folders for backup, db, lang (holds language sub-folders), type (holds standard certificate types, each in their own sub-folder) and pix. The pix folder holds the sub-folders for the default borders, seals, signatures and watermarks.  These will be used at the time of  installation and become the default standard choices, after that they will not be used.  &lt;br /&gt;
&lt;br /&gt;
===Adding images===&lt;br /&gt;
[[Image:Certificate199 example creative.png|thumb|Creative customized example]] The easiest way to customize your certificate is for the site administrator to add your own JPG or PNG images for  borders, seals, signatures and watermarks to the default images found at the time of installation. The system administrator should go to the site administration block, Plugins&amp;gt;Activities&amp;gt;Certificate&amp;gt;Upload images.&lt;br /&gt;
&lt;br /&gt;
Make sure your new files are the same size as the standard images. For example, the standard signature file is 150x31 pixels. If the signature file is a different size, you may need to modify the code line.  The same will be true for seals, borders and watermarks.The sample seals are 80x80 pixels in size.&lt;br /&gt;
&lt;br /&gt;
In the creative example, a custom border, watermark, signature and seal were uploaded.  All were sized and in the same file format as the one supplied with the initial certificate install.&lt;br /&gt;
&lt;br /&gt;
===Customize format===&lt;br /&gt;
[[Image:Certificate_27_customcode.png|thumb|New type with new strings, new positions]] It is a good idea to create your own custom certificate type, that will appear on a list along with the standard certificates types.  You will know which is your custom certificate type and it will survive when you upgrade.  Here is how:&lt;br /&gt;
&lt;br /&gt;
1.  Choose the one of the certificate/type folders, copy and paste it in the certificate/type folder.  Give the copied folder a new name.  For example copy the /type/letter_non_embedded folder and rename it &#039;mycertificate&#039;. &lt;br /&gt;
&lt;br /&gt;
2.  Open the certificate/lang/en/certificate.php file and add the name of your new folder type.  Following the above example, you would add:&lt;br /&gt;
&lt;br /&gt;
:$string[&#039;typemycertificate&#039;] = &#039;My New Certificate&#039;;&lt;br /&gt;
&lt;br /&gt;
Now, when you add a certificate to a course, your new type will appear on the drop down list as &amp;quot;My New Certificate&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; You should add the proper string as shown in step 2 above or you may receive an error message and it will appear as if the code is broken.  And remember if you update your certificate module that this file may be erased with a new version. &lt;br /&gt;
: &#039;&#039;Tip:&#039;&#039; Remember you also can add some custom strings in this folder for text you want to appear in your new certificate type.  For example, add a line&lt;br /&gt;
:$string[&#039;statementmoodle&#039;] = &#039;has demonstrated superior skills in&#039;;&lt;br /&gt;
&lt;br /&gt;
===Modifying text and text position code examples===&lt;br /&gt;
Changing the location of text is done by using code to set the x,y position on the page.  The &amp;quot;x&amp;quot; is the distance from the left margin and the &amp;quot;y&amp;quot; is the distance from the top.  Here are some examples which set the position in the same place:&lt;br /&gt;
:certificate_print_text($pdf, 28, 183, &#039;C&#039;, &#039;Times&#039;, &#039;B&#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;)); //This fixes the start of the text at 28,183.&lt;br /&gt;
&lt;br /&gt;
:certificate_print_text($pdf, $x, $y + 55, &#039;C&#039;, &#039;Times&#039;, &#039;I&#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;)); // This uses the x string (which is $x= 28) and adds 55 to the y string (which was $y=128).&lt;br /&gt;
&lt;br /&gt;
:certificate_print_text($pdf, $certx, $certy, &#039;C&#039;, &#039;Times&#039;, &#039; &#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;));  //This uses new string definitions that were added to top of the in both Landscape and Portraits sections.  &lt;br /&gt;
&lt;br /&gt;
In the above examples we centered the text, used the Times font, used bold, italic and none and kept the font size to 20.  &lt;br /&gt;
&lt;br /&gt;
We also created a new text string called certifymoodle.  In the /certifcate/lang/certificate.php file we copied the $string[&#039;certify&#039;] = &#039;This is to certify that&#039;; string line, pasted it underneath the original and changed it to read $string[&#039;certifymoodle&#039;] = &#039;This is to say that&#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Modifying image position code example====&lt;br /&gt;
&lt;br /&gt;
We will change the signature position that is found in the type/letter_non_embedded/certificate.php file when we generate a pdf in landscape mode.  There are at least 2 ways to change the code. Say we want to move it to the left to the 100 position from 130 and up to the 435 line from the 440 line.&lt;br /&gt;
*Near the top of the file, you should notice there are a set of variables for &amp;quot;Landscape&amp;quot; which are followed by another set for &amp;quot;Portrait&amp;quot;. We can overrule some of the landscape and portrait codes the $sigx and $sigy position variables, so they read $sigx = 100 and $sigy = 435 .  &lt;br /&gt;
**Alternatively, we can overrule some of the landscape and portrait codes, in this case the signature block. In the &amp;quot;// Add images and lines&amp;quot; section we see the code that actually prints in the position by using the landscape and portrait variables:&lt;br /&gt;
:print_signature($pdf, $certificate, $sigx, $sigy, &#039;&#039;, &#039;&#039;);&lt;br /&gt;
By changing the variables to fix numbers it will not matter if the teacher selects landscape or portrait mode for this custom type. For example:&lt;br /&gt;
:print_signature($pdf, $certificate, 100, 435, &#039;&#039;, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
If others have not added a standard signature line, you might want to fix it to a certain size.  For example, you want the image to print 150px by 75px.   &lt;br /&gt;
&lt;br /&gt;
:print_signature($pdf, $certificate, $sigx, $sigy, &#039;150&#039;, &#039;75&#039;);&lt;br /&gt;
&lt;br /&gt;
This should give you a good idea about how to change the position of other images.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Adjusting transparency of an image====&lt;br /&gt;
It is possible to put in a strong image as a watermark and adjust the transparency setting when the PDF is created.  Look for the SetAlpha code in front of a print element. For example infront of the &amp;quot;print_watermark..&amp;quot; line, you will see $pdf_SetAlpha(0.1);  It is currently set to .1, the .3 in our example is less transparent.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; In older version of certificate, the watermark image itself was dimmed before it was placed in the folder.  If you had a custom watermark, this is the way it was done.   You can change the SetAlpha in the code to 1 and it should appear as it did in previous version of certificate.&lt;br /&gt;
&lt;br /&gt;
===Changing printed text===&lt;br /&gt;
There are two ways to change the language strings.  A best practice is to customize your language pack via site administration.  You will find the certificate.php in the mod group.   If you use the method below, when you update all your certificate files, then your changes will not be saved.     &lt;br /&gt;
&lt;br /&gt;
You can edit the language file found in the certificate folder, such as certificate/lang/en/certificate.php if you are not worried about losing you changes. Lets say you want to change the words at the top of all certificates on your site.&lt;br /&gt;
&lt;br /&gt;
Find the default strings:&lt;br /&gt;
:$string[&#039;title&#039;] = &#039;CERTIFICATE OF ACHIEVEMENT&#039;;     &lt;br /&gt;
:$string[&#039;intro&#039;] = &#039;This is to certify that&#039;;&lt;br /&gt;
:$string[&#039;statement&#039;] = &#039;has completed the course&#039;;&lt;br /&gt;
&lt;br /&gt;
Change them to read (for example):&lt;br /&gt;
:$string[&#039;title&#039;] = &#039;DIP0LOMA&#039;;    &lt;br /&gt;
:$string[&#039;intro&#039;] = &#039;I am proud to state that&#039;; &lt;br /&gt;
:$string[&#039;statement&#039;] = &#039;has successfully passed the final exam&#039;;&lt;br /&gt;
&lt;br /&gt;
===Adding a New Line of Text===&lt;br /&gt;
You have created a couple of custom certificate types.   In these certificates you want some new words to appear.  There are basically 2 choices, you can have it look up a new string, or hard code the words in the certificate type instead of looking for a string.  &lt;br /&gt;
&lt;br /&gt;
*Add new string method.&lt;br /&gt;
**Open the certificate/lang/en/certificate.php file and add your new string giving it a unique name. &lt;br /&gt;
:$string[&#039;mynewtext&#039;] = &#039;This is what I want to print on the certificate&#039;;&lt;br /&gt;
&lt;br /&gt;
**Open the file for your certificate type and change the string reference. For example, go to  certificate/type/mycertificate/certificate.php.  Near the end of the file find &amp;quot;// Add Text&amp;quot;.  This is the area that prints--you guessed it--text on the certificate.  Find the current line below which you would like your new text to be printed.  For example, if you want your text to print below the course name, find the line:&lt;br /&gt;
&lt;br /&gt;
:cert_printtext($pdf, $x, $y, &#039;C&#039;, &#039;Helvetica&#039;, &#039;&#039;, 30, get_string(&#039;title&#039;, &#039;certificate&#039;));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Add a new line below that to print your new text using the name you gave your new lang string like this:&lt;br /&gt;
:cert_printtext($pdf, $x, $y+25, &#039;C&#039;, &#039;Helvetica&#039;, &#039;B&#039;, 10, get_string(&#039;mynewtext&#039;, &#039;certificate&#039;));&lt;br /&gt;
&lt;br /&gt;
Quick review.  We want the string mynewtext to start on the $x position from the left, on the $y+25 line, and the line should be center aligned (C, L, R or &#039; &#039;), in Helvetica type, in bold, with a font size of 10.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. You can add a hard coded line of text. For example, add signature title block line under the signature image:&lt;br /&gt;
:cert_printtext($pdf, $sigx, $sigy+30,&#039;&#039;, &#039;Helvetica&#039;, &#039;B&#039;, 10, &#039;Martin Dougiamas, Lead Developer&#039;);&lt;br /&gt;
&lt;br /&gt;
===Adding a second page===&lt;br /&gt;
After you have created your first page (or copied an existing page), add this bit of code:&lt;br /&gt;
&lt;br /&gt;
$pdf-&amp;gt;AddPage();&lt;br /&gt;
&lt;br /&gt;
Then you in the code for the second page. You can create a certificate with as many pages as you want.&lt;br /&gt;
&lt;br /&gt;
==Nov 2011 changes==&lt;br /&gt;
[https://github.com/PukunuiAustralia/moodle-mod_certificate PukunuiAustralia / moodle-mod_certificate] version 2011110107 is the basis for these comments.  There maybe earlier versions which are different.&lt;br /&gt;
*Standard types of certificates.  There are 4 standard certificate types based upon paper size and if the fonts are embedded or non-embedded in the pdf documents.   The orientation of landscape or portrait is located within each of these types.  This is different from the 1.9.x versions.&lt;br /&gt;
*The code for printing strings has changed.   While similar to the pre 2.0, be careful.&lt;br /&gt;
&lt;br /&gt;
==Tips &amp;amp; Tricks==&lt;br /&gt;
*Start with one of the existing certificate types, copy it and modify it. &lt;br /&gt;
*Try your customized code on a non production site, such as a local host.&lt;br /&gt;
*In Administration&amp;gt;&amp;gt;Server set debugging to maximum (to show any coding error messages).&lt;br /&gt;
*While you can leave a php file open in edit mode, you must save the file before your changes become active.&lt;br /&gt;
*Make code changes one at a time, test and then backup after each successful change. For example,after adding a new string to the certificate lang file), go to your course page and click on a certificate to see if it appears on the list.&lt;br /&gt;
*If you broke the code you may get a blank screen for a certificate.  &lt;br /&gt;
**So it might be a good idea to make a backup of each successful change before starting the next change.   For example, after the 3rd code change, save certificate.php as certificate3.txt.&lt;br /&gt;
*Certificate icon location-If you are using your own theme you have to put the icon.gif inside a folder called certificate and put in your mod folder image.  For example, if your theme uses custom icons, you must put a certificate folder with the certificate icon.gif in it under your theme/pix/mod folder.&lt;br /&gt;
*Consider editing you language pack rather than the /certificate/lang/en/certificate.php file.  You can do this through the Settings &amp;gt; Site administration &amp;gt;Language &amp;gt; Language customization menu. Look for mod/certificate.php.  Then when you update your certificate and it&#039;s language,it will keep your changes for the standard strings.&lt;br /&gt;
*Use a topic section heading as the certificate title. See [http://moodle.org/mod/forum/discuss.php?d=193170#p842551 in the certificate forum] for a code tweak.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[mod/certificate/mod|Add/Edit Certificate]]&lt;br /&gt;
* [[mod/certificate/view|Viewing a Certificate]]&lt;br /&gt;
* Moodle 2.x and later versions of certificate can be found at [https://github.com/PukunuiAustralia/moodle-mod_certificate PukunuiAustralia / moodle-mod_certificate].&lt;br /&gt;
&lt;br /&gt;
[[es:Personalizar certificado]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Certificate_customizing&amp;diff=113260</id>
		<title>Certificate customizing</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Certificate_customizing&amp;diff=113260"/>
		<updated>2014-06-21T15:44:12Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Customize format */ tried a complete rewrite of the whole section, probably too long&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Certificate}}&lt;br /&gt;
A [[Certificate module|certificate]] can be customized beyond the standard downloaded install by the site administrator.  In general:&lt;br /&gt;
  &lt;br /&gt;
#This can be done by uploading additional image types through the site administration menu. Or by uploading images into one of the certificate/pix folders. &lt;br /&gt;
#The displayed text can be changed by customizing the language in site administration.  Or directly editing the /certificate/lang file.  &lt;br /&gt;
#The location of certificate images and text can be change by creating/editing a certificate type&#039;s code. &lt;br /&gt;
&lt;br /&gt;
==Certificate examples==&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Certificate examples - click on any to enlarge&amp;quot; widths=&amp;quot;200px&amp;quot; heights=&amp;quot;100px&amp;quot; perrow=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
Image:Certificate 27 plain.png|Shows no options selected, standard title, course name, user name and words.&lt;br /&gt;
Image:Certificate 1.gif|Fancy border, signature line, seal, code&lt;br /&gt;
Image:Certificate 27 manyoptions.png|Shows many text and images selected, signature, seal, watermark, code, grade, teachers name, custom text and border&lt;br /&gt;
Image:Certificate199 example lines.png|Lines, signature, seal, watermark, code, grade, outcomes, custom text&lt;br /&gt;
.&lt;br /&gt;
Image:Certificate199 example creative.png|Uploaded border, signature, watermark and seal&lt;br /&gt;
Image:Certificate 27 customcode.png |Custom everything, new certificate type, with new text strings, new text and image positions, plus uploadd watermark, seal, signature and border. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customizing==&lt;br /&gt;
The certificate code is located in the /mod/certificate folder.   There are sub-folders for backup, db, lang (holds language sub-folders), type (holds standard certificate types, each in their own sub-folder) and pix. The pix folder holds the sub-folders for the default borders, seals, signatures and watermarks.  These will be used at the time of  installation and become the default standard choices, after that they will not be used.  &lt;br /&gt;
&lt;br /&gt;
===Adding images===&lt;br /&gt;
[[Image:Certificate199 example creative.png|thumb|Creative customized example]] The easiest way to customize your certificate is for the site administrator to add your own JPG or PNG images for  borders, seals, signatures and watermarks to the default images found at the time of installation. The system administrator should go to the site administration block, Plugins&amp;gt;Activities&amp;gt;Certificate&amp;gt;Upload images.&lt;br /&gt;
&lt;br /&gt;
Make sure your new files are the same size as the standard images. For example, the standard signature file is 150x31 pixels. If the signature file is a different size, you may need to modify the code line.  The same will be true for seals, borders and watermarks.The sample seals are 80x80 pixels in size.&lt;br /&gt;
&lt;br /&gt;
In the creative example, a custom border, watermark, signature and seal were uploaded.  All were sized and in the same file format as the one supplied with the initial certificate install.&lt;br /&gt;
&lt;br /&gt;
===Customize format===&lt;br /&gt;
[[Image:Certificate_27_customcode.png|thumb|New type with new strings]] It is a good idea to create your own custom certificate type, that will appear on a list along with the standard certificates types.  You will know which is your custom certificate type and it will survive when you upgrade.  Here is how:&lt;br /&gt;
&lt;br /&gt;
1.  Choose the one of the certificate/type folders, copy and paste it in the certificate/type folder.  Give the copied folder a new name.  For example copy the /type/letter_non_embedded folder and rename it &#039;mycertificate&#039;. &lt;br /&gt;
&lt;br /&gt;
2.  Open the certificate/lang/en/certificate.php file and add the name of your new folder type.  Following the above example, you would add:&lt;br /&gt;
&lt;br /&gt;
:$string[&#039;typemycertificate&#039;] = &#039;My New Certificate&#039;;&lt;br /&gt;
&lt;br /&gt;
Now, when you add a certificate to a course, your new type will appear on the drop down list as &amp;quot;My New Certificate&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; You should add the proper string as shown in step 2 above or you may receive an error message and it will appear as if the code is broken.  And remember if you update your certificate module that this file may be erased with a new version. &lt;br /&gt;
: &#039;&#039;Tip:&#039;&#039; Remember you also can add some custom strings in this folder for text you want to appear in your new certificate type.  For example, add a line&lt;br /&gt;
:$string[&#039;statementmoodle&#039;] = &#039;has demonstrated superior skills in&#039;;&lt;br /&gt;
&lt;br /&gt;
===Modifying text and text position code examples===&lt;br /&gt;
Changing the location of text is done by using code to set the x,y position on the page.  The &amp;quot;x&amp;quot; is the distance from the left margin and the &amp;quot;y&amp;quot; is the distance from the top.  Here are some examples which set the position in the same place:&lt;br /&gt;
:certificate_print_text($pdf, 28, 183, &#039;C&#039;, &#039;Times&#039;, &#039;B&#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;)); //This fixes the start of the text at 28,183.&lt;br /&gt;
&lt;br /&gt;
:certificate_print_text($pdf, $x, $y + 55, &#039;C&#039;, &#039;Times&#039;, &#039;I&#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;)); // This uses the x string (which is $x= 28) and adds 55 to the y string (which was $y=128).&lt;br /&gt;
&lt;br /&gt;
:certificate_print_text($pdf, $certx, $certy, &#039;C&#039;, &#039;Times&#039;, &#039; &#039;, 20, get_string(&#039;certifymoodle&#039;, &#039;certificate&#039;));  //This uses new string definitions that were added to top of the in both Landscape and Portraits sections.  &lt;br /&gt;
&lt;br /&gt;
In the above examples we centered the text, used the Times font, used bold, italic and none and kept the font size to 20.  &lt;br /&gt;
&lt;br /&gt;
We also created a new text string called certifymoodle.  In the /certifcate/lang/certificate.php file we copied the $string[&#039;certify&#039;] = &#039;This is to certify that&#039;; string line, pasted it underneath the original and changed it to read $string[&#039;certifymoodle&#039;] = &#039;This is to say that&#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Modifying image position code example====&lt;br /&gt;
&lt;br /&gt;
We will change the signature position that is found in the type/letter_non_embedded/certificate.php file when we generate a pdf in landscape mode.  There are at least 2 ways to change the code. Say we want to move it to the left to the 100 position from 130 and up to the 435 line from the 440 line.&lt;br /&gt;
*Near the top of the file, you should notice there are a set of variables for &amp;quot;Landscape&amp;quot; which are followed by another set for &amp;quot;Portrait&amp;quot;. We can overrule some of the landscape and portrait codes the $sigx and $sigy position variables, so they read $sigx = 100 and $sigy = 435 .  &lt;br /&gt;
**Alternatively, we can overrule some of the landscape and portrait codes, in this case the signature block. In the &amp;quot;// Add images and lines&amp;quot; section we see the code that actually prints in the position by using the landscape and portrait variables:&lt;br /&gt;
:print_signature($pdf, $certificate, $sigx, $sigy, &#039;&#039;, &#039;&#039;);&lt;br /&gt;
By changing the variables to fix numbers it will not matter if the teacher selects landscape or portrait mode for this custom type. For example:&lt;br /&gt;
:print_signature($pdf, $certificate, 100, 435, &#039;&#039;, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
If others have not added a standard signature line, you might want to fix it to a certain size.  For example, you want the image to print 150px by 75px.   &lt;br /&gt;
&lt;br /&gt;
:print_signature($pdf, $certificate, $sigx, $sigy, &#039;150&#039;, &#039;75&#039;);&lt;br /&gt;
&lt;br /&gt;
This should give you a good idea about how to change the position of other images.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Adjusting transparency of an image====&lt;br /&gt;
It is possible to put in a strong image as a watermark and adjust the transparency setting when the PDF is created.  Look for the SetAlpha code in front of a print element. For example infront of the &amp;quot;print_watermark..&amp;quot; line, you will see $pdf_SetAlpha(0.1);  It is currently set to .1, the .3 in our example is less transparent.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; In older version of certificate, the watermark image itself was dimmed before it was placed in the folder.  If you had a custom watermark, this is the way it was done.   You can change the SetAlpha in the code to 1 and it should appear as it did in previous version of certificate.&lt;br /&gt;
&lt;br /&gt;
===Changing printed text===&lt;br /&gt;
There are two ways to change the language strings.  A best practice is to customize your language pack via site administration.  You will find the certificate.php in the mod group.   If you use the method below, when you update all your certificate files, then your changes will not be saved.     &lt;br /&gt;
&lt;br /&gt;
You can edit the language file found in the certificate folder, such as certificate/lang/en/certificate.php if you are not worried about losing you changes. Lets say you want to change the words at the top of all certificates on your site.&lt;br /&gt;
&lt;br /&gt;
Find the default strings:&lt;br /&gt;
:$string[&#039;title&#039;] = &#039;CERTIFICATE OF ACHIEVEMENT&#039;;     &lt;br /&gt;
:$string[&#039;intro&#039;] = &#039;This is to certify that&#039;;&lt;br /&gt;
:$string[&#039;statement&#039;] = &#039;has completed the course&#039;;&lt;br /&gt;
&lt;br /&gt;
Change them to read (for example):&lt;br /&gt;
:$string[&#039;title&#039;] = &#039;DIP0LOMA&#039;;    &lt;br /&gt;
:$string[&#039;intro&#039;] = &#039;I am proud to state that&#039;; &lt;br /&gt;
:$string[&#039;statement&#039;] = &#039;has successfully passed the final exam&#039;;&lt;br /&gt;
&lt;br /&gt;
===Adding a New Line of Text===&lt;br /&gt;
You have created a couple of custom certificate types.   In these certificates you want some new words to appear.  There are basically 2 choices, you can have it look up a new string, or hard code the words in the certificate type instead of looking for a string.  &lt;br /&gt;
&lt;br /&gt;
*Add new string method.&lt;br /&gt;
**Open the certificate/lang/en/certificate.php file and add your new string giving it a unique name. &lt;br /&gt;
:$string[&#039;mynewtext&#039;] = &#039;This is what I want to print on the certificate&#039;;&lt;br /&gt;
&lt;br /&gt;
**Open the file for your certificate type and change the string reference. For example, go to  certificate/type/mycertificate/certificate.php.  Near the end of the file find &amp;quot;// Add Text&amp;quot;.  This is the area that prints--you guessed it--text on the certificate.  Find the current line below which you would like your new text to be printed.  For example, if you want your text to print below the course name, find the line:&lt;br /&gt;
&lt;br /&gt;
:cert_printtext($pdf, $x, $y, &#039;C&#039;, &#039;Helvetica&#039;, &#039;&#039;, 30, get_string(&#039;title&#039;, &#039;certificate&#039;));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Add a new line below that to print your new text using the name you gave your new lang string like this:&lt;br /&gt;
:cert_printtext($pdf, $x, $y+25, &#039;C&#039;, &#039;Helvetica&#039;, &#039;B&#039;, 10, get_string(&#039;mynewtext&#039;, &#039;certificate&#039;));&lt;br /&gt;
&lt;br /&gt;
Quick review.  We want the string mynewtext to start on the $x position from the left, on the $y+25 line, and the line should be center aligned (C, L, R or &#039; &#039;), in Helvetica type, in bold, with a font size of 10.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. You can add a hard coded line of text. For example, add signature title block line under the signature image:&lt;br /&gt;
:cert_printtext($pdf, $sigx, $sigy+30,&#039;&#039;, &#039;Helvetica&#039;, &#039;B&#039;, 10, &#039;Martin Dougiamas, Lead Developer&#039;);&lt;br /&gt;
&lt;br /&gt;
===Adding a second page===&lt;br /&gt;
After you have created your first page (or copied an existing page), add this bit of code:&lt;br /&gt;
&lt;br /&gt;
$pdf-&amp;gt;AddPage();&lt;br /&gt;
&lt;br /&gt;
Then you in the code for the second page. You can create a certificate with as many pages as you want.&lt;br /&gt;
&lt;br /&gt;
==Nov 2011 changes==&lt;br /&gt;
[https://github.com/PukunuiAustralia/moodle-mod_certificate PukunuiAustralia / moodle-mod_certificate] version 2011110107 is the basis for these comments.  There maybe earlier versions which are different.&lt;br /&gt;
*Standard types of certificates.  There are 4 standard certificate types based upon paper size and if the fonts are embedded or non-embedded in the pdf documents.   The orientation of landscape or portrait is located within each of these types.  This is different from the 1.9.x versions.&lt;br /&gt;
*The code for printing strings has changed.   While similar to the pre 2.0, be careful.&lt;br /&gt;
&lt;br /&gt;
==Tips &amp;amp; Tricks==&lt;br /&gt;
*Start with one of the existing certificate types, copy it and modify it. &lt;br /&gt;
*Try your customized code on a non production site, such as a local host.&lt;br /&gt;
*In Administration&amp;gt;&amp;gt;Server set debugging to maximum (to show any coding error messages).&lt;br /&gt;
*While you can leave a php file open in edit mode, you must save the file before your changes become active.&lt;br /&gt;
*Make code changes one at a time, test and then backup after each successful change. For example,after adding a new string to the certificate lang file), go to your course page and click on a certificate to see if it appears on the list.&lt;br /&gt;
*If you broke the code you may get a blank screen for a certificate.  &lt;br /&gt;
**So it might be a good idea to make a backup of each successful change before starting the next change.   For example, after the 3rd code change, save certificate.php as certificate3.txt.&lt;br /&gt;
*Certificate icon location-If you are using your own theme you have to put the icon.gif inside a folder called certificate and put in your mod folder image.  For example, if your theme uses custom icons, you must put a certificate folder with the certificate icon.gif in it under your theme/pix/mod folder.&lt;br /&gt;
*Consider editing you language pack rather than the /certificate/lang/en/certificate.php file.  You can do this through the Settings &amp;gt; Site administration &amp;gt;Language &amp;gt; Language customization menu. Look for mod/certificate.php.  Then when you update your certificate and it&#039;s language,it will keep your changes for the standard strings.&lt;br /&gt;
*Use a topic section heading as the certificate title. See [http://moodle.org/mod/forum/discuss.php?d=193170#p842551 in the certificate forum] for a code tweak.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[mod/certificate/mod|Add/Edit Certificate]]&lt;br /&gt;
* [[mod/certificate/view|Viewing a Certificate]]&lt;br /&gt;
* Moodle 2.x and later versions of certificate can be found at [https://github.com/PukunuiAustralia/moodle-mod_certificate PukunuiAustralia / moodle-mod_certificate].&lt;br /&gt;
&lt;br /&gt;
[[es:Personalizar certificado]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Certificate_customizing&amp;diff=113259</id>
		<title>Certificate customizing</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Certificate_customizing&amp;diff=113259"/>
		<updated>2014-06-21T15:01:28Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Certificate examples */ added new image of heavily modified certificate&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Certificate}}&lt;br /&gt;
A [[Certificate module|certificate]] can be customized beyond the standard downloaded install by the site administrator.  In general:&lt;br /&gt;
  &lt;br /&gt;
#This can be done by uploading additional image types through the site administration menu. Or by uploading images into one of the certificate/pix folders. &lt;br /&gt;
#The displayed text can be changed by customizing the language in site administration.  Or directly editing the /certificate/lang file.  &lt;br /&gt;
#The location of certificate images and text can be change by creating/editing a certificate type&#039;s code. &lt;br /&gt;
&lt;br /&gt;
==Certificate examples==&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Certificate examples - click on any to enlarge&amp;quot; widths=&amp;quot;200px&amp;quot; heights=&amp;quot;100px&amp;quot; perrow=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
Image:Certificate 27 plain.png|Shows no options selected, standard title, course name, user name and words.&lt;br /&gt;
Image:Certificate 1.gif|Fancy border, signature line, seal, code&lt;br /&gt;
Image:Certificate 27 manyoptions.png|Shows many text and images selected, signature, seal, watermark, code, grade, teachers name, custom text and border&lt;br /&gt;
Image:Certificate199 example lines.png|Lines, signature, seal, watermark, code, grade, outcomes, custom text&lt;br /&gt;
.&lt;br /&gt;
Image:Certificate199 example creative.png|Uploaded border, signature, watermark and seal&lt;br /&gt;
Image:Certificate 27 customcode.png |Custom everything, new certificate type, with new text strings, new text and image positions, plus uploadd watermark, seal, signature and border. &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Customizing==&lt;br /&gt;
The certificate code is located in the /mod/certificate folder.   There are sub-folders for backup, db, lang (holds language sub-folders), type (holds standard certificate types, each in their own sub-folder) and pix. The pix folder holds the sub-folders for the default borders, seals, signatures and watermarks.  These will be used at the time of  installation and become the default standard choices, after that they will not be used.  &lt;br /&gt;
&lt;br /&gt;
===Adding images===&lt;br /&gt;
[[Image:Certificate199 example creative.png|thumb|Creative customized example]] The easiest way to customize your certificate is for the site administrator to add your own JPG or PNG images for  borders, seals, signatures and watermarks to the default images found at the time of installation. The system administrator should go to the site administration block, Plugins&amp;gt;Activities&amp;gt;Certificate&amp;gt;Upload images.&lt;br /&gt;
&lt;br /&gt;
Make sure your new files are the same size as the standard images. For example, the standard signature file is 150x31 pixels. If the signature file is a different size, you may need to modify the code line.  The same will be true for seals, borders and watermarks.The sample seals are 80x80 pixels in size.&lt;br /&gt;
&lt;br /&gt;
In the creative example, a custom border, watermark, signature and seal were uploaded.  All were sized and in the same file format as the one supplied with the initial certificate install.&lt;br /&gt;
&lt;br /&gt;
===Customize format===&lt;br /&gt;
It is a good idea to create your own custom certificate type, that will appear on a list along with the standard certificates types.  You will know which is your custom certificate type and it will survive when you upgrade.  Here is how:&lt;br /&gt;
&lt;br /&gt;
1.  Choose the one of the certificate/type folders, copy and paste it in the certificate/type folder.  Give the copied folder a new name.  For example copy the /type/letter_non_embedded folder and rename it &#039;mycertificate&#039;. &lt;br /&gt;
&lt;br /&gt;
2.  Open the certificate/lang/en/certificate.php file and add the name of your new folder type.  Following the above example, you would add:&lt;br /&gt;
&lt;br /&gt;
:$string[&#039;typemycertificate&#039;] = &#039;My New Certificate&#039;;&lt;br /&gt;
&lt;br /&gt;
Now, when you add a certificate to a course, your new type will appear on the drop down list as &amp;quot;My New Certificate&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; You should add the proper string as shown in step 2 above or you may receive an error message and it will appear as if the code is broken.  And remember if you update your certificate module that this file may be erased with a new version. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Modifying image position code example====&lt;br /&gt;
:&#039;&#039;These instructions were written for 1.9.9 but in general they will guide someone familiar with code in the right direction.&#039;&#039;&lt;br /&gt;
We will change the signature position that is found in the type/letter_non_embedded/certificate.php file when we generate a pdf in landscape mode.  There are at least 2 ways to change the code. Say we want to move it to the left to the 100 position from 130 and up to the 435 line from the 440 line.&lt;br /&gt;
*Near the top of the file, you should notice there are a set of variables for &amp;quot;Landscape&amp;quot; which are followed by another set for &amp;quot;Portrait&amp;quot;. We can overrule some of the landscape and portrait codes the $sigx and $sigy position variables, so they read $sigx = 100 and $sigy = 435 .  &lt;br /&gt;
**Alternatively, we can overrule some of the landscape and portrait codes, in this case the signature block. In the &amp;quot;// Add images and lines&amp;quot; section we see the code that actually prints in the position by using the landscape and portrait variables:&lt;br /&gt;
:print_signature($pdf, $certificate, $sigx, $sigy, &#039;&#039;, &#039;&#039;);&lt;br /&gt;
By changing the variables to fix numbers it will not matter if the teacher selects landscape or portrait mode for this custom type. For example:&lt;br /&gt;
:print_signature($pdf, $certificate, 100, 435, &#039;&#039;, &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
If others have not added a standard signature line, you might want to fix it to a certain size.  For example, you want the image to print 150px by 75px.   &lt;br /&gt;
&lt;br /&gt;
:print_signature($pdf, $certificate, $sigx, $sigy, &#039;150&#039;, &#039;75&#039;);&lt;br /&gt;
&lt;br /&gt;
This should give you a good idea about how to change the position of other images.&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; Call your custom folder &amp;quot;a_landscape_special&amp;quot;. Now you can use the second method and nobody should be surprised if they can read and been trained properly.&lt;br /&gt;
&lt;br /&gt;
====Adjusting transparency of an image====&lt;br /&gt;
It is possible to put in a strong image as a watermark and adjust the transparency setting when the PDF is created.  Look for the SetAlpha code in front of a print element. For example infront of the &amp;quot;print_watermark..&amp;quot; line, you will see $pdf_SetAlpha(0.1);  It is currently set to .1, a .5 would be less transparent.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; In older version of certificate, the watermark image itself was dimmed before it was placed in the folder.  If you had a custom watermark, this is the way it was done.   You can change the SetAlpha in the code to 1 and it should appear as it did in previous version of certificate.&lt;br /&gt;
&lt;br /&gt;
===Changing printed text===&lt;br /&gt;
There are two ways to change the language strings.  A best practice is to customize your language pack via site administration.  You will find the certificate.php in the mod group.   If you use the method below, when you update all your certificate files, then your changes will not be saved.     &lt;br /&gt;
&lt;br /&gt;
You can edit the language file found in the certificate folder, such as certificate/lang/en/certificate.php if you are not worried about losing you changes. Lets say you want to change the words at the top of all certificates on your site.&lt;br /&gt;
&lt;br /&gt;
Find the default strings:&lt;br /&gt;
:$string[&#039;title&#039;] = &#039;CERTIFICATE OF ACHIEVEMENT&#039;;     &lt;br /&gt;
:$string[&#039;intro&#039;] = &#039;This is to certify that&#039;;&lt;br /&gt;
:$string[&#039;statement&#039;] = &#039;has completed the course&#039;;&lt;br /&gt;
&lt;br /&gt;
Change them to read (for example):&lt;br /&gt;
:$string[&#039;title&#039;] = &#039;DIP0LOMA&#039;;    &lt;br /&gt;
:$string[&#039;intro&#039;] = &#039;I am proud to state that&#039;; &lt;br /&gt;
:$string[&#039;statement&#039;] = &#039;has successfully passed the final exam&#039;;&lt;br /&gt;
&lt;br /&gt;
===Adding a New Line of Text===&lt;br /&gt;
You have created a couple of custom certificate types.   In these certificates you want some new words to appear.  There are basically 2 choices, you can have it look up a new string, or hard code the words in the certificate type instead of looking for a string.  &lt;br /&gt;
&lt;br /&gt;
*Add new string method.&lt;br /&gt;
**Open the certificate/lang/en/certificate.php file and add your new string giving it a unique name. &lt;br /&gt;
:$string[&#039;mynewtext&#039;] = &#039;This is what I want to print on the certificate&#039;;&lt;br /&gt;
&lt;br /&gt;
**Open the file for your certificate type and change the string reference. For example, go to  certificate/type/mycertificate/certificate.php.  Near the end of the file find &amp;quot;// Add Text&amp;quot;.  This is the area that prints--you guessed it--text on the certificate.  Find the current line below which you would like your new text to be printed.  For example, if you want your text to print below the course name, find the line:&lt;br /&gt;
&lt;br /&gt;
:cert_printtext($pdf, $x, $y, &#039;C&#039;, &#039;Helvetica&#039;, &#039;&#039;, 30, get_string(&#039;title&#039;, &#039;certificate&#039;));&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Add a new line below that to print your new text using the name you gave your new lang string like this:&lt;br /&gt;
:cert_printtext($pdf, $x, $y+25, &#039;C&#039;, &#039;Helvetica&#039;, &#039;B&#039;, 10, get_string(&#039;mynewtext&#039;, &#039;certificate&#039;));&lt;br /&gt;
&lt;br /&gt;
Quick review.  We want the string mynewtext to start on the $x position from the left, on the $y+25 line, and the line should be center aligned (C, L, R or &#039; &#039;), in Helvetica type, in bold, with a font size of 10.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. You can add a hard coded line of text. For example, add signature title block line under the signature image:&lt;br /&gt;
:cert_printtext($pdf, $sigx, $sigy+30,&#039;&#039;, &#039;Helvetica&#039;, &#039;B&#039;, 10, &#039;Martin Dougiamas, Lead Developer&#039;);&lt;br /&gt;
&lt;br /&gt;
===Adding a second page===&lt;br /&gt;
After you have created your first page (or copied an existing page), add this bit of code:&lt;br /&gt;
&lt;br /&gt;
$pdf-&amp;gt;AddPage();&lt;br /&gt;
&lt;br /&gt;
Then you in the code for the second page. You can create a certificate with as many pages as you want.&lt;br /&gt;
&lt;br /&gt;
==Nov 2011 changes==&lt;br /&gt;
[https://github.com/PukunuiAustralia/moodle-mod_certificate PukunuiAustralia / moodle-mod_certificate] version 2011110107 is the basis for these comments.  There maybe earlier versions which are different.&lt;br /&gt;
*Standard types of certificates.  There are 4 standard certificate types based upon paper size and if the fonts are embedded or non-embedded in the pdf documents.   The orientation of landscape or portrait is located within each of these types.  This is different from the 1.9.x versions.&lt;br /&gt;
*The code for printing strings has changed.   While similar to the pre 2.0, be careful.&lt;br /&gt;
&lt;br /&gt;
==Tips &amp;amp; Tricks==&lt;br /&gt;
*Start with one of the existing certificate types, copy it and modify it. &lt;br /&gt;
*Try your customized code on a non production site, such as a local host.&lt;br /&gt;
*In Administration&amp;gt;&amp;gt;Server set debugging to maximum (to show any coding error messages).&lt;br /&gt;
*While you can leave a php file open in edit mode, you must save the file before your changes become active.&lt;br /&gt;
*Make code changes one at a time, test and then backup after each successful change. For example,after adding a new string to the certificate lang file), go to your course page and click on a certificate to see if it appears on the list.&lt;br /&gt;
*If you broke the code you may get a blank screen for a certificate.  &lt;br /&gt;
**So it might be a good idea to make a backup of each successful change before starting the next change.   For example, after the 3rd code change, save certificate.php as certificate3.txt.&lt;br /&gt;
*Certificate icon location-If you are using your own theme you have to put the icon.gif inside a folder called certificate and put in your mod folder image.  For example, if your theme uses custom icons, you must put a certificate folder with the certificate icon.gif in it under your theme/pix/mod folder.&lt;br /&gt;
*Consider editing you language pack rather than the /certificate/lang/en/certificate.php file.  You can do this through the Settings &amp;gt; Site administration &amp;gt;Language &amp;gt; Language customization menu. Look for mod/certificate.php.  Then when you update your certificate and it&#039;s language,it will keep your changes for the standard strings.&lt;br /&gt;
*Use a topic section heading as the certificate title. See [http://moodle.org/mod/forum/discuss.php?d=193170#p842551 in the certificate forum] for a code tweak.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[mod/certificate/mod|Add/Edit Certificate]]&lt;br /&gt;
* [[mod/certificate/view|Viewing a Certificate]]&lt;br /&gt;
* Moodle 2.x and later versions of certificate can be found at [https://github.com/PukunuiAustralia/moodle-mod_certificate PukunuiAustralia / moodle-mod_certificate].&lt;br /&gt;
&lt;br /&gt;
[[es:Personalizar certificado]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Certificate_module&amp;diff=113258</id>
		<title>Certificate module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Certificate_module&amp;diff=113258"/>
		<updated>2014-06-21T15:00:05Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Certificate examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Certificate}}&lt;br /&gt;
{{Infobox plugin&lt;br /&gt;
|type = Activity&lt;br /&gt;
|entry = https://moodle.org/plugins/view.php?plugin=mod_certificate&lt;br /&gt;
|tracker = http://tracker.moodle.org/browse/CONTRIB-2006&lt;br /&gt;
|discussion = https://moodle.org/mod/forum/view.php?id=7163&lt;br /&gt;
|maintainer = [[User:Mark Nelson|Mark Nelson]]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;br /&gt;
The &#039;&#039;&#039;Certificate module&#039;&#039;&#039; creates PDF certificates/diplomas for students in a course and can be customized by the certificate settings menu. You can add borders, watermarks, seals, signatures, outcomes, grades and even add custom text. &lt;br /&gt;
&lt;br /&gt;
Certificate should be downloaded from the download Plugins at Moodle.org (see the info box on the page for a link).  You should select the certificate download that matches your Moodle version.&lt;br /&gt;
&lt;br /&gt;
==Certificate examples==&lt;br /&gt;
Here are 3 examples. Click on one to enlarge it.  A certificate that uses the standard features found in the install package.  Then 2 others show different possible ways to customize a certificate.&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Certificate examples - click on any to enlarge&amp;quot; widths=&amp;quot;200px&amp;quot; heights=&amp;quot;100px&amp;quot; perrow=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
Image:Certificate 27 plain.png|Shows no options selected, standard title, course name, user name and words.&lt;br /&gt;
Image:Certificate 27 manyoptions.png|Shows many text and images selected, signature, seal, watermark, code, grade, teachers name, custom text and border.&lt;br /&gt;
Image:Certificate199 example creative.png|Custom border, custom signature, custom seal, custom watermark, code, outcome&lt;br /&gt;
Image:Certificate 27 customcode.png |Custom everything, new certificate type, with new text strings, new text and image positions, plus uploadd watermark, seal, signature and border.  &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
#Download and Unpack the Certificate zip file (for example mod_certificate_moodle27_2014041800) for the Moodle version your are using in a temporary area,&lt;br /&gt;
#Copy the &amp;quot;certificate&amp;quot; folder to your Moodle mod folder located for example at yourhost\moodle\mod . The certificate folder will include folders backup, db, lang, pix (including subfolders for  borders, seals, signatures and watermarks),  and type (with sub folders for each of 4 default types).&lt;br /&gt;
#Go to your Moodle, and click on the Notifications link in the Site administration. Moodle knows something has been added and it will proceed to install the certificate module.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; It is not necessary to move the lang file into the Moodle lang folder, the certificate lang folder(s) can stay in the mod/certificate folder.&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Advance users upgrading from 1.9.9 or installing Certificate for the first time, might consider editing the files in the pix folder before installing via the notification link. These will be used as the default file.  Site administrators [[Certificate customizing|can upload more images via the interface]] after installing the module.&lt;br /&gt;
&lt;br /&gt;
See also: [[Installing_contributed_modules_or_plugins]] in MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
This is a short list of settings listed by their group.  Please see [[Add/edit_certificate_module]] for more detailed information.&lt;br /&gt;
&lt;br /&gt;
*General - Certificate name and introduction.  The certificate will use the course name, this is the link name.&lt;br /&gt;
*Issue options -Here you can set email options, determine if you want to save and how user views the certificate. You can set minimium time the user must be in the course before issuing the certificate.&lt;br /&gt;
*Text options - determine date,  security code, grade outcomes, credit hours, teachers names, custom text.&lt;br /&gt;
*Design (and image) options - select  certificate type/print orientation, select images for border, lines, watermark, signature, seal or say no to any or all of these options.&lt;br /&gt;
*Common module settings -These are standard Moodle module settings.  See [[Common module settings]]&lt;br /&gt;
*Locking options - if conditional dependencies has been turned on by the site administrator,  teacher can set standards that must be met before certificate can be issued.&lt;br /&gt;
&lt;br /&gt;
==Customizing certificate==&lt;br /&gt;
There are several ways to create a custom certificate.  Please see [[Certificate customizing]] for many examples and code hints.  A few quick examples from easiest to more skilled required:&lt;br /&gt;
*Add your own images via the site administration&amp;gt;Plugins&amp;gt;Activities&amp;gt;Certificate in the appropriate type.  Types are boarders, seals, signatures and watermarks.&lt;br /&gt;
*Add your images to the appropriate /mod/certificate/pix folder.  This will also make them available under settings.   &lt;br /&gt;
*Edit the text strings in the /mod/certificate/lang folder files, or though the customize language tool available to site administrators. &lt;br /&gt;
*You may create as many &amp;quot;types&amp;quot; of certificates as you wish. This is more complicated and requires some knowledge of PHP and of course access to the moodle/mod/certificate folder.&lt;br /&gt;
&lt;br /&gt;
==Certificate companions==&lt;br /&gt;
{{Update}}&lt;br /&gt;
Not all these may work with Moodle 2.x.  &lt;br /&gt;
&lt;br /&gt;
===Certificate Site-wide Report===&lt;br /&gt;
As of February 2008, there is a &#039;&#039;&#039;Certificate Site-wide Report&#039;&#039;&#039; which can be added in Moodle 1.9, as a supplement. This is an add-on to the certificate module--if installed, you will have an option when creating a certificate to send that certificate&#039;s info to the report. An optional  block is included that provides a link to the report. Students will see a list of all received certificates. Administrators (or those who have the capability of viewing site reports) will see a link on the Certificate Report page to view/download a report of all students&#039; received certificates.  To install: Place the certificates folder in your root (main) moodle folder and upload to your server.  Place the my_certificates block folder under your moodle/blocks folder, upload to your server and click on the Administration&amp;gt;&amp;gt;Notifications link to install.&lt;br /&gt;
&lt;br /&gt;
===Certificate Verification Block=== &lt;br /&gt;
A companion to the Certificate module for Moodle 1.9.  This is a block with a form for entering a given certificate code for verification. The verification page shows the student name, course name, date received and grade (if a grade is printed on the certificate).  The certificate code can be printed on a certificate. &lt;br /&gt;
	&lt;br /&gt;
This feature is useful when a Registrar, supervisor or administrator wishes to verify that the printed certificate is valid for that student.  To install: Place the verify_certificate block folder under your moodle/blocks folder, upload to your server and click on the Administration&amp;gt;&amp;gt;Notifications link to install.&lt;br /&gt;
&lt;br /&gt;
In Certificate for 2.x, the view certificates will show the student name, date received, grade and code.  These are downloadable via several file types.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Add/edit certificate module]]&lt;br /&gt;
* [[mod/certificate/view|Viewing a Certificate]]&lt;br /&gt;
* [[Certificate customizing]] - many tips and how to make changes to code to customize certificates even more.&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=7163 Certificate module] forum&lt;br /&gt;
* [[Conditional activities]] - When this site feature is turned on, teachers can set conditions based upon other activities in the course before a certificate will be issued.&lt;br /&gt;
* [[Development:Certificate Module|Development of the certificate module]]&lt;br /&gt;
* [http://tracker.moodle.org/browse/CONTRIB-334 Patch to enable linking] to [[Face-to-face module|Face-to-Face]] contributed module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Certificate]]&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
&lt;br /&gt;
[[es:Módulo certificado]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=Certificate_module&amp;diff=113257</id>
		<title>Certificate module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=Certificate_module&amp;diff=113257"/>
		<updated>2014-06-21T14:59:01Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: /* Certificate examples */ added custom type, code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Certificate}}&lt;br /&gt;
{{Infobox plugin&lt;br /&gt;
|type = Activity&lt;br /&gt;
|entry = https://moodle.org/plugins/view.php?plugin=mod_certificate&lt;br /&gt;
|tracker = http://tracker.moodle.org/browse/CONTRIB-2006&lt;br /&gt;
|discussion = https://moodle.org/mod/forum/view.php?id=7163&lt;br /&gt;
|maintainer = [[User:Mark Nelson|Mark Nelson]]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;br /&gt;
The &#039;&#039;&#039;Certificate module&#039;&#039;&#039; creates PDF certificates/diplomas for students in a course and can be customized by the certificate settings menu. You can add borders, watermarks, seals, signatures, outcomes, grades and even add custom text. &lt;br /&gt;
&lt;br /&gt;
Certificate should be downloaded from the download Plugins at Moodle.org (see the info box on the page for a link).  You should select the certificate download that matches your Moodle version.&lt;br /&gt;
&lt;br /&gt;
==Certificate examples==&lt;br /&gt;
Here are 3 examples. Click on one to enlarge it.  A certificate that uses the standard features found in the install package.  Then 2 others show different possible ways to customize a certificate.&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Certificate examples - click on any to enlarge&amp;quot; widths=&amp;quot;200px&amp;quot; heights=&amp;quot;100px&amp;quot; perrow=&amp;quot;6&amp;quot;&amp;gt;&lt;br /&gt;
Image:Certificate 27 plain.png|Shows no options selected, standard title, course name, user name and words.&lt;br /&gt;
Image:Certificate 27 manyoptions.png|Shows many text and images selected, signature, seal, watermark, code, grade, teachers name, custom text and border.&lt;br /&gt;
Image:Certificate199 example creative.png|Custom border, custom signature, custom seal, custom watermark, code, outcome&lt;br /&gt;
Image:Certificate 27 customcode.png |custom everything, new certificate type, with new text strings, new text and image positions, plus uploadd watermark, seal, signature and border.  &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installing==&lt;br /&gt;
#Download and Unpack the Certificate zip file (for example mod_certificate_moodle27_2014041800) for the Moodle version your are using in a temporary area,&lt;br /&gt;
#Copy the &amp;quot;certificate&amp;quot; folder to your Moodle mod folder located for example at yourhost\moodle\mod . The certificate folder will include folders backup, db, lang, pix (including subfolders for  borders, seals, signatures and watermarks),  and type (with sub folders for each of 4 default types).&lt;br /&gt;
#Go to your Moodle, and click on the Notifications link in the Site administration. Moodle knows something has been added and it will proceed to install the certificate module.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; It is not necessary to move the lang file into the Moodle lang folder, the certificate lang folder(s) can stay in the mod/certificate folder.&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Advance users upgrading from 1.9.9 or installing Certificate for the first time, might consider editing the files in the pix folder before installing via the notification link. These will be used as the default file.  Site administrators [[Certificate customizing|can upload more images via the interface]] after installing the module.&lt;br /&gt;
&lt;br /&gt;
See also: [[Installing_contributed_modules_or_plugins]] in MoodleDocs.&lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
This is a short list of settings listed by their group.  Please see [[Add/edit_certificate_module]] for more detailed information.&lt;br /&gt;
&lt;br /&gt;
*General - Certificate name and introduction.  The certificate will use the course name, this is the link name.&lt;br /&gt;
*Issue options -Here you can set email options, determine if you want to save and how user views the certificate. You can set minimium time the user must be in the course before issuing the certificate.&lt;br /&gt;
*Text options - determine date,  security code, grade outcomes, credit hours, teachers names, custom text.&lt;br /&gt;
*Design (and image) options - select  certificate type/print orientation, select images for border, lines, watermark, signature, seal or say no to any or all of these options.&lt;br /&gt;
*Common module settings -These are standard Moodle module settings.  See [[Common module settings]]&lt;br /&gt;
*Locking options - if conditional dependencies has been turned on by the site administrator,  teacher can set standards that must be met before certificate can be issued.&lt;br /&gt;
&lt;br /&gt;
==Customizing certificate==&lt;br /&gt;
There are several ways to create a custom certificate.  Please see [[Certificate customizing]] for many examples and code hints.  A few quick examples from easiest to more skilled required:&lt;br /&gt;
*Add your own images via the site administration&amp;gt;Plugins&amp;gt;Activities&amp;gt;Certificate in the appropriate type.  Types are boarders, seals, signatures and watermarks.&lt;br /&gt;
*Add your images to the appropriate /mod/certificate/pix folder.  This will also make them available under settings.   &lt;br /&gt;
*Edit the text strings in the /mod/certificate/lang folder files, or though the customize language tool available to site administrators. &lt;br /&gt;
*You may create as many &amp;quot;types&amp;quot; of certificates as you wish. This is more complicated and requires some knowledge of PHP and of course access to the moodle/mod/certificate folder.&lt;br /&gt;
&lt;br /&gt;
==Certificate companions==&lt;br /&gt;
{{Update}}&lt;br /&gt;
Not all these may work with Moodle 2.x.  &lt;br /&gt;
&lt;br /&gt;
===Certificate Site-wide Report===&lt;br /&gt;
As of February 2008, there is a &#039;&#039;&#039;Certificate Site-wide Report&#039;&#039;&#039; which can be added in Moodle 1.9, as a supplement. This is an add-on to the certificate module--if installed, you will have an option when creating a certificate to send that certificate&#039;s info to the report. An optional  block is included that provides a link to the report. Students will see a list of all received certificates. Administrators (or those who have the capability of viewing site reports) will see a link on the Certificate Report page to view/download a report of all students&#039; received certificates.  To install: Place the certificates folder in your root (main) moodle folder and upload to your server.  Place the my_certificates block folder under your moodle/blocks folder, upload to your server and click on the Administration&amp;gt;&amp;gt;Notifications link to install.&lt;br /&gt;
&lt;br /&gt;
===Certificate Verification Block=== &lt;br /&gt;
A companion to the Certificate module for Moodle 1.9.  This is a block with a form for entering a given certificate code for verification. The verification page shows the student name, course name, date received and grade (if a grade is printed on the certificate).  The certificate code can be printed on a certificate. &lt;br /&gt;
	&lt;br /&gt;
This feature is useful when a Registrar, supervisor or administrator wishes to verify that the printed certificate is valid for that student.  To install: Place the verify_certificate block folder under your moodle/blocks folder, upload to your server and click on the Administration&amp;gt;&amp;gt;Notifications link to install.&lt;br /&gt;
&lt;br /&gt;
In Certificate for 2.x, the view certificates will show the student name, date received, grade and code.  These are downloadable via several file types.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Add/edit certificate module]]&lt;br /&gt;
* [[mod/certificate/view|Viewing a Certificate]]&lt;br /&gt;
* [[Certificate customizing]] - many tips and how to make changes to code to customize certificates even more.&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=7163 Certificate module] forum&lt;br /&gt;
* [[Conditional activities]] - When this site feature is turned on, teachers can set conditions based upon other activities in the course before a certificate will be issued.&lt;br /&gt;
* [[Development:Certificate Module|Development of the certificate module]]&lt;br /&gt;
* [http://tracker.moodle.org/browse/CONTRIB-334 Patch to enable linking] to [[Face-to-face module|Face-to-Face]] contributed module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Certificate]]&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
&lt;br /&gt;
[[es:Módulo certificado]]&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=File:Certificate_27_customcode.png&amp;diff=113256</id>
		<title>File:Certificate 27 customcode.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=File:Certificate_27_customcode.png&amp;diff=113256"/>
		<updated>2014-06-21T14:55:22Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: Rcollman uploaded a new version of &amp;amp;quot;File:Certificate 27 customcode.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Custom strings, changed font size, text location of custom strings etc.&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/29/en/index.php?title=File:Certificate_27_customcode.png&amp;diff=113254</id>
		<title>File:Certificate 27 customcode.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/29/en/index.php?title=File:Certificate_27_customcode.png&amp;diff=113254"/>
		<updated>2014-06-21T14:53:34Z</updated>

		<summary type="html">&lt;p&gt;Rcollman: Custom strings, changed font size, text location of custom strings etc.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Custom strings, changed font size, text location of custom strings etc.&lt;/div&gt;</summary>
		<author><name>Rcollman</name></author>
	</entry>
</feed>