كيف تعمل موقع

Document Sample
كيف تعمل موقع Powered By Docstoc
					                                                                       ‫كيف تعمل موقع؟‬

You can host your own website at home, and I'll tell you exactly how! But it might
       not save you much money, and it definitely won't save you time. So give it
  serious thought before you proceed... unless your goal is simply to learn about
                                                    the technology and have fun!

   The best reason to host your website at home is to learn how it all works. For
  more information about the pros and cons, see should I host my own website?

   Warning: running a server of any kind at home is a security risk. Security
problems are sometimes found in server software, and these can be exploited to
 gain access to or damage your files. Your computer must be kept absolutely up
  to date with Windows Update or the equivalent for your operating system if you
 intend to run a web server on it. If you choose to run Apache instead of Internet
  Information Server, you'll need to keep your version of Apache absolutely up to
 date too. This doesn't eliminate the risk -- it only minimizes it. You run a server
 at home entirely at your own risk. If you do choose to run a server at home, I
recommend finding an old PC on the curb and setting it up as your home server,
                                        reducing the danger to your own computer.

    Procedures for other operating systems are similar, and most of these steps
actually involve your router, so this article should still be helpful to non-Windows

    Here are the steps to follow to set up a website hosted entirely on your own
 Windows PC. First I'll present the general steps, then I'll break down the details
                                                                           for you:

1. Make sure you have cable modem, DSL or another high-speed connection. A
                              dialup telephone modem is NOT good enough.

                      2. Get a DNS hostname for your home Internet connection.

    3. Get a static local IP address for your computer within your home network.

  4. Configure your router to correctly forward connections on port 80 (the HTTP
 port) to your web server. Even if you think you don't have a router, you probably
 do— many popular cable and DSL modems include wifi or wired Ethernet jacks
   for multiple computers, which means they contain a built-in router. If your ISP
     blocks port 80, choose an alternative port number and forward that (or get a
                better ISP that welcomes websites at home, like Speakeasy.Net).
 5. Configure Windows Firewall to allow your web server to communicate on port

6. Get Apache, a free, high-quality web server program. If you have Windows XP
    Professional, you also have the option of Microsoft Internet Information Server
 (IIS), which comes standard with Windows XP Professional. But that option only
                                allows you to host one site. I recommend Apache.

                                  7. Test your web server from your own computer.

 8. Replace the default home page with your own web page. Now the site is your

   9. Test your web server from a computer that is NOT on your home network to
                                make sure you followed all of the steps correctly.

      "I followed all the steps and I get my router's login page instead of my
                                                                  home page!"

You are trying to access your website by name from behind your router (from one
         of your own PCs). With some consumer-grade routers, this does not work
       because the router automatically assumes any web connection to itself from
  inside your network is an attempt to log into the router's configuration interface.
   It's a pain, but this fail-safe mechanism does prevent you from locking yourself
          out of your router's web interface. So test from outside your own home
    network or have a friend do that for you. If you can access your home-hosted
    website from someone else's computer, then you don't have a problem. If you
        want to access your site from a computer behind your router, you'll have to
                            access it at its static local IP address instead of by name.
                  And that's it! Now I'll present detailed information about each step.

                                                              Step One: Broadband

    Get cable modem (from the cable company) or DSL (from the phone company
        and various other companies). If you can't do that, you'll have to host your
        website in some other way. Your computer must have a fast connection to
 grapple with video and audio files anyway. You don't necessarily have to go with
        your phone company's DSL offering. Check out for
  independent reviews of cable modem and DSL companies. Upload speed, not
      download speed, is the most important feature for hosting websites at

                                    "How fast will my home-based website be?"
 The main limitation will be your upload speed (uplink speed). Most DSL or cable
  modem connections have an upload speed between 128kbps (128,000 bits per
                                  second) and 384kbps (384,000 bits per second).

So how long does it take to load your home page? Add up the size of your home
  page (in bytes), the sizes of all of the images on that page, and the size of any
Flash movies (.swf files) or CSS style sheets (.css files) referenced by that page.
     Now multiply by 8 and you'll know how many bits make up your home page.
 Divide that by your upload speed and you'll have a rough idea how long it takes
to load your home page under ideal conditions. There will also be latency delays
     slowing things down, and multiple users will of course slow things down and
      make it take longer. There is no fixed limit on the number of users who can
      access your home-based website at the same time - things just slow down.

                     For more information, see my article how fast is my website?

                                               Step Two: Dynamic or Static DNS

Other people can't talk to your website if they don't know the address... and if you
    have a typical cable modem or DSL connection, your address changes often.
     You can solve this problem by using a dynamic DNS service. Even if your IP
   address doesn't change, you still need someone to host a DNS server for you,
 unless you are willing to put up with giving users a URL that begins with a string
    of numbers. This is a common requirement both for hosting websites at home
 and for hosting torrents, so I've written a separate article explaining how to get a
                                              hostname for your computer at home.

                                          Step Three: A Static Local IP Address

    If you have a router... and you do, if you have WiFi (wireless access) or more
  than one computer... then your computer receives a new local address on your
        home network, or Intranet, every time it is powered on. But to forward web
      browser connections to your computer, you need an unchanging address to
 forward those connections to. This is also a shared requirement both for hosting
        websites at home and for hosting torrents, so I've written a separate article
                    explaining how to give your computer a static local IP address.

                                                  Step Four: Forwarding Port 80

     If you don't have a router (and you know by now, if you have been following
  these steps...) then you can skip this step and move on to the next. If you have
 WiFi, or more than one computer, you definitely have a router and must not skip
                                                                          this step.

    Now that you have chosen a static local IP for your computer, you're ready to
                    configure the router to forward web traffic to your computer.
       Again, this step is needed both for web hosting at home and for BitTorrent
    hosting. So, once again, there is a separate article explaining how to forward
  ports from the Internet to your computer via your router. Just follow the steps in
                                                     that article to forward port 80.

                         Step Five: Allowing Web Traffic Through The Firewall

   More firewall issues? Didn't we already do this? Only in part. Yes, your router
 serves as a firewall, but your computer also has a built-in firewall. You'll need to
configure that firewall to allow traffic through on port 80 to reach your web server
software. This step is also common to both web hosting and torrent hosting... so
check out my article explaining how to allow traffic on specific ports through your
                                                                  computer's firewall.

                          Step Six: Get Apache Or Internet Information Server

  Mac and Linux users: you already have Apache! MacOS X users should read
Kevin Hemenway's great article on Linux users: install the Apache
packages and look in /var/www/html or a similar location for your website folder.
     Apache is the most popular web server in the world, with nearly 70% of all
    websites running Apache as of January 2006, according to the netcraft web
server survey. Why is it so popular? Because it's free, open-source, high-quality
                   software. And you can run it on your Windows box at home!

       If you have Windows XP Professional, you can also run Microsoft Internet
Information Server. It comes free in the box... but only with XP Professional (and
high-end server versions of Windows). If you have XP Home, or an older version
   of Windows, go with Apache - and consider upgrading to at least XP Home for
                                                      better network performance.

  I'll cover Apache first. Then I'll look at Internet Information Server, which is also
     excellent and is available if you have Windows XP Professional or a high-end
           server version of Windows. It will only host one site per computer on XP
                                                                 Professional, though.

Windows 98 and Me users can use Microsoft's "Personal Web Server." However,
     this software went away with the release of XP Home, and it's not a popular
choice. Since you can run Apache for free - the world's most popular web server,
    for businesses and individuals alike - I don't recommend suffering with PWS.

                                                        Apache Quick-Start Guide

Although Apache was born in the Unix/Linux world, it runs great on Windows too.
In general, the newer your Windows, the easier it is to install Apache. Those with
 older versions of Windows, even Windows 95, can still run Apache but will have
     to jump through a few extra hoops. For complete information, check out the
 Apache Foundation's Microsoft Windows Apache installation tutorial. Since that
 article is a little old, you'll just have to bear in mind that instructions for Windows
                                                 NT or 2000 also apply to Windows XP.

        The following quick-start guide applies to Windows XP, but users of older
 versions of Windows can run Apache too... if they follow the extra steps spelled
out in the Apache Foundation's Using Apache with Microsoft Windows tutorial to
        prepare their older computers to handle modern software installation and

                                       Upgrading to Windows XP Service Pack 2

Microsoft has fixed problems in Windows XP that create issues for Apache. Use
  Windows Update to upgrade your Windows XP system to service pack 2. You
have probably already done this. If not, you need to do it in any case to fix many
               important security problems that have nothing to do with Apache!

 Not sure if you have service pack 2? Do this: click on "Start," right-click on "My
      Computer," select "Properties" and look at the information presented under
    "System." You should see "Service Pack 2." If not, visit Microsoft's Windows
 Update site, using Interet Explorer, not Firefox... just this once! The Windows
 Update site uses special Active X controls to update your computer. Normally I
don't encourage the use of Active X, but for upgrading Microsoft's own operating
    system from Microsoft's own website using Microsoft's own browser, it's OK!

                                                              Downloading Apache

  Visit the Apache HTTP Server Project home page. In the column at left, locate
 "Download!" and click on "from a mirror." The download page will appear. Scroll
    down until you locate the link to download the "Win32 Binary (MSI Installer)"
      distribution of Apache, not the "Win32 Source." That's raw source code for
                                      programmers - probably not what you want!

 Click on the link for the "Win32 Binary (MSI Installer)" and wait for your browser
                                                            to save the file to disk.

                                                                   Installing Apache

Once the download is complete, you're ready to install the software. Double-click
          on the file you just downloaded on your desktop (for Firefox) or in your
 downloads folder (for Internet Explorer) to launch the installation program. The
                                        "Installation Wizard" window will appear.

    First you'll see the "Welcome to the Installation Wizard" page. Click "Next" to
Next, you'll see the Apache license agreement. The Apache license allows you to
share the software freely, including the source code. Select "I accept the terms in
                                          the license agreement" and click "Next."

      The "Read This First" page appears. Currently this page doesn't offer much
                 specific information for Windows users of Apache. Click "Next."

  The "Server Information" page should now appear. Be sure to enter the correct

    1. For "Network Domain," if you registered a hostname such as
                          with DynDNS, enter

 2. For "Server Name," enter your full hostname, such as

   3. For "Administrator's Email Address," enter a real email address for you that
      actually works. Users will see this when things go wrong. Bear in mind that
spammers might discover this address, so use an address that is already publicly
                                                                known if possible.

 4. For "Install Apache HTTP Server 2.0 programs and shortcuts for..." select "for
     All Users, on Port 80, as a Service." This ensures that the software is always
    running, no matter who is sitting down at your computer. And a website that is
         not always running is not very useful! So pick this option and click "Next."

  The "Setup Type" page appears next. Select "Typical" and click "Next" to move

 You'll see the "Destination Folder" page. By default, Apache installs in the folder
         C:\Program Files\Apache Group, creating a sub-folder called C:\Program
Files\Apache Group\htdocs to keep your web pages in. These are good choices,
      so click "Next." Don't click "Change..." unless you know exactly what you're

Finally, the "Ready to Install the Program" page appears. Click "Install" to kick off
   the installation process. The Apache server software will be copied into place
    and the Apache service will start up in the background. Along the way, a few
Windows Command Prompt windows will flash up briefly. This is normal and you
                should let these windows do their thing and go away on their own!

       If you do receive error messages, the most frequent cause is that Internet
  Information Server or another web server is already installed and "listening" on
     port 80, the standard HTTP port. Disable the other web server software and
                                                                 reinstall Apache.
  The "Installation Wizard Completed" page should appear. Congratulations, you
                    have a web server! Click on "Finish" to complete the process.

                                  Internet Information Server Quick-Start Guide

  You need either Apache or Internet Information Server (IIS). You do not want
   Microsoft's Internet Information Server is a solid choice, and it is included free
  with Windows XP Professional. If you don't have XP Professional, or one of the
  server-oriented versions of Windows like Windows Server 2003, then IIS is not
                                                                 an option for you.

                                            Installing Internet Information Server

  1. Make sure you have Windows XP Professional! Click "Start," then right-click
"My Computer." Choose "Properties" from the menu that appears. The "General"
        tab will appear. Under "System:" you should see "Microsoft Windows XP
     Professional." If you see Windows XP Home, Windows ME, Windows 98 or
      Windows 95, you will not be able to use IIS. Follow the Apache Quick-Start
                                                                  Guide instead.

    2. We're ready to install the IIS software. Select "Start," then "Control Panel,"
then "Add/Remove Programs." Select "Add/Remove Windows Components" from
                                                                the left-hand column.

        A list of available Windows features appears. Check the box for "Internet
Information Services (IIS)" and click "Next." If prompted, insert your Windows XP
                                                                    installation CD.

That's all it takes! Installing IIS is very simple because it is a standard component
                                                        of Windows XP Professional.

                    Step Seven: Test Your Website From Your Own Computer

    Is the website working? Let's find out! The first test is to access your site from
   your own computer. On the same computer that is running the web server
      software, access the URL http://localhost/. You should see an example
  home page provided with your Apache or IIS web server software. If not, review
 the appropriate quick start guide above and figure out which step you skipped! If
     you received errors during installation, you need to resolve them before your
                                                                    website will work.

                                        Step Eight: Make Your Own Home Page

  You have a web server, but right now the "content" on the site is just the default
                home page that came with the server software. Time to fix that!
 All you have to do is move your own web pages to the appropriate folder. If you
     followed the Apache quick-start guide, your web pages belong in this folder:

                                           C:\Program Files\Apache Group\htdocs

           If you followed the IIS quick-start guide, your web pages belong here:


First, remove the files that are already in those folders. It's not smart to leave
     "default" files lying around. What if a security problem was found with one of
                      these common files? Then your website would be vulnerable.

Next, copy your own web pages and images into the folder. The "home page" of
 your site should be called index.html (not index.htm). Both Apache and IIS are
smart enough to know that when a user visits,
                 they should act as if the user asked for
                           and do the right thing.

For more information about making web pages and graphics, see how do I set up
                                                                  a website?

                       Step Nine: Test Your Website From The Outside World

  We did a lot of work here to give our computer a hostname on the Internet and
  forward web traffic through the router and firewall. Did we do it right? Only one
  way to be sure! Access your website from a computer that is not on your home
    Internet connection, or have a friend try it. For example, if you registered the
           name with DynDNS, your website's address is Try that address from a computer outside your
                                                      home and see what happens!

    If it works... great! If not, you probably made a mistake in dynamic DNS, port
                    forwarding, firewall configuration or local static IP configuration.

     "I followed all the steps and I get my router's login page instead of my
                                                                 home page!"

You are probably trying to access your website by name from behind your router
(from one of your own PCs). With many routers, this does not work because the
      router automatically assumes any web connection to itself from inside your
  network is an attempt to log into the router's configuration interface. Test from
  outside your own network or have a friend do that for you. If you can access
     your home-hosted website from someone else's computer, you don't have a
    problem. If you want to access your site from a computer behind your router,
          you'll have to access it at its static local IP address instead of by name.
Another possible cause of this problem: you may have turned on your router's
     "remote router access" feature by mistake. People turn this on by accident
    because they think it has something to do with hosting a website at home. It
   doesn't. Turn it off, it is dangerous! You don't want other people accessing
                                  your router and changing configuration settings.

  Congratulations! You have your own website on the Internet, hosted entirely in
          your own home. Just remember: your computer must remain on, and
       connected to the Internet, all the time. Without a web server, there's no
  website. That's why, if you choose to host at home, I recommend picking up an
older computer off the curb, dusting it off, popping in at least 128MB of RAM and
       firing it up as a web server. Your own PC doesn't wear out, and if security
 problems are found in the web server, they are more likely to be confined to the
                                                            less important computer.

                    See also how do I set up a DMZ for safer home web hosting?

                               first, you must choose and register a domain name.

                     For more information, see how do I register a domain name?

Next, you must choose a web hosting company to host your site for you. Hosting
  prices vary from $5/month on up depending on the nature of your site and the
    amount of traffic you expect; extremely popular sites can expect to pay for a
                        more expensive plan, or to pay extra bandwidth charges.

Web Hosting Talk offers well-established forums in which to discuss the quality of
                                                  various web hosting providers.

      Third, you will need to create your website's content. In most cases you will
   already own one or more programs that can be used to save web pages in the
   World Wide Web's HTML format. For instance, both the 100% free OpenOffice
       suite and Microsoft Office offer a "Save As..." HTML capability in their word
processor software. Creating a web page with these tools is much like writing any
  other document, with the addition of the ability to make links to other pages and

   But how exactly do you make a link from one page to another? In OpenOffice,
                                                        this is very easy to do:

          1. Select the text or image in your document that should become a link.

                           2. Pull down the "Insert" menu and choose "Hyperlink."
  3. In the "Target" field, enter the URL of the page you want to link to. If you are
     linking to another page in the same folder on your own website, you can just
enter the filename, such as aboutus.html. That's all. This isn't hard— just keep it
  simple and don't second-guess yourself into getting it wrong! You don't want to
  enter a complete filename with drive letters and slashes here. Just the name of
another page that you plan to put in the same folder one you move your pages to
                                                                      your website.

                                                   4. Click "Apply." This is important.

                                                                      5. Click "Close."

 If you are writing HTML by hand, see the article how do I link to another page or
                           file? for a complete explanation of how to make links.

  "Can't I host my own website at home?" Yes... but it's inconvenient, unreliable,
and insecure. Real hosting can be very cheap, as cheap as $5 a month, so think
 twice before hosting at home. See should I host my own website at home? and
                                       how do I host my own website at home?

 You can name the rest of your web pages anything you like, but be sure to name
     your "home" page index.html. Web servers understand that index.html is the
file to give when the user doesn't specify a particular page. So when a user types
   in or clicks on a link to, the page they get is index.html. If you
             don't provide an index page, users will see a directory listing or an error
                                                        message— not professional.

You will also need to create graphics for your site, of course. Your graphics must
be in GIF, JPEG or PNG format to be used effectively on the web; please do not
    put BMP files on the web as they are very, very slow to download and do not
 work with every browser. All Linux users, and Windows users who are willing to
 take the time to master a somewhat confusing interface, will want to use GIMP,
        which is free and very powerful. Windows users should consider the very
 affordable and user-friendly Ultimate Paint; many features are available without
  restriction even without the $39.95 registration. Macintosh users and high-end
                                           graphics mavens swear by Photoshop.

 Fourth, you will need to upload the pages and images you have created to your
   new web space. Your hosting company will provide instructions for this. Often
  your hosting provider's instructions call for moving files via FTP or Secure FTP
          (SFTP). Windows users can do that with FileZilla, a free, open-source,
noncommercial FTP and SFTP "client" program. MacOS X and Linux users have
    command-line FTP built-in, but MacOS X users will probably prefer the user-
                                                          friendly Transmit program.

                                   Once you've uploaded your files, your site is up!
       Webmasters who wish to understand the web more directly and gain more
 control will be interested in learning about HTML (Hypertext Markup Language),
the format in which web pages are created. Although I have recommended user-
       friendly tools above, it is not difficult at all to learn to write your own HTML
    elements, and you will gain a deeper mastery of the Web that way. For more
                                      information, see what are HTML and XHTML?

          Professionals and others with a significant budget should also look at
       Macromedia Dreamweaver, currently the most reputable high-end tool for
                                                           creating web pages.