Annotation of doc/build/fedora_install.frag, revision 1.6

1.5       matthew     1: <h1>Installing LON-CAPA on a Fedora Core 2 Linux System</h1>
1.1       matthew     2: <p>
                      3: This document guides you through the process of setting up a new LON-CAPA
1.5       matthew     4: server running Fedora Core 2 (FC2).  The computer will be configured solely as
1.1       matthew     5: a LON-CAPA server and will be expected to have no other services running
                      6: on it.
                      7: </p><p>
                      8: More information is available at <a href="http://install.lon-capa.org/">
                      9: http://install.lon-capa.org/</a>.
                     10: </p>
                     11: 
                     12: <h2>Before you begin</h2>
                     13: <p>
                     14: Installing Linux is getting easier and easier.  However, it is still a
                     15: non-trivial undertaking and experience with Red Hat Linux will make this 
                     16: process easier.  You will be required to log in to the machine and execute
                     17: some routine Unix commands.  Some familiarity with Linux is assumed.  
                     18: Familiarity with the Apache web server, mod_perl, perl, and MySQL are not 
                     19: required to install and run LON-CAPA.
                     20: </p>
                     21: 
                     22: <h2>Installation Overview</h2>
                     23: <p>
                     24: The installation process takes the following steps:
                     25: </p>
                     26: <ol>
                     27:   <li> Obtain Fedora Linux </li>
                     28:   <li> Determine Network Settings</li>
                     29:   <li> Install Fedora </li>
                     30:   <li> Install LON-CAPA Dependencies </li>
                     31:   <li> Determine your LON-CAPA Settings </li>
                     32:   <li> Install LON-CAPA </li>
                     33:   <li> Configure LON-CAPA </li>
                     34:   <li> Pick a hosts.tab file </li>
                     35:   <li> Create a Domain Coordinator </li>
                     36:   <li> Start/Restart services </li>
                     37:   <li> Log in to LON-CAPA </li>
                     38: </ol>
                     39: 
                     40: <h2>Obtain Fedora Linux</h2>
                     41: <p>
                     42: Fedora linux ISO files can be obtained from the projects main site,
                     43: <a href="http://fedora.redhat.com/">http://fedora.redhat.com/</a>.
                     44: </p>
                     45: 
                     46: <h2>Determine Network Settings</h2>
                     47: <p>
                     48: You will need to know the following network settings for your installation.  
                     49: <b>Note:</b>You must have a static IP address to use LON-CAPA.
                     50: DHCP is <em>not</em> supported.
                     51: </p>
                     52: <ul>
                     53:   <li>ip address </li>
                     54:   <li>netmask </li>
                     55:   <li>hostname </li>
                     56:   <li>gateway </li>
                     57:   <li>domain name server(s) </li>
                     58: </ul>
                     59: 
                     60: <h2>Install Fedora</h2>
                     61: <p>
                     62: Installing Fedora is quite easy if you've installed any of the Red Hat products
                     63: before.  Some documentation is available from 
                     64: <a href="http://fedora.redhat.com/projects/anaconda-installer/">
                     65: http://fedora.redhat.com/projects/anaconda-installer/</a>.
                     66: There are a few sections that require comment.
                     67: </p>
                     68: <dl style="list-style:square outside none">
                     69:    <dt>Installation Type</dt>
                     70:    <dd>You should do a "Server" install.  We do not recommend
                     71:        trying to install LON-CAPA with a different installation type.</dd>
                     72:    <dt>Partitioning your Drive</dt>
                     73:    <dd>You may want to use the automatic partitioning feature of the installer,
                     74:        however you should review the results and be prepared to modify them.
                     75:        LON-CAPA resource files are stored in the /home directory, so the
                     76:        lion's share of the drive should be allocated here.  If you have 20 GB 
1.2       matthew    77:        of space for Red Hat, /home should receive at least 10 to 12 gigs.  
                     78:        Since MySQL uses the /var filesystem to store its databases you should
                     79:        have at least 4 gigs of space available on /var.  Be sure to 
1.1       matthew    80:        include adequate swap space.  A minimum is 512 Megs, but you should
                     81:        typically have 1 or 2x as much swap space as you do physical RAM.</dd>
                     82:    <dt>Network Configuration</dt>
                     83:    <dd>LON-CAPA will <b>not</b> work with a machine set up to use a dynamic 
                     84:        IP address.  When configuring your network card, be sure to unselect
                     85:        the DHCP option and enter in your network information.</dd>
                     86:    <dt>Firewall Configuration</dt>
                     87:    <dd>The firewall should be customized to allow incoming ssh and www.  
                     88:        Additional ports used by LON-CAPA are 5663 and 8080.  
                     89:        Enter these in the entry box as <nobr>"5663:tcp, 8080:tcp"</nobr>.</dd>
                     90:    <dt>Package Group Selection</dt>
                     91:    <dd>
                     92:        <b>Do not</b> install a web server.  It is intentially omitted from
                     93:        this list.  Installing packages not listed below is not recommended.
                     94:        If you install packages not listed below you should expect difficulties
                     95:        when installing the LON-CAPA dependencies.
                     96:       <ul>
                     97:          <li>Editors</li>
                     98:          <li>Text Based Internet</li>
                     99:          <li>Authoring and Publishing</li>
1.5       matthew   100:          <li>Server Configuration Tools</li>
1.4       matthew   101:          <li>Development Tools</li>
                    102:          <li>Administration Tools</li>
                    103:          <li>Printing Support</li>
1.1       matthew   104:       </ul>
                    105:    </dd>
                    106: </dl>
                    107: <p>
                    108: Finish installing your server, reboot it, and log in as root.
                    109: </p>
                    110: 
                    111: <h2>Retrieving the LON-CAPA Installation Archive</h2>
                    112: <p>
                    113: Execute the following command:
                    114: </p>
                    115: <pre>
                    116: wget http://install.loncapa.org/versions/fedora/fedora_install.tar
                    117: </pre>
                    118: <p>
                    119: This will retrieve from the LON-CAPA website all the packages needed to get
                    120: LON-CAPA running on your system, except for the LON-CAPA source itself.
                    121: </p>
                    122: <p>
                    123: Extract the archive with the following command:
                    124: </p>
                    125: <pre>
                    126: tar xf fedora_install.tar
                    127: </pre>
                    128: <p>
                    129: This creates a directory named <tt>installation</tt>.
                    130: </p>
                    131: 
                    132: <h2>Installing LON-CAPA Dependencies</h2>
                    133: <p>
                    134: This section walks you through installing the packages which LON-CAPA requires.
1.3       matthew   135: There are a lot of dependencies.  They have been grouped in a
1.1       matthew   136: somewhat logical fashion to make them easier to deal with.  When installing
1.5       matthew   137: the rpms you should watch for errors.  Errors generated by RPMs which are 
                    138: already should not be considered a problem, although you will have to ensure 
                    139: the other rpms in the directory get installed.
1.6     ! matthew   140: </p>
        !           141: 
        !           142: <h2>Uninstall the http server</h2>
        !           143: <p>
        !           144: Fedora Core 2 installs the http server even if you have not chosen it in
        !           145: the package selection part of the install.  LON-CAPA will not work with this
        !           146: web server installed.  It must be removed.
        !           147: Use the following commands to remove the http and mod_perl packages if they 
        !           148: exist:  (<b>Note:</b>
        !           149: <i>The commands below use backticks, not single quotes.</i>:
        !           150: </p>
        !           151: <p>
1.5       matthew   152: <pre>
                    153: rpm -e `rpm -q -a | grep httpd`
                    154: rpm -e `rpm -q -a | grep mod_perl`
                    155: </pre>
                    156: </p><p>
                    157: If the above commands returns no output (the usual indicator of success), or an
                    158: error message 'rpm: no packages given for erase' (meaning there were no
                    159: packages that contain httpd or mod_perl), you are good to go.  
1.1       matthew   160: </p><p>
1.5       matthew   161: To install the many LON-CAPA dependencies, execute the following commands:
1.1       matthew   162: </p>
                    163: <pre>
                    164: cd installation
                    165: cd mysql
                    166: rpm -Uvh *rpm
                    167: cd ../apache
                    168: rpm -Uvh *rpm
                    169: cd ../mod_perl
                    170: rpm -Uvh *rpm
                    171: cd ../perl_dependencies
                    172: rpm -Uvh *rpm
                    173: cd ../GD
                    174: rpm -Uvh *rpm
                    175: cd ../gnuplot
                    176: rpm --install --oldpackage readline-2.2.1-6.i386.rpm
                    177: rpm --install --oldpackage --excludedocs libpng-1.0.12-2.i386.rpm
                    178: rpm -Uvh gnuplot-3.7.1-5.i386.rpm libgd-1.3-4.i386.rpm ncurses4-5.0-5.i386.rpm
                    179: cd ../misc
                    180: rpm -Uvh *rpm
                    181: cd ..
                    182: </pre>
                    183: <p>
                    184: <b>Notes:</b>
                    185: <ul>
                    186:     <li>MySQL is used to store caches of data, not original copies.  
                    187:         Administering LON-CAPA machines does not yet mean becoming a 
                    188:         database administrator.</li>
                    189:     <li>Apache 1.3 and mod_perl 1.x are required by LON-CAPA.  These are
1.5       matthew   190:         provided in the installation package.  The mod_perl package has been
                    191:         repackaged from the Redhat sources with the name 'mod_perl_1' in
                    192:         order to prevent version 1.99 of mod_perl from being installed by 
                    193:         yum or other package managers.</li>
1.1       matthew   194:     <li>A specific version of Gnuplot is required by LON-CAPA.  Do not
                    195:         install a version different from the one included in the LON-CAPA
1.5       matthew   196:         installation package.  We're still working on using gnuplot 4.0 which
                    197:         recently came out.</li>
1.1       matthew   198: </ul>
                    199: </p>
                    200: 
                    201: <h2>Configuring LON-CAPA Dependencies</h2>
                    202: <p>
                    203: We have prepared a script which takes care of most of the configuration that
                    204: must be done to get the newly installed packages working with LON-CAPA.  
                    205: This script will retrieve the latest LON-CAPA release from
                    206: <a href="http://install.loncapa.org">http://install.loncapa.org</a>.
                    207: You will be prompted for a root password for your MySQL server.  You 
                    208: will need to remember this password in case you should ever need to make
                    209: changes the the server.
                    210: </p><p>
                    211: Execute the script as follows:
                    212: </p>
                    213: <pre>
                    214: cd setup;
                    215: ./install.pl
                    216: </pre>
                    217: 
                    218: <h2>Determine LON-CAPA Settings</h2>
                    219: <p>
                    220: LON-CAPA requires a number of identifying parameters be set in order
                    221: for it to function at all.  Below is a list with descriptions.
                    222: </p>
                    223: <dl>
                    224:   <dt>Host Type (library or access)</dt>
                    225:   <dd>The server must be designated a 'library' or an 'access' server.  In
                    226:       general you should have a library server for your instructors to create
                    227:       their course content on and run their courses.  Students should connect
                    228:       to access servers.  If you are doing the first install of LON-CAPA at 
                    229:       your site, or if you are playing with it for your own edification you
                    230:       should make your machine a 'library' server.</dd>
                    231:   <dt>LON-CAPA domain</dt>
                    232:   <dd>Each site or school which installs LON-CAPA needs its own domain.
                    233:       Here at MSU we use 'msu'.  You should choose something short but
                    234:       meaningful.  <i>Restriction: One word, no hyphens, underscores, or 
                    235:       special characters.</i>
                    236:   </dd>
                    237:   <dt>LON-CAPA host id</dt>
                    238:   <dd>Each LON-CAPA server requires a unique internal name.  We use names
                    239:       such as "msul1" for the first library server. <i>Restriction: One word, 
                    240:       no hyphens, underscores, or special characters.</i>
                    241:   </dd>
                    242:   <dt>Host administrator email</dt>
                    243:   <dd>The amount of email sent to this address is relatively minimal.  Messages
                    244:       are sent every time the system starts up, or if the system is in 
                    245:       serious trouble. On a laptop, make this <tt>root@localhost</tt>.
                    246:   </dd>
                    247: </dl>
                    248: 
                    249: <h2>Configuring LON-CAPA</h2>
                    250: <p>
                    251: To configure and install LON-CAPA, execute the following commands:
                    252: </p>
                    253: <pre>
1.5       matthew   254: cd /root/loncapa-N.N     (N.N should correspond to a version number like '1.2')
1.1       matthew   255: ./UPDATE
                    256: </pre>
                    257: <p>
                    258: You will need to enter the LON-CAPA configuration information you determined 
                    259: in the previous section.  
                    260: </p>
                    261: 
                    262: <h2>Creating a Domain Coordinator</h2>
                    263: <p>
                    264: You will need at least one user at your site who has the role of
                    265: 'domain coordinator'.  This user creates accounts for other users and
                    266: grants them additional privileges.  The make_domain_coordinator.pl script
                    267: invoked below requires that you enter the users password.  The password will
                    268: show in plaintext as you type it.  Feel free to use the "passwd username"
                    269: command to change it later.  Replace USERNAME and DOMAIN with an 
                    270: appropriate user name and your domain.
                    271: </p>
                    272: <pre>
                    273: cd /root/loncapa-N.N/loncom/build
                    274: perl make_domain_coordinator.pl USERNAME DOMAIN
                    275: (WILL PROMPT FOR PASSWORD HERE)
                    276: </pre>
                    277: 
                    278: <h2>Start/Restart Services</h2>
                    279: <p>
                    280: The LON-CAPA network services take a moment to start.  Most misconfigurations
                    281: will be appearant at this step.
                    282: </p>
                    283: <pre>
                    284: /etc/init.d/loncontrol start
                    285: /etc/init.d/httpd start
                    286: </pre>
1.5       matthew   287: <p>
                    288: If you receive warnings when starting the httpd about missing perl modules,
                    289: please make sure you followed the instructions in 
                    290: <b>Installing LON-CAPA Dependencies</b>.  If you still have errors, please
                    291: contact the LON-CAPA development team.
                    292: </p>
1.1       matthew   293: <h2>Log in to your LON-CAPA Machine</h2>
                    294: <p>
                    295: Point a web browser at your new machine and log in as the domain
                    296: coordinator.  Congratulations!
                    297: </p>
1.4       matthew   298: 
                    299: <h2>If Things aren't working right</h2>
                    300: <p>
                    301: If you've followed the steps above and the server doesn't start or you think 
                    302: there's something wrong, please get in touch with the LON-CAPA developers.
                    303: If there were errors in installation of the dependency RPMs or during the
                    304: automatic setup, please send us as much information as possible.
                    305: If some part of this document is unclear please let us know.
                    306: </p>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>