Kubuntu Perspectoff Setup
From Kubuntuguide
This wiki page is under construction August 2009. Use it with a grain of salt.
Contents |
Introduction
I use several different types of servers: Kolab groupware, standalone DAViCal group calendar, Mediawiki, Drupal, Moodle, and WorldVistA EMR. I can run all of these from the same server.
These instructions are for my home server setup, which is a single box. I also have virtual machine setups.
These instructions are oriented towards the home hobbyist or small website administrator. It will take about a day to install a system using these instructions. That doesn't include adding your content (for Mediawiki, Drupal, group calendar, Kolab groupware), of course!
Install multiple operating systems
I bought my computer with MS Windows on it. (It was just cheaper to buy with Windows pre-installed.) I don't use Windows very much anymore, but there are some programs that I like to test on Windows (so I keep it installed on its own partition). Besides, if I buy a new box and give away my old one to someone who uses Windows, it only takes me a few minutes to configure the system for them.
I use these tips almost to the letter. In keeping with the instructions, I have 3 primary partitions and one extended partition. I use the first primary partition for Windows, my second primary partition as a master GRUB partition, the third primary partition as a FAT32 filesystem spare (I don't use it for anything at the moment), and the fourth partition for the extended partition, into which all my Linux operating systems are installed.
The fourth partition is divided into 4 logical partitions: the first is the linux swap partition (used for all the Linux installations), which is 2 Gb (equal to the amount of RAM in my computer. In general, more than 2 Gb is generally not necessary). Then I make three ext3 partitions, into each of which I place an independent Linux (Ubuntu server) operating system.
I have three Linux installations because I have one production ("live") server, one demo server that I only use from time to time, and one test server (on which I experiment and test new setups). I strongly recommend that you have at least two Linux installations -- one production ("live") installation and one (nearly identical) installation for experimenting. You will be very sad if you screw up your main installation while experimenting on it (trust me).
So, the method involves using GParted to create partitions. Then, using the Ubuntu (Jaunty) Server LiveCD, one Linux OS is installed to the second logical partition of the extended partition (because the first logical partition is the linux-swap partition). During the installation process, GRUB is installed to the Master Boot Record, but the files are installed on the first Linux OS partition. So the GRUB files are then copied from the Linux installation to the GRUB partition. The master GRUB menu.lst there is edited to plan for the multiple installations (so that there are three Linux chainloader entries, as well as the Windows chainloader entry). Then the GRUB installation is tweaked to make sure it reads the installation files from the GRUB partition.
I tend to make my Linux OS installations nearly identical, so that I can use a successful setup from the experimental installation in the production ("live") setup.
So I install my two additional Linux installations into the remaining two logical partitions (of the extended partition).
Server installation options
During the Ubuntu Server installation, you can select some tasks as part of the installation. I like to do this.
I happen to like PostgreSQL as a database, but some programs require (or work better with) MySQL. So I end up installing both. I select both the LAMP task (the M stands for the MySQL database) and also the PostgreSQL task. I install the DNS (bind) server, the OpenSSH server (so I can access from remote locations), the Samba server (for serving files to Windows networks), and the CUPS print server (although this is not necessary if you will install the desktop, since it is installed as part of the desktop, as well),
I do this for all installations.
I make a file of passwords in a small notebook. During installation, a root password for the master MySQL database is requested. This is important not to forget. Because this is potentially discoverable by someone who has administrative MySQL privileges, it is best to make this password different from your system's root password. However, if you are the only user on your system, you can make them the same for ease of memory. Remember, this is the "root" user and password for the MySQL master database only.
Post-installation tweaks
- Set a root password using
sudo passwd root
- Upgrade the installation to the current modules:
sudo apt-get update sudo apt-get upgrade
- Edit the local bootup menu so that it is quicker and get rid of extraneous info:
sudo nano /boot/grub/menu.lst
I then make the timeout a quick 2 seconds, and erase all the extra installations at the bottom of the page, leaving only the first entries for the current installation. I don't need the rest listed here because the original GRUB menu lists them as chainloads anyway.
- I happen to like the Kubuntu desktop, and like to do a lot of things from the desktop GUI:
sudo apt-get install kubuntu-desktop
- I happen to like using Java and some multimedia codecs, so I install the restricted extras package from the command-line terminal (it works better this way than from a package manager):
sudo apt-get install kubuntu-restricted-extras
- I like to have a home folder that can be shared by all users, with folders for things like icons and screensaver pics. I like to use Dolphin (as root) to make a lot of system changes to protected files, including changing permissions:
sudo dolphin
- I am on a LAN that uses a Samba workgroup name, so I change it in my Samba configuration file:
sudo nano /etc/samba/smb.conf
- Set up the server so it has a static IP on the LAN.
Favorite desktop programs
I like to use the following and install them through a package manager:
- Firefox (3.5, currently), with Noscript and Adblock Plus
- Firestarter (firewall)
- clamav (antivirus checking for Windows files)
- chkrootkit (rootkit checker)
- rkhunter (rootkit checker)