HOW 2 SETUP YOUR OFFICE COMPUTER TO RUN LINUX FOR TEACHING E-COMMERCE WITHOUT MESSING EVERYTHING ELSE UP Developments in Business Simulation and Experiential Learning, Volume 29, 2002 HOW 2 SETUP YOUR OFFICE COMPUTER TO RUN LINUX FOR TEACHING E-COMMERCE WITHOUT MESSING EVERYTHING ELSE UP. Dr. Roy F. Cabaniss University of Arkansas, Monticello ABSTRACT Time waits for no one. The progress of electronic communications into the business world demands that we keep pace. As the Internet has increased in importance the operating system known as Linux has also increased drastically. Yet not everyone has a spare computer that they can dedicate to teaching unix based e-commerce content. This demonstration is to show how to take a "typical" office computer running windows and make it able to run both windows and unix for teaching e-commerce and other techie topics. Participants are invited to bring a spare computer and the author will do the demonstration on their machines. "When we are discussing operating systems we are really talking about matters of religion." Roy Cabaniss addressing the Chamber of Commerce of Austin Texas. "No shit there I was, a new chairman of the School of Business of a very small Texas college, when I arrived to find they had no web presence nor any email. Plus, if I wanted them to HAVE a web presence I was going to have to do it myself. And upgrading the curricula to include e- commerce was to be my own personal project."1 Sounds like a nightmare doesn't it? Especially when the budget for what is mentioned above was zero. Not, very little, almost nothing or "not very much" but zero. And the need for the content was so there. If I wanted our students to achieve a good education and stay current a way had to be found which we could afford. Fortunately at this same point in time (1995) the phenomena that has become known as Linux was gathering momentum. So I cobbled together a 486, got the college up on the web and the rest, as they say, is history. "Linux is a free Unix-type operating system originally created by Linus Torvalds with the assistance of developers around the world. Developed under the GNU General Public License , the source code for Linux is freely available to everyone." (What is Linux? 2001) Please note the key component of that description... FREE. Which meant that we could afford it. What follows is the distillation of several thousand hours of network administration and fussing from someone who had to teach themselves pretty much from scratch. E-COMMERCE What do you need to have a good e-commerce site and teaching environment? A brief examination might reveal the following requirements. 1.A working computer running tcp/ip protocols. 2.A web server 3.A working database 4.Web page authoring software of some form. 5.Some means of linking the database to web page output and input. 6.Some way for each student to have access to using and changing all of the above without bringing the whole environment crashing down. All of which can be accomplished by installing Linux with the appropriate other programs. LINUX: A WORKING COMPUTER RUNNING TCP/IP PROTOCOLS. So you are going to try this out. What do you REALLY need. If you have a stable Internet connection you can download Linux for free from any Linux provider. Simply go to a search engine and type Linux. Not too surprisingly, it is one of the most common word on the internet. Or you can buy the disks with the latest kernel from one of many distributions.2 Let's get real, if you were the type to get the operating system off of the internet, we would not be having this discussion. So get a distribution of Linux on a disk. The discussion henceforth uses the SuSE professional distribution as it's example. I know that Caldera and Redhat both have the capability to do what is discussed later and the reality is that ANY Linux on the internet has the capability to do what will be discussed later. It is simply that you might have to download components and do some manual setting up. And we want to avoid manual as much as possible with new people. Bottom line. get yourself a set of CD's which contain a distribution of Linux using kernel 2.4 or later.3 2SuSE, Redhat, Caldera, Mandrake being but a few of the many out there. 1Please note that the school I am referring to is NOT my current employer. 3http://www.suse.com/us/support/download/suse_Linux/ind 5 http://www.suse.com/us/support/download/suse_linux/index.html Developments in Business Simulation and Experiential Learning, Volume 29, 2002 WEB PAGE AUTHORING SOFTWARE OF SOME FORM. Once you have a Linux distribution you are ready to start the install process. If you want to keep things totally separate, simply get a spare hard drive, put it in your box and have it dedicated to Linux. A two gigabyte hard drive will leave over 600 megabytes for student files which is more than I have EVER had my students accumulate. The other alternative is to put Linux on your existing hard drive. This is not as dangerous as it sounds, though it does require a bit more preparation than simply using a separate hard drive. The most important part of the preparation is to run a scandisk and defrag on the windows installation that currently exists. You will be happy to know that such maneuvers are unnecessary under Linux. You will need about 1.5 gigabytes for Linux plus whatever you want for the existing windows programs. Whether we like it or not, the days of writing hard code for html are over. For teaching, you need some form of html authoring software. Of the three that we are recommending, I vastly prefer Bluefish. The others will write web pages, however true competence upon the web requires some knowledge of what is happening behind the pretty front end. The fastest tools to use in web/database interfaces are php and perl. Php has been measured as being 20% faster than asp by independent benchmarker (Internet Benchmarks 2001). And as we all know, speed is king. And getting output in those languages (yes, they are computer languages) simply requires that you type in those languages. That means that you want to get the syntax right. For this, bluefish at least gives some help. So add bluefish to the list of programs that you wish to check and ensure that you have installed. Be prepared to take an example web page written in php and alter it slightly just to see how it works. Linux now has graphical installation utilities that take most of the pain out of installing Linux and the various other programs that you want. Within these utilities is a program that you can query to see if a particular component has been installed. APACHE: A WEB SERVER PHP4 / PERL SOME MEANS OF LINKING THE DATABASE TO WEB PAGE OUTPUT AND INPUT. CONFIGURED CORRECTLY: Some way for each student to have access to using and changing all of the above without bringing the whole environment crashing down. Apache is the worlds single most popular web server running 59% of all Internet servers and for Linux users it is free. After you install Linux, simply go into your installation script and be sure that apache was installed. The vast majority of the time, the default installation for apache will do everything you need. Appendix 1 has one part you need to ensure is within the configuration file for Apache but on most builds, it is already in httpd.conf. As the last part of the puzzle we need the scripting languages to be installed. So go onto the install script and ensure that mod_perl and mod_php4 are both installed along with Perl 5. This will enable apache to use both of these languages as a native part of apache code and access your databases fast. POSTGRESQL/MYSQL A WORKING DATABASE PUTTING IT ALL TOGETHER So there you are. You have installed Linux, Perl 5, Posters, Mysql, mod_php4, mod_perl and bluefish. Fortunately getting all of these to run together is rather easy. Every version of Linux has a file which Linux reads to start other programs and devices automatically. In the SuSE version this file is called rc.config and it resides in the /etc directory. Appendix 2 shows the crucial parts of rc.config (there is a TON more to the file which you do not need to alter at all). With all of the elements set to turn themselves on automatically when the computer is turned on, the system will now be able to do the technical things that need to take place. You need a good database to have a good e-commerce site. For all intents and purposes, this means some form of SQL database. Both of the recommended databases are SQL. Mysql is used a bit more on the web and you will find more examples using Mysql than Postgres. So when you are doing your initial pages trying to get the database integration to work properly, Mysql will probably be faster for you. Postgresql has one thing that Mysql lacks.... transaction locking. This means that two people cannot change the same piece of data simultaneously. I have gone to Postgresql in recent years but either will do fine. Whichever you choose to use, install every optional part that is available. Hard disk space is cheap compared to having to load something later when you are approaching a deadline. WHAT DOES MIS NEED TO DO A large part of what you need the MIS to do depends upon your local environment. They should put your box into their DNS tables to keep track of things. To answer some basic questions. Do I have to move my computer outside of my office? You do not have to have this box outside of the campus firewall for it to do everything you need it to do. ex.html , http://www.caldera.com/products/server/, http://www.redhat.com/apps/download/ , http://www.linux-mandrake.com/en/ftp.php3 6 http://www.suse.com/us/support/download/suse_linux/index.html http://www.caldera.com/products/server/ http://www.redhat.com/apps/download/ http://www.linux-mandrake.com/en/ftp.php3 Developments in Business Simulation and Experiential Learning, Volume 29, 2002 APPENDIX 2 Do I need a fixed IP address? It would be nice but it is in no way necessary. Nor does the IP address have to be a part of your college's ip blocks. This setup can exist quite happily behind a firewall and router. Excerpts from the rc.config file which runs when the Linux system is started. Yes you can set this box up as a very secure environment. It can be set up as a firewall or a router just by changing a few commands in the rc.config file though that is beyond the scope of this demonstration. # Should the postgres daemon be started automatically on system startup? # START_POSTGRES="yes" If you wish the box to be assessable from the outside world, have MIS punch a hole through their firewall for www , ftp, dns, and telnet to the IP for your box. # # In which directory should the PostgreSQL database reside? This will conclude the demonstration on how to set up an office computer as an e-commerce teaching computer. Anyone bringing a computer that wants me to help them do theirs during the demonstration is more than welcome to bring it and I will use theirs instead of one I provide. As an added bonus, I will be setting my computer up with a program which is NOT a part of a standard distribution which allows you to run windows from within a Linux session. # POSTGRES_DATADIR="~postgres/data" # # The options that are given to the PostgreSQL master daemon on startup. # See the manual pages for postmaster and postgres for valid options. # Don't put "-D datadir" here since it is set by the startup script. Here is the most important advice I can give with regards to what was presented. When you get your computer set up and working right as an e-commerce site. Don't change it until you absolutely have to. Resist the temptation to upgrade. Don't mess with a darned thing. # Don't change this, unless you know what you do. # POSTGRES_OPTIONS="-i" # # Start the MySQL RDBMS ? BIBLIOGRAPHY # START_MYSQL="yes" # Linux Journal editorial board, 2001, Linux Journal Index - March 2001, Linux Journal, pp 8. # Should the Apache httpd be started at bootup? (yes/no) # Netcraft www server survey (n.d.) Retrieved 15 Oct. 2001, from http://www.netcraft.com/survey/ START_HTTPD="yes" # What is Linux? Retrieved 15 Oct. 2001 from http://www.linux.org/ Internet benchmarks Retrieved 17 Oct., 2001, from http://aldev0.virtualave.net/php-perl-benchmarks.html JARGON TRANSLATOR (very tongue in cheek) APPENDIX 1 Database: A way of organizing data and getting to the information. Excerpts from an Apache configuration file... httpd.conf. You need to be sure that some form of the below is present so that the students will be able to work from their home directory and not have to bother with your directories. Defrag: A windows program to logically organize your hard drive. Linux does this automatically. DNS: The phone book for the world. It associates a name (cabanisspc.uamont.edu) with an ip number (204.126.114.182). Remember that computers only use numbers. # # UserDir: The name of the directory which is appended onto a user's home E-commerce: actually achieving buzzword status, but basically this encompasses any forms of doing business wherein the interactions are between two machines. (IE, you buying things on the Internet on e-bay, or a store automatically reordering items through their edi interface. # directory if a ~user request is received. # UserDir public_html Firewall: Either hardware or software which exists to keep non-authorized persons from doing anything to your machine. (Ps, the software solutions Imo are better.) 7 http://www.linux.org/ Developments in Business Simulation and Experiential Learning, Volume 29, 2002 8 HTML: Hyper Text Markup Language: Actually plain text writing with commands (also in plain text) built into the pages. Almost all modern word processors have the ability to save a document as an html file. Normally, these are incapable of dealing with the technical commands associated with database interactive web sites. IP address: how the outside world can look up your particular machine out of all the computers in the world. Kernel: A techie term for the real operating system behind the marketing hype. The machine code that actually makes the operating system what it is. Kernel 2.4.10: In the Linux/Unix world revisions and modifications are constantly being made. So you have to have a way to keep things constant so that person A knows if person B is working with exactly the same thing. This is done via a numbering system. The first number is the main build number. These change very very rarely. The second number tells if it is a stable (it won't crash that often) or experimental release. If the second number is even, it is stable. If the second number is odd then the kernel is developmental and there is no telling what they are doing with it. The third number is telling you the specific version you are working with. The specific versions associated with a reseller of Linux (SuSE 7.3 versus Redhat 8.0) mean almost nothing, it is the kernel numbers that matter. So if I am using SuSe 7.3 which has kernel 2.4.10 and you are using Mandrake 8.0 with kernel 2.4.8 what matters is the kernel numbers, not the SuSe or Redhat or Mandrake numbers. LILO: A program that will let you choose the operating system that you want to start up with when you first turn on the machine. Linux: A free Unix clone (operating system). Operating System: What makes a computer a computer. The software that you actually interface with. Windows 95, Windows 2000, Linux, Unix, MSDOS, DRDOS, Solaris, HP-UX are a few examples. Perl: A computer language that is used a LOT by Linux folks. Very compact with tight code and comparatively fast execution. PHP: A scripting language for creating web pages and accessing databases. Not pretty but lordy is it fast. Punch a hole: To open a specific port number in the firewall for a specific type of internet query to go through. Scandisk: A windows program to see if your hard drive is OK. Unnecessary in Linux. Scripting Language: A particular way of getting to the database, usually done by writing lines of specific commands for the database in a specific form the computer is looking for. With php for example I first have to tell the computer "look for php code" and then give it the code it is looking for in a very specific format. SQL: Structured Query Language. A way of communicating with your database beyond cursing. Actually a relatively standardized set of commands that are pretty much identical between ALL SQL databases, including the windows ones. Always use an sql database. It means that the code which you write will be useful later when you change. TCP/IP protocol: The way that internet computers communicate. The protocol is set on an international basis, so if your computer is working with tcp/ip you will be fine. Web Server: The part of the computer that makes web pages available to the outside world. Table of Contents Volume 29, 2001 Threshold Marketer A Family Of Marketing Simulations: Basic Marketer And Advanced Marketer Team Mode And Solo Mode Globalization As An Extended Experiential Exercise The Benefits And Planning Considerations Of Short Term Study Abroad Programs How 2 Setup Your Office Computer To Run Linux For Teaching E-Commerce Without Messing Everything Else Up Incorporating Cosmopolitan-Related Focus-Group Research Into Global Advertising Simulations Demonstration Of Advanced Features In Computer-Assisted Gaming Of International Business A Comparison Of Discrimination-Based Versus Conventional Simulation Game Scoring A Universal Mathematical Law Criterion For Algorithmic Validity The Impact Of Public Policy On Innovation: A Simulation Project For Research And Teaching Participant Identification Of Competitors In A Marketing Simulation Competition Simulation Research In The Hospitality Industry "Computer Simulation, Games And Roleplay: Drawing Lines Of Demarcation" Simulation Distribution Alternatives: Author/User Considerations Managing The Curiosity Gap Does Matter: What Do We Need To Do About It? Use Of External Interventions In A Computer Based Simulation Putting Service Learning Into Orbit It's A Wonderful Life: Simulating The Golden Years Adventures In Creating An Outdoor Leadership Challenge Course For An Emba Program Vbotz: A Pedagogical Cross-Disciplinary, Multi-Academic Level Manufacturing Corporate Simulation Use Of Computer Modeling In Management Accounting Is Simulation Performance Related To Application? An Exploratory Study Learning Cooperatively May Not Be Learning Collaborately! Perception Is Reality: Sharing Frames International Management Virtual Teamwork: A Simulation Financial Plan For Your Life And Career Goals Using Project-Based Experiential Learning Groups In The Principles Of Marketing Course Futures Course: Learning How To Anticipate The Future Of Business Interactive Online Strategic Market Planning With The Web-Based Boston Consulting Group (BCG) Matrix Graphics Package Strategy Learning In A Total Enterprise Simulation Investigation Of The Impact Of Decision Parameters For A Dutch Auction Simulation For Ipo Issues Integrating In-Class Learning With Out-Of-Classroom Experiences Through A Managerial Competency Development Framework War And Peace: Managing Students Learning Experience In A Competitive Simulation Game Virtually Experiential Classrooms Exercise: Conducting Role Plays Using Student Generated Cases Procedural Justice And Acceptance In Group Decision Making The E-Commerce Game: A Strategic Business Board Game Does Student Preparation Matter In A Simulation? A Comparison Of Pedagogical Styles The Game Of Business - A Weekend MBA Course Volume-Dependent Money Exchange Model For Gaming Simulations Implementing Service Learning For Accountants: The Not For Profit Project To Teach Vikings To Behave Among Mandarins: Lessons From Teaching With A Simulation Model Of Applied Business Ethics In International Management Maze Bright Teachers In The Classroom The Validity Investigation Of A Test Assessing Total Enterprise Simulation Learning What Makes Strategy Possible: An Illustration Using Paper And Scissors Learning Micro-OB Skills While Making Top Management Decisions In A Multinational Industrial Firm The Absel Research Heritage And The Bkl: Leveraging Their Value For Future Research New Product Development (Npd) Simulations: Some Challenging Questions And Tough Modeling Issues The Biofeedback Stress Test The Power Circle Exercise Total Enterprise Simulation Learning Compared To Traditional Learning In The Business Policy Course A Business Game Distance Education Application: Learning Outcomes And Experiences Is the Tobin's Q a good Indicator of a Company's Performance? A Critical Examination of the "Experiential" Premise Underlying BUsines Simulation Usage