History / Status
Introduction
All of our servers will start with this install. This base server is based on Fedora Core 5. This howto is like the base server setup for FC5 but slightly modified for a xen guest. The install will be done using disk images.
This howto assumes that you already have a xen host server setup and functioning. I'm also assuming that you are logged into the real server via ssh and also have a VNC client to access the Xen guests during setup.
Initial Setup
Not much we need to do here. Create a directory for the Xen disk images.
> mkdir /xen
Since the install will occure over the network be sure that you have a url to a Fedora Core 5 install tree.
Initial Install
FC5 provides a nice utiltiy to get things going. So type:
> xenguest-install.py
- The name of the virtual machine will be server-base
- The RAM allocation should be set at 256 for install purposes
- What we want to use as the disk is /xen/server-base.img
- The size in gigabyte we'll set to 5.0. please note that this is the max size the image will get. This is a sparse file whichc will only use as much hard disk space as needed.
- Set the install location to the appropreate place. ex. http://www.somedomain.com/fc5
The installer starts in text mode. So set your language and your country. Setup your networking as required. Finally we get the chance to choose vnc for the rest of the install. Select vnc to continue.
Use your vnc client to connect to the graphical install.
- The first complaint it will have is about your hard drive. When it asks you about partitioning your drive select "Remove all partitions on selected drive and create default layout".
- Click the checkbox to review and modify the layout.
- We want to change the name of the volume group. In my setup I've changed it to VGroupGuest. You want to be sure the name is different from the dom0 volume group name.
- Rename the logical volumes if you like.
- At this point you can modify any other settings you like.
- Grub and networking should already be set.
- Choose your time zone.
- set the root password.
- We don't like their default installation selections. Uncheck the check boxes and select customize now. Place a check next to webserver.
- Under desktop env. uncheck everything.
- Under applications only leave checked text-based internet.
- Under servers uncheck printing support. Put check marks by 'DNS Name Server', 'FTP Server', and 'MySQL Database'.
- Under base system uncheck 'dialup networking', 'administrative tools', and 'x windows'.
- Click nesxt. Sit back and watch the install go.
First boot
First lets start the the virtual guest.
> xm create -c server-base
The guest will boot. Let the config screen time out. Then log in.
Now we need to disable selinux.
- Edit /boot/grub/grub.conf and add selinux=0 to the kernel line. Here's an example grub file with the change.
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/xvda3
# initrd /initrd-version.img
#boot=/dev/xvda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.15-1.2054_FC5xenU)
root (hd0,0)
kernel /vmlinuz-2.6.15-1.2054_FC5xenU ro root=LABEL=/ selinux=0
initrd /initrd-2.6.15-1.2054_FC5xenU.img
- Edit /etc/selinux/config and change SELINUX=enforcing to SELINUX=disabled
- now reboot the guest. The console connection will get disconnected.
The Second Boot
Check to be sure the guest restarted.
> xm list
Everything looks good so:
xm console server-base
Login and type:
> yum upgrade
Agree to what it wants to do then set back and wait. when done reboot.
Installing Additional Packages
- Now we'll load some php modules that will cause items such as mysql to load with it.
> yum install php-gd php-imap php-mysql php-ncurses php-snmp php-mbstring
- Lets install postfix and get rid of sendmail.
> yum install postfix
> yum remove sendmail
- Some misc packages
> yum install createrepo ncftp
- I have some rpms that are not in the standard repos or they need to be recompiled. So we need setup a new repo. Here is the repo I created.
> nano -w /etc/yum.repos.d/campworld.repo
[campworld]
name=Campworld repo
baseurl=http://www.campworld.net/repos/FC5/
enabled=1
gpgcheck=0
- We are going to need gcc.
> yum -y install gcc
- We need SSL support in perl. Setup is easier if you get this installed before webmin.
> yum -y install perl-Net-SSLeay
- Now lets install webmin.
> yum -y install webmin
- Now run setup and disable the firewall.
> setup
Webmin Configuration
- Connct to the webmin server. Use the ip assigned to your server. Currently SSL is not enabled. an example URL would be https://192.168.2.2:10000
- Now configure your server.
Installing phpMyAdmin
I perfer to phpMyAdmin to manage my MySQL databases. There is no rpm for this package. This package is easy to install.
- If you haven't already done so, start MySQL.
- Its time to set the root password.
> /usr/bin/mysqladmin -u root password 'thepassword'
> /usr/bin/mysqladmin -p -u root -h localhost.localdomain password 'thepassword'
- Download the latest version of phpMyAdmin from www.phpmyadmin.net
- unpack the package
> tar -xzvf phpMyAdmin-2.8.1.tar.gz
- Move it to the appropriate place.
> mv phpMyAdmin-2.8.1 /usr/share/
- Create the apache config file for phpmyadmin and restart apache.
> echo "alias /webdb /usr/share/phpMyAdmin-2.8.1" > /etc/httpd/conf.d/phpMyAdmin.conf
> service httpd restart
- Configure phpMyAdmin
> cd /usr/share/phpMyAdmin-2.7.0-pl1
> cp libraries/config.default.php config.inc.php
> nano -w config.inc.php
- Locate each of the following lines and be sure each has the following settings.
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (con$
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = ''; // MySQL password (only nee$
- Save the file.
- now test it out.
Getting root's and other's mail
You need to get some local system user's mail. We'll use postfix's virtual file to get the emails to the right place.
- Add the following to /etc/postfix/virtual
root admin@yourdomain.com
postmaster admin@yourdomain.com
abuse admin@yourdomain.com
- Now add the configuration option to main.cf
> postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"
- Just a couple commands to wrap everything up.
> postmap /etc/postfix/virtual
> /etc/init.d/postfix restart
Conclusion
That's it for the basic server setup. This is an example of a standard linux server setup. See the other pages for info on configuring servers for virtual webhosting or virtual email hosting.
Comments
7DYHd1 Cool lol hey bla bla bla bla
JQP5sH Cool lol hey bla bla bla bla
oz4q1k Cool lol hey bla bla bla bla
YWdgWs Cool lol hey bla bla bla bla
Problems with finances, jobs, children, spouses and ex-spouses, friends, extended family, medical problems, and life-in-general are reported. ,
[