Posts Tagged ‘php’

2nd Attempt Ubuntu Multiple Local Sites Apache2

December 2, 2009

Note, my user name is always bryan, because he gave me his old machine, with a password on it, so I just keep everything the same, for convenience.

Step 1:
sudo chown bryan /var/www

Step 2: having given myself rights with that above chown command
I should be able to create folders withing /var/www
e.g. /var/www/proj1

and then invoke the 1st pg of the application by typing into the browser


I shall test this, and place the exercises from Head First PHP MySQL into a folder /var/www/proj1 and see if the exercise works

The only question that remains in my mind is whether the exercise pages will work unchanges, honoring /var/www/proj1 as the root, or whether I need to issue some other command to MAKE proj1 the default directory, or whether I have to hard code paths into all the exercise pages, which, if I do, would kind of defeat the purpose of developing a project in a folder, and then transparently moving it to some other location.

What follows is the raw text from the IRC channel where I asked my questions. I sorted through it to come up with the above, step-by-step procedure to achieve my goals.

+++ the steps WORK AND here is my email feedback to the person that gave me the valuable guidance:

You saved me HOURS of grief, and made it possible for me to now make rapid progress with my HEAD FIRST book. And Yes, I want to pay $60 for the paperback, because I want to be able to take it in the bathroom or on the subway. I want to really let all this PHP MySQL stuff sink in, and become second nature, for the simple reason that I am sick and tired of years of bondage to Micr0$oft and products like Access (or worse VISUAL FOXPRO which they finally dropped as a supported product). I figure that php mysql apache is the best choice for me, because I can kind of understand whats going on, and there is tons of documentation to make it work, but forum and IRC support (like YOUR excellent patient help).

You are CORRECT, THAT YOU did tell me what I need to know, but you did not realize that as a beginner, I cannot recognize the right answer UNTIL certain concepts sink in. Once I did the CHOWN trick you showed me, then I could navigate with the GUI, to /var/www and create a folder, proj1. Then I could navigate to my Desktop to a folder where I put two of the Head First exercises, but with the word TEST inserted in each field, so I would KNOW that it was these executing, and that I was not somehow executing the same original pages in /var/www . Now, I could NOT get Desktop/testwww/report.html to run and then correctly post with report.php and see the added record in the MySQL database with phpmyadmin.

BUT, as soon as it dawned upon me the simple steps you were saying, I copied to cloned files to /var/www/proj1 went to my folder and entered localhost/report.html, actually SAW the cloned version come up with TEST prefixed to each field, I entered data prefixed by TEST so I would see it in the mysql table,… pressed submit, and BINGO, when I did localhost/phpmyadmin and signed in, there was the new record in the sql table.

SO, you see, for a beginner, the Head First book leaves out a VERY IMPORTANT CONCEPT, about creating folders for projects in /var/www and doing the CHOWN trick once, up front, to allow access.

THANKS! And, as you will notice from my blog, when I asked the same question in IRC last week, someone thought that I wanted to do that complex business (which was CORRECT, if I wanted to access separate projects from some remote client, BUT unnecessary for my simple desktop purposes).

And here is the RAW irc chat to illustrate what a beginner may have to do to sort out the proper answers from a technically savvy person trying to help.

I am trying to set up several websites on my desktop ubuntu under Apache 2, and I have a detailed tutorial, but it says I need my IP address, but

sudo ipconfig gives me an internal, and gives me an external, any clues as to which is required, thanks

[04:08] WilliamBuell: what IP address? where do you want to reach them from?

(the answer, as it turns out, which I did not make clear to the IRC channel, is that I only want to make this stuff work from my DESKTOP, not from some remote client on the internet, which might require some ip address)

[04:08] thanks I am following this excellent tutorial on apache2 multiple sites

[04:09] I have Ubuntu desktop with LAMP installed, but can only get php pages to work in /var/www

[04:09] I want to be able to have several projects i.e /home/proj1

[04:09] WilliamBuell: that’s where they should go

[04:09] why not put them in /var/www?

(this turns out to be an EXCELLENT QUESTION!)

[04:10] the tutorial mentions IP address but does not indicate whether it is EXTERNAL from or local from

sudo ifconfig

[04:10] BECAUSE I would need a different name for each html and php page

[04:10] WilliamBuell: where are you trying to access them from? you shouldn’t need an ip address at all most likely

[04:11] suppose I am following several tutorials, with several pages with same name, they cannot BOTH be in /var/www

[04:11] why not /var/www/proj1, /var/www/proj2?

[04:11] and i dont know how to access some search path that would support /var/www/proj1

[04:12] or does apache2 lamp automatically honor any folder within www

[04:12] yes, automatically http://localhost/folder

(above is the KEY CONCEPT that I needed)

[04:12] and, if so (i am total beginner) ….

aha…. localhost/folder seems to make sense to me

[04:13] next question in TERMINAL does it matter HOW i create those folders, i mean do i have to be sudo or root

[04:13] do permissions matter?

[04:13] what would the proper command be to create the folder in /var/www would it be mkdir /home/www/
[04:14] with sudo mkdir /home/www/

[04:14] except it would be sudo mkdir /var/www/

[04:14] if i follow along with this one tutorial

[04:15] but that tutorial is talking about MULTIPLENAMEHOST

[04:15] WilliamBuell: you can cheat and do sudo chown USER /var/www

( the above is the OTHER KEY CONCEPT that I require.. and if it works, then I can navigate in a GUI file folder system and create project folders at will, without fussing with sudo permissions)

[04:15] it sounds like you are saying if I simply create a folder in /var/www/proj1 that it will work from localhost/proj1

[04:15] WilliamBuell: only on a desktop though
[04:16] WilliamBuell: correct

[04:16] i am a 60 year old total beginner, so i dont need hints like “you can cheat” I am truly lost

[04:17] so i should say from TERMINAL sudo chown bryan /var/www but… HOW DO I MAKE THE FOLDER PROJ1
[04:17] i mean the chown command is changing rights or something

[04:17] chown changes the ownership of the file
[04:17] nothing else

[04:17] WilliamBuell: oh, one you own the folder, you can go into /var/www and make whatever you want 🙂

[04:18] in other words, from terminal, what is the command to correctly creat /var/www/proj1 with all the proper user rights for apache2 to work

[04:18] BUT, whenever i go into /var/www it doesnt let me do stuff i dont think unless i am root admin

[04:18] WilliamBuell: the support here is not too great… might want to try a support channel

[04:18] WilliamBuell: yeah, that’s why I suggested owning the folder

[04:18] yeah, but you guys know this like the back of your hand

[04:19] once you do that, you can mkdir in /var/www all you wnat

[04:19] and you just cant give a beginner the command to create the folder

[04:19] WilliamBuell: if we did we would have told you straight away

[04:19] so, you say , create the folder, and then use chown to change ownership?
[04:19] and then everything will be honkey dory ok

[04:19] WilliamBuell: no, chown /var/www, then you can create all the folders you want without sudo

[04:21] ok so sudo chown bryan /var/www gives me the rights, then i should be able to navigate with the gui and create proj1

[04:21] WilliamBuell: yep 🙂

[04:21] aha… now that is making sense to this beginner brain
[04:22] and i WONT need to mess with that other tutorial
[04:22] since i only want stuff to work locally…

[04:22] WilliamBuell: right no apache configs 🙂

[04:23] BUT, second question,…. if i make a bunch of php html pages in /var/www/proj1 do I need explicit paths to the other pages, or will they default to that local directory

[04:23] and is there some command i need to issue to make /var/www/proj1 a local directory for that session

[04:23] WilliamBuell: not sure I’m following

[04:23] WilliamBuell: not sure you’re sure what you’re asking
[04:24] http://localhost basically loads what’s in /var/www

[04:24] ok… you are telling me if i do all this then from browser .. i type localhost/proj1/report.html and it comes up

[04:24] yep

[04:24] but INSIDE report.html it is going to POST to report.php

[04:24] if you have /var/www/proj1/report.html

[04:24] yeah, default is current folder

[04:24] but, it will know enough to look in var/www/proj1 without
[04:25] well, it looks in http://localhost/proj1/report.php
[04:25] or rather posts to

[04:25] aha, and the very act of launching the project as localhost/proj1 is sufficient to make that the local directory for the entier project session

[04:25] which should correspond to /var/www/proj1/report.php
[04:25] if so, that makes sense

[04:25] WilliamBuell: not sure you quite get URL vs local path
[04:25] it’s not for the session

[04:25] in other words, i dont have to HARD CODE specific addresses in each html and php…

[04:26] that’s just how it it

[04:26] WilliamBuell: that you have to do
[04:26] i want to develop something in /var/www/proj1 test it , but have it work if i move it somewhere else

[04:26] WilliamBuell: why not just have a .php file?
[04:26] why have anything .html?

[04:26] well, i dont know enough to understand your hint

[04:26] WilliamBuell: a PHP file can have HTML and PHP in it

[04:27] because, the tutorial book i am following starts with report.html posting with report.php… but now i see what you are saying

[04:27] WilliamBuell: what book?

[04:27] but, php or html, is not germain to my path question at hand

[04:27] it is a great book called HEAD FIRST php mysql, which leads you step by step, including cookie sessions

[04:28] i have in my blog links to the book

[04:28] i am buying the book for $60 tomorrow, and i already downloaded a zip file of all the source code exercises from the publisher

[04:29] WilliamBuell: do you have any programming background and are you interested in mysql>??

[04:29] i started programming in 1979, through the 1980s, with stuff like cobol, rpg, then basic, then pick

[04:29] WilliamBuell: BTW, you know you can get it as an ebook for $36

[04:29] i am not a moron

[04:30] i just have some simple questions which in reality have very simple answers, but getting straight answers from techie types is like pulling teeth
[04:31] WilliamBuell: do you like head first series?

Ubuntu Apache Path Question

November 28, 2009

I successfully installed LAMP (see another blog post here for details).

I KNOW that I can place files in /var/www such as .html and .php and .css and those files will be found and executed whenever I launch the browser and type localhost/report.html (i.e. if report.html is in /var/www it will run, and if it calles report.php and that file is in /var/www it will execute.


Suppost I want to have different folders holding different applications. What do I need to do to guarantee that Apache and PhP and MySQL will execute properly when invoked by files in a different folder.

I did find THIS in google:

There’s a ‘doc_root = ‘ in php.ini.
There’s also ‘DocumentRoot “drive:/path/”‘, ‘

and ‘DirectoryIndex index.html index.php otherfile.ext’ in the

Does that mean that I should simply edit php.ini and put a search path?

SOMEONE IN KUBUNTU IRC CHANNEL told me I should google. Then they said they do not know too much but it is probably in php.ini which is a well documented file, so I took a second look and found:

; About php.ini ;
; This file controls many aspects of PHP’s behavior. In order for PHP to
; read it, it must be named ‘php.ini’. PHP looks for it in the current
; working directory, in the path designated by the environment variable
; PHPRC, and in the path that was defined in compile time (in that order).
; Under Windows, the compile-time path is the Windows directory. The
; path in which the php.ini file is looked for can be overridden using
; the -c argument in command line mode.

THIS LEADS ME TO BELIEVE THAT IF IN TERMINAL I issue cd /Desktop/testwww that perhaps that becomes the “current directory” and hence, in the browser, issuing the localhost/report.html would now look in that current directory. I will test out this theory.

I AM MAKING SLIGHT PROGRESS, because I created on Desktop testwww and I discover that the following link in the browser will open a copy of my file


so now all I need to do is copy the php there and see if it executes ok.

So far, it does not seem to work!?

[22:59] WilliamBuell: Aye; you want to go to /etc/apache2/sites-enabled/
[22:59] MenZa: that does sound familiar
[22:59] WilliamBuell: Create a config file, i.e. blah.domain.conf
[23:00] WilliamBuell: I’ll give you one of my config entries so you have something to work with

<VirtualHost *:80>
DocumentRoot "/var/www/projects.lassehavelund"
<Directory "/var/www/projects.lassehavelund">
allow from all
Options +Indexes

Installing LAMP on Ubuntu

November 18, 2009

I worked 20 hours straight to prepare an old Gateway tower with 280 gig drive for an Ubuntu 9.10 install. The Gateway was hopelessly unbootable in Windows because of some operating system problem (not hardware problem). I realized that I should drop down to C: and type format, to just reformat the entire drive which took about 30 minutes. I forgot that I should have typed FDISK first, to set up the necessary partitions, but it was too late.

I downloaded an ISO image for GNOME partition and burned it to a bootable CD.

I booted the GNOME partition utility. It took me literally hours to guess at what I should do.

Finally I realized that Ubuntu expects THREE partitions. The first is referred to as ROOT but the actual name you give it in the partition process is simpl “/” (forward slash omitting the double quotes).

The second partition will have NO name, but you will designate its format TYPE as swapfile, and that will become the system swap file.
The third partition is called /home.

I had no idea how much space to allocate, so I gave 512 for root and 512 for swap, and the huge remainder for /home.

The software warned me that root and swap were too small. Just for the heck of it, I changed root and swap to 5000, and it worked.

Then it took me dozens of tries installing Ubuntu. I had a 2008 Ubuntu disc and a 9.10 disc I had created last week. Time after time, I would boot from each one, say INSTALL UBUNTU, and it would chug away for a long time, and then die with no messages. FINALLY, but why or how I dont know, the 9.10 unstall brought up an Ubuntu desktop with what looked like all kinds of error messages. There were TWO icons on the desktop which I had never seen before. One said EXAMPLES which I never looked at. I was about to give up in dispair when I decided to click on the icon marked Ubuntu. AS IT TURNS OUT, that is the icon which COMPLETES the install process, and it first brings you into its OWN partition software. I cant exactly remember what I did next. I do remember that GNOME partition utility offered me literally 20 DIFFERENT format types to choose from for each partition (one of which is swap-file). I had no clue what to choose. I did some google searching on my other machine (and you NEED a windows machine attached to the internet to look these things up). I discovered that format type ext3 is good for Debian Linux (and Ubuntu is a flavor of Debian) so I went with ext3.

Finally, I had a working bootable pure Ubuntu 9.10 machine.

My next Sisyphean agony task was to connect it to the Internet. The tower already had an Ethernet card. I was informed that IF I connected a cable from the ethernet to the router, then Ubuntu would automatically sense the ethernet connection and configure it. The ethernet board DID light up and pulse when I connected the cable to my Westell router. But Ubuntu never recognized it. Later I read that only certain ethernet cards will be automatically recognized, so I guess the one in my tower was not a compatible one. My next choice was to try and get my Belkin USB WiFi adapter working. I went to ADMINISTRATION -> SYNAPTIC PACKAGE MANAGER and keyed ndiswrapper into the search. I was prompted to place the Ubuntu install cd into my drive. It kept giving me errors. I placed my Belkin adapter install cd in the drive and looked around for the ini driver file, but could not see it. Finally, out of despair, I plugged the Belkin wifi adapter into the USB and LIKE MAGIC Ubuntu recognized it, asked me to choose a connection and enter the WEP key, which I have now done many times with other machines and during the Wubi Ubuntu install on Windows. So now I had a working Ubuntu machine connected to the Internet.

I went to J&R computer store up the street and found a $10 USB 4 gig memory stick by which is REALLY cheap. I recently discovered that the Sancor memory sticks that I love actually have a lot of SOFTWARE on them, which only works under windows, AND if you have a password set on the device, then Ubuntu wont even read it.

I had to go into synaptic manager and search on usb for some installs. Again, it was trial and error, and I dont know what finally made it work, but finally, Ubuntu recognized the memory stick.

TODAY, I had to meet my step-son near at Borders Book Store next to Penn Station. This was lucky for me, because while I waited for him, I browsed the computer book section on the second floor. I found a $9 small Linux handbook reference of commands by Daniel J. Barrett (O Reilly publishers) so I got that to practice all the hundreds of Linux commands that I dont know but need to know.

I browse various books on Ubuntu and Mysql.

I found the key thing I needed to know for my next project, to install LAMP (Linux Apache MySQL PhP) on my new Ubuntu desktop.

All one needs to do is enter TERMINAL, and key in

sudo tasksel

(you will be prompted for your system password next)

A task selection window will pop up with many packages available for install, one of which is LAMP. Now here is a mystery that took me an hour to solve. You can arrow down to highlight LAMP, but you dont have a clue in the world as to how to CHECK it for install. Google revealed the secret: YOU SIMPLY PRESS THE SPACE BAR AND IT IS MARKED CHECKED FOR INSTALL. Then you press ENTER and the install proceeds, Apache, MySQL and PhP. You will be prompted for the MySQL admin password.

Next I wanted to install phpmyadmin to administrate mysql, creating databases, tables, etc. I went to SYSTEM-> Synaptic Manager and searched on phpmyadmin. I think there is only one. BUT HERE IS A SECRET. Once your LAMP install finishes, then power down and boot back up; otherwise, certain files will remain locked by processes and the phpmyadmin install will fail.

Once phpmyadmin installs (and you will again be prompted for that pesky password), then you can open firefox and key in http://localhost/phpmyadmin

You will be PROMPTED FOR A USER NAME AND PASSWORD. This is tricky and confusing. You have to key in the user name “root” without quotes, and then give the password that you have been using all along throughout this. Now you are in phpmyadmin, and you can go to Privileges, and create a new user and give him all possible privileges.

Then, I found a $50 book, also by O’Reilly, entitled
“Head First – PHP & MySQL”. THIS book looks like the perfect way to teach myself how to develop php mysql applications which will have proper security (which is a very complex topic).

I didnt purchase that book tonight, because I wanted to come home and see first if I could successfully install LAMP and phpmyadmin, which I just now finished.

The Head First book gave me links to try the book on line free for 45 days. Money is kind of tight, so I decided to see how far I can go without any additional purchases, but if I get things working, I will buy the book one day. It is interesting that O’Reilly also offers a link to an on line university which can grant degrees in computer science.

I signed up at Oreilly for a trial access of the electronic version of the above-mentioned book.

Here is something I tried which crashed my Ubuntu. I wanted to copy the introduction to the book, from the OReilly site, and PASTE it into an Open Office Document. The first time Open Office died, and the file was shown as requiring recovery. I did the recovery, opened it again with Open Office Document, and then the whole Ubuntu system crashed. I rebooted, and had to go through a long complicated reconstruct procedure. I thought perhaps I would have to install everything from scratch, but fortunately, Ubuntu repaired itself. Moral to story is paste into GEDIT and save, which I guess eliminates whatever hidden characters are in the webpage which cause Open Office to crash the system.

There, I found a link to download all the source code from the book.

I downloaded the zipped file of all the source code.

Next, I went to the source code for chapter 1. They have a beginning version (which I guess you make changes to, and then a final version).

I tried to copy and paste report.html to var/www which is where Apache wants to find pages loaded from local host. I was not allowed to paste because I do not have superuser privileges. So, I went to terminal and typed SUDO GEDIT, which gets me into gedit with super powers, so I can now navigate to the unzipped code in my DOCUMENTS in a special folder I created, open report.html, then do a save as to var/www.

THIS WORKED, because now, when I open Firefox and key in localhost/report , it runs the Chapter 1 example webpage.

FOR MY NEXT TRICK, I must figure out how to copy a chapter 1 tutorial image of a dog (fang.jpg) from the location where it unzipped (in a folder in my Documents) and copy it into var/www where I do not have Admin privileges. SO, I open my OReilly handbook of Linux commands and find the CP command. I open a TERMINAL session and key in SUDO CP which I know will executed it with super admin privileges, but NOW I do not have a clue as to what the PATH names are for the file source and destination.

I am permitted to copy fang.jpg from the unzipped file into DOCUMENTS, just to simplify things.

Using PLACES -> COMPUTER, which brings up the FILE BROWSER, I first navigate to home/Documents and I RIGHT CLICK on the fang.jpg image, and click on PROPERTIES which will SHOW ME that the path is
/home/bryan/Documents/fang.jpg (I use bryan as my user name, but that is my step-son’s name). Next I do the same right click trick on any file which is already in var/www such as report.html, and I discover THAT path, which tells me that the command I should issue in TERMINAL is

sudo cp /home/bryan/Documents/fang.jpg var/www/fang.jpg


Then I realize that I should close my other applications, because they are somehow LOCKING UP something that the CP command needs. Sure enough, once I close a bunch of applications, the SUDO CP command asks me for the PASSWORD and then copies fang.jpg to var/www

I can now bring up the image by opening Firefox and typing


into the browser address field.

NOW that fang.jpg is in var/www, if I once again open Firefox and type

the exercise 1 page loads and also shows the picture of the little dog fang.jpg

I still need to copy report.php and style.css from the place where they unzipped to var/www. Since I can launch gedit with sudo and have superadmin powers, I may open them in that fashion and do a save as.

I ran the finished example, hoping that it would actually send me an email.

I realized that I must examine my php.ini and somehow reconfigure it. I went to some pains to locate that file, but did not post notes as I went, and now I must reconstruct what I did. I still have not succeeded in getting the app to actually send an email through php. But I feel it is more essential for me to move on to other lessons in the HEAD FIRST book.

The Ease and Difficulties of Wubi Ubuntu

November 11, 2009


Each time I uninstall and reinstall Wubi Ubuntu, I begin posting each move step by step at the top of this post.

Realizing that my Ubuntu was hopelessly trashed by the fixes I had attempted. I do notice that defrag sits for a long time saying 1% done, and then it moves along quite quickly.

Judging from my previous reinstall, it should take 30 minutes for Wubi running in Windows to download the ISO from bittorrent, and then 30 minutes to reboot into Ubuntu and finish the install under running under Ubuntu (and not under Windows).

1)click on the shutdown button
2.) Reboot in Windows
3.) go to control panel TO add/remove programs and REMOVE Ubuntu.
4.) Reboot in SAFE (F8) mode to do a cleandisk, and a defrag. I am curious if there will still be the same 17gig unmoveable area of root.disk, or will it have grown larger?

Defragging should not take nearly so long as it did the first time.

While I wait for the defrag to finish, I am going to reassemble here from my notes what I believe are my subsequent steps.

Here is the link to the page which starts the Wubi install:

I realized I am going to be reinstalling frequently, so I have a shortcut on my desktop to the initial download of the installer from Wubi.

DEFRAGGING just finished, taking only about 10 minutes. I see that boot.disk is still 17 gigs and undefraggable (unmoveable) so at least it does not grow in size with each install. So now I shall reboot into regular windows, click on Wubi installer on my desktop, and an hour from now, I shall have the pleasure of repeating the other steps, namely, get wi-fi belkin adapter talking to Internet, TEST WITH FIREFOX TO SEE THAT I REALLY HAVE A CONNECTION, use synaptic manager as I guess which packages I need for apache php mysql and phpmyadmin.

I notice with some irony that I am commencing the Wubi Install at 3:45 a.m. and it was exactly 3:45 p.m. the PREVIOUS time I reinstalled, and I was finished by 4:30p.m. so lets see if it really only takes 45 minutes again.

I admire the ruggedness of XP on this Old Compaq to take such a licking and keep on ticking. On Line Armor fire wall, Avira antivirus and malwarebytes scanner seem pretty quite during all this. I was doing a number of virus scans in between, but I see they are clean, so I wont bother. I notice many people saying that Linux/Ubuntu is rather immune to viruses, and if on has an antivirus, it is only to scan emails and attachments destined to be sent to Windows machines.

With each new reinstall, I make a little more progress, and a few less mistakes. My next trial, when these installs are done, is to solve the reason why I cannot log into phpmyadmin with a user name and password, even though the install process PROMPTS me for a password. One post I found said that mysql default user is root and the password is blank. We shall see.

My reinstall took less than 45 minutes.

I am now logging in and will connect to my Belkin WIFI adaptor 1st thing.

At the top of the screen on the Ubuntu Desktop is a band called the Launch Pad, with some button icons, the most impressive of which is Firefox. Next to that is System -> Administration-> Network Tools


Now at the top right of the screen, on the launch pad, click the left most icon which represents wireless, and click on your routers wireless address. Mine happens to have a WEP KEY 40/128 bit key, but there are other choices. Key in the WEP key. Click CONNECT, AND immediately when it says connected, click on Firefox and go to any website, just to make certain, because If you THINK you are connected and you are NOT then the synaptic manager will give you lots of trouble and you wont understand why.


You will be prompted for your password, so give the password that you entered at the very beginning of the install.

Click on SETTINGS -> REPOSITORIES -> and see that Download From is UNITED STATES. If you cant find the apache php mysql packages, go back to this setting and choose MAIN SERVER. Although I think for this one I will go with MAIN..

Close the SETTINGS window. Look at the left of the Synaptic Manager and make certain that ALL is clicked. At the right you will see hundreds of packages to browse through, plus a search field. The search field does not seem to work, so page down until you see Apache2. Click on the box at the left next to Apache2 and MARK for installation. You will be shown a number of other packages that will be included. Click on MARK at the lower right of that window. Next, click on APPLY at the top of the synaptic manager window. A second window will pop up and you click on APPLY in the lower right of that window. A progress bar will show you that 9 packages are being installed. Finally you will see a window that says CHANGES SUCCESSFULLY APPLIED, AND YOU will click CLOSE in the lower right.

Now, click on the Firefox icon in the launch pad, click ONCE, and when the browser comes up, enter localhost in the URL field. IF the Apache install was successful, you will see a screen that says IT WORKS!

Return to the Synaptic manager, which should still be open, and scroll down all the choices until you see php5. Mark that for install, and it should say that three packages will be installed, and on apache package will be removed. Click MARK in the lower right, and then click APPLY in the Synaptic Manager window.

We will test to see that php has been installed by doing as follows:

But BEFORE we do this, we must run the TERMINAL and issue the following command:

sudo /etc/init.d/apache2 restart

This will restart apache and allow it to SEE the php we have just installed.

I wanted to verify that php works by using gedit directly from the menu, to add a file to www/var/test.php and gedit said I do not have permission. BUT I remembered an earlier tutorial that had me do the same thing using the TERMINAL, which is as follows:

From TERMINAL key in:
sudo gedit /var/www/testphp.php

THE sudo COMMAND automatically grants me admin rights (super user I think, su). Then, type:

and , save the file
THEN, in Firefox browser, enter the address:


and if PHP is properly installed (which it now is) you see a detailed report of the status and settings of PHP.

By the way, you should know that you may copy from any web page into your paste buffer, click on the terminal, click edit, and choose PASTE to past the command into the TERMINAL for execution.

Now return to the Synaptic Manager and find Mysql-server, mark and apply.

And when that is done we will install phpmyadmin.

All I need to do is launch the Firefox browser and enter http://localhost/phpmyadmin/ and I am IN!
which I learned from THIS TUTORIAL

I discovered quite by accident that what I must do BEFORE phpmyadmin will allow me to log in with my user name and password is launch the TERMINAL and issue the following two commands:

sudo /etc/init.d/mysql stop

sudo /usr/sbin/mysqld –skip-grant-tables –skip-networking &

This stops the mysql daemon process and then restarts it, telling it to Start the mysqld demon process using the –skip-grant-tables option. Because you are not checking user privs at this point, it’s safest to disable networking.

I am sure there are many things I must learn and do to correctly configure mysql, but at least I have the beginnings of something that I can log into and begin creating tables, and php pages that manipulate the data in those tables.

My latest (I think the 4th or 5th) reinstall of Wubi Ubuntu 9.10 took exactly 1 hour (30 minutes to download the ISO from torrent and 30 minutes after reboot into Ubuntu to setup configure automatically) and this was on a Compaq Presario running Windows XP Home edition. I close that screen, the little icon whirls for a bit and SUCCESS, I AM CONNECTED WITHOUT THE FREEZE AND REBOOT.

Now, I click on Applications at the left, hover over ACCESSORIES, and navigate to TERMINAL, RIGHT click, and ask that the Icon be placed on my LAUNCHER PANEL, for convenience, because I am going to be using TERMINAL to issue Linux commands.

Now, at the top of my desktop to the right, which is called THE LAUNCHER PAD, I highlight SYSTEM and hover over SYNAPTIC PACKAGE MANAGER, which so far, in my experiments, seems to be the soundest and most straightforward method to install new applications, and I am going to attempt to install Apache, PhP and MySQL (LAMP). The Synaptic Manager first prompts me for my password, because it is going to alter the system and needs administrative rights. The user name and password are what you entered early on in your Wubi install.

NOW COMES THE STRANGE AND INEXPLICABLE PART OF THE SYNAPTIC MANAGER. I must browse around and locate the proper packages for Apache, MySqL AND PHP. And one does not always see the same choices displayed. I have to play around with different Internet sources which POPULATE the synaptic manager with packages. I switch from the USA server to some MAIN server, and now I am beginning to see packages that LOOK like what I need.

Finally, I spot Apache2. I click the little checkbox to the left to mark it for install. The synaptic manager AUTOMATICALLY chooses all the other packages that need to be installed with it and shows me a list. I click on MARK and then APPLY, and the install begins, tellig me that 6939KB of disk space will be used.

The PROOF that Apache has successfully installed is to launch the Firefox browser (which is in the top launch pad), and key into the browser address field: localhost. If Apache was successfully installed, a page should display which simply says IT WORKS!

The Synaptic Manager cannot install my packages for Apache right now because it cannot resolve certain things from the Internet repository. If one clicks on REPOSITORIES in the Synaptic manager one can see servers around the world, and choose different ones and reload.

Meanwhile, I did notice php5MySQL so I am MARKING that, but doing so simply ADDS that package to the Apache packages, so it will STILL have a problem resolving. And yet YESTERDAY I had no problem installing LAMP with the Synaptic Manager so perhaps later on or tomorrow, a server will be working.

SO, for now, I will shut down Ubuntu, and to do so, I will right click on the LAUNCH PAD (the bar at the top of the Ubuntu desk top) and I will choose to ADD an application to the launch pad, and I will choose ADD TO PANEL, and click on SHUTDOWN (which had a red icon with a circle in it and a notch at the top of the circle). This way, I can always click on that to power down.

(a few hours later) STUPID ME. I did succeed in making Ubuntu connect to my Wi-fi. I said it was connected. But I should have launched Firefox to confirm that I can get to places like

The reason the Synaptic manager was acting funny was because it did not really have Internet access. I went out to do some errands, and decided to leave Ubuntu running, just to see how long it stays stable. When I came back, I tried to use the browser, and realize that I wasnt really connected. I clicked the Internet section of Administration, played around, disconnected, connected, it prompted me again for the WEB key, and NOW I had Internet. And NOW suddenly I could install all the Apache, PhP and MySQL packages.

I wanted to verify that php works by using gedit directly from the menu, to add a file to www/var/test.php and gedit said I do not have permission. BUT I remembered an earlier tutorial that had me do the same thing using the TERMINAL, which is as follows:

From TERMINAL key in:
sudo gedit /var/www/testphp.php

THE sudo COMMAND automatically grants me admin rights (super user I think, su). Then, type: , save the file
THEN, in Firefox browser, enter the address:


and if PHP is properly installed (which it now is) you see a detailed report of the status and settings of PHP.

I also installed phpadmin, but I have to figure out how to launch it.

AHA, PROBLEM SOLVED! All I need to do is launch the Firefox browser and enter http://localhost/phpmyadmin/ and I am IN!
which I learned from THIS TUTORIAL

EXCEPT, now that I am IN the PhPMyAdmin login screen, it will not accept my password.

SO, I am following the tutorial at THIS LINK

I TRIED a number of things, and one of them, which was a “last resort” wiped out a number of applications already installed including open office, which is now no longer on the applications menu in the launch pad at the top of the screen.

SO, I am going through the huge list in the synaptic manager, and marking what I think I need for REINSTALL, and it is now downloading 300 packages for install. I doubt that this will work, but I want to see what happens, and what its like. I would even be curious to mark each and every package for install, just to see how big the Ubuntu installation would become. But what I will probably have to do is uninstall and reinstall Wubi Ubuntu, and work from my blog post notes to get it going again. I found a bunch of links addressing the problems of phpmyadmin and not being able to log in with user password. So I will keep on trying to keep on trying.

I am now entering Ubuntu for first time after this install, and my first task is to learn how to set up wi-fi to recognize my Belkin adaptor in an orderly fashion, without the system freezing and necessitating a reboot.

At the upper left of the Ubuntu desktop, I click on system -> administration -> Network Tools (which opens to the DEVICES TAB) THEN drop down the NETWORK DEVICE can choose WIRELESS INTERFACE. Next, I close those, and move to the right top of the Ubuntu desktop, and click on the left most WIRELESS icon, and click on CREATE NEW WIRELESS NETWORK. It is asking me for the NETWORK NAME, and that for me is a series of numbers, but other people actually make up a name in their router (one humorous one in my building is GET AWAY!!!). I am ready to enter my WEP key, and I am GUESSING that it is WEP 40/128 bit rather than WEP 128 bit (but I am not sure).

I would like to see everyone who is interested in Wubi installs in particular and Ubuntu Linux in general to collaborate in the production of a reliable step-by-step tutorial which anyone of average abilities can follow, to:

1.) Prepare a Windows machine (new or old), for the Ubi Install
2.) Select with care which adapter they will use for connection to Internet.
3.) How to may Ubuntu talk to that Internet adapter and wi-fi.

By the way HERE is one example at Dell’s site of one persons solution to creating a driver for a Wi-Fi adaptor. I merely post this to point the way to Dell Ubuntu forums as just one example of how serious Ubuntu is becoming as a choice in the marketplace.

Also take a look at these DIGG posts regarding the Moblin Linux Remix that is in the developer state.

4.) How to install LAMP (Linux Apache MySQL PhP)
5.) If possible how to install a Gui Admin tool for MySQL THAT APPEARS ON THE DESKTOP.
6.) Step by step how to build a simple but complete application which includes member login, email verification, and all that is necessary to safeguard against SQL injection into PHP.

IF WE CAN SUCCEED IN PRODUCING SUCH A TUTORIAL, then many around the world shall benefit by being empowered to migrate to Ubuntu, and Ubuntu itself as a community will grow stronger and more dominant in the workplace because our strength is in our users and the strength of each user is the tools and tutorials to build stable hardware software configurations which accomplish their tasks and goals in a sound and stable fashion.

1.) Made certain that the computer is as clean as possible of trojans and viruses by using Avira Antivir and Malwarebytes and then installing Online Armour firewall so that when you are in Windows, you will be protected against malware.

2.) Be certain to boot into SAFE MODE (holding down the F8 key as the machine starts to boot) and perform all virus scans a second time in SAFE MODE.

3.) Once you are certain that your machine is clean and your firewall is well trained in what is safe and trusted, then, delete or archive off line all unnecessary data so as to have the most disk space possible, and then run CHKDSK, DISKCLEANER, and then DEFRAG. It is important to run the defragger BEFORE you install Wubi Ubuntu, because the ROOT files in the Ubunto folder will be marked as not-moveable (and hence not defraggable).


The following link is all you need, in Windows, in your browser, to
start the Wubi install of Ubuntu (Linux/Unix), onto your Windows drive, with no partitioning, with all Linux files located in one windows folder which may be deleted in the event of an uninstall, and only a boot option to select Windows or Ubuntu.

I have installed and uninstalled Ubuntu about 4 times in the past two days for reasons that I shall explain.

You may REMOVE Wubi installed Ubuntu with the Control Panel ADD/REMOVE option, just as you would remove any other program.
The uninstall does NOT remove the dual boot option, but perhaps there is some way to do that, if desired.

Here is the link to the page which starts the Wubi install:

The install takes an hour using my Verizon DSL.

The install is totally automatic. Only towards the end will it ask for a name for login and a password. Then it will reboot, and you simply choose Ubuntu instead of Windows. When you first boot into Ubuntu, the install continues for about 30 minutes.

IF you have no intention of installing things like LAMP (Linux Apache MySQL PHP) then you are done, because you have an Ubuntu desktop with Firefox, Open Office, and many sorts of utilities.

BUT your next task will be to get Ubuntu connected to the Internet.

I already have a Belkin USB Wi-Fi connector working in Windows.
It took me several hours to figure out how to make this work, but when you know, it is rather simple. If you look at the upper right of your desktop, you will see a little icon which drops down to offer selections for Internet connection, one of which is Wi-Fi). You will see all the Channels available. You need to know the name of YOUR channel and the WEP KEY. I click on MY channel, and then, the whole system freezes. I have to power down and reboot and reenter Ubuntu. Once Ubuntu reloads, it will prompt me for the WEP key (and remember the key for furture sessions). There is probably a better way to do this which would not involved rebooting, but I found something that works, and I dont feel like experimenting more right now. (Note: since this post, I have decided to delete Ubuntu and reinstall, and determine an exact method of connecting to wifi with a WEP key WITHOUT have the machine freeze and having to reboot, which might result in some damage to the more fragile file structure of Ubuntu running on Windows folders and files.)

But, in all my searching in Google, it seems to me that there is no one tutorial which addresses all the things I need to do to get Ubuntu and Wi-Fi working, and then install Apache, MySQL and PHP.

In fact, part of my reason for posting this is so that I may document what I did over several days and remember it if I have to do it again in the future. I am posting this right now from a Foxfire browser running in Ubuntu.

AS I WAS TYPING THE ABOVE SENTENCE, Ubuntu froze up and I had to reboot. Now it is possible that part of the problem is the old Compaq I am using, with XP, service pack 2. I tried to clean it up as much as possible before embarking upon this Ubuntu experiment. It is to the credit of WordPress that I did not lose a sentence of this post, even though I had to reboot (however, I published and updated it frequently, out of fear of losing my work.)

I may be getting an old tower from someone, so I will have a spare machine to install Ubuntu from a CD, and totally reformat the drive, so that there will be no Windows involved. Ubuntu impresses me enough to make me want to put in the effort to experiment, and see if I can make it work.

I did google to see if there are any Wi-Fi USB adaptors which come with Linux drivers. I did find one, which I shall describe here and post. One forum pointed out that there are WRAPPERS, that can wrap around the windows driver and be used in Ubuntu, but a native driver is preferable to a wrapper. Also, if you put a wrapper around the windows driver, then you are tied to the user agreement for that driver (I mean, it is not purely open source).

HERE is the link I found about a wireless wi-fi adapter that supposedly works with no effort in an Ubuntu machine.

The AWLL3028 features a compact design and compatibility with USB 2.0 ports. Includes wireless encryption data with 64/128/152-bit WEP. Also backward compatible with 802.11b.

HERE is the link which alerted me to the above AIRLINK adapter.

I spent a lot of time a few years ago, playing around with WAMP which is Apache, MySQL, pHp under WINDOWS (while LAMP the same package under Linux). Remember that Ubuntu is a flavor of Linux which in turn is a flavor of Unix.

Having WAMP on your Windows machine allows you to have your own private Internet server (even if you are not connected to the internet). You can create SQL databases using MySQL, and you can create webpages using php which QUERY tables in your database, and add/modify/delete records.

So my next task was to find out how to install Apache and MySQL and PHP on my new Ubuntu install.

I will tell you up front what finally seemed to work for me, and then I will backtrack and explain the ways that didnt seem to work.

THIS link explains how to install software in Ubuntu using what is called System >> Administration >> Synaptic Package Manager.

I had to hunt around in that Synaptic Package Manager and kind of guess which installs had words like Apache, PHP, and MySQL. But once you find what you need, you just click a little box, and they install automatically.

I am positive that once I go to the huge Barns & Noble store near Union Square, I shall find books which talk one through these Ubuntu installations.

Once I had Ubuntu installed, and connected to the Internet through the Wi-Fi USB Belkin adapter, I was DESPERATE to learn how to install ANYTHING at all, and have it show up on the desktop.

I decided I would try to install AVG for Linux. I downloaded the package (named .deb for Debian which is what Ubuntu is compatible with)… I downloaded the file under Windows. Then, I booted into Ubuntu and navigated the file explorer to HOST which is actually drive C and all the Windows folders.

Once the AVG .deb file is downloaded, you boot into Ubuntu, locate the file, right click on it, and it offers you the option to install it into Ubuntu. Now the first great mystery after it installs is WHERE did it install. And the second great mystery is HOW might you place it as an icon on a desktop menu.

I never found out how to execute AVG. I now suspect that one gets into the SHELL and issues command lines to invoke these various programs. I further imagine that there is some was to create a batch script file of all those commands and place that on a menu.

I tried so man diffent ways to install things, that the files in the Ubuntu windows director became corrupted, and UNINSTALL could not delete them. I had to boot several times in Windows and Ubuntu and safe mode, with the compute hanging, until suddenly, the computer informed me that it was doing CHKDSK to repair whatever was wrong. Only then could I boot into windows and uninstall the corrupted version of Ubuntu. This is an illustration of the fragile nature of Wubi Ubuntu running under Windows.

Tonight, before I go to sleep, I am going to set DEFRAG running, which should take something like 5 or 10 hours.

After one succeeds in installing Apache, the test to see if it is working is very simple. Get into a browser and type “localhost” and it will pop up with a screen that says IT WORKED!

The way to test out MySQL is to click on a little black windowed terminal program, and get into SHELL. One must issue an SU command, and be prompted for the root password, so that one may issue these commands in root with admin status.

Here is the tutorial which helped me to ender the shell and issue MYSQL commands.