Step-by-step Install Guide for Ubuntu: Difference between revisions
Mikel Stous (talk | contribs) m (→Install MySQL) |
Liam Morland (talk | contribs) |
||
(42 intermediate revisions by 13 users not shown) | |||
Line 14: | Line 14: | ||
Select your '''language''', '''country''', and '''keyboard layout''' (i.e. English, United States, American English) | Select your '''language''', '''country''', and '''keyboard layout''' (i.e. English, United States, American English) | ||
Select ''' | Select '''[http://help.ubuntu.com/6.06/ubuntu/serverguide/C/network-configuration.html manually configure]''' and set an IP address (or autoconfig if you don't know). | ||
Enter your servername (i.e. moodletest) | Enter your servername (i.e. moodletest) | ||
Line 22: | Line 22: | ||
:<table> | :<table> | ||
:<tr><td width=%10>/boot</td><td width=%10>ext3</td><td align=right width=%10>200MB</td><td align=center width=%10>bootable</td> | :<tr><td width=%10>/boot</td><td width=%10>ext3</td><td align=right width=%10>200MB</td><td align=center width=%10>bootable</td> | ||
<td>( | <td>([http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/ref-guide/s1-grub-whatis.html may need to be under cylinder 1024 on your harddrive to be bootable])</td></tr> | ||
:<tr><td>/</td><td>ext3</td><td align=right>10GB</td><td></td><td>(files are relatively static)</td></tr> | :<tr><td>/</td><td>ext3</td><td align=right>10GB</td><td></td><td>(files are relatively static)</td></tr> | ||
:<tr><td>swap</td><td></td><td align=right>4GB</td><td></td> | :<tr><td>swap</td><td></td><td align=right>4GB</td><td></td> | ||
Line 43: | Line 43: | ||
Log in your account. | Log in your account. | ||
Edit the ''/etc/apt/sources.list'' file. Remove the ''#'' mark on | Edit the ''/etc/apt/sources.list'' file. Remove the ''#'' mark on lines 22 and 38 to enable access to the universe package source and universe security updates. You will need to re-enter your account password when ''sudo'' asks for it. | ||
<pre> | <pre> | ||
sudo nano /etc/apt/sources.list | sudo nano /etc/apt/sources.list | ||
Line 53: | Line 53: | ||
sudo apt-get dselect-upgrade | sudo apt-get dselect-upgrade | ||
</pre> | </pre> | ||
Normally you would just use ''sudo apt-get upgrade''. | Normally you would just use ''[http://help.ubuntu.com/6.06/ubuntu/serverguide/C/apt-get.html sudo apt-get upgrade]''. | ||
And reboot to run on the new kernel! | And reboot to run on the new kernel! | ||
Line 60: | Line 60: | ||
</pre> | </pre> | ||
=== Install MySQL === | === Install MySQL (skip Postgresql) === | ||
At this point we'll need to log in again to the server and type: | At this point we'll need to log in again to the server and type: | ||
<pre> | <pre> | ||
sudo apt-get install mysql-server mysql | sudo apt-get install mysql-server php5-mysql | ||
</pre> | </pre> | ||
Press ''Y'' to continue the install. | Press ''Y'' to continue the install. | ||
Replace the following string ''NewRootDatabasePassword'' with a secure password of your own choosing. | Replace the following string ''NewRootDatabasePassword'' with a secure password of your own choosing. | ||
There is no space between the ''-p'' and the password on the second command. | |||
<pre> | <pre> | ||
mysqladmin | mysqladmin -u root password NewRootDatabasePassword | ||
mysqladmin -u root -h localhost password NewRootDatabasePassword -pNewRootDatabasePassword | mysqladmin -u root -h localhost password NewRootDatabasePassword -pNewRootDatabasePassword | ||
</pre> | </pre> | ||
We now need to create the Moodle database and Moodle user in MySQL. | |||
The mysql command will prompt for your ''NewRootDatabasePassword'' (from above). | |||
Replace ''NewMoodleDatabasePassword'' with a secure password of your own choosing. | |||
<pre> | |||
mysql -u root -p | |||
> CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; | |||
> GRANT ALL PRIVILEGES ON moodle.* TO moodleuser@localhost IDENTIFIED BY 'NewMoodleDatabasePassword'; | |||
> GRANT SELECT,LOCK TABLES on moodle.* TO moodlebackup@localhost IDENTIFIED BY 'MoodleBackupPassword'; | |||
> FLUSH PRIVILEGES; | |||
> QUIT | |||
</pre> | |||
The above also creates a backup user moodlebackup so that you can use ''mysqldump'' to make database backups without accident. | |||
=== Install Postgresql (skip MySQL) === | |||
At this point we'll need to log in again to the server and type: | |||
<pre> | |||
sudo apt-get install postgresql-8.1 php5-pgsql | |||
</pre> | |||
Press Y to continue the install. | |||
We now need to create the database user 'moodleuser'. | |||
<pre> | |||
sudo -u postgres createuser -D -A -P moodleuser | |||
</pre> | |||
Enter in a ''NewMoodleDatabasePassword here'', then answer 'N' to the question. | |||
We now need to create the database 'moodle' for the user 'moodleuser'. You'll need to enter the password that you just created. | |||
<pre> | |||
sudo -u postgres createdb -E utf8 -O moodleuser moodle | |||
</pre> | |||
Let's now secure the postgresql database with an admin password. | |||
<pre> | |||
sudo -u postgres psql template1 | |||
# ALTER USER postgres WITH PASSWORD 'NewAdminDatabasePassword'; | |||
# \q | |||
</pre> | |||
Edit the file '/etc/postgresql/8.1/main/pg_hba.conf' and on line 79 change the words ''ident sameuser'' to ''md5''. | |||
<pre> | |||
sudo nano /etc/postgresql/8.1/main/pg_hba.conf | |||
</pre> | |||
Restart the database so everything is fine. | |||
<pre> | |||
sudo /etc/init.d/postgresql-8.1 restart | |||
</pre> | |||
=== Install Apache === | === Install Apache === | ||
The following mod-security, ldap, and odbc libraries are optional. | |||
<pre> | <pre> | ||
sudo apt-get install apache2 libapache2-mod-php5 php5-gd php5- | sudo apt-get install apache2 libapache2-mod-php5 php5-gd | ||
sudo apt-get install libapache2-mod-security php5-ldap php5-odbc | |||
</pre> | </pre> | ||
Restart Apache | |||
<pre> | |||
sudo /etc/init.d/apache2 restart | |||
</pre> | |||
=== Install other software === | === Install other software === | ||
On the command line, type: | On the command line, type: | ||
<pre> | <pre> | ||
sudo apt-get install | sudo apt-get install ntp-simple openssh-server unattended-upgrades | ||
sudo apt-get install unzip zip aspell-en aspell-fr aspell-de aspell-es | |||
sudo apt-get install | sudo apt-get install curl libcurl3 libcurl3-dev php5-curl php5-xmlrpc | ||
sudo apt-get install | sudo apt-get install clamav-base clamav-freshclam clamav | ||
</pre> | </pre> | ||
Press ''Y'' to continue the install after each of these apt-get commands. | Press ''Y'' to continue the install after each of these apt-get commands. | ||
Line 101: | Line 155: | ||
Additional languages are available for aspell. | Additional languages are available for aspell. | ||
=== Install Moodle === | === Install Moodle === | ||
Line 109: | Line 161: | ||
cd /var/www | cd /var/www | ||
sudo wget http://download.moodle.org/ | sudo wget http://download.moodle.org/stable19/moodle-latest-19.tgz | ||
sudo tar -zxf moodle-latest-19.tgz | |||
sudo tar | ---- | ||
in ubuntu 8.04 it should be: | |||
sudo tar zxf moodle-latest-19.tgz | |||
---- | |||
sudo mkdir /var/moodledata | sudo mkdir /var/moodledata | ||
sudo chown | sudo chown -R www-data.www-data /var/moodledata | ||
</pre> | </pre> | ||
We now need to edit the location of the default web site. On lines | |||
We now need to edit the location of the default web site. On lines five and ten, replace ''/var/www/'' with ''/var/www/moodle/''. Restart Apache. (See page comments for more details on this instruction.) | |||
<pre> | <pre> | ||
sudo nano /etc/apache2/sites-available/default | sudo nano /etc/apache2/sites-available/default | ||
sudo /etc/init.d/apache2 restart | sudo /etc/init.d/apache2 restart | ||
</pre> | </pre> | ||
=== Configure Moodle website === | === Configure Moodle website === | ||
ifconfig (look for your server’s ip address on the 2nd line) | ifconfig (look for your server’s ip address on the 2nd line). | ||
On another computer open a web browser and put in your server address | On another computer open a web browser and put in your server address. Make sure your web browser is set to accept cookies. | ||
Complete the Moodle install using a secure username and password | Complete the Moodle install using a secure username and password. | ||
Go to a bar for a few hours. | Go to a bar for a few hours. | ||
Line 147: | Line 196: | ||
== Other Resources == | == Other Resources == | ||
* Setting up the [http://www.howtoforge.com/perfect_setup_ubuntu_6.06 Perfect Ubuntu 6.06 server] | |||
* Ubuntu 6.06 Server Guide - [http://help.ubuntu.com/6.06/ubuntu/serverguide/C/index.html HTML] [http://help.ubuntu.com/6.06/pdf/ubuntu/C/serverguide.pdf PDF] | * Ubuntu 6.06 Server Guide - [http://help.ubuntu.com/6.06/ubuntu/serverguide/C/index.html HTML] [http://help.ubuntu.com/6.06/pdf/ubuntu/C/serverguide.pdf PDF] | ||
* Ubuntu - [http://help.ubuntu.com/community/Security 1] [http://www.computerworld.com/action/article.do?command=printArticleBasic&articleId=9002691 2] security | * Ubuntu - [http://help.ubuntu.com/community/Security 1] [http://www.computerworld.com/action/article.do?command=printArticleBasic&articleId=9002691 2] security | ||
Line 155: | Line 205: | ||
* [http://www.modsecurity.org/documentation/index.html Modsecurity apache2 module] | * [http://www.modsecurity.org/documentation/index.html Modsecurity apache2 module] | ||
* Another [http://help.ubuntu.com/community/MySQLMoodle Ubuntu and Moodle install] document | * Another [http://help.ubuntu.com/community/MySQLMoodle Ubuntu and Moodle install] document | ||
* Moodle [[Security]] | |||
[[Category:Administrator]] | |||
[[Category:Installation|Ubuntu]] |
Latest revision as of 18:32, 8 December 2008
What you need to start
- Ubuntu 6.06 LTS server CD
- A test x86 desktop computer, keyboard, monitor, mouse, and firewalled internet connection.
- One hour of time. (seriously!)
Directions
Install Ubuntu
Start computer and use F12 to boot from CD.
Select Install to hard drive.
Select your language, country, and keyboard layout (i.e. English, United States, American English)
Select manually configure and set an IP address (or autoconfig if you don't know).
Enter your servername (i.e. moodletest)
Select to manually edit the partition table. I’m doing my testing on a standard 40GB harddrive and will modify these sizes for production.
/boot ext3 200MB bootable (may need to be under cylinder 1024 on your harddrive to be bootable) / ext3 10GB (files are relatively static) swap 4GB (4xRAM if you don't have much memory, down to 1xRAM if you have gobs of memory) /var ext3 26GB (variable content – uses rest of the drive)
Select your timezone. (i.e. Central)
Set clock to Universal Time.
Enter Administrators full name. (i.e. Joe Smith)
Enter account name. (i.e. joesmith)
Enter a secure password. (‘abcde’ is not a good one!)
Let the computer restart.
Log in your account.
Edit the /etc/apt/sources.list file. Remove the # mark on lines 22 and 38 to enable access to the universe package source and universe security updates. You will need to re-enter your account password when sudo asks for it.
sudo nano /etc/apt/sources.list
Now to get all the security updates.
sudo apt-get update sudo apt-get dselect-upgrade
Normally you would just use sudo apt-get upgrade.
And reboot to run on the new kernel!
sudo reboot
Install MySQL (skip Postgresql)
At this point we'll need to log in again to the server and type:
sudo apt-get install mysql-server php5-mysql
Press Y to continue the install.
Replace the following string NewRootDatabasePassword with a secure password of your own choosing.
There is no space between the -p and the password on the second command.
mysqladmin -u root password NewRootDatabasePassword mysqladmin -u root -h localhost password NewRootDatabasePassword -pNewRootDatabasePassword
We now need to create the Moodle database and Moodle user in MySQL.
The mysql command will prompt for your NewRootDatabasePassword (from above). Replace NewMoodleDatabasePassword with a secure password of your own choosing.
mysql -u root -p > CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; > GRANT ALL PRIVILEGES ON moodle.* TO moodleuser@localhost IDENTIFIED BY 'NewMoodleDatabasePassword'; > GRANT SELECT,LOCK TABLES on moodle.* TO moodlebackup@localhost IDENTIFIED BY 'MoodleBackupPassword'; > FLUSH PRIVILEGES; > QUIT
The above also creates a backup user moodlebackup so that you can use mysqldump to make database backups without accident.
Install Postgresql (skip MySQL)
At this point we'll need to log in again to the server and type:
sudo apt-get install postgresql-8.1 php5-pgsql
Press Y to continue the install.
We now need to create the database user 'moodleuser'.
sudo -u postgres createuser -D -A -P moodleuser
Enter in a NewMoodleDatabasePassword here, then answer 'N' to the question.
We now need to create the database 'moodle' for the user 'moodleuser'. You'll need to enter the password that you just created.
sudo -u postgres createdb -E utf8 -O moodleuser moodle
Let's now secure the postgresql database with an admin password.
sudo -u postgres psql template1 # ALTER USER postgres WITH PASSWORD 'NewAdminDatabasePassword'; # \q
Edit the file '/etc/postgresql/8.1/main/pg_hba.conf' and on line 79 change the words ident sameuser to md5.
sudo nano /etc/postgresql/8.1/main/pg_hba.conf
Restart the database so everything is fine.
sudo /etc/init.d/postgresql-8.1 restart
Install Apache
The following mod-security, ldap, and odbc libraries are optional.
sudo apt-get install apache2 libapache2-mod-php5 php5-gd sudo apt-get install libapache2-mod-security php5-ldap php5-odbc
Restart Apache
sudo /etc/init.d/apache2 restart
Install other software
On the command line, type:
sudo apt-get install ntp-simple openssh-server unattended-upgrades sudo apt-get install unzip zip aspell-en aspell-fr aspell-de aspell-es sudo apt-get install curl libcurl3 libcurl3-dev php5-curl php5-xmlrpc sudo apt-get install clamav-base clamav-freshclam clamav
Press Y to continue the install after each of these apt-get commands.
The clamav package will support virus checking on file uploads into Moodle. May have to run it again to configure properly.
Additional languages are available for aspell.
Install Moodle
On the command line, type:
cd /var/www sudo wget http://download.moodle.org/stable19/moodle-latest-19.tgz sudo tar -zxf moodle-latest-19.tgz ---- in ubuntu 8.04 it should be: sudo tar zxf moodle-latest-19.tgz ---- sudo mkdir /var/moodledata sudo chown -R www-data.www-data /var/moodledata
We now need to edit the location of the default web site. On lines five and ten, replace /var/www/ with /var/www/moodle/. Restart Apache. (See page comments for more details on this instruction.)
sudo nano /etc/apache2/sites-available/default sudo /etc/init.d/apache2 restart
Configure Moodle website
ifconfig (look for your server’s ip address on the 2nd line).
On another computer open a web browser and put in your server address. Make sure your web browser is set to accept cookies.
Complete the Moodle install using a secure username and password.
Go to a bar for a few hours.
Come back and tell your boss that you FINALLY got the test server running.