Annotation of doc/build/sles15_install.frag, revision 1.6
1.1 raeburn 1: <h1>Installing LON-CAPA on a minimal SuSE Linux Enterprise Server (SLES) 15</h1>
2: <p>
3: This document guides you through the process of setting up a new LON-CAPA
4: server running SuSE Linux Enterprise Server 15 (SLES 15) with a minimum of packages installed.
5: The computer will be configured solely as a LON-CAPA server and will be
6: expected to have no other services running. Your server is expected to have
7: a reasonably fast connection to the internet.
8: </p><p>
9: More information is available at
10: <a href="http://install.lon-capa.org/">http://install.lon-capa.org/</a>.
11: </p>
12:
13: <h2>Before you begin</h2>
14: <p>
15: Installing Linux is straightforward.
16: You will be required to log in to the machine and execute
17: some routine Unix commands. Familiarity with the Apache web server, mod_perl,
18: perl, and MySQL are not required to install and run LON-CAPA.
19: </p>
20:
21: <h2>Installation Overview</h2>
22: <p>
23: The installation process takes the following steps:
24: </p>
25: <ol>
26: <li><a href="#obt">Obtain SLES 15 installation media</a></li>
27: <li><a href="#net">Determine Network Settings</a></li>
28: <li><a href="#lin">Install SLES 15</a></li>
29: <li><a href="#upd">Update your system</a></li>
30: <li><a href="#ilc">Install LON-CAPA</a></li>
31: <li><a href="#cdc">Create a Domain Coordinator</a></li>
32: <li><a href="#sts">Start/Restart services</a></li>
33: <li><a href="#log">Log in to LON-CAPA</a></li>
34: </ol>
35:
36: <hr>
37: <h2>1. <a name="obt">Obtain SuSE Linux Enterprise Server 15</a></h2>
38: <p>
1.5 raeburn 39: SLES15 ISO files can be obtained from the SuSE site: <a href="https://www.suse.com/download/sles/">https://www.suse.com/download/sles/</a>. Download either the SLE-15-SP6-Full-x86_64-GM-Media1.iso or the SLE-15-SP6-Online-x86_64-GM-Media1.iso.
1.1 raeburn 40: </p>
41:
42: <h2>2. <a name="net">Determine Network Settings</a></h2>
43: <p>
44: You will need to know the following network settings for your installation.
45: <b>Note:</b>You must have a static IP address to use LON-CAPA.
46: DHCP is <em>not</em> supported.
47: </p>
48: <ul>
49: <li>ip address </li>
50: <li>netmask </li>
51: <li>hostname </li>
52: <li>gateway </li>
53: <li>domain name server(s) </li>
54: </ul>
55:
56: <h2>3. <a name="lin">Minimal SLES 15 Install</a></h2>
57: <p>
58: Installing SuSE Linux Enterprise Server is straightforward.
59: Some documentation is available from
1.5 raeburn 60: <a href="https://documentation.suse.com/sles/15-SP6/pdf/article-installation_en.pdf">
61: https://documentation.suse.com/sles/15-SP6/pdf/article-installation_en.pdf</a>.<br /><br />
1.1 raeburn 62: Most of the installation screens are self explanatory.
63: There are a few steps that require comment and are dealt with below.
64: </p>
65: <dl style="list-style:square outside none">
66: <dt>Installation Language</dt>
67: <dd>Use English as your installation language.</dd>
68: <dt>Partitioning your Drive</dt>
69: <dd>For a LON-CAPA library server (i.e., the main server used
70: for permanent storage of course and user data),
71: a separate partition is recommended for /home, as this
72: simplifies future upgrades of the operating system.
73: If you are adding an additional access server to an
74: existing LON-CAPA domain, this does not apply as no
75: permanent data are stored on an access server.
76: As LON-CAPA resource files are stored in the /home directory,
77: the majority of the disk space should be allocated here.
78: If you have 20 GB of space for SLES15, /home should
79: receive at least 10 to 12 GB. Since MySQL uses the /var
80: filesystem to store its databases you should have as least
81: 4 gigs of space available on /var. Be sure to
82: include adequate swap space. A minimum is 512 MB, but you should
83: typically have 1 or 2x as much swap space as you do physical RAM.
84: </dd>
85: <dt>Network Configuration</dt>
86: <dd>LON-CAPA will <b>not</b> work with a machine set up to use a dynamic
87: IP address. When configuring your network card, you should include you static IP address, netmask, host name information (e.g., host name = tmp1, domain = lite.msu.edu), as well as name servers and gateway.
88: </dd>
89: <dt>Available Extensions and Modules</dt>
90: <dd>Check the boxes for the following:<ul>
1.3 raeburn 91: <li>SUSE Package Hub</i>
1.1 raeburn 92: <li>Basesystem Module</li>
93: <li>Desktop Applications</li>
94: <li>Development Tools</li>
95: <li>Server Applications</li>
96: </ul>
97: </dd>
98: <dt>System Role</dt>
99: <dd>Select: Minimal</dd>
100: <dt>Software Selection</dt>
101: <dd>Check the boxes for the following:<ul>
102: <li>Help and Support Documentation</li>
103: <li>Minimal Base System</li>
1.5 raeburn 104: <li>App Armor</li>
105: <li>YaST base utiities</li>
106: >li>YasT server utilities</li>
1.1 raeburn 107: </ul>
108: </dd>
109: <dt>Security</dt>
1.4 raeburn 110: <dd>If you will need command line access other than via the console, click the link to toggle the setting for the SSH port so it will be open</dd>
1.1 raeburn 111: </dl>
112: <p>
113: Finish installing your server, reboot and log in as root.
114: </p>
115: <h3>Firewall Configuration</h3>
116: <p>
117: Execute:
118: </p>
119: <pre>
120: yast
121: </pre>
122: Use "Security and Users" -> Firewall -> Zones -> public to enable access to standard web server ports for http and https.
123: </p>
124: <h2>4. <a name="upd">Add software sources</a></h2>
125: <p>
1.2 raeburn 126: Use zypper to add package repositories for LON-CAPA and the statistics package: R.<br />
1.1 raeburn 127: Execute:
128: </p>
129: <pre>
1.4 raeburn 130: zypper addrepo http://install.loncapa.org/suse/sles15/ 'LON-CAPA'
1.2 raeburn 131: zypper addrepo 'https://download.opensuse.org/repositories/devel:/languages:/R:/released/SLE_15/' 'R-released SLE_15'
1.1 raeburn 132: zypper refresh
133: </pre>
134: <p>
135: Verify the required repositories are enabled:
136: </p>
137: <pre>
138: zypper lr -E
139: </pre>
140: <p>
141: The list of enabled repos should be as follows:
142: </p>
143: <table style="border: 0px; border-collapse: collapse;">
144: <tr><th>Alias</th><th>Name</th></tr>
1.5 raeburn 145: <tr><td>Basesystem_Module_15_SP6_x86_64:SLE-Module-Basesystem15-SP6-Pool</td><td>SLE-Module-Basesystem15-SP6-Pool</td></tr>
146: <tr><td>Basesystem_Module_15_SP6_x86_64:SLE-Module-Basesystem15-SP6-Updates</td><td>SLE-Module-Basesystem15-SP6-Updates</td></tr>
147: <tr><td>Desktop_Applications_Module_15_SP6_x86_64:SLE-Module-Desktop-Applications15-SP6-Pool</td><td>SLE-Module-Desktop-Applications15-SP6-Pool</td></tr>
148: <tr><td>Desktop_Applications_Module_15_SP6_x86_64:SLE-Module-Desktop-Applications15-SP6-Updates</td><td>SLE-Module-Desktop-Applications15-SP6-Updates</td></tr>
149: <tr><td>Development_Tools_Module_15_SP6_x86_64:SLE-Module-DevTools15-SP6-Pool</td><td>SLE-Module-DevTools15-SP6-Pool</td></tr>
150: <tr><td>Development_Tools_Module_15_SP6_x86_64:SLE-Module-DevTools15-SP6-Updates</td><td>SLE-Module-DevTools15-SP6-Updates</td></tr>
1.4 raeburn 151: <tr><td>LON-CAPA</td><td>LON-CAPA</td></tr>
1.2 raeburn 152: <tr><td>R-released SLE_15</td><td>R-released SLE_15</td></tr>
1.5 raeburn 153: <tr><td>SUSE_Linux_Enterprise_Server_15_SP6_x86_64:SLE-Product-SLES15-SP6-Pool</td><td>SLE-Product-SLES15-SP6-Pool</td></tr>
154: <tr><td>SUSE_Linux_Enterprise_Server_15_SP6_x86_64:SLE-Product-SLES15-SP6-Updates</td><td>SLE-Product-SLES15-SP6-Updates</td></tr>
155: <tr><td>SUSE_Package_Hub_15_SP6_x86_64:SLE-Module-Packagehub-Subpackages15-SP6-Pool</td><td>SLE-Module-Packagehub-Subpackages15-SP6-Pool</td></tr>
156: <tr><td>SUSE_Package_Hub_15_SP6_x86_64:SLE-Module-Packagehub-Subpackages15-SP6-Updates</td><td>SLE-Module-Packagehub-Subpackages15-SP6-Updates</td></tr>
157: <tr><td>SUSE_Package_Hub_15_SP6_x86_64:SUSE-PackageHub-15-SP6-Backports-Pool</td><td>SUSE-PackageHub-15-SP6-Backports-Pool</td></tr>
158: <tr><td>SUSE_Package_Hub_15_SP6_x86_64:SUSE-PackageHub-15-SP6-Pool</td><td>SUSE-PackageHub-15-SP6-Pool</td></tr>
159: <tr><td>Server_Applications_Module_15_SP6_x86_64:SLE-Module-Server-Applications15-SP6-Pool</td><td>SLE-Module-Server-Applications15-SP6-Pool</td></tr>
160: <tr><td>Server_Applications_Module_15_SP6_x86_64:SLE-Module-Server-Applications15-SP6-Updates</td><td>SLE-Module-Server-Applications15-SP6-Updates</td></tr>
1.1 raeburn 161: </table>
162: <h2>5. <a name="ilc">Installing LON-CAPA</a></h2>
163: <h3>Install prerequisites</h3>
164: <p> Execute: </p>
165: <pre>
166: zypper in LONCAPA-prerequisites
167: </pre>
168: <p>
169: This may take some minutes due to LON-CAPA's large number of dependencies.
170: </p>
171: <h3>Retrieve and execute LON-CAPA setup program</h3>
172: <p>
173: Retrieve the LON-CAPA setup with one of the following commands:
174: </p>
175: <pre>
176: wget http://install.loncapa.org/linux/install.tar
177: </pre>
178: <p>
179: Extract the archive with the following command:
180: </p>
181: <pre>
182: tar xf install.tar
183: </pre>
184: <p>
185: This creates a directory named <tt>installation</tt>. Change to it and
186: execute the setup script with the following commands:
187: </p>
188: <pre>
189: cd installation
190: ./install.pl
191: </pre>
192: <p>
193: The script is used to prepare a Linux system to run LON-CAPA, and can also be
194: used to check the configuration of a system on which LON-CAPA has already been installed. Typically, though, you will run this script only once, when you first install LON-CAPA.
195: </p>
196: <p>
197: The script will analyze your system to determine which actions are recommended. The script will then prompt you to choose the actions you would like taken.
1.6 ! raeburn 198: Once a choice has been entered for all ten possible actions, required changes will be made.
1.1 raeburn 199: </p>
200: <p>The possible actions are:
201: <ul>
202: <li>Create the www user/group</li>
203: <li>Install the package LON-CAPA uses to authenticate users.</li>
204: <li>Set-up the MySQL database</li>
205: <li>Set-up MySQL permissions</li>
206: <li>Configure Apache web server</li>
1.6 ! raeburn 207: <li>Configure systemd security settings for Apache web server</li>
1.1 raeburn 208: <li>Configure start-up of services</li>
209: <li>Check firewall settings</li>
1.2 raeburn 210: <li>Stop services not used by LON-CAPA<br />
1.1 raeburn 211: e.g., services for a print server: cups daemon</li>
212: <li>Download LON-CAPA source code in readiness for installation</li>
213: </ul>
214: </p>
215:
216: <h3>Determine LON-CAPA Settings</h3>
217: <p>
218: LON-CAPA requires a number of identifying parameters to be set in order
219: for it to function at all. Below is a list with descriptions.
220: </p>
221: <dl>
222: <dt>Host Type (library or access)</dt>
223: <dd>The server must be designated a 'library' or an 'access' server. In
224: general you should have a library server for your instructors to create
225: their course content on and run their courses. Students should connect
226: to access servers. If you are doing the first install of LON-CAPA at
227: your site, or if you are playing with it for your own edification you
228: should make your machine a 'library' server.</dd>
229: <dt>LON-CAPA domain</dt>
230: <dd>Each site or school which installs LON-CAPA needs its own domain.
231: Here at MSU we use 'msu'. You should choose something short but
232: meaningful. <i>Restriction: one word. Permitted characters
233: (lower case preferred) are letters and numbers and . and - </i>
234: </dd>
235: <dt>LON-CAPA host id</dt>
236: <dd>Each LON-CAPA server requires a unique internal name. We use names
237: such as "msul1" for the first library server. <i>Restriction: One word.
238: Permitted characters (lower case preferred) are letters and numbers and . and -
239: </i>
240: </dd>
241: <dt>Host administrator email</dt>
242: <dd>The amount of email sent to this address is relatively minimal. Messages
243: are sent every time the system starts up, or if the system is in
244: serious trouble. On a laptop, make this <tt>root@localhost</tt>.
245: </dd>
246: </dl>
247:
248: <h3>Configuring LON-CAPA</h3>
249: <p>
250: To configure and install LON-CAPA, execute the following commands:
251: </p>
252: <pre>
253: cd /root/loncapa-X.Y.Z (X.Y.Z should correspond to a version number like '2.11.3')
254: ./UPDATE
255: </pre>
256: <p>
257: You will need to enter the LON-CAPA configuration information you determined
258: in the previous section.
259: </p>
260:
261: <h2>6. <a name="cdc">Creating a Domain Coordinator</a></h2>
262: <p>
263: You will need at least one user at your site who has the role of
264: 'domain coordinator'. This user creates accounts for other users and
265: grants them additional privileges. The make_domain_coordinator.pl script
266: invoked below requires that you enter the user's password.
267: Feel free to use the "passwd username" command to change it later.
268: Replace USERNAME and DOMAIN with an appropriate user name and your domain.
269: </p>
270: <pre>
271: cd /root/loncapa-X.Y.Z/loncom/build
272: perl make_domain_coordinator.pl USERNAME DOMAIN
273: </pre>
274:
275: <h2>7. <a name="sts">Start/Restart Services</a></h2>
276: <p>
277: The LON-CAPA network services take a moment to start. Most misconfigurations
278: will be apparent at this step.
279: </p>
280: <pre>
1.3 raeburn 281: /home/httpd/perl/loncontrol start
1.1 raeburn 282: systemctl start apache2
283: </pre>
284: <p>
285: If you receive warnings when starting apache2 about missing perl modules,
286: please make sure you followed the instructions in
287: <b>Installing LON-CAPA Dependencies</b>. If you still have errors, please
288: contact the LON-CAPA group.
289: </p>
290:
291: <h2>8. <a name="log">Log in to your LON-CAPA Machine</a></h2>
292: <p>
293: Point a web browser at your new machine and log in as the domain
294: coordinator. Congratulations!
295: </p>
296:
297: <hr>
298: <h2>If things aren't working right</h2>
299: <p>
1.6 ! raeburn 300: If you've followed the steps above and the server doesn't start or you think
! 301: there's something wrong, please contact the LON-CAPA helpdesk.
! 302: Installation/update support is available from: helpdesk at loncapa.org
! 303: (replace " at " with @).
! 304: If there were errors in installation of the dependency RPMs or errors during the
1.1 raeburn 305: automatic setup, please send us as much information as possible.
306: If some part of this document is unclear please let us know.
307: </p>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>