As with most things Linux some terminal commands are required in order to set up the GUI way of doing things with Apache etc.
For the purposes of this email ubuntu is being used.
First things first. In Ubuntu there is no root user. Most things are done via the sudo command in a terminal.
The simplest way to get Apache etc up and running and then configured in a GUI manner that I have come across is as follows:
1. After installing Ubuntu, install a LAMP server in a terminal using:
$sudo tasksel install lamp-server
During this installation you will be prompted to provide a password for the root user of MySQL which is a good idea (make is obscure using asterisks, %,^ and other symbols and say 10 characters long).
You can test that Apache works by:
You should see a web page saying "It works".
To test PHP5 is running probably the easiest way is to use the command in a terminal to enable PHP5, namely:
$sudo a2enmod php5
If PHP5 is running you should get a message back in terminal which says it is already enabled
2. Change the group and owner of the web server directories. This is done in terminal as follows:
where the user-id is the user you log in on the Ubuntu machine. (comment - If you can think of a better alternative I'd be interested in hearing it).
3. Download phpmyadmin
$sudo apt-get install phpmyadmin
This installs by default into usr/share/ so to make it accessible from your web browser create a symbolic link in the folder that you keep your site - var/www for this example and likely to be the same for you if you haven't changed things. In this example the symbolic link has the name "phpmyadmin" but of course you can call it what you like. Open a terminal and enter;
Now point your web browser to phypmyadmin at http://localhost/phpmyadmin if you are connecting to it locally.
You now have a web way of administering the MySQL database and can test if it is running by logging in.
4. Now for the GUI Apache admin side of things. To do this we will now install Webmin which has a web based interface (also can be used for a lot more than just configuring Apache, e.g. user accounts, DNS, file sharing etc too):
To prepare your machine you first need to install the following packages:
Next install this package using the following command
$sudo dpkg -i webmin_1.480_all.deb
This will complete the installation.
As mentioned earlier Ubuntu doesn't allow logins by the root user by default. However, the user created at system installation time can use the sudo commands to effectively switch to root. Webmin will allow any user who has this sudo capability to login with full root privileges.
Now you need to open your web browser and enter the following
https://localhost:10000/ if connecting to it locally.
When doing the above, you may at some point see a message saying "Could not reliably determine the server's fully qualified domain name". That's because DNS hasn't been configured. You can do that from within webmin, however I am yet to find the best way to do that with the machine being on my LAN and still be able to make it available over the real Internet without needing to register a website name with a DNS registrar. In the meantime, using the IP address to access things works just fine. However, it should be mentioned that while the LAMP server installs with certain defaults configured it probably isn't a fully secure locked down installation, so that will also need to be looked at, in particular regarding the Apache web server. I have my machine sitting behind a router which is a start.