Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chamilo-lms/documentation/installation_guide.html

657 lines
24 KiB

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Chamilo 1.8.7 Installation Guide</title><link rel="stylesheet" href="default.css" type="text/css" media="screen,projection" />
<link rel="shortcut icon" href="./favicon.ico" type="image/x-icon" />
<style type="text/css">
<!--
page { width: 21cm; height: 29.7cm; margin: 2cm }
pre { font-family: "Courier New", monospace }
p { margin-bottom: 0.21cm }
.code {margin: 1em 1em 1em 2em; padding: 0.5em; background-color: rgb(229, 229, 229); vertical-align: top; border: 1px solid #999999;}
-->
</style>
</head>
<body>
<div id="header1">
<h1>Chamilo 1.8.7 : Installation Guide</h1>
</div>
<a href="index.html">Documentation</a> &gt; Installation Guide
<div id="outerframe">
<div id="main">
<p></p>
<p>Thank you for downloading Chamilo 1.8.7.</p>
<ul>
<li>Test Chamilo on <a href="http://campus.chamilo.org">Free Campus</a></li>
</ul>
<p>This guide explains how to install Chamilo FREE. Please read this fully before proceeding with the installation.</p>
<h2><b>Contents</b></h2>
<ol>
<li><a href="#1._Pre-requisites">Pre-requisites</a></li>
<li><a href="#2._Installation_of_Chamilo_LMS">Installation of Chamilo LMS</a></li>
<li><a href="#3._Upgrade_from_a_previous_version_of">Upgrade from a previous version of Chamilo/Dokeos</a></li>
<li><a href="#4._Troubleshooting">Troubleshooting</a></li>
<li><a href="#5._Administration_section">Administration section</a></li>
<li><a href="#6._LDAP">LDAP&nbsp;</a></li>
<li><a href="#7._Mathematical_formulas">Mathematical formulas with LaTeX</a></li>
</ol>
<br />
<hr style="width: 100%; height: 2px;" />
<h2><a name="1._Pre-requisites"></a>1. Pre-requisites</h2>
Chamilo
can be installed on Windows, Linux, Mac OS X and UNIX servers
indifferently. However, we recommend the use of Linux server for
optimal flexibility, remote control and scalability. <br />
<br />
Chamilo is mainly a LMS running <span style="font-weight: bold;">Apache 1.3, 2.0</span>, <span style="font-weight: bold;">MySQL 5.1</span> and <span style="font-weight: bold;">PHP 5.2</span> (the so called <span style="font-weight: bold;">AMP</span> trilogy). <br />
<br />
All these software are open source and freely available. <br />
<br />
To run Chamilo <span style="font-weight: bold;">LMS</span> on your server, you need to install WAMP, LAMP or MAMP:
<ul>
<li>To install <span style="font-weight: bold;">WAMP</span> (AMP on Windows), we recommend the <a href="http://www.apachefriends.org/en/xampp.html">XAMPP</a> .exe installer<a href="http://www.apachefriends.org/en/xampp.html"></a></li>
<li>To install <span style="font-weight: bold;">LAMP</span>
(AMP on Linux), use the Package manager of your favourite distribution (Synaptic, RPMFinder etc.).
For instance, on a Ubuntu server,&nbsp;use Shell or Synaptic following the
<a href="http://ubuntuguide.org/wiki/Ubuntu:Feisty#Apache_HTTP_Server">Ubuntuguide on Apache</a> and the following sections</li>
<li>To install <span style="font-weight: bold;">MAMP</span> (AMP on Mac OS X), refer to the <a href="http://www.mamp.info/en/index.php">MAMP</a> dedicated website<a href="http://www.mamp.info/en/index.php"></a></li>
</ul>
<br />
<h3><span style="font-weight: bold;">MySQL database server</span></h3>
You will need a login and password allowing to administrate and create
at least one database. By default, Chamilo will create a new database
for each course created. It means your host should allow you to create
and administrate several databases. You can also install Chamilo using
only one database, in that case you have to select this option during
the installation.<span style="font-weight: bold;"><br />
</span>
<hr style="width: 100%; height: 2px;" />
<h2><a name="2._Installation_of_Chamilo_LMS"></a><span style="font-weight: bold;">2. Installation of Chamilo LMS</span></h2>
<ul>
<li><a href="http://www.chamilo.org/download">Download Chamilo LMS</a></li>
<li>Unzip it</li>
<li>Copy the Chamilo directory in your Apache web directory. This can be
<span style="font-weight: bold;">C:\xampp\htdocs\</span> on a Windows server or <span style="font-weight: bold;">/var/www/html/</span> on a Linux server</li>
<li>Open your web browser (Internet Explorer, Firefox...) and type
<span style="font-weight: bold;">http://localhost/chamilo/</span> if you install locally or
<span style="font-weight: bold;">http://www.domain.com/chamilo/</span> if you install remotely</li>
<li>Follow the web installation process. You can accept all default
values. Consider changing the admin password to remember it.&nbsp;</li>
</ul>
<br />
The following directories need to be readable, writeable and executable for everyone:
<ul>
<li>chamilo/main/inc/conf/</li>
<li>chamilo/main/upload/users/</li>
<li>chamilo/main/default_course_document/</li>
<li>chamilo/archive/</li>
<li>chamilo/courses/</li>
<li>chamilo/home/</li>
</ul>
(where 'chamilo' is the directory in which you installed Chamilo)
<p>On Linux, Mac OS X and BSD operating systems you can use the CHMOD
777 command for this (although we recommend you seek advice from an
experienced system administrator).
In Windows, you may need to check the properties of the folders (by
right-clicking on them).</p>
<p>
2.5. The following files need to be readable and writeable for the web browser,
only during the installation process:</p>
<ul>
<li>chamilo/main/inc/conf/configuration.php (if present)</li>
</ul>
<p>On Linux, Mac OS X and BSD operating systems you can use the CHMOD
666 command for this (although we recommend you seek advice from an
experienced system administrator).
In Windows, you may need to check the properties of the files and
folders (by right-clicking on them).</p>
<p>
<b>NOTES:</b><br />
Do not modify the home_*.html files directly. Instead,
choose "Configure the homepage" in the Chamilo administration section.</p>
<p><span style="font-weight: bold;">Windows</span> : with combination packages like XAMPP, out of the box, login and password
for MySQL should probably remain empty.</p>
<p></p>
<h3><strong> Configuration and security after installation</strong></h3>
<ul>
<li><strong>Protect your configuration file: </strong>
make sure no one can overwrite it. You can find the config file in <em>(chamilo folder)</em>/main/inc/conf/configuration.php.
Make it read-only (windows/xwindows: right-click the file to edit the
properties. linux/bsd/macosx: use the chmod 444 command). The config
file is created by Apache so you may need to be root user to change its
permissions.</li>
<li><strong>Protect your installation folder: </strong>
if the <em>(chamilo folder)</em>/main/install
folder is still accessible, someone could install over your existing
version (you could lose your data that way). Move the folder somewhere
out of the web directories so it is not accessible, change its name, or
edit its properties so no one can read or execute it.</li>
<li><strong>For better security: </strong>
making the files world-writable will help you install, and solves many
issues for people without much admin experience. However, it's better
security to make the owner of the apache process (often called apache
or www-data) also owner of all the chamilo files and folders. Ths way,
these files need only be readable and writable by the Apache process
owner, not by the entire world.</li>
<li><strong>Configure your Chamilo installation: </strong>
in the administration section of Chamilo, you can use the Chamilo Config Settings to adjust the behavior of your installation.</li>
<li><strong>Configure Chamilo mail: </strong>
most of Chamilo uses the mail settings from the php.ini file. However,
the announcements tool uses phpMailer (another free software project)
and the settings for this tool can be adjusted in <em>(chamilo folder)</em>/main/inc/conf/mail.conf.php.</li>
</ul>
<br />
<h3>PHP configuration</h3>
To get the best of Chamilo, you need to finetune PHP settings. Consider : <br />
<ul>
<li>Editing php.ini file (on windows can be located at <span style="font-weight: bold;">C:\xampp\php\php.ini</span>, on Ubuntu Linux : <span style="font-weight: bold;">/etc/php5/apache2/php.ini</span></li>
<li>search the word "max" and increase values to optimise the server</li>
<li>you may want to end up&nbsp;with the following values : </li>
</ul>
<div class="code">
max_execution_time = 300&nbsp;&nbsp;&nbsp; ; Maximum execution time of each script, in seconds<br />
max_input_time = 600 ; Maximum amount of time each script may spend parsing request data<br />
memory_limit = 256M&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; Maximum amount of memory a script may consume (128MB)<br />
post_max_size = 64M<br />
upload_max_filesize = 100M
</div>
<p>Some users could meet problems if their PHP settings don't fit
these ones:</p>
<ul>
<li>short_open_tag = On</li>
<li>safe_mode = Off</li>
<li>magic_quotes_gpc = On</li>
<li>magic_quotes_runtime = Off</li>
</ul>
<p>
Past Chamilo versions required register_globals to be set to On. This is
no longer necessary, this can be set to Off and Chamilo will work fine.</p>
<p><strong>Note:</strong> if you are using PHP 5.3 or higher, you need to set your <em>date.timezone</em> setting to whatever your server's timezone is.
For example, if your server is in the 'America/New_York' timezone, set this in your php.ini:</p>
<div class="code">
date.timezone = 'America/New_York'
</div>
<p><strong>BSD users:</strong> these php libraries have to be included during php installation:</p>
<ul>
<li>php-mysql The mysql shared extension for php</li>
<li>php-pcre The pcre shared extension for php</li>
<li>php-session The session shared extension for php</li>
<li>php-zlib The zlib shared extension for php</li>
<li>(optional) php-ldap if you want to be able to use LDAP authentication</li>
</ul>
<p>You might also add the following php modules and packages:</p>
<ul>
<li>php-ctype</li>
<li>php-gd</li>
<li>php-iconv</li>
<li>php-json</li>
<li>php-mbstring</li>
</ul>
<p><a href="http://dev.mysql.com/doc/mysql/en/index.html"></a><br /></p>
<hr />
<h2><a name="3._Upgrade_from_a_previous_version_of"></a>3. Upgrade from a previous version of Chamilo/Dokeos</h2>
Before upgrading we <b>heavily</b> recommend you do a full backup of the previous
Chamilo/Dokeos directories and databases. If you are unsure how to achieve this
please ask your hosting provider for advice.<br />
<p></p>
<h3>3.1 Upgrading from Dokeos 1.8.x</h3>
<em>If you upgrade from Dokeos 1.8.x</em> :&nbsp;
<ul>
<li> check that you haven't left any customised stylesheet or image*</li>
<li> download the Chamilo 1.8.7 Salto install package from the <a href="http://www.chamilo.org/download">Chamilo download page</a></li>
<li> unzip the new files of Chamilo 1.8.7 over the files of the older version (or unzip the files in one folder and then copy the files from there to the older version's directory)</li>
<li> point your browser on your portal URL + main/install/</li>
<li> choose your language and click&nbsp;<span style="font-style: italic;">Upgrade from 1.8.x</span></li>
</ul>
<br />
<font size="-1">* Styles and images are located in the main/css or main/img
directories. You can still recover them from your backup if you have made it.
Any modified style or image that uses the default style/image name will be
overwritten by the next step. To avoid loosing your customisations, always
ensure you copy the styles/images under a new name and use and modify the
copy, not the original. The original will always be overwritten by newer
versions. In Dokeos 1.8.5, we have changed the name of several CSS themes.
Backwards compatibility is ensured by the fact that an upgrade only adds the
new themes, but you should try and use these new themes rather than sticking
to the old ones which will be deprecated shortly (not maintained).</font>
<br />
<p></p>
<h3>3.2 Upgrading from Dokeos 1.6.x</h3>
<em>If you upgrade from a lower version of Dokeos (1.6.x)</em>, the first
and most important thing to do is to *move* your current directory to another
place.<br />
An easy way to do that is to create a subdirectory called "old_version"
in your current Chamilo/Dokeos directory and move everything in there using a
simple "move" command (i.e. under Linux: mkdir old_version; mv *
old_verion/), then make the old_version/ directory writeable by the web
server so that courses/ and upload/ directories can be moved from the
old to the new installation.<br />
<br />
The complete process is as follow:
<ul>
<li> move the current Dokeos directory contents to a subdirectory called
<em>old_version</em> and make it writeable by the web server. This
is important to allow the move of the courses/ and upload/ directories
to the new install</li>
<li> download the Chamilo 1.8.7 install package from the
<a href="http://www.chamilo.org/download">Chamilo download page</a></li>
<li> unzip the new files of Chamilo 1.8.7 in the main Chamilo/Dokeos directory. The
new directory <em>main</em> should be located directly inside your
Chamilo/Dokeos root folder</li>
<li> point your browser on your portal URL</li>
<li> choose your language and click&nbsp;<span style="font-style: italic;">Upgrade from 1.6.x</span> and confirm the
current directory of the old version</li>
</ul>
<br />
<em> NOTE: </em> The upgrade from 1.6.x to 1.8.x implies a revision of
the customised graphics and styles. The new version uses a complete new
set of icons and styles, which means the ones from version 1.6 cannot be
simply reused. The good news is the version 1.8.x allows you to create
your own style in a separate css folder, that you can then reuse through
all the 1.8.x versions
<br />
<p></p>
<p>
<b>WARNING:</b><br />
Do not delete the previous Chamilo/Dokeos installation directory before installing
the new one. When the update is successfully finished, you can remove
the old path.</p>
<p>
<b>NOTE:</b><br />
Do not modify the home_*.html files directly. Instead,
choose "Configure the homepage" in the Chamilo administration section.</p>
<p></p>
<h3>3.3 In both cases</h3>
The following directories need to be readable, writeable and executable for the web server:
<ul>
<li>chamilo/main/inc/conf/</li>
<li>chamilo/main/upload/users/</li>
<li>chamilo/main/default_course_document/</li>
<li>chamilo/archive/</li>
<li>chamilo/courses/</li>
<li>chamilo/home/</li>
</ul>
On Linux, Mac OS X and BSD operating systems you can quick-fix this using the
CHMOD 777 command, but if you are unsure, we recommend you seek advice for
your own OS on <a href="http://www.chamilo.org/forum">our forum</a>.
In Windows, you may need to check the properties of the folders.
<p></p>
<h3>3.4 Quick-upgrade from 1.6.x guide for Linux</h3>
The following quick-upgrade guide assumes that:
<ul>
<li>the Chamilo database username (for MySQL) is "chamilo_db_user" and your login is "chamilo_user"</li>
<li>the chamilo installation is currently in /var/www/chamilo/ and it has 777 permissions</li>
<li>your portal's URL is http://www.portalurl.com/</li>
</ul>
<br />
On the command-line, type:
<ul>
<li>cd /tmp</li>
<li>mysqldump -u chamilo_db_user -p --all-databases --result-file=/home/chamilo_user/chamilo_old.sql</li>
<li>cp -ra /var/www/chamilo /home/chamilo_user/backup_chamilo</li>
<li>mkdir /var/www/chamilo/old_version</li>
<li>mv /var/www/chamilo/* /var/www/chamilo/old_version/</li>
<li>chmod -R 0777 /var/www/chamilo/old_version/</li>
<li>wget http://www.chamilo.org/files/chamilo-1.8.7.tar.gz</li>
<li>tar zxvf chamilo-1.8.7.tar.gz</li>
<li>sudo cp -ra chamilo-1.8.7/* /var/www/chamilo/</li>
<li>rm chamilo-1.8.7.tar.gz</li>
<li>sudo rm -r chamilo-1.8.7/</li>
</ul>
<br />
Then:
<ul>
<li>Direct your browser to http://www.portalurl.com/main/install/</li>
<li>Proceed with the installation</li>
<li>Review the directories permissions</li>
</ul>
<p></p>
<p></p>
<hr style="width: 100%; height: 2px;" />
<h2><a name="4._Troubleshooting"></a>4. Troubleshooting</h2>
15 years ago
<p>If you have&nbsp;problems, go to the <a href="http://www.chamilo.org">Chamilo website</a> and ask a question on the
<a href="http://forum.chamilo.org">support forum</a>. Please read the previous messages first to see if there is
already an answer to your question. We also maintain a list of
15 years ago
<a href="http://wiki.chamilo.org">Frequently Asked Questions</a>.</p>
<h2></h2>
<hr style="width: 100%; height: 2px;" />
<h2><a name="5._Administration_section"></a>5. Administration section</h2>
15 years ago
<p>To access the Chamilo administration section, open browser,
go to your Chamilo adress and log in with the admin user.
Then you will see a "Platform admin section" link in the header of the
web page. There you can manage users, courses, sessions, portal look
and feel, homepage content, course categories etc.&nbsp;</p>
<p></p>
<hr style="width: 100%; height: 2px;" />
<h2><a name="6._LDAP"></a>6. LDAP</h2>
<p>
<i>This part is optional, only organisations with an LDAP server will need to read this.</i><br />
15 years ago
An LDAP module is already provided in Chamilo, but it has to be configured to make it work.</p>
<h3><b>Compiling</b></h3>
<p>
Linux servers: It's possible that you have to recompile php with ldap support.
Newer distributions also allow downloading rpms for additional packages.</p>
15 years ago
<h3><b>Activating LDAP in Chamilo</b></h3>
<p>
15 years ago
In (chamilo folder)/main/inc/conf/configuration.php, around line 90, you see<br />
//for new login module<br />
//uncomment these to activate ldap<br />
//$extAuthSource['ldap']['login'] = "./main/auth/ldap/login.php";<br />
//$extAuthSource['ldap']['newUser'] = "./main/auth/ldap/newUser.php";<br />
<br />
remove the // from the last two lines to activate LDAP.<br />
</p>
<h3><b>Settings</b></h3>
<p>
Ask the LDAP server admin for the settings:</p>
<ul>
<li>ldap server name</li>
<li>ldap server port (usually 389)</li>
<li>ldap dc</li>
</ul>
Since 1.8.5, you have to change the LDAP settings inside the "Portal
15 years ago
administration" panel, under "Chamilo configuration settings", section
"LDAP".
<br />
As an example, you should find the following kind of values:<br />
LDAP main server's address: "myldapserver.com"; // your ldap server<br />
LDAP main server's port: 389; // your ldap server's port number<br />
LDAP domain: "dc=xx, dc=yy, dc=zz"; //domain<br />
<br />
<h3><b>Teacher/student status</b></h3>
<p>
15 years ago
By default, Chamilo will check if the "employeenumber" field has a value. If it has, then Chamilo will
consider this user as being a teacher.<br />
If you want to change this behaviour, you can edit main/auth/ldap/authldap.php, function ldap_put_user_info_locally(),
and change the <em>if (empty($info_array[$tutor_field]))</em> condition to whatever suits you.<br />
You can also remove this check by removing the condition and leaving only the <em>$status = STUDENT;</em> line.</p>
<h3><b>Protected LDAP servers</b></h3>
<p>
Some LDAP servers do not support anonymous use of the directory services.<br />
In this case, you should fill in the appropriate fields in the
15 years ago
administration panel (e.g. "manager" and "mypassword") and Chamilo will
try to authenticate using these, or fall back to anonymous mode before
giving up.</p>
<h3>LDAP import into sessions</h3>
<p>There is a new set of scripts now that allow you to insert users
15 years ago
from LDAP directly into a Chamilo session. This, however, relies on a
set of static choices in the LDAP contact attributes.<br />
15 years ago
The fields used intensively by the Chamlio module are:<br />
</p>
<ul>
15 years ago
<li>uid, which is matched to the username in Chamilo</li>
<li>userPassword, which is matched to the user password, although
this part will only work for non-encrypted passwords for now, but it
shouldn't be necessary if using the LDAP server as authentication</li>
<li>ou should end with the year of the person registration or any
criteria you will use to filter users, so that they can be retrieved on
that criteria</li>
15 years ago
<li>sn is used as the lastname field in Chamilo</li>
15 years ago
<li>givenName is used as the firstname field in Chamilo</li>
15 years ago
<li>mail is used as the email field in Chamilo</li>
</ul>
<hr style="width: 100%; height: 2px;" />
<h2><a name="7._Mathematical_formulas"></a>7. Mathematical formulas with LaTeX</h2>
<i>This part is optional, only organisations planning to use mathematical formulas inside the online editor might want to read this.</i><br /><br />
15 years ago
You can enable mathematical equations writing inside the Chamilo online editor (FCKEditor) by applying the following steps:
<ul>
<li>1. Configure your Apache installation to add a cgi-bin directory that contains a symbolic link to the mimetex.cgi in
<i>chamilo/main/inc/lib/mimetex/</i> (*see below, step 4)</li>
<li>2. Reload your Apache configuration</li>
<li>3. Edit the online editor's configuration file <i>chamilo/main/inc/lib/fckeditor/myconfig.php</i> and
<ul>
<li>3.1. Enable the mimetex plugin, find the line //$config['LoadPlugin'][] = 'mimetex'; and modify it to be:
<b>$config['LoadPlugin'][] = 'mimetex';</b> (remove the double slash)</li>
<li>3.2. The additional settings <b>$config['MimetexExecutableInstalled']</b> , <b>$config['MimetexExecutableDetectionMethod']</b>
and <b>$config['MimetexExecutableDetectionTimeout']</b> are configured for best probability
of automatic detection of the installed on the server file <i>mimetex.cgi</i> or <i>mimetex.exe</i>.
In rare cases these options might need to be twicked, see the acccompanying comments abou
these options within the file <i>myconfig.php</i></li>
<li>3.3. Once the plugin has been activated, almost in all toolbars the corresponding button appears.
If you need to edit some toolbars, see the configuration files (php) within the directory <i>chamilo/main/inc/lib/fckeditor/toolbars/</i> .
Here is an example:
<div class="code">$config['ToolbarSets']['Normal'] = array(<br />
&nbsp;&nbsp;array('FitWindow','Bold','Image','Link','PasteWord','MP3',<b>'mimetex'</b>,'Table','Subscript','Superscript','ShowBlocks')<br />
);</div>
The item <b>'mimetex'</b> represents the button, you may add it to or remove it from any toolbar.<br /><br />
</li>
</ul>
<li>4. To install mimetex executable file, make these changes:</li>
<p>Add the corresponding cgi-bin directory to your Apache configuration could be done, in Apache 2, like this:
</p>
<div class="code">
ScriptAlias /cgi-bin/ /var/www/cgi-bin/<br />
&lt;Directory "/var/www/cgi-bin"&gt;<br />
&nbsp;&nbsp;AllowOverride None<br />
&nbsp;&nbsp;Options ExecCGI -MultiViews +SymLinksIfOwnerMatch<br />
&nbsp;&nbsp;Order allow,deny<br />
&nbsp;&nbsp;Allow from all<br />
&lt;/Directory&gt;<br />
</div>
<p>Adding a symbolic link can be done, under Windows, by creating a
shortcut to the mimetex.exe file from the cgi-bin directory, or under
Linux by issuing the following command:
</p>
<div class="code">
<p>ln -s /var/www/chamilo/main/inc/lib/mimetex/mimetex.cgi /var/www/cgi-bin/mimetex.cgi</p>
</div>
<p>If you are reluctant to modify your Apache configuration, alternately you may do at step 4 the following:
copy mimetex.exe (for windows) or mimetex.cgi (for linux) from <i>chamilo/main/inc/lib/mimetex/</i> directory to your <i>cgi-bin/</i></p>
<li>5. Make sure that the file mimetex.cgi (or mimetex.exe) has right to be executed by the web-server process. For example, on a Ubuntu Linux system you may write a command like the following:</li>
<div class="code">
<p>sudo chmod a+x mimetex.cgi</p>
</div>
</ul>
15 years ago
<p>As a result of this procedure, a new button becomes available in your Chamilo online editor, that gives you possibility
to insert mathematical formulas into your documents.<br />
<br />
<br />
Contact address<br />
Mail: info@chamilo.org<br />
<br />
</p>
<hr />
</div>
</div>
<hr />
<a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10-blue" alt="Valid XHTML 1.0 Transitional" style="margin: 1em; float: right;" height="31" width="88" /></a>
<a href="http://jigsaw.w3.org/css-validator/">
<img src="http://jigsaw.w3.org/css-validator/images/vcss-blue" style="margin: 1em; float: right;" alt="Valid CSS" />
</a>
</body></html>