Ubuntu
Initial Setup
Much of this section is borrowed from http://www.howtoforge.com/perfect-server-ubuntu8.04-lts and http://www.howtoforge.com/how-to-install-ubuntu8.04-with-software-raid1, they are well worth a read!
This section will create a Ubuntu VM installed on one partition, software RAID'ed across two VMDK's (my ESX's storage isn't resilient, hence the software RAID across VMDK's on separate physical disks, if you've got resilient storage you should not use software RAID).
Prepare Virtual Machine
- Create a virtual machine with the following options (use Custom)
- Guest OS: Linux > Ubuntu 32bit
- CPU: 1
- Memory: 756 MB
- Disk: 36GB
- Then add a second 36GB disk on a separate physical datastore (if you intend to use software RAID)
- Attach Ubuntu install ISO to the CD-ROM
OS Installation
Follow the default or sensible choices for your locale, however, use the following notes as well...
- Configure the network
- Enter the server's hostname (not a FQDN, just the hostname)
- Partition Disks
- If setting up software RAID follow the steps below, otherwise just select Guided - use entire disk and set up LVM
- Select "Manual
- Then create a partition...
- Select the first disk (
sda
) and on the next screen, Yes, to Create new empty partition table on this device? - Select the FREE SPACE, then Create a new Partition, and use all but the last 2GB of space,
- And then select type of Primary, and create at Beginning
- Change Use as to physical volume for RAID, and change the Bootable flag to Yes, the select Done setting up this partition
- Select the first disk (
- Repeat the above on the remaining FREE SPACE on
sda
, to create another primary physical volume for RAID, but 'not bootable - Select the second disk,
sdb
, and repeat the steps taken forsda
to create two identical partitions - On the same screen, select the Configure Software RAID option (at the top), and then confirm through the next screen
- Create a RAID pack/multidisk...
- Select Create MD device, then select RAID1 (ie a mirror), then confirm 2 Active devices, and 0 Spare devices
- Select both
/dev/sda1
and/dev/sdb1
partitions, and then select Finish
- Repeat the above to create a RAID volume using
/dev/sda2
and/dev/sdb2
partitions - Now select the RAID device #0 partition (select the #1 just under RAID1 device line), and change the Use as and select Ext3...
- Change the Mount point to /, then select Done configuring this partition
- Now select the RAID device #1 partition (select the #1 just under RAID1 device line), and change the Use as and select Swap area
- Then select Done configuring this partition then finally Finish partitioning and write changes to disk, and confirm to Write the changes to disks
- Accept the "The kernel was unable to re-read...system will need to restart" complaints for each RAID multidisk, after which the install will continue (note there's a little more to do post install to ensure you can boot using the second disk should the first fail).
- If setting up software RAID follow the steps below, otherwise just select Guided - use entire disk and set up LVM
- Software Selection
- DNS Server - Only required in order to configure split DNS, which is required for an exchange server install
- OpenSSH Server - Required (allows you to Putty/SSH to the server)
Post OS Install Config
- Enable Root
- Use the command
sudo passwd root
- Enter user password, and then a strong password for the root account
- Use the command
- Finish Software RAID config - only if configured during install
- Start-up grub (by entering
grub
and enter the following commands (seems to work better via SSH than direct console)...device (hd1) /dev/sdb
root (hd1,0)
setup (hd1)
quit
- Then edit the
/boot/grub/menu.lst
config file. Go to the end of the file where the boot options are, and create a copy of the first option and edit the following linestitle
Add "Primary disk fail" or something similar to endroot
Changehd0
tohd1
- To check the RAID setup of your drives use
mdadm --misc -D /dev/md0
mdadm --misc -D /dev/md1
- Start-up grub (by entering
Change IP Address
- Edit the
/etc/network/interfaces
file in the following fashion
# The primary network interface auto eth0 iface eth0 inet static address 192.168.1.150 netmask 255.255.255.0 network 192.168.1.1 broadcast 192.168.1.255 gateway 192.168.1.1
- Then check the local hosts file
/etc/hosts
, so that the IP v4 part looks like...
127.0.0.1 localhost 192.168.1.150 mail.home.int mail
- Check that DNS resolution is setup correctly (add DNS nameservers as required, as found in
/etc/resolv.conf
in order of pref...
nameserver 127.0.0.1
- Then restart networking
sudo /etc/init.d/networking restart
Install VM Tools
The pre-built modules that come with the VMTools installer aren't compatible, therefore the script needs to be able to compile them, however the required library files aren't available by default, so the procedure is a little laboured.
Ubuntu 8.04.4 LTS
- Install the build library files...
apt-get install build-essential
apt-get install linux-headers-2.6.24-26-server
- Use
uname -r
to get the right headers version number
- Use
- Select "Install VM Tools" from the VI Client
- Mount the VM Tools CD-ROM
mount /media/cdrom0/
- Copy to home directory
cp /media/cdrom/VMwareTools-4.0.0-219382.tar.gz /home/user/
- Uncompress and then move into the
vmware-tools-distrib
directorytar xf VMwareTools-4.0.0-219382.tar.gz
cd vmware-tools-distrib
- Run the install script
./vmware-install.pl
- Restart
shutdown -r now
Ubuntu 10.04.1 LTS
VM Tools can be installed via two methods, neither of which is ideal...
- Using the normal VM Tools CD - requires additional library install and sometimes mounting the CDROM doesn't work too well.
- Using APT package manager - doesn't work quite as well as it could (upgrading VM Tools isn't supported), and support for this method is rumoured to be dropped in future releases
VM Tools CD
- Install the build library files (not required for ESX v4.0 update 2 and later)...
apt-get install build-essential
- Select "Install VM Tools" from the VI Client
- Mount the VM Tools CD-ROM
mount /dev/cdrom /media/cdrom/
- If
/media/cdrom/
doesn't exist, create withmkdir /media/cdrom</cdrom>
- If
- Copy to tmp directory (version number below will vary)
cp /media/cdrom/VMwareTools-4.0.0-236512.tar.gz /tmp/
- Unmount the CD-ROM, and move into tmp directory
umount /media/cdrom/
cd /tmp/
- Uncompress and then move into the
vmware-tools-distrib
directorytar xzvf VMware*.gz
cd vmware-tools-distrib
/
- Run the install script, and accept defaults
./vmware-install.pl
- Restart
shutdown -r now
APT Package Manager
- Install VM Tools using apt package manager
- Open VMware Packaging Public GPG Key at http://packages.vmware.com/tools/VMWARE-PACKAGING-GPG-KEY.pub
- On the server open a new file called
VMWARE-PACKAGING-GPG-KEY.pub
with the /tmp
directory
- Copy and paste the contents of the webpage into the file and save
- Import the key using the following command
apt-key add /tmp/VMWARE-PACKAGING-GPG-KEY.pub
- You should get
OK
returned
- If you need to add a proxy see http://communities.vmware.com/servlet/JiveServlet/download/1554533-39836/Vmware%20Tools%20Guide%20Linux%20osp_install_guide.pdf
- Open a new vi in VI called
/etc/apt/sources.list.d/vmware-tools.list
- Add the following line
deb http://packages.vmware.com/tools/esx/<esx-version>/ubuntu hardy main restricted
where <esx-version> is the appropriate esx version found at http://packages.vmware.com/tools/esx/index.html
- Update the repository cacahe
apt-get update
- Install VM Tools
apt-get install vmware-tools
Update the OS
- Run the following command to update the apt package database
apt-get update
- To install any updates
apt-get upgrade
Random Settings
\tmp
Boot Time Clean-up
The files in /tmp
get deleted if their last modification time is more than TMPTIME
days ago.
- Edit
/etc/default/rcS
- Change
TMPTIME
value to specify no of days
- Use
0
so that files are removed regardless of age.
- Use
-1
so that no files are removed.
Packages
Commands
Command
Purpose
dpkg --get-selections
Show installed packages
dpkg -L php5-gd
Show file locations of php5-gd
package
apt-get update
Update the package database
apt-get install <package>
Install the <package>
package
apt-get upgrade
Upgrade installed system and packages with latest levels in package database
SNMP
Be aware that SNMP may already be installed on your system, but not in the default place, for example it can be installed with Zimbra, in which case the config file can be found in a different place (eg /opt/zimbra/snmp/conf/snmp.conf
. If there's an existing snmpd service running, its unlikely you'll want to install a second!
Setup
- Run the following command to update the package database
apt-get update
- Run the following command to install SNMP
apt-get install snmpd
- Create config file with contents as shown below
vi /etc/snmp/snmpd.conf
- Edit SNMPD config to allow remote polls
vi /etc/default/snmpd
- Remove
127.0.0.1
from line below
#snmpd options (use syslog, close stdin/out/err).
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
- Restart SNMP
/etc/init.d/snmpd restart
- Test with the following, replacing <hostname> with server's hostname
snmpwalk -v 1 -c public -O e <hostname>
rocommunity public
syslocation "CR DC"
syscontact info@sandfordit.com
MySQL
Install
- Run the following command to update the package database
apt-get update
- Run the following command to install MySQL
apt-get install mysql-server
To allow access from remote hosts...
- Open MySQL service TCP/IP port by editing the
/etc/mysql/my.cnf
config file and restarting
- Change bind IP to server's IP, EG
bind-address = 192.168.1.123
- Restart service
/etc/init.d/mysql restart
- Allow remote access to a user account
- EG
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'pass' WITH GRANT OPTION;
Backup
http://www.cyberciti.biz/faq/ubuntu-linux-mysql-nas-ftp-backup-script/