Professional Documents
Culture Documents
Unit-1
1. Open Source Software :
Open-source software (OSS) is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software. Open Source means that user look into the code use it, to improve it, to make it do almost anything else. Human-readable C, C++ files that get compiled down into the binary that is executed by the computer. The files .obj , .exeall you get from closed-source proprietary sources. Once you start looking at the source, you've started down the path of becoming an Open Source programmer.
2. Web Explained
World Wide Web is a collection of information that can be accessed via the internet. By using open source software design a website that costs $ zero. How It Works
The Web is usually accessed through a browser, the most well known browsers are Netscape/Mozilla and Internet Explorer. There are many alternative browsers, including Galeon, Konquerer, OmniWeb, and Opera, and also text-based options such as Lynx, links, and w3g.
When you type a URL into the location box (eg: www.example.com), the browser makes a network connection to the server www.example.com. The name www.example.com maps to an Internet address, which is a number in the form 1.2.3.4an IP. Based on what the client requests, the server serves up, or delivers, information to the client. The type of data the server serves up includes plain text (this includes HTML), images, Java applets, various types of documents, PDFs, etc. This content that the server delivers can be generated by the server in one of several ways: static, dynamic, or embedded. The client's job is to receive from the server a stream of text, images, Java applets, documents, and so on and render, or appropriately display, them. The client also executes any JavaScript code and Java applets that are served up. The client can send form data to the server using the Common Gateway Interface (CGI) protocol. The server can then process this data in whatever way it chooses.
The simplest thing for the server to do is to serve up static data, or data that is the same for every client and changes only when an HTML programmer changes the source file. The server accomplishes this by locating an HTML (or image or PDF or ...) file on the local hard drive and sending that content back to the client unchanged. This requires no server programmingthe Apache web server does all the work. Let's say the user enters the URL www.example.com/. The server www.example.com is contacted, and a request is made that causes the server to locate a file (/var/www/html/index.html) on its local drive. The file is located
3. LINUX
Linux is an Open Source version of Unix developed by Linus Torvalds.. Linux isn't the only version of Unix .There are many Linux Distributions
Linux Distributions
Linux is free and Open Source. Most people get Linux as a packaged distribution from a vendor, either by paying for a CD or downloading it. Debian :- Debian GNU/Linux is developed and maintained entirely by volunteers. Red Hat :- This is probably the most popular Linux distribution in the United States. Red Hat has worked with a number of vendors to provide Red Hat Linux preinstalled on PCs. Red Hat is feature and application rich, and easy for new Linux users to learn. Slackware :- One of the first Linux distributions, Slackware is still used by many hard-core Linux users. It contains user-friendly interfaces similar to other Linux distributions. SuSE :- The most popular distribution in Europe, especially Germany, SuSE has become more popular in the United States as well. Mandrake :- Mandrake took the Red Hat distribution, added an easy-to-use installer, and changed the default desktop from Gnome to KDE, thus arriving at one of the more popular distributions. It has a reputation for being easy to use, easy to install, and cutting-edge.
BackTrack, based off the Ubuntu Operating System. Used for digital forensics and penetration testing. Kubuntu, the KDE version of Ubuntu. Linux Mint, a distribution based on and compatible with Ubuntu. Xubuntu is the Xfce version of Ubuntu.
Fedora, a community distribution sponsored by Red Hat Red Hat Enterprise Linux, which is a derivative of Fedora, maintained and commercially supported by Red Hat.
CentOS, This is a distribution derived from the same sources used by Red Hat, maintained by a dedicated volunteer community of developers with both 100% Red Hat-compatible versions and an upgraded version that is not always 100% upstream compatible Oracle Enterprise Linux, This is a derivative of Red Hat Enterprise Linux, maintained and commercially supported by Oracle. Mandriva, a Red Hat derivative popular in France and Brazil, today maintained by the French company of the same name. Manthiran Linux This is a popular linux distro introduced to this world by Quara Foundation. PCLinuxOS, This is a derivative of Mandriva, grew from a group of packages into a community-spawned desktop distribution. Gentoo, a distribution targeted at power users, known for its FreeBSD Ports-like automated system for compiling applications from source code openSUSE This is a community distribution mainly sponsored by Novell.
SUSE Linux Enterprise, This is derived from openSUSE, maintained and commercially supported by Novell.
Slackware, This is one of the first Linux distributions, founded in 1993. Damn Small Linux, "DSL" is a Biz-card Desktop OS.
DistroWatch attempts to include every known distribution of Linux, whether currently active or not; it also maintains a ranking of distributions based on page views, as a measure of relative popularity.
Download and Install Linux: Download the software from Red Hat (or whatever distribution you choose) or a mirror under your existing non-Linux software and burn a CD or do a network install. Having a CD around is nice for reinstalling, fixing problems, having a backup, and other necessary tasks. Doing the installation, so you have to be prepared and have access to the instructions, documentation, etc., beforehandit's not always feasible to stop in the middle because you don't know the answer to a question. Once you start installing Linux, you can't click on the browser (on that machineif you have another, no problem) and look up the answerthe browser won't be installed yet. Decisions Before Installation:-
Before you start the installation, you must make some important decisions about your installation. Do you want to have a dual Windows/Linux boot or run strictly Linux? If you dual boot, do you want to put both operating systems on one disk, or do you want to install another hard drive for Linux? One advantage of dual booting is that you get to keep all the Windows software you already paid for, because With dual booting, you can even run Windows under an emulator in Linux. There are several installation options. 1. Single disk, Linux boot Simple enoughjust insert the installation disk and follow the instructions. 2. Single disk, dual boot In a dual boot system, Windows must reside on its own partitionnot least because Windows and Linux use incompatible filesystems. 3. Multiple disks, dual boot If you decide to go with the two-disk method, Linux installation is simple enough. When you boot from the installation disk, it asks which disk you want to install on, hda or hdb (or something similar). Your Windows software will be on the former, so pick the latter and install Linux on that.
Size 32MB 512MB 1GB 5GB Where the boot files live.
Description
The / partition is the base of the OS. User files live here (not /usr!). Add more space if you have a bunch of MP3s, less if this is a webserver and not a user machine. All the programs and documentation live here.
2.25GB This is where all your web source will be and where all the logs accumulate. This needs to be big. 256MB This is where temporary files are stored. Optional An optional place to put web source. Optional The root user space.
Red Hat uses software called Disk Druid to partition the disk during installation. You can have the Red Hat installer automatically partition the disk if you wish. Assuming you have a 10GB disk, we recommend making these partitions. If you have a larger disk, you could add extra partitions for such things as /web and /root, and add more space in /home and /usr.
BASIC UNIX:-
Unix is an operating system in use for 35 years Invented as a timesharing system, hence usable both on server machines and on desktops Originally command-line based, like DOS (but smarter :-)) Early users logged in over very slow terminals Now has several GUIs, like MS-Windows Most based on X Windows, MITs networked window system
UNIX COMMANDS:
Login and authentication
login logout passwd access computer; start interactive session disconnect terminal session change local login password; you must set a strong password that is not easily guessed
Information
date history man info w, who show date and time list of previously executed commands show online documentation by program name online documentation for GNU programs who is on the system and what they are doing
who is logged onto this terminal show system stats and top CPU using processes show one line summary of system status
File management
cat cp ls mv rm ln chmod crypt find combine files copy files list files in a directory and their attributes change file name or directory location remove files create another link (name) to a file set file permissions encode/decode a file with a private key find files that match specific criteria
diff cmp
compare two files and show differences compare two binary files and report if different
Directories
cd mkdir rmdir mv pwd change to new directory create new directory remove empty directory (you must remove files first) change name of directory show current directory
Disks
df du summarize free space on disk filesystems show disk space used by files or directories
User directories. Your directory will be under /home/your_name_goes_here. The home directory of root. The main executables are here. This should be in your path. Boot-level executables are here, and this should be in your path. The main superuser commands. This should be in the root path but not in a Basic boot-level superuser commands. Ditto. dynamic libraries and static files for the executables in /usr/bin
user path.
/sbin
/lib /usr/src
Contains libraries for the executables in /bin and /sbin. Kernel source. This is where optional (local) software is installed.
Temporary files are stored here. In most Unices, cron runs a daemon that eventually deletes anything here, and some systems delete these files every time the system is rebooted.
/var/tmp/ /var
Another place for temporary files, which will not be deleted automatically. The "variable" directory. Everything here changes often.
/var/spool Mail, printer, and other spools. Mail that is sent to J. Random Luser comes to /var/spool/mail/jrl until J. Random transfers the mail to another directory. /var/log Log files. These files keep track of what's gone on your system. Do tail -50 /var/log/maillog to see an example, or do a less /var/log/boot.log.
Logwatch and other tripwire security programs watch these files to see what's going on so should you. What is written here is determined by /etc/syslog.conf.
/var/www /boot
Basic Linux boot files. The Linux kernel lives here. The kernel is the basic executable that runs everything else in Linux. Generally, the kernel is very stable, and the average nonpower user never has to deal with it (unless you want to get into the fun business of compiling your own kernels). Systemwide configuration files. For example, Apache configuration files are under /etc/httpd/conf/ and sendmail is under /etc/mail/. Studying /etc is an excellent start to a sysadmin education. One of the best sysadmin/programmers (Brian Hatch) we know learned Unix with vi /etc/* and learned to program in C with man gcc.
/etc /etc/X11 /etc/init.d
A link to /etc/rc.d/init.d, and the place where the startup configuration files live. For instance, this is where you can execute /etc/init.d/httpd status.
/mnt mount.
The Unix device directory, which you will probably not have to deal with until you have some advanced problem, such as your mouse not working.
/dev
The Unix process directory, which acts as an interface to the internal data structures of the kernel. Some of these are readable directories, and you can do such things as cat /proc/uptime. Try it and see what happens.
/proc
What happens when a user requests a web page from the Apache webserver
The webserver recognizes an HTTP request by the URL of the thing requested or by the filename extension. For instance, If the URL www.example.com/content/chapter1/ were loaded into a browser, the webserver contacted (www.example.com)would receive a request that might look like this:
GET /content/chapter1/ HTTP/1.0
The server determines that the thing requested is underneath the document root, a directory where the HTML files reside. For the examples in this book, that is /var/www/html. The text /content/chapter1/ directs Apache to navigate to those directories underneath the document root and grab the HTML file named index.html (by default, the server looks for the file with this name, but this is configurable, as are most things related to Apache).
REQUEST HEADER: GET /content/chapter1/ HTTP/1.0 RESPONSE HEADER: HTTP/1.1 200 OK Date: Thu, 17 Jan 2002 19:57:05 GMT Server: Acme Web Server Version 0.001b Connection: close Content-Type: text/html <html> <head> ....
Configuration:
Modifying the Default Configuration Apache's configuration file is /etc/httpd/conf/httpd.conf. We'll start with the default configuration file from Apache version 1.3.24. There are many comments in httpd.conf; First, change the following:
ServerAdmin root@webserver.example.com
to:
Server Admin webmaster@example.com Like server name, server admin, email address
To know Status:
/etc/init.d/httpd status
To know Starting:
/etc/init.d/httpd start
To know Stopping:
/etc/init.d/httpd stop