Business Information Systems DSC340 Domain Names & Webserver administration DSC 340 Mike Pangburn Agenda Understand how the domain name system functions, and how to acquire a domain name Register your own domain name Investigate webserver administration Hosting account Configure domain name to hosting account Configure email addresses in hosting account Install database-driven web application (ex.: Wordpress) File management and database admin tools What is a domain name? As far as the Internet's machines are concerned, an IP address is all that you need to talk to a server. For example, you can type in your browser the URL http://72.21.211.176:80 …and you arrive at ? The number sequence 72.21.211.176:80 is a substitute for amazon.com, and the :80 means that you wish to contact the server using port (channel) 80, which is the default for web page traffic Domain names are strictly a human convenience, like maintaining a cell-phone contact list with names and their associated phone numbers. What is an IP address? The IP address specifies a network device’s (e.g., a laptop computer, or a server) “location” on a network. One way to look up your IP address: http://whatismyipaddress.com/ Two types of IP addresses: 1. Public IP: Addresses accessible via the Internet. 2. Private IP: Any address in the ranges: 10.0.0.0 - 10.255.255.255 172.16.0.0 - 172.31.255.255 192.168.0.0 - 192.168.255.255 Routers on the Internet are programmed to kill data traveling to a private IP address. Domain Name System The Domain Name System (DNS) is the “phone book for the Internet” Translates human-friendly hostnames into IP addresses Every domain name entry within a top-level domain list (e.g., the .com “phone book”) must be unique There is a single organization that controls each top-level list and makes sure that no duplicates arise E.g., the .com list is managed by the firm Network Solutions Lower-level domains are controlled independently. For example, Microsoft “owns” hundreds of thousands of IP addresses and host names e,g,, Microsoft maintains its own list (and DNS) for the microsoft.com domain name space, e.g., someserver.microsoft.com DNS – Domain Name “Server” There are servers throughout the Internet that keep track of all the names and their associated “phone numbers” (read, IP addresses). Such a server is called a Domain Name Server Or, simply: DNS – note reuse of same acronym A DNS accepts requests from programs & other DNS to convert domain names into IP addresses Interesting aspect of the DNS system -- it is completely distributed throughout the world on millions of machines, yet behaves like a single, integrated database! How does it work? …How do you lookup a name in this global “Internet phone book?” It starts with your local DNS. Local DNS: The name server that is your machine’s first contact when converting domain names to IP addresses. Your PC’s domain name resolution process from your apartment Root name server Local name server .edu name server uoregon.edu name server Web server basics A standard web-server needs: 1. A public IP address (one outside of the 3 aforementioned private-IP ranges); …and, assuming the server will be accessible via a domain name: 2. a corresponding domain name registered within the Domain Name System 3. software that listens for and responds to requests for web-page files Choosing a domain name Consider name… making your company’s website “extensible” e.g., what does Amazon.com have to do with books? memorable Short The top level domain (TLD) is very significant Country Code Domains (.uk, .de, .jp, .us, etc.) Generic Domains (.aero, .asia, .biz, .cat, .com, .coop, .edu, .gov, .info, .jobs, .mobi, .int, .mil, .museum, .name, .net, .org, .pro, .tel and .travel) “the marketplace has spoken” - .com is best Choosing a domain name Generally people advise avoiding: Trademarks Hyphens Numbers One may not be enough Multiple markets may imply multiple names/sites Choose/register than later the name(s) sooner rather It’s a global market, with lots of names, but lots of interested parties as well Buying the name Buying a domain name is referred to as “registering the domain” It’s actually a lease, not a purchase You register the domain via a company called a domain name registrar Lease timeframe generally ranges from 1 year to 10 years Price per year ranges from ~$5 to ~$20 Research the registrar before you choose (avoid scams) Buying the name Current lessee has the option to renew name before end of lease And, most good names are already being leased! How do you check if a name is available? Any registrar’s site will have a “WHO-IS” search capability that searches the DNS for top-level domains How do you check details of lessee? Check registration details within “WHOIS” search Lessee can pay for private registration, in which case you won’t see their details Possible to get already-taken names? Option 1: negotiate directly with lessee use WHOIS search to make contact Option 2: domain name marketplace Several varieties: auction style, fixed-price style, makean-offer style. Examples: buydomains.com, afterNIC.com, sedo.com Managing domain names When in a company, be aware of who is listed as the contact person/registrant for the domain name What if that person leaves the company or is fired? If you don’t managed such transitions well, that person can make it very difficult for you to get your domain name back under your control If you are thinking about having your own company, you should registering your domains(s), not an IT person Let’s register our own domain names We will visit GoDaddy.com to try the name registration Reputable, world’s largest registrar Good pricing, sometimes discounts are significant Aside: Use code LKSRTL295J to get .com name for $3 (normally $11) 1 year registration is all that is required, no additional features are needed (although Private Registration is nice $8 option as it hides your details from a WhoIs search) Agenda Understand how the domain name system functions, and how to acquire a domain name Register your own domain name Investigate webserver administration Hosting account Configure domain name to hosting account Configure email addresses in hosting account Install database-driven web application (ex.: Wordpress) File management and database admin tools Web hosting To run a website via some webserver, you need to be able to put your website files (.html or other) on that server’s hard disk So the webserver software can send those files out based on web-browsing requests How do you put your web files on a web-servers hard drive? As we have seen with the UofO webserver, there are two basic approaches: 1. Use a server-side application (e.g., nano editor we used) to directly create content on the server, or 2. Copy content from our local hard-drive to the server’s hard-drive via FTP Either approach will require that you have an account on the webserver Web hosting The two most popular webserver operating systems are Unix and Windows Unix is most popular A web hosting company will give you an account on their server E.g., BlueHost, DreamHost, Arvixe, TMDhosting, many others Typical price is around $10/month to get started, prices increase with additional bandwidth/processing power For this term (and up 1yr), I can help provide free hosting on an external webserver No warranty or service plans… but it’s free Your username will be w13duckid duckid will be replaced by your duckid Web hosting A web hosting account has several initial key pieces of information associated with it: username (in this case, based on DuckID, as per last slide) password (you will choose, can change later) domain name with extension (e.g., .com) email address (for confirmation – UofO address is fine) Please clearly write your DuckID, (initial) password, & domain name on sign-up sheet I will use your duckid@uoregon.edu email address for confirmation Your username and password will actually be used to create two accounts (both on the same remote server box): A web server account An FTP server account Web hosting Once I have your accounts set up… …you can log in via FTP (e.g., FileZilla) ftp://ceramic.mysitehosted.com …you can log in via HTTP (e.g., FireFox) http://cpanel. ceramic.mysitehosted.com A note about account quotas File storage: 250MB Bandwidth: 2.5GB/month Therefore, audio/video and even large photo files should be stored elsewhere E.g., photos on flickr, video on Vimeo, etc. Limits are enough for us to learn about server admin and get a Wordpress blog going Web hosting Logging in via: http://cpanel. ceramic.mysitehosted.com …shows your webserver account “Control Panel” We will investigate many of the features as we go along For now, we will leave this an return to GoDaddy to point our new domain name at our new webhosting account Agenda Understand how the domain name system functions, and how to acquire a domain name Register your own domain name Investigate webserver administration Hosting account Configure domain name to hosting account Configure email addresses in hosting account Install database-driven web application (ex.: Wordpress) File management and database admin tools Point domain name to web server We need to tell our Registrar (GoDaddy, in this case) what Domain Name Server is the one that knows about our web hosting account The Domain Name Server affiliated with our web hosting server has the name: NS1.CERAMIC.MYSITEHOSTED.COM ..and a back-up server: NS1.CERAMIC.MYSITEHOSTED.COM Let’s now go into our GoDaddy account and configure our new domain name with those two DNS server names In GoDaddy, we go to: All ProductsDomainsDomain Management Click on your Domain Name and then click on “Set Nameservers” near lower left Then enter the two name servers listed above Point domain name to web server Point domain name to web server Point domain name to web server It will take a while (sometimes a few minutes, sometimes a few hours) for the change to propagate throughout the world-wide Domain Name System Once the happens, you will be able to use your acquired domain name to browse to the hard-disk folder for your new web-hosting account Not much will be there… Recall: 3 ways to view files in web server folders 1. Via public web browsing (no account required) – prior slide Note: you won’t be able to see the contents of a folder if some one (e.g., you) puts a file called index.html in the folder Recall that that the web-server provides the file index.html to the browser (e.g., Firefox), if the browser tries to view a folder without specifying a particular file name in that folder 2. FTP client, such as FileZilla (requires FTP user account) 3. Website user login (requires webserver user account) Can login via basic SSH text-driven Unix command interface, but that requires looking up Unix commands like: cd, ls, mkdir Most Unix servers support the cpanel “Control Panel” mouse driven interface commands for common server administration tasks Agenda Understand how the domain name system functions, and how to acquire a domain name Register your own domain name Investigate webserver administration Hosting account Configure domain name to hosting account Configure email addresses in hosting account Install database-driven web application (ex.: Wordpress) File management and database admin tools Managing email accounts Use cPanel to manage email accounts You can create multiple email accounts affiliated with your domain name The cPanel app we will run will create these accounts on an email server (another big software app., separate from the web server app but potentially running on the same hardware box) Agenda Understand how the domain name system functions, and how to acquire a domain name Register your own domain name Investigate webserver administration Hosting account Configure domain name to hosting account Configure email addresses in hosting account Install database-driven web application (ex.: Wordpress) File management and database admin tools Install database-driven software app: WP cPanel includes some convenient scripts (coding) for installing large software applications within your account Wordpress is one popular app that can be installed easily by running one of these convenient “Softaculous” scripts A “manual” install of Wordpress is said to take only 5 minutes, but it usually takes longer, so let’s use the more automated approach via the cPanel Wordpress installer To begin the Wordpress install, click on Wordress icon under the Scripts heading Install database-driven software app: WP After WP install script runs… To see you blog running, go to As end-user: http://yourdomainname.com/ And specifically, within that domain, your Wordpress folder E.g., if you specified your Wordpress folder as wp, then you would go to: http://yourdomainname.com/wp As administrator: visit the wp-admin folder within your Wordpress folder E.g, http://yourdomainname.com/wp/wp-admin WP admin interface Agenda Understand how the domain name system functions, and how to acquire a domain name Register your own domain name Investigate webserver administration Hosting account Configure domain name to hosting account Configure email addresses in hosting account Install database-driven web application (ex.: Wordpress) File management and database admin tools cPanel file and database management An FTP app such as FileZilla provides the fastest approach to managing your files on a server If you have a web hosting account with cPanel access, then the cPanel File Manager app provides a nice alternative (via an HTTP browser, e.g., Firefox) cPanel file and database management cPanel also has great apps for managing relational databases To create databases and database users, use the MySQL Databases app To perform detailed administration and querying of existing databases, use the phpMyAdmin app cPanel file and database management This screenshot from the MySQL Databases app shows that the prior WP install has indeed created both a corresponding database and database user All Wordpress configuration details, users, pages, posts, and comments are stored in the database uploaded videos, songs, and pictures are stored as normal harddisk files