Friday, January 28, 2011

... then God made Midterm Week and saw that it was good!


Thank God for Midterm Week!  I finally get to do some major tweaking in the PC Lab! If you take a look at my previous posting, you'll see what issues I'm trying to address.


Student Stations:
So, what I am doing today is reinstalling all the Student Stations with the 32bit Ubuntu 10.10 Desktop Edition (maverick meerkat). As detailed below, I will be adding jre for firefox (3D graphs in jmol and screencast-o-matic) as well as SAGE to each of these fresh installs.

Teacher Stations:
The Teacher Stations will build upon the Student Station installation steps listed below. I will add to these stations WINE+VTI (on screen graphing calculator emulator - I might even add this to the student boxes for TI programming final project), xournal (pen app), VLC (video viewer), handbrake (video editor) and flash (youtube) for firefox.


Servers:
These boxes will build upon the Teacher Station installation as listed above. In addtion I will install vsftp, openssh, and jdk (apcs) from http://java.sun.com
Servers will retain the 32bit Ubuntu 10.04 Desktop Edition (upgraded from lucid lynx to maverick meercat).


DORM:
First there was RTFM (Read The Fraking Manual)!
Then there was KISS (Keep It Simple Stupid)!!
Now, I just made up DORM (Download Once, Read Many)!!!
As I will be downloading a lot of the aforementioned apps for each station, I decided to download whatever I could to my USB memory stick to save time. This will be especially important for the servers as they don't have Internet access as of yet. So, I will download vsftp, openssh and jdk ahead of time from another station (its convenient that these are stand alone files without any dependencies). jre and flash are actually quick downloads, so I skipped storing those for now as I am focused on the student stations. As a result, I have the following folders on my USB stick.


UBUNTU_STUDENT:
-current jre *.bin from http://www.java.com
-current SAGE *.lzma from http://www.sagemath.org

UBUNTU_TEACHER:
-handbrake from synaptic package manager
-VLC from http://packages.ubuntu.com (50 dependencies!)
-WINE from synaptic  package manager
-VTI from http://www.ticalc.org/archives/files/fileinfo/84/8442.html 
-xournal from http://xournal.sourceforge.net
-flash from adobe (auto-installs first time you try to youtube)
UBUNTU_SERVER:
-current jdk *.bin from http://java.sun.com
-current openssh *.deb from http://packages.ubuntu.com
-current vsftp *.deb from http://packages.ubuntu.com
-my modified vsftp.conf where I uncommented a few lines and added "anon_root=/home/ftp" at the end of the file which I stored at  http://pastebin.com
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. # Example config file /etc/vsftpd.conf
  2. #
  3. # The default compiled in settings are fairly paranoid. This sample file
  4. # loosens things up a bit, to make the ftp daemon more usable.
  5. # Please see vsftpd.conf.5 for all compiled in defaults.
  6. #
  7. # READ THIS: This example file is NOT an exhaustive list of vsftpd options.
  8. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
  9. # capabilities.
  10. #
  11. #
  12. # Run standalone? vsftpd can run either from an inetd or as a standalone
  13. # daemon started from an initscript.
  14. listen=YES
  15. #
  16. # Run standalone with IPv6?
  17. # Like the listen parameter, except vsftpd will listen on an IPv6 socket
  18. # instead of an IPv4 one. This parameter and the listen parameter are mutually
  19. # exclusive.
  20. #listen_ipv6=YES
  21. #
  22. # Allow anonymous FTP? (Disabled by default)
  23. anonymous_enable=YES
  24. #
  25. # Uncomment this to allow local users to log in.
  26. local_enable=YES
  27. #
  28. # Uncomment this to enable any form of FTP write command.
  29. #write_enable=YES
  30. #
  31. # Default umask for local users is 077. You may wish to change this to 022,
  32. # if your users expect that (022 is used by most other ftpd's)
  33. #local_umask=022
  34. #
  35. # Uncomment this to allow the anonymous FTP user to upload files. This only
  36. # has an effect if the above global write enable is activated. Also, you will
  37. # obviously need to create a directory writable by the FTP user.
  38. #anon_upload_enable=YES
  39. #
  40. # Uncomment this if you want the anonymous FTP user to be able to create
  41. # new directories.
  42. #anon_mkdir_write_enable=YES
  43. #
  44. # Activate directory messages - messages given to remote users when they
  45. # go into a certain directory.
  46. dirmessage_enable=YES
  47. #
  48. # If enabled, vsftpd will display directory listings with the time
  49. # in your local time zone. The default is to display GMT. The
  50. # times returned by the MDTM FTP command are also affected by this
  51. # option.
  52. use_localtime=YES
  53. #
  54. # Activate logging of uploads/downloads.
  55. xferlog_enable=YES
  56. #
  57. # Make sure PORT transfer connections originate from port 20 (ftp-data).
  58. connect_from_port_20=YES
  59. #
  60. # If you want, you can arrange for uploaded anonymous files to be owned by
  61. # a different user. Note! Using "root" for uploaded files is not
  62. # recommended!
  63. #chown_uploads=YES
  64. #chown_username=whoever
  65. #
  66. # You may override where the log file goes if you like. The default is shown
  67. # below.
  68. #xferlog_file=/var/log/vsftpd.log
  69. #
  70. # If you want, you can have your log file in standard ftpd xferlog format.
  71. # Note that the default log file location is /var/log/xferlog in this case.
  72. #xferlog_std_format=YES
  73. #
  74. # You may change the default value for timing out an idle session.
  75. #idle_session_timeout=600
  76. #
  77. # You may change the default value for timing out a data connection.
  78. #data_connection_timeout=120
  79. #
  80. # It is recommended that you define on your system a unique user which the
  81. # ftp server can use as a totally isolated and unprivileged user.
  82. #nopriv_user=ftpsecure
  83. #
  84. # Enable this and the server will recognise asynchronous ABOR requests. Not
  85. # recommended for security (the code is non-trivial). Not enabling it,
  86. # however, may confuse older FTP clients.
  87. #async_abor_enable=YES
  88. #
  89. # By default the server will pretend to allow ASCII mode but in fact ignore
  90. # the request. Turn on the below options to have the server actually do ASCII
  91. # mangling on files when in ASCII mode.
  92. # Beware that on some FTP servers, ASCII support allows a denial of service
  93. # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
  94. # predicted this attack and has always been safe, reporting the size of the
  95. # raw file.
  96. # ASCII mangling is a horrible feature of the protocol.
  97. #ascii_upload_enable=YES
  98. #ascii_download_enable=YES
  99. #
  100. # You may fully customise the login banner string:
  101. #ftpd_banner=Welcome to blah FTP service.
  102. #
  103. # You may specify a file of disallowed anonymous e-mail addresses. Apparently
  104. # useful for combatting certain DoS attacks.
  105. #deny_email_enable=YES
  106. # (default follows)
  107. #banned_email_file=/etc/vsftpd.banned_emails
  108. #
  109. # You may restrict local users to their home directories. See the FAQ for
  110. # the possible risks in this before using chroot_local_user or
  111. # chroot_list_enable below.
  112. #chroot_local_user=YES
  113. #
  114. # You may specify an explicit list of local users to chroot() to their home
  115. # directory. If chroot_local_user is YES, then this list becomes a list of
  116. # users to NOT chroot().
  117. #chroot_local_user=YES
  118. #chroot_list_enable=YES
  119. # (default follows)
  120. #chroot_list_file=/etc/vsftpd.chroot_list
  121. #
  122. # You may activate the "-R" option to the builtin ls. This is disabled by
  123. # default to avoid remote users being able to cause excessive I/O on large
  124. # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
  125. # the presence of the "-R" option, so there is a strong case for enabling it.
  126. #ls_recurse_enable=YES
  127. #
  128. # Debian customization
  129. #
  130. # Some of vsftpd's settings don't fit the Debian filesystem layout by
  131. # default. These settings are more Debian-friendly.
  132. #
  133. # This option should be the name of a directory which is empty. Also, the
  134. # directory should not be writable by the ftp user. This directory is used
  135. # as a secure chroot() jail at times vsftpd does not require filesystem
  136. # access.
  137. secure_chroot_dir=/var/run/vsftpd/empty
  138. #
  139. # This string is the name of the PAM service vsftpd will use.
  140. pam_service_name=vsftpd
  141. #
  142. # This option specifies the location of the RSA certificate to use for SSL
  143. # encrypted connections.
  144. rsa_cert_file=/etc/ssl/private/vsftpd.pem
  145. anon_root=/home/ftp



Step 1)
Boot Ubuntu CD, click install, answer on screen questions and run install. Make sure to make Student Stations boot without a passwd (unlike Teacher Stations and Servers). Also, make box name and userid the same so box name shows on top right of screen after boot up.
-students = alpha beta gamma delta, epsilon eta zeta theta
-students = iota kappa lambda mu, nu omicron iks pi 
-students = rho sigma tao upsilon, phi psi chi omega
-teacher = shadowfax
-server1 = guardian
-server2 = caprica

Step 2)
When asked to prepare partitions, do so as follows:
    /dev/sda1    fat32    42GB    (resize, but no other changes, leave wimpdoze partition alone)
    /dev/sda2    swap    256MB (change to swap)
    /dev/sda3    ext3     41GB    (change to ext3 + format + / partition)


Step 3)
-when the install process is done, reboot and remove the CD
-once the PC reboots and you get to the desktop, right click the vertical arrow icon on the top right and edit the Ethernet interfaces
    eth0 set to auto DHCP (proxy and passwd needed for internet)
    eth1: ip = 10.5.129.x (private linux lan)
            mask = 255.255.0.0
            gw = 10.5.0.254
            dns = 10.1.1.19
-test intranet connections with nautilus/ftp to 10.5.254.245
-internet connections will be tested later (via proxy and passwd) when downloading *.bin, *.lzma and *.deb files


Step 4)
-system/preferences/monitors set to highest resolution
-system/preferences/screensaver set to 2 hours
-right click desktop and select /change background to set your background and click visual effects for compiz
-system/administration/printers set network printer HP Laser Jet 4250 at 10.10.254.212


Step 5)
-install SAGE *.lzma by copying it to /usr/local as root. 
-extract SAGE *.lzma and rename dir as sage.
-add path "/usr/local/sage:" to /etc/environment
-make executable script startSAGE containing
    cd /usr/local/sage
    ./sage -n
-test script as user before rebooting to add admin passwd
-add startSAGE to system/preferences/startupapplications



Step 6)
Install jre1.6.0_23 as a Firefox plugin for 3D graphics in SAGE
-system/preferences/networkproxy (turn on proxy)
-use firefox to download latest jre *.bin file from http://www.java.com to /usr/lib/firefox-addons/plugins
-open a terminal and 
    cd /usr/lib/firefox-addons/plugins
    chmod 755 *.bin
    ./j*.bin
-then
    cd ~/.mozilla
    mkdir plugins
    cd plugins
    ln -s /usr/lib/firefox-addons/plugins/jre1.6.0_23/lib/i386/libnpjp2.so
-test firefox with "about:plugins" as the url to see that jre was plugged in!


Step 7)
-disable games: sudo chmod 700 /usr/games/*
-careful when you do: sudo chmod 700 /home/* on the servers to secure saved files. We need to undo that for the ftp files: sudo chmod 755 /home/ftp or noone will be able to use anonymous ftp!


Step 8)
-install optional software like VLC, handbrake, xournal and games via aptitude+proxy or synaptic or http://packages.ubuntu.com
-on the servers, install openssh and vsftp via dpkg. 
-install the jdk in /usr/local and add the directory containing java, javac, javadoc and appletviewer to /etc/environment as per instructions from http://java.sun.com
-system/preferences/networkproxy (turn off proxy)


HTH, good luck with your Linux boxes!


No comments:

Post a Comment