Invictus

Out of the night that covers me,
Black as the pit from pole to pole,

I thank whatever gods may be

For my unconquerable soul.

In the fell clutch of circumstance
I have not winced nor cried aloud.
Under the bludgeonings of chance
My head is bloody, but unbowed.

Beyond this place of wrath and tears
Looms but the Horror of the shade,
And yet the menace of the years
Finds and shall find me unafraid.

It matters not how strait the gate,
How charged with punishments the scroll,
I am the master of my fate:
I am the captain of my soul.

- William Ernest Henley

Install LAMP Server on Ubuntu 8.04 LTS

In this tutorial we are going to install the LAMP server on Ubuntu. I will be installing this on a fairly recent install of Ubuntu 8.04 LTS

The first thing we want to do is install apache2.

Open your terminal and type:
sudo apt-get install apache2

You will probably be prompted for a password to install as root, enter it and then press “y” to proceed with the install. After everything installs, the following commands will give you the ability to start and stop apache2.

sudo /etc/init.d/apache2 start

sudo /etc/init.d/apache2 stop

Once installed point your browser to http://localhost – there you should see a message claiming it worked.

Attached Image

The directory you will be working out of is /var/www/

Attached Image

Time to install PHP.

Open your terminal and type:
sudo apt-get install php5 libapache2-mod-php5

Once the process completes, restart apache by typing into the terminal:
sudo /etc/init.d/apache2 restart

To test our install of php open up gedit or your favorite text editor and create a file called test.php

<?php
phpinfo
();
?>


make sure you save it in the /var/www/ directory, open your browser and type http://localhost/test.php to ensure the phpinfo file we created appears and our install was successful.

Attached Image

*** When doing this step, my permissions weren’t enabled to write/delete files because I wasn’t logged in as root. So lets do a change ownership of the directory. There are lots of ways to do this step, but for now just type into your terminal.

sudo chown nykc /var/www/


be sure to change the [username] with your username…

Ok we are now 2/3 of the way there, all that is left is MySQL.

To install MySQL:

Open up the terminal and type:

sudo apt-get install mysql-server


you will be advised to create a root password for MySQL – go ahead and create that and continue with the install.

MySQL should now be installed.

Open up the terminal and type the following:

sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin


this will install a program called phpMyAdmin which is a nice graphical tool used to edit your database. Make sure you select apache2 when prompted then continue with the install.

Attached Image

Now to get php working with myqsl type the following into the terminal.
gksudo gedit /etc/php5/apache2/php.ini

find the following commented line in the document.

; extension=mysql.so


remove the “;” so the line now reads

extension=mysql.so


now let’s restart apache2 again…

sudo /etc/init.d/apache2 restart


open up your terminal type:

mysql -uname -p


replace -uname with your -u username enter your newly created password and you are ready to configure.

Attached Image

Section 1.1 and 1.2 Rough Draft Complete

I have completed a rough draft of section 1.1 and 1.2 of the web development guide book.  These sections focus on a brief history of HTML and core elements of an HTML document.  After a careful revision of the content, I will begin releasing various snippets of the book.

More to follow.

Web Developers Guidebook

As development on the guidebook has commenced, I will be using this blog as a resource for updating, documenting and posting general ideas and issues encountered.  Progress on the book has been slow throughout the research phase, however I am pleased with the current development of the project.  I am looking to piece together my first chapter here shortly. 

Currently I have about 15-18 chapters mapped out encompassing all the general areas of web development. 

Part I. Development Environments
- XAMPP
- IIS
- Editors & IDE’s

Part II. Scripting Technologies
- HTML & XHTML
- CSS
- JavaScript
- PHP
- MySQL
- XML
- Perl
- Python
- Ajax

Part III. ECommerce, CMS, Blogs, SEO
- ECommerce
- CMS
- Blogs
- Search Engine Optimization

This is the rough draft of the direction I would like to head in.  I am sure as this project develops there will be many modifications to the structure and content which is included.

I would like this book/project to eventually evolve into a HTML Book, eBook or Print on Demand.  Someday it might even make it to print. ;)

Ten Steps To Optimizing Your Website.

Search Engine Optimization (SEO) is more than just developing keywords and other Meta tags that describe your website. SEO is the process of increasing the amount of relevant traffic or visitors to your website while achieving a higher ranking on the predominant search engines.

There are essentially 10 simple steps that summarizes the process of optimizing your website. I will cover these steps in a simplistic fashion to help you better understand how search engines determine the overall ranking of your website.

1. ANALYZE AND STUDY YOUR WEBSITE:
The first and one of the most important steps to SEO is to analyze your website to determine what changes, if necessary should be made. This process includes assessing the site navigation, context and overall cosmetics of the website. It is a good practice to develop a task sheet to better proceed with the optimization of the website. Focus on the individual goals and objectives that are trying to be accomplished and use these as a means of providing the most sufficient results. Meaning – if you have a site that specializes in sales of sports memorabilia, your content should be relevant and revolve around information pertinent to sports memorabilia. Not some off topic content such as baseball records. Search engines look at domain names, title tags and header tags to assist them in ranking the website according to relevance. It is important to maintain consistency in text with the subject of your site.

2. DETERMINE YOUR COMPETITION:
By knowing your competition in the industry, you will gain a better understanding of what exactly needs to be accomplished. It is helpful to find the top 5-10 competitors in your industry and find out what methods they are employing. (They are at the top of the search engines aren’t they?) This process also helps with generating valuable keywords for your website. If you have a site promoting “cheap football tickets” it might be a good idea to go after “discount football tickets” versus “football tickets”. Not only will the keywords be more geared towards your sites intentions, but they will also bring in more relevant traffic to the site if ranked high enough in the search engines. Relevant traffic = Return on Investment (ROI).

3. KEYWORD RESEARCH AND ANALYSIS:
A good method to use here is to create a spreadsheet and start listing as many words as possible relating to your website. Focus on every little product, every subject that encompasses the concept of the website. It is not uncommon for your list to reach close to or over 1000 keywords here. Once you are finished sort the list by alphabetizing and removing the duplicate words. Then single out the words that are the most descriptive of your site. You will now need to find and use a word tracker program to help analyze the keywords & determine how many times those words are searched for in a day. (There are many tools freely available via Google). This process will help you find the most popular keywords that are relevant to the content of your site.

4. DEVELOP BASE TRAFFIC REPORTS:
These reports are used to determine the current traffic to your website to see what kind of activity is taking place, where your traffic is coming from, and what pages are the most popular on your website as well as how they currently rank. If you are not already monitoring your web traffic you will want to do this for at least a month to get a feel for your current volume. I like to use Statcounter for my monitoring.
This step is a crucial step in the SEO process because these reports will also be used to gauge previous activity to your optimized performance.

5. REVISING WEB CONTENT TO BETTER SUIT KEYWORDS:
This step is critical to optimization. It should include several variations of web pages, and may also require the modification of some of the content and code. You will want to create a site map, and incorporate a search engine as well as adding a forum or a blog, a resources page etc. All of this plays an important role in Search Engine Optimization and assists in satisfying the likes of the popular search engines.

6. CONTENT DEVELOPMENT:
To best succeed on a Search Engine, content is king. You will develop or redevelop Meta tags for every web page, and content rich pages related to your business or industry as needed. Meta tags; however are not the end all solution to search engine optimization. They are critical in helping the spiders index the pages – that is for the search engines that still support them, but will still not skyrocket your rankings to the top of the search engines. Make sure your keywords are relevant to what is on the page. If there is no mention of “Golf Clubs” on that page, it makes no sense to include those words in your website. Keep the description tag brief and to the point. Avoid non-indexable words such as where, too, and etc. Incorporating some keywords in the description is often helpful as long as it makes sense. The more descriptive the tag is towards the content, the better your site will fare in the rankings.

7. BUILD LINK POPULARITY WITH YOUR WEBSITE:
One of the most common misconceptions to search engine optimization is that if you swap links your site will gain in popularity. Relevant traffic is what is important here and linking to any old Tom, Dick or Harry will flat out hurt rankings before anything else. Search Engine Algorithms are focused on relevance. What you want to do is cross-link with a site that offers similar content or related material, which will benefit you and the person you are linking with. If your website is about collecting, hobbies and sports you do not want to link with someone who collects recipes, or focuses on politics.

8. PAID INCLUSION AND CPC IF NECESSARY:
Paid inclusion and Cost Per Click are options that are also available. I do not personally use these methods however the options are there. There is a good article about paid inclusion as a means of countering the rising cost of CPC prices, which can be read here: Target Marketing Mag

9. CONTINUOUS RE-OPTIMIZATION:
Optimizing a website is not enough to maintain the top spots in search engines for your most important keywords. Algorithms are always changing, and so is the industry. This step is optional but it is highly encouraged you continuously optimize your site.

10. CONTINUOUS MONITORING AND REPORTING:
The best way to judge the success of your optimizing efforts is to continuously monitor and analyze your traffic. It will continuously offer clues as to which pages are performing the best, keep you aware of consumer interests, and most of all to see what is and what is not working.

I hope you find this tutorial helpful, and as always feel free to leave a comment or question.