Home Page

Contact Me

MAC OS X

Linux

Linux Servers Fedora Core 4

Linux Servers - CentOS

Linux Servers Fedora Core 5

Linux Servers Fedora Core 7

Linux Servers Fedora 8

OpenWRT

NSLU2

LinuxCluster

Hardware Hacking Projects

Speaker Building Projects

Electronics Projects

Other Sites





History / Status

  • DONE

Introduction

All of our servers will start with this install. This base server is based on Fedora 8.

Initial Install

Boot the install DVD.

The graphical install loads and we're ready to go.

  • Choose your language and keyboard.
  • 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.
  • Make changes if necessary.
  • 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', 'fonts', 'legacy fonts', and 'x windows'.
  • Click next. Sit back and watch the install go.

First boot

Reboot the machine when the install finishes. The OS will boot. Let the config screen time out. Then log in.

Now we need to disable selinux.

1. 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/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.1-42.fc8)
        root (hd0,0)
        kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/VolGroup00/LogVol00 selinux=0
        initrd /initrd-2.6.23.1-42.fc8.img

2. Edit /etc/selinux/config and change SELINUX=enforcing to SELINUX=disabled
3. now reboot the server.

The Second Boot

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.
    > yum install php-gd 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.
    > cd /etc/yum.repos.d/
    > wget http://www.campworld.net/repos/FC8/campworld.repo
  • 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
  • its time to get the webmin service going.
    > service webmin start
  • Now run setup and disable the firewall.
    > setup

Removing Software

There are a couple of packages we don't need. So type the following.
> yum remove cups squid

Webmin Configuration

  • Connct to the webmin server. Use the ip assigned to your server. 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.

  1. If you haven't already done so, start MySQL.
  2. 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'
  3. Download the latest version of phpMyAdmin from www.phpmyadmin.net
    > wget http://prdownloads.sourceforge.net/phpmyadmin/phpMyAdmin-2.11.2.1-english.tar.gz?download
  4. unpack the package
    > tar -xzvf phpMyAdmin.tar.gz
  5. Move it to the appropriate place.
    > mv phpMyAdmin /usr/share/
  6. Create the apache config file for phpmyadmin and restart apache.
    > echo "alias /webdb /usr/share/phpMyAdmin" > /etc/httpd/conf.d/phpMyAdmin.conf
    > service httpd restart
  7. Configure phpMyAdmin
    > cd /usr/share/phpMyAdmin
    > cp libraries/config.default.php config.inc.php
    > nano -w config.inc.php
  8. 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$
  9. Save the file.
  10. 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.

1. Add the following to /etc/postfix/virtual

 
root       admin@yourdomain.com
postmaster admin@yourdomain.com
abuse      admin@yourdomain.com

2. Now add the configuration option to main.cf
> postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"
3. 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

Add Comment 
Sign as Author 
Enter code 612


Google
 
Theme by Richard Camp
(C) Copyright 1996-2007 by Richard Camp All rights reserved