Debian GNU/Linux installation: Difference between revisions
(→Installing moodle from .tar.gz (or .zip) file: expansion) |
|||
(16 intermediate revisions by 14 users not shown) | |||
Line 1: | Line 1: | ||
==Installing Moodle as a Debian package== | ==Installing Moodle as a Debian package== | ||
===Using apt-get, aptitude or Synaptic=== | ===Using apt-get, aptitude or Synaptic=== | ||
# Make sure your PC connected to the internet. (Moodle has been included with Debian Sarge. You don't need net connection, if you have the Debian Sarge CDs or DVDs that are configured as download repositories for apt-get, aptitude or | # Make sure your PC connected to the internet. (Moodle has been included with Debian Sarge. You don't need net connection, if you have the Debian Sarge CDs or DVDs that are configured as download repositories for apt-get, aptitude or synaptic). Use one of these: | ||
#*apt-get install moodle | #*apt-get install moodle | ||
#*aptitude install moodle | #*aptitude install moodle | ||
#*Run the synaptic package manager and search (Ctrl + f) for "moodle" (without quotes). You will get moodle in the results (if not, you need to configure your download URLs). Right click and select "Mark for Installation". Click "Apply" button on the Toolbar. | #*Run the synaptic package manager and search (Ctrl + f) for "moodle" (without quotes). You will get moodle in the results (if not, you need to configure your download URLs). Right click and select "Mark for Installation". Click "Apply" button on the Toolbar. | ||
#Answer the questions asked by the installer (such as the database to be used - MySQL or PostgreSQL). | #Answer the questions asked by the installer (such as the database to be used - MySQL or PostgreSQL). | ||
#Visit your moodle site at http://localhost/mymoodle/admin | #Visit your moodle site at <nowiki>http://localhost/mymoodle/admin</nowiki> | ||
===Manual download=== | ===Manual download=== | ||
You will probably need to follow this, if you don't have | You will probably need to follow this, if you don't have an Internet connection on the PC on which you want to install Moodle (but in that case, why the heck are you using Moodle?) | ||
* Download moodle and all the dependencies (if you already don't have them) from Stable(http://packages.debian.org/stable/web/moodle) or Testing(http://packages.debian.org/testing/web/moodle). Place them all in the same directory (no matter which). | |||
* As root, run the following command: | |||
dpkg -i *.deb | |||
* This will unpack and begin the installation of all the downloaded packages. | |||
* Answer the questions asked by the installer (such as the database to be used – MySQL or PostgreSQL). | |||
* Visit your moodle site at http://localhost/mymoodle/admin | |||
==Installing moodle from .tgz(.tar.gz) or .zip file== | ==Installing moodle from .tgz(.tar.gz) or .zip file== | ||
''More detailed instructions coming soon'' | ''More detailed instructions coming soon'' | ||
''You will probably want this if you don't like the settings of Debian moodle package | ''You will probably want this if you don't like the settings of Debian moodle package.'' | ||
===Step 1: Install required packages=== | ===Step 1: Install required packages=== | ||
Line 36: | Line 35: | ||
These packages are optional: | These packages are optional: | ||
* GD library | * GD library | ||
'''LAMP in Debian Etch''' | |||
Setting up a LAMP in Debian is very easy. Once you get used to Debian administration including installation and configuration are much simpler compared to other linux distros. The following describes how to install apache, php and mysql on the Debian testing distribution called etch. Etch is expected to be released in December 2006. | |||
For installation of the necessary packages the easiest option to use apt-get. | |||
Use the following command to install apache2, php5 and mysql | |||
apt-get install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 php5-gd | |||
php5-gd is optional | |||
The mentioned packages are installed along with the dependencies depending on what was already installed on your Debian system. | |||
Now you may fire up a browser and type localhost to check whether the apache2 default page is shown, | |||
You can edit the apache configuration files using the text editor gedit by | |||
gedit /etc/apache2/apache2.conf | |||
Now we must make a slight change in the php5 configuration file. Open it using | |||
gedit /etc/php5/apache2/php.ini | |||
add the entries | |||
extension=mysql.so | |||
extension=gd.so | |||
Sometimes these entries are provided as example lines being commented out . You can remove the commenting to activate the entries. | |||
To test the php installation, you can create a text file named phpinfo.php with the contents <?phpinfo()?> | |||
and save it at /var/www. Restart apache with the command below. Now access this file through the browser localhost/phpinfo to check the installation of php. | |||
Mysql installation is already there. Give it a root password using | |||
mysqladmin -u root password "yourpassword" | |||
You can restart apache 2 by | |||
/etc/init.d/apache2 restart | |||
You can restart mysql by | |||
/etc/init.d/mysql restart | |||
===Step 2: Download moodle=== | ===Step 2: Download moodle=== | ||
Download moodle from http://download.moodle.org/?lang=en. | Download moodle from http://download.moodle.org/?lang=en. | ||
==Step 3: Unpack file== | ===Step 3: Unpack file=== | ||
* For zip file, use '''unzip <your_file>'''. For tgz(tar.gz), use '''tar -zxvf <your-file>'''. You can also use any of the GUI front-ends such as file-roller or ark. You will get a folder moodle (or moodle-1.5.2 or something similar). | * For zip file, use '''unzip <your_file>'''. For tgz(tar.gz), use '''tar -zxvf <your-file>'''. You can also use any of the GUI front-ends such as file-roller or ark. You will get a folder moodle (or moodle-1.5.2 or something similar). | ||
* Now, suppose you want to install moodle at /var/www/moodle (This means moodle will be accessible at http://localhost/moodle). '''mv moodle /var/www/''' (Most probably you will to be root to do this) | * Now, suppose you want to install moodle at /var/www/moodle (This means moodle will be accessible at http://localhost/moodle). '''mv moodle /var/www/''' (Most probably you will need to be root to do this) | ||
===Step 4: Start web and database servers=== | ===Step 4: Start web and database servers=== | ||
* Login as root (if you have not already done so): '''su'''. | * Login as root (if you have not already done so): '''su'''. | ||
* Start your web server. For Apache2, '''/etc/init.d/apache2 start'''. | * Start your web server. For Apache2, '''/etc/init.d/apache2 start'''. | ||
* Start your database server. For MySQL, '''/etc/init.d/ | * Start your database server. For MySQL, '''/etc/init.d/mysql start''' | ||
===Step 5: Finally install=== | ===Step 5: Finally install=== | ||
* Go to http://localhost/moodle and follow the instructions. | * Go to http://localhost/moodle and follow the instructions. | ||
==Installing Moodle from CVS== | |||
To get the most stable current version of Moodle, you will want to install it's scripts directly from the CVS, the versioning system used in the development of Moodle. Using the CVS also allows you to regularly update Moodle with the most recent bug fixes and features. | |||
For these instructions, you can install Moodle with only the minimum of Debian features installed, keeping all the resources available for the server if you wish. | |||
===Install php, MySQL and other needed components=== | |||
Logged in as the root user (or use the Linux "su" command to get root privileges) download and install other required software for Moodle (about 41 MB) | |||
apt-get install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 php5-gd php5-curl php5-xmlrpc cvs | |||
If you use additional authentication methods, you may need to install other php libraries, such as php5-imap if you use IMAP to authenticate your users. | |||
===Setup MySQL Database=== | |||
Set a secure root password for the database | |||
mysqladmin -u root password "mySecurePassword" | |||
Note that on a secure production server, you will want to create a different user than root to access the database. | |||
Now log in | |||
mysql -u root -p | |||
Enter your password | |||
Create the Moodle database | |||
mysql> CREATE DATABASE moodle; | |||
mysql> exit; | |||
===Get Moodle from CVS=== | |||
Go to the directory where Moodle will be installed. | |||
cd /var/www | |||
Get the latest version of Moodle 1.9 (check for the most recent released version or the version you are most comfortable with. It may be earlier or later than 1.9 stable. Use the European Union CVS server (you can replace eu with uk, es, or us in this step if you wish) | |||
cvs -z3 -d:pserver:anonymous@eu.cvs.moodle.org:/cvsroot/moodle co -r MOODLE_19_STABLE moodle | |||
===Create a data directory and set Moodle directory permissions=== | |||
Create a directory for user and course files (you should still be in the /var/www directory) | |||
mkdir moodledata | |||
Set permissions so that Apache can access the files | |||
chown -R www-data:www-data moodle | |||
chown -R www-data:www-data moodledata | |||
On a production server, you may want to tighten up privileges further. | |||
===Change Apache to use Moodle as the web site=== | |||
Note that the server comes with Apache running and looking at the /var/www directory. But there is nothing in that folder, so one just gets a redirect. Edit as follows to have it point at Moodle instead: | |||
nano /etc/apache2/sites-available/default | |||
On about line 4, change DocumentRoot "/var/www/" to | |||
DocumentRoot "/var/www/moodle/" | |||
On about line 10, change <Directory "/var/www"> to | |||
<Directory "/var/www/moodle"> | |||
Around line 17, comment out the line for the default page: | |||
# RedirectMatch ^/$ /apache2-default/ | |||
You can change other values like ServerAdmin if appropriate. For all changes, you should restart Apache for the new settings to take effect. | |||
/etc/init.d/apache2 restart | |||
===Setup Moodle=== | |||
If you are only going to test Moodle on your internal network, just enter the local IP address as the web address. You can find the local IP address under DHCP by typing | |||
ifconfig eth0 | |||
If you have a web address that points to your server, use that instead. | |||
From a browser on another machine, enter | |||
http:// ----- your web address ----- | |||
* For the database user, enter root | |||
* For Password, enter the password for the database that you created earlier | |||
Continue through the dialogs and select Unattended operation and set up the Moodle server. | |||
===Install cron=== | |||
Moodle needs a periodic call to do maintenance work like sending out emails, cleaning up the database, updating feeds, etc. To run the cron every 10 minutes, do the following | |||
Rather than learning vi, use the nano editor | |||
export EDITOR=nano | |||
Edit the cron file | |||
crontab -e | |||
Add this line and save. | |||
*/10 * * * * wget -q -O /dev/null <nowiki>http://localhost/admin/cron.php</nowiki> | |||
Use CNTL-X to save | |||
===Other recommended settings=== | |||
Next, make three changes to php.ini | |||
nano /etc/php5/apache2/php.ini | |||
This will allocated more memory and allow files to be uploaded up to 80MB. This should be enough for most multi-media files. Hard drive space is cheap and the default is only 2MB. It is recommended that you change the settings to the following values: | |||
memory_limit = 40M | |||
post_max_size = 80M | |||
upload_max_filesize = 80M | |||
===Updating from CVS=== | |||
To update with the most recent fixes to Moodle, issue the following commands | |||
cd /var/www/moodle | |||
cvs -q update | |||
[[Category: Administrator]] | |||
[[Category:Installation]] | [[Category:Installation]] | ||
[[ja:Debian GNU/Linuxのインストール]] | |||
[[pl:Instalacja Moodle w Debianie]] |
Latest revision as of 19:10, 22 March 2010
Installing Moodle as a Debian package
Using apt-get, aptitude or Synaptic
- Make sure your PC connected to the internet. (Moodle has been included with Debian Sarge. You don't need net connection, if you have the Debian Sarge CDs or DVDs that are configured as download repositories for apt-get, aptitude or synaptic). Use one of these:
- apt-get install moodle
- aptitude install moodle
- Run the synaptic package manager and search (Ctrl + f) for "moodle" (without quotes). You will get moodle in the results (if not, you need to configure your download URLs). Right click and select "Mark for Installation". Click "Apply" button on the Toolbar.
- Answer the questions asked by the installer (such as the database to be used - MySQL or PostgreSQL).
- Visit your moodle site at http://localhost/mymoodle/admin
Manual download
You will probably need to follow this, if you don't have an Internet connection on the PC on which you want to install Moodle (but in that case, why the heck are you using Moodle?)
- Download moodle and all the dependencies (if you already don't have them) from Stable(http://packages.debian.org/stable/web/moodle) or Testing(http://packages.debian.org/testing/web/moodle). Place them all in the same directory (no matter which).
- As root, run the following command:
dpkg -i *.deb
- This will unpack and begin the installation of all the downloaded packages.
- Answer the questions asked by the installer (such as the database to be used – MySQL or PostgreSQL).
- Visit your moodle site at http://localhost/mymoodle/admin
Installing moodle from .tgz(.tar.gz) or .zip file
More detailed instructions coming soon
You will probably want this if you don't like the settings of Debian moodle package.
Step 1: Install required packages
Install these packages (if you've not already done so). See Installing Apache, MySQL and PHP or refer to the respective user manuals. Using apt-get, aptitude or synaptic you can install these very easily.
- Web Server (Apache highly recommended)
- Database Server (MySQL or PostgreSQL recommended)
- PHP, PHP-MySQL mod (or mod for your database)
These packages are optional:
- GD library
LAMP in Debian Etch
Setting up a LAMP in Debian is very easy. Once you get used to Debian administration including installation and configuration are much simpler compared to other linux distros. The following describes how to install apache, php and mysql on the Debian testing distribution called etch. Etch is expected to be released in December 2006.
For installation of the necessary packages the easiest option to use apt-get.
Use the following command to install apache2, php5 and mysql
apt-get install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 php5-gd
php5-gd is optional
The mentioned packages are installed along with the dependencies depending on what was already installed on your Debian system.
Now you may fire up a browser and type localhost to check whether the apache2 default page is shown,
You can edit the apache configuration files using the text editor gedit by
gedit /etc/apache2/apache2.conf
Now we must make a slight change in the php5 configuration file. Open it using
gedit /etc/php5/apache2/php.ini
add the entries
extension=mysql.so extension=gd.so
Sometimes these entries are provided as example lines being commented out . You can remove the commenting to activate the entries.
To test the php installation, you can create a text file named phpinfo.php with the contents <?phpinfo()?>
and save it at /var/www. Restart apache with the command below. Now access this file through the browser localhost/phpinfo to check the installation of php.
Mysql installation is already there. Give it a root password using
mysqladmin -u root password "yourpassword"
You can restart apache 2 by
/etc/init.d/apache2 restart
You can restart mysql by
/etc/init.d/mysql restart
Step 2: Download moodle
Download moodle from http://download.moodle.org/?lang=en.
Step 3: Unpack file
- For zip file, use unzip <your_file>. For tgz(tar.gz), use tar -zxvf <your-file>. You can also use any of the GUI front-ends such as file-roller or ark. You will get a folder moodle (or moodle-1.5.2 or something similar).
- Now, suppose you want to install moodle at /var/www/moodle (This means moodle will be accessible at http://localhost/moodle). mv moodle /var/www/ (Most probably you will need to be root to do this)
Step 4: Start web and database servers
- Login as root (if you have not already done so): su.
- Start your web server. For Apache2, /etc/init.d/apache2 start.
- Start your database server. For MySQL, /etc/init.d/mysql start
Step 5: Finally install
- Go to http://localhost/moodle and follow the instructions.
Installing Moodle from CVS
To get the most stable current version of Moodle, you will want to install it's scripts directly from the CVS, the versioning system used in the development of Moodle. Using the CVS also allows you to regularly update Moodle with the most recent bug fixes and features.
For these instructions, you can install Moodle with only the minimum of Debian features installed, keeping all the resources available for the server if you wish.
Install php, MySQL and other needed components
Logged in as the root user (or use the Linux "su" command to get root privileges) download and install other required software for Moodle (about 41 MB)
apt-get install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 php5-gd php5-curl php5-xmlrpc cvs
If you use additional authentication methods, you may need to install other php libraries, such as php5-imap if you use IMAP to authenticate your users.
Setup MySQL Database
Set a secure root password for the database
mysqladmin -u root password "mySecurePassword"
Note that on a secure production server, you will want to create a different user than root to access the database.
Now log in
mysql -u root -p
Enter your password
Create the Moodle database
mysql> CREATE DATABASE moodle; mysql> exit;
Get Moodle from CVS
Go to the directory where Moodle will be installed.
cd /var/www
Get the latest version of Moodle 1.9 (check for the most recent released version or the version you are most comfortable with. It may be earlier or later than 1.9 stable. Use the European Union CVS server (you can replace eu with uk, es, or us in this step if you wish)
cvs -z3 -d:pserver:anonymous@eu.cvs.moodle.org:/cvsroot/moodle co -r MOODLE_19_STABLE moodle
Create a data directory and set Moodle directory permissions
Create a directory for user and course files (you should still be in the /var/www directory)
mkdir moodledata
Set permissions so that Apache can access the files
chown -R www-data:www-data moodle chown -R www-data:www-data moodledata
On a production server, you may want to tighten up privileges further.
Change Apache to use Moodle as the web site
Note that the server comes with Apache running and looking at the /var/www directory. But there is nothing in that folder, so one just gets a redirect. Edit as follows to have it point at Moodle instead:
nano /etc/apache2/sites-available/default
On about line 4, change DocumentRoot "/var/www/" to
DocumentRoot "/var/www/moodle/"
On about line 10, change <Directory "/var/www"> to
<Directory "/var/www/moodle">
Around line 17, comment out the line for the default page:
# RedirectMatch ^/$ /apache2-default/
You can change other values like ServerAdmin if appropriate. For all changes, you should restart Apache for the new settings to take effect.
/etc/init.d/apache2 restart
Setup Moodle
If you are only going to test Moodle on your internal network, just enter the local IP address as the web address. You can find the local IP address under DHCP by typing
ifconfig eth0
If you have a web address that points to your server, use that instead.
From a browser on another machine, enter
http:// ----- your web address -----
- For the database user, enter root
- For Password, enter the password for the database that you created earlier
Continue through the dialogs and select Unattended operation and set up the Moodle server.
Install cron
Moodle needs a periodic call to do maintenance work like sending out emails, cleaning up the database, updating feeds, etc. To run the cron every 10 minutes, do the following
Rather than learning vi, use the nano editor
export EDITOR=nano
Edit the cron file
crontab -e
Add this line and save.
*/10 * * * * wget -q -O /dev/null http://localhost/admin/cron.php
Use CNTL-X to save
Other recommended settings
Next, make three changes to php.ini
nano /etc/php5/apache2/php.ini
This will allocated more memory and allow files to be uploaded up to 80MB. This should be enough for most multi-media files. Hard drive space is cheap and the default is only 2MB. It is recommended that you change the settings to the following values:
memory_limit = 40M post_max_size = 80M upload_max_filesize = 80M
Updating from CVS
To update with the most recent fixes to Moodle, issue the following commands
cd /var/www/moodle cvs -q update