Fedora Core 3 Linux Installation Notes

These instructions assume a dual boot Windows and Fedora i386
to i686 system with an nVidia GeForce graphics card, an "always on" LAN or
broadband connection configured "DHCP", and at least 10 GB of free disk space
for the Fedora partition. For the most part the steps should be followed in the
order that they were written because certain programs must be installed and
certain configurations made in order to facilitate later steps.

Contents:

by Stanton Finley, revised February 11th, 2005

be
sure to check here often for updates to this document...

Installation:


  • Download
    and
    burn
    the five Fedora Core 3 CDs from iso
    images from your nearest
    mirror site. (You
    should get FC3-i386-disc1.iso, FC3-i386-disc2.iso, FC3-i386-disc3.iso,
    FC3-i386-disc4.iso and FC3-i386-rescuecd.iso.)
  • Partition your hard disk with something like one of the disk partition
    creation/editing tools on the System Rescue CD available at
    http://www.sysresccd.org/. You could
    also use a commercial product such as
    PartitionMagic.
    You may leave the partition that you wish to use for Fedora as unformatted
    space. The installation program will format this partition, create swap space
    within it, and make a directory structure.
  • Configure your bios settings to boot first from the CD drive.
  • Insert the first Fedora Core 3 CD and reboot your machine.
  • At the boot prompt hit enter.
  • Hit enter for "ok" to test your CD media or right arrow key and enter to
    skip this test. (I recommend testing your media to determine if your CDs are
    properly burned.)
  • Click "next" at the "welcome" page.
  • Click "next" at the "language selection" page for default English.
  • Click "next" at the "keyboard configuration" page for default U. S.
    English.
  • Select "custom" on the "installation type" page. Click "next".
  • Select "automatically partition" on the "disk partitioning setup" page.
    Click "next". If you elect to manually edit your partition with Disk Druid,
    double click on the partition, select the "swap" file type, and configure your
    swap space size to equal about twice your computer's physical memory size.
    Double click on the remainder of the partition to configure it as a Linux ext3
    file system. At minimum you must designate this remaining space (probably
    /dev/hda2) as the root "/" partition mount point.
  • Select "keep all partitions and use existing free space" on the "automatic
    partitioning" page. Click "next".
  • Click "next" on the "disk setup" page.
  • Check the "other" check box on the "boot loader configuration" page. Click
    "edit". Type "Windows" in the "label" box and uncheck the "default boot
    target" check box. Click "ok".
  • Click the "default" check box next to "Fedora Core" to make it your
    default boot operating system. Click "next".
  • Leave "eth0" and hostname "automatically via DHCP" on the "network
    configuration" page. Click "next".
  • Leave "enable firewall" selected on the "firewall configuration" page and
    click the check boxes for "ssh", "http", "https", "ftp" and "smtp". Leave
    "Enable SELinux" "active". Click "next".
  • Click "next" at the "additional language support" page for default
    "English (USA)".
  • Click on the map for your location on the "time zone selection" page.
    Click "next".
  • Set your preferred root password on the "set root password" page. Click
    "next".
  • You will see a message "reading package information".
  • Scroll down the "package group selection" page and click in the
    "everything" box under "miscellaneous". Click "next". (There has been some
    criticism from some quarters regarding the fact that I recommend doing an
    "everything" installation. From my point of view there are several good
    reasons to do so: 1. There are many wonderful packages in a Fedora Core
    "everything" installation including a web server and all the packages needed
    to make it work with modern scripting language support. [I describe how to set
    up a web server with all the bells and whistles below.] Installing everything
    supplies the novice with a huge Linux playground containing thousands of great
    programs to explore. 2. If you install everything there will be no question
    that package dependencies and inter-dependencies are met. Everything will be
    there and everything will "just work" if you follow the yum and apt guidelines
    below. 3. Why not install everything? In this day and age bandwidth and disk
    space are cheap and plentiful.)
  • You will see a message "checking dependencies..."
  • Click "next" on "about to install" page.
  • Click "continue" to get to the "installing packages" page. You will
    eventually be prompted to insert the remainder of the installation CDs. (It
    took about an hour to install "everything" on my system.)
  • When the installation is complete remove the last CD and click "reboot"
    for the first boot screen.
  • Click "next" on the "welcome" page.
  • Click the appropriate radio button to agree to the license agreement and
    click "next".
  • If you are already connected to an "always on" LAN or broadband connection
    click on the "network time protocol" tab, click in the "enable network time
    protocol" check box, click the down arrow in the "server" box, select
    "clock.redhat.com" , click "add" and click "next".
  • On the "display" page select your preferred screen resolution and color
    depth based upon the capabilities of your monitor. Click "next".
  • On the "system user" page choose a user name (in lower case, not "root"),
    a full name (any case), and a password for that default user. Click "next".
  • Click "play test sound" on the "sound card" page to test your sound
    system. Your should hear three chords in sequence. If you don't you can try to
    configure your sound card later. Click "next".
  • Click "next" on the "additional CDs" page.
  • Click "next" on the "finish setup" page.
  • Log in as "root" with the root password you selected earlier.
  • Click "log in anyway" if a Gnome error message appears on first boot. We
    will correct this later.
  • When Fedora finishes booting to the graphical interface click on the top
    panel, hold your left mouse button down, drag the top panel to the bottom of
    the screen, and release the mouse button.
  • Click "Applications" > "System Tools". Right click on "Terminal" and
    select "Add this launcher to panel".
  • Right click on the terminal icon on the bottom panel and select "move".
    Move the icon to the left near the separator bar and click to position it
    there.
  • Click on the terminal icon. This will open the terminal.
  • Type:
    gedit /boot/grub/grub.conf
  • Revise the "hiddenmenu" and "kernel" lines in grub.conf so that your file
    looks like this:

    # 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,1)
    #          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
    #          initrd /initrd-version.img
    #boot=/dev/hda
    default=1
    timeout=5
    splashimage=(hd0,1)/grub/splash.xpm.gz
    #hiddenmenu
    title Memtest86+ v1.27
    	kernel /memtest86+-1.27
    title Fedora Core (2.6.9-1.667)
    	root (hd0,1)
    	kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 vga=788 selinux=0
    	initrd /initrd-2.6.9-1.667.img
    title Windows
    	rootnoverify (hd0,0)
    	chainloader +1
    

    Disabling the "hiddenmenu" with the "#" comment and removing "rhgb quiet"
    from the kernel line will cause the menu to select Windows or Fedora to
    display immediately upon boot and will also disable the graphical boot screens
    so that you will see the boot sequence scroll by in text. You may also choose
    to disable SELinux by including "selinux=0" on the kernel line. Leave out the
    "selinux=0" if you wish to keep SELinux enabled. If you choose to use SELinux
    (Security Enhanced Linux) there are two good articles about it at

    http://fedora.redhat.com/docs/selinux-faq-fc3/
    and

    http://fedora.redhat.com/docs/selinux-apache-fc3/
    . Click on the "save"
    icon in gedit and close it. Close the terminal.

  • Click on "Applications" > "System Settings" > "Server Settings" >
    "Services" and deselect system services that you will not immediately use.
    When you click on each of them you will see a description as to what they are
    for. If you're not sure, leave them in there. (I deselected "anacron", "apmd",
    "atd", "cpuspeed", "canna", "cups", "cups-config-daemon", "hpoj",
    "irqbalance", "mDNSResponder", "mdmonitor", "nfs", "nfslock", "nifd",
    "pcmcia", "rpcgssd", "rpcidmapd", "rpcsvcgssd" and "sendmail".) Click the
    "save" icon and close the service configuration screen.
  • Open the terminal and type:
    gedit /etc/hosts

    Place your cursor after "localhost" and hit tab. Then type in the
    characters that appear on your root terminal screen after "root@" up to but
    not including the space and tilde (~). When you are finished, your hosts file
    should look something like this:

    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1		localhost.localdomain localhost	x1-6-00-04-5a-5e-ac-83
    

    Click on the "save" icon in gedit and close it. This will eliminate the
    Gnome error message that appears on boot-up on some systems.

  • In the root terminal type:
    gedit /etc/modprobe.conf

    Add these lines to the bottom of the file:

    alias net-pf-10 off
    alias ipv6 off
    

    Add a carriage return if required. (There should be a blank line at the
    bottom of these files.) Click on the "save" icon in gedit and close it. This
    will speed up browsing and file transfers in some cases by decreasing DNS
    lookup time.

  • Click on "Applications" > "System Settings" > "Login Screen". Click on the
    "login user automatically after a specified number of seconds" check box. Type
    your default user name that you selected during installation (lower case, not
    "root") in the "timed login username" box and select "5 seconds before login".
    Click "close".
  • Click "Actions" > "Log Out" > "Restart the computer" and click "ok".
  • After boot up you should be logged in as the default user. Click on the
    top panel, hold your left mouse button down, drag the top panel to the bottom
    of the screen, and release the mouse button.
  • Click the red flashing up2date icon in the lower right. Click "launch
    up2date". Type in your root password and click "ok". Click "ok" again. Click
    on "yes" to install the key. Click "forward". Click "forward" again. After the
    headers are downloaded click on the "select all packages" check box and click
    "forward". You will see a progress dialog "testing package set / solving RPM
    dependencies". When this is complete the updates will be downloaded. (This may
    take a very long time depending upon your connection speed the first time you
    run up2date and you may think that your installation has hung but it actually
    has not. If you don't have the patience for this read the "Yum" section below
    and do a "yum update" as root instead.) Click "forward" to install the updates
    and "forward" again to complete. You may want to reboot at this time.

Firefox and Thunderbird:

  • Firefox is now the
    default web browser in Fedora Core Linux and Thunderbird is included as an
    email client. For Thunderbird go to "Applications" > "Internet" > "Thunderbird
    Email". You can choose Thunderbird as your default email client by going to
    "Applications" > "Preferences" > "More Preferences" > "Preferred Applications"
    and selecting "Thunderbird Mail" in the drop-down menu under the Mail Reader
    tab.

nVidia: (Use this section only if you have an
nVidia GeForce graphics card.)

  • Log in as root.
  • Type:
    gedit /boot/grub/grub.conf

    If you have not already done so, remove "rhgb quiet" from the kernel line
    in grub.conf. Click the "save" button and then exit gedit. This will disable
    the "Red Hat Graphical Boot" at boot time which would otherwise interfere with
    the nVidia installation described below.

  • Open the terminal and type:
    gedit /etc/X11/xorg.conf

    In the "module" section comment out (put a "#" in front of) load "dri" so
    that it reads # load "dri". In the "device" section change "nv" to "nvidia".

    Section "Module"
    	Load  "dbe"
    	Load  "extmod"
    	Load  "fbdevhw"
    	Load  "glx"
    	Load  "record"
    	Load  "freetype"
    	Load  "type1"
    #	Load  "dri"
    EndSection
    
    Section "Device"
    	Identifier  "Videocard0"
    	Driver      "nvidia"
    	VendorName  "Videocard vendor"
    	BoardName   "NVIDIA GeForce 4 MX (generic)"
    EndSection
    

    Click the "save" icon and exit gedit.

  • With the root terminal still open type:
    gedit /etc/rc.local

    At the end of the file add the line:

    /sbin/modprobe nvidia

    Add a carriage return as well if necessary to insure that there is a blank
    line at the bottom of the file. Click on the "save" icon and exit gedit. Close
    the terminal.

  • Click "Actions" > "Log Out" > "Restart the computer" and click "ok". When
    Fedora reboots it will try to load the nVidia driver (which has been
    downloaded but not yet installed). You will see the command line login prompt
    3 or 4 times as it continues to try to load the driver and then you will see a
    text mode screen with the message "...cannot start the x server...". Answer
    "no" (right arrow and enter) to the question "would you like to view the x
    server output?". Answer "no" to the question "would you like me to run the x
    configuration program?". Answer "ok" to "...disable the x server for now...".
    You will then be presented with a text mode command line login prompt. Log in
    as root, type "ls" and hit enter. You should see the nVidia driver file that
    you downloaded previously. Type:

    sh NVIDIA-Linux-x86-1.0-6629-pkg1.run

    Hit enter. You will be presented with a text mode nVidia screen. Left arrow
    to "accept" and hit enter. Answer "yes" to "download...". Answer "ok" to "no
    matching kernel...". Answer "ok" to "warning - your kernel was...". Disregard
    the "rivafb" warning. It won't affect your installation. nVidia will build and
    install a kernel module for the nVidia driver. When the "...complete" screen
    appears hit enter on "ok", then type "reboot" and hit enter. You should see
    the nVidia splash screen when Fedora reboots indicating that the installation
    was successful.

  • Now if you wish to get rhgb (Red Hat Graphical Boot) working again open a
    terminal and type:

    su -

    Hit enter, type your root password and hit enter. Type:

    cp -a /dev/nvidia* /etc/udev/devices

    Hit enter. Type:

    chown root.root /etc/udev/devices/nvidia*

    Hit enter. Type:

    gedit /etc/rc.local

    Remove the "/sbin/modprobe nvidia" line from rc.local, click on the "save"
    icon, and exit gedit. Type:

    gedit /boot/grub/grub.conf

    Add "rhgb quiet" back into the kernel line in grub.conf, click on the
    "save" icon, and exit gedit. Reboot. (If you upgrade your kernel be sure to
    remove "rhgb quiet" from grub.conf before you reboot into the new kernel. Then
    you can re-install the nVidia driver per these instructions again for the new
    kernel.)

True Type Fonts:

  • Click on the terminal icon. This will open the terminal. Type:
    su

    Hit enter, type your root password and hit enter. (This gives you root
    privileges in the terminal even though you are still in the default user's
    home directory. Type:

    rpm -ivh *.rpm

    Hit enter. Wait for the installation to complete. Type:

    rm *.rpm

    Hit enter. Type "y" and hit enter. (This deletes the downloaded RPM file in
    your home directory, however the program is already installed into your
    system.) Close the terminal. Reboot your machine.

Java:

  • Open the terminal. Type:
    su

    Hit enter. Type your root password. Hit enter. Type:

    sh *.bin

    Hold the enter key down until the yes/no line appears to allow you to agree
    to the license agreement. Type "yes" and hit enter. Type:

    rpm -ivh *.rpm

    Hit enter. Wait for the installation to complete. Type:

    rm *.rpm

    Hit enter. Type "y" and hit enter. Type:

    rm *.bin

    Hit enter. Type "y" and hit enter. Type:

    su -

    Hit enter. This gives you root privileges and also puts you in the /root
    directory. Type:

    ln -s /usr/java/j2re1.4.2_07/plugin/i386/ns610-gcc32/libjavaplugin_oji.so /usr/lib/mozilla/plugins/libjavaplugin_oji.so

    Hit enter. Close the terminal. Close and restart Firefox to enable the java
    plugin. You could go to
    http://rochester.speedtest.frontiernet.net/
    and click the start button to
    test your java plugin installation.

  • If you wish to run Java applications such as
    JAlbum
    or Azureus for
    bittorrent and you have installed the Sun J2SE JRE as described above, open a
    terminal and type:

    su -

    Hit enter. Type your root password. Hit enter. Type:

    gedit /etc/profile.d/java.sh

    Hit enter. In gedit type these lines:

    export J2RE_HOME=/usr/java/j2re1.4.2_07
    export PATH=$J2RE_HOME/bin:$PATH

    Be sure to enter a carriage return after these lines. Click on the "save"
    icon in gedit and exit gedit. In the terminal (which should still be open)
    type:

    source /etc/profile.d/java.sh

    Hit enter. Type:

    which java

    Hit enter. You should see:

    /usr/java/j2re1.4.2_07/bin/java

    Type:

    alternatives --install /usr/bin/java java /usr/java/j2re1.4.2_07/bin/java 3

    Hit enter. Type:

    alternatives --config java

    Hit enter. You should see:

    There are 3 programs which provide 'java'.
    
      Selection    Command
    -----------------------------------------------
       1           /usr/share/java/libgcj-java-placeholder.sh
    *+ 2           /usr/lib/jvm/jre-1.4.2-gcj/bin/java
       3           /usr/java/j2re1.4.2_07/bin/java
    
    Enter to keep the current selection[+], or type selection number:
    

    Type:

    3

    Hit enter. Type:

    /usr/sbin/alternatives --display java

    Hit enter. You should see:

    java - status is manual.
     link currently points to /usr/java/j2re1.4.2_07/bin/java
    ...

    You should now be able to install and run Java applications.

Flash:

  • Open the terminal. Type:
    su

    Hit enter. Type your root password. Hit enter. Type:

    rpm -ivh *.rpm

    Hit enter. Click "accept" in the license agreement windows that appears.
    Wait for the installation to complete. Type:

    rm *.rpm

    Hit enter. Type "y" and hit enter. Close the terminal. Close and restart
    Firefox to enable the flash plugin, go to

    http://www.argosycruises.com/flash.cfm
    to test your flash plugin
    installation.

RealPlayer:

  • Open the terminal. Type:
    su

    Hit enter. Type your root password. Hit enter. Type:

    rpm -ivh *.rpm

    Hit enter. Wait for the installation to complete. Type:

    rm *.rpm

    Hit enter. Type "y" and hit enter. Close the terminal. Close and restart
    Firefox to enable the RealPlayer plugin, go to
    http://www.npr.org/
    , click on "NPR Program Stream", select "Listen to NPR
    audio with the Real player" to test your RealPlayer plugin installation.

Special warning regarding mixing incompatible
repositories for up2date, yum, apt, and synaptic:

  • Before you continue please keep the following in mind: You should not use
    the livna.org/fedora extras repositories in conjunction with the
    dag/freshrpms/dries/newrpms/PlanetCCRMA (RPMforge) collection of rpms in your
    configuration files for automatic updates. Use one group or the other but not
    both. You should be made aware that there are two “schools” of rpm packagers
    for Fedora Core extra applications. I refer to these as the “American” and
    “European” camps. The “American” camp consists of the livna.org/fedora extras
    repositories and the “European” camp consists of the
    dag/freshrpms/dries/newrpms/PlanetCCRMA (RPMforge) repositories. One of the
    most common causes of errors and failures in a new Fedora Core installation is
    the mixing of these two incompatible repository collections for automatic
    updates. These two camps of rpm repositories are, for the most part, mutually
    exclusive and in some cases will cause serious errors in your installation if
    used together. It is unfortunate that these two groups have not found some
    common ground for consensus and have not gotten together and made their
    repositories compatible with one another. I myself subscribe to the “European”
    camp as you can see in my yum and apt repository selection instructions below.
    The dag/freshrpms/dries/newrpms/PlanetCCRMA (RPMforge) repositories have
    provided me with all of the programs I have needed as additions to the Fedora
    base. Some additional information can be found
    here.

Yum:

  • Open the terminal. Type:
    su -

    Hit enter. Type your root password. Hit enter. Type:

    gedit /etc/yum.repos.d/dag.repo

    Type the following in gedit:

    [dag]
    name=Dag RPM Repository for Fedora Core
    baseurl=http://apt.sw.be/fedora/$releasever/en/$basearch/dag/
    enabled=1
    #gpgcheck=1
    

    Be sure there is a carriage return (blank line) at the bottom of the file.
    Click the "save" icon in gedit and then close gedit. Type the following in the
    root terminal:

    gedit /etc/yum.repos.d/freshrpms.repo

    Type the following in gedit:

    [core]
    name=FreshRPMS-Core
    baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/core
    enabled=1
    #gpgcheck=1
    #[extras]
    #name=Fedora Linux $releasever - $basearch - extras
    #baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/extras
    #enabled=0
    #gpgcheck=1
    #[alternatives]
    #name=Fedora Linux $releasever - $basearch - alternatives
    #baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/alternatives
    #enabled=0
    #gpgcheck=1
    [updates]
    name=FreshRPMS-Updates
    baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/updates
    enabled=1
    #gpgcheck=1
    [freshrpms]
    name=FreshRPMS-Fresh
    baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms
    enabled=1
    #gpgcheck=1
    

    Be sure there is a carriage return (blank line) at the bottom of the file.
    Click the "save" icon in gedit and then close gedit.

  • While still in the root terminal type:
    rpm --import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

    Hit enter. Type:

    rpm --import http://freshrpms.net/packages/RPM-GPG-KEY.txt

    Hit enter. Type:

    rpm --import /usr/share/doc/fedora-release-*/*GPG-KEY*

    Hit enter. You have just imported the GPG keys for your yum repositories.
    Type:

    yum update

    Hit enter. Your system will be updated. Answer "y" for "yes" in the
    appropriate places. Reboot.

Apt and Synaptic:

  • Enable the repositories as described above for Yum, then simply open a
    terminal and type:

    su -

    Hit enter. Type your root password. Hit enter. Type:

    yum install apt

    Hit enter. Wait for the installation to complete. Type:

    yum install synaptic

    Hit enter. Wait for the installation to complete. Type:

    gedit /etc/apt/sources.list.d/dag.list

    If there is nothing in this file (blank page), type the following in gedit:

    # Name: Dag RPM Repository
    # URL: http://dag.wieers.com/apt/
    
    ### Dag RPM Repository for Fedora Core
    rpm http://apt.sw.be fedora/3/en/i386 dag
    

    Be sure there is a carriage return (blank line) at the bottom of the file.
    Click the "save" icon in gedit and then close gedit. While still in the root
    terminal, type:

    gedit /etc/apt/sources.list.d/freshrpms.list

    If there is nothing in this file (blank page), type the following in gedit:

    # Name: FreshRPMS
    # URL: http://ayo.freshrpms.net/
    
    ### Fedora Core
    rpm http://ayo.freshrpms.net fedora/linux/3/i386 freshrpms
    

    Be sure there is a carriage return (blank line) at the bottom of the file.
    Click the "save" icon in gedit and then close gedit. While still in the root
    terminal, type:

    gedit /etc/apt/sources.list.d/newrpms.list

    If there is nothing in this file (blank page), type the following in gedit:

    # Name: NewRPMS
    # URL: http://newrpms.sunsite.dk/
    
    ### Fedora Core
    rpm http://newrpms.sunsite.dk/apt/ redhat/en/i386/fc3 newrpms
    

    Be sure there is a carriage return (blank line) at the bottom of the file.
    Click the "save" icon in gedit and then close gedit. While still in the root
    terminal, type:

    gedit /etc/apt/sources.list.d/dries.list

    If there is nothing in this file (blank page), type the following in gedit:

    # Name: Dries RPM Repository
    # URL: http://dries.studentenweb.org/apt/
    
    ### Fedora Core
    rpm http://apt.sw.be dries/fedora/fc3/i386 dries
    

    Be sure there is a carriage return (blank line) at the bottom of the file.
    Click the "save" icon in gedit and then close gedit. While still in the root
    terminal, type:

    rpm --import http://dries.studentenweb.org/ayo/RPM-GPG-KEY.dries.txt

    Hit enter. Type:

    rpm --import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

    Hit enter. Type:

    rpm --import http://freshrpms.net/packages/RPM-GPG-KEY.txt

    Hit enter. Type:

    rpm --import http://newrpms.sunsite.dk/gpg-pubkey-newrpms.txt

    Hit enter. You have just imported the GPG keys for your apt repositories.
    Type:

    apt-get update

    Your apt repository package list will be updated. Close the terminal.
    Reboot.

  • After you have rebooted go to "Applications" > "System Settings" >
    "Synaptic package manager". You will be asked to enter your root password. In
    Synaptic click on the "reload" icon to update your package list. You may now
    add programs to your Fedora Core installation by scrolling down the package
    list and checking appropriate check boxes for packages that you wish to add.
    When you are finished selecting them, click "apply".

Acrobat Reader:

  • You must have Yum, Apt, and Synaptic configured as described above to
    implement this step. Go to "Applications" > "System Settings" > "Synaptic
    package manager". You will be asked to enter your root password. In Synaptic
    click on the "reload" icon to update your package list. Scroll down the "all"
    list until you come to "acroread" and click its check box, then click "apply".
    Acrobat reader will be installed.

MPlayer, Xmms, Rhythmbox, Xine, and Kaffeine
- all you need for multimedia:

  • You must have Yum, Apt, and Synaptic configured as described above to
    implement this step. Go to "Applications" > "System Settings" > "Synaptic
    package manager". You will be asked to enter your root password. In Synaptic
    click on the "reload" icon to update your package list. Scroll down the "all"
    list and click in the check boxes for "gstreamer", "gstreamer-devel",
    "gstreamer-plugins", "gstreamer-plugins-devel",
    "gstreamer-plugins-extra-audio", "gstreamer-tools", "kaffeine", "mplayer",
    "mplayer-fonts", "mplayer-skins", "xine", "xine-lib", "xine-lib-devel",
    "xine-skins", and "xmms-mp3". Then click "apply".
  • Open "Applications" > "Sound & Video" > "Audio Player". (This is xmms.)
    Click on the upper left corner down arrow. Go to "Options" > "Preferences".
    Select "MPEG Layer 1/2/3 Player..." and make sure that "Enable plugin" check
    box is checked. You may now play mp3s and streaming mp3 files with xmms (Audio
    Player) or if you like Rhythmbox (Music Player) you may use it to play your
    mp3 library. You could go to
    http://wholewheatradio.org/
    to test your xmms mp3 installation. (The
    executable is /usr/bin/xmms.)
  • Open the terminal. Type:
    su

    Hit enter. Type your root password. Hit enter. Type:

    mkdir temp

    Hit enter. Type:

    mv *.bz2 temp

    Hit enter. Type:

    cd temp

    Hit enter. Type:

    tar xvfj *.tar.bz2

    Hit enter. Type:

    cd all-20050115

    Hit enter. Type:

    mkdir /usr/local/lib/codecs/

    Hit enter. Type:

    cp *.* /usr/local/lib/codecs/

    Hit enter. Type:

    cd /usr/local/lib/codecs/

    Hit enter. Type:

    chmod 755 /usr/local/lib/codecs/*

    Hit enter. Type:

    ln -s /usr/local/lib/codecs /usr/lib/win32

    Hit enter. Type:

    ln -s /usr/local/lib/codecs /usr/lib/codecs

    The codecs for MPlayer, Xine and Kaffeine are now installed.

  • Open the terminal. Type:
    su

    Hit enter. Type your root password. Hit enter. Type:

    rpm -Uvh *.rpm

    Hit enter.

    rm *.rpm

    Hit enter. Type "y" and hit enter. Close the terminal. Close and restart
    Firefox to enable the Kaffeine plugin. Reboot.

NTFS support (for mounting your Windows
partition):

  • Open the terminal. Type:
    su

    Hit enter. Type your root password. Hit enter. Type:

    uname -r -p

    This will output your kernel version and processor type.

  • With the root terminal still open type:
    rpm -ivh *.rpm

    Hit enter. Wait for the installation to complete. Type:

    rm *.rpm

    Hit enter. Type "y" and hit enter. Type:

    su -

    Hit enter. Type:

    mkdir /mnt/windows

    Hit enter. Type:

    fdisk -l /dev/hda

    Hit enter. This will output your HPFS/NTFS partition identifier. Type:

    gedit /etc/fstab

    Type the following in gedit:

    /dev/hda1	/mnt/windows	ntfs	ro,defaults,umask=0222	0 0

    If your partition identifier is not "/dev/hda1" substitute the correct
    characters. Click the "save" icon in gedit and exit gedit. Close the terminal.
    Reboot. Your Windows partition should now be available in the file browser
    under "/mnt/windows".

Bittorrent and bittorrent-gui:

  • Open the terminal. Type:
    su

    Hit enter. Type your root password. Hit enter. Type:

    rpm -Uvh wxPythonGTK2-2.5.2.8-1.fc3.i386.rpm

    Hit enter. Type:

    rpm -Uvh BitTorrent-3.4.2-3.fc3.noarch.rpm

    Hit enter. Type:

    rpm -Uvh BitTorrent-gui-3.4.2-3.fc3.noarch.rpm

    Hit enter. Type:

    su -

    Hit enter. Type:

    /sbin/iptables -I INPUT -p tcp --destination-port 6881:6889 -j ACCEPT

    Hit enter. This adds a rule to open TCP ports 6881 through 6999 in your
    firewall. These ports are required by Bittorent. Type:

    /sbin/iptables-save > /etc/sysconfig/iptables

    Hit enter. This saves the rule. Type:

    iptables -L

    Hit enter. This will output your iptables file so you can see if the rule
    was saved. Type:

    gedit /etc/mailcap

    Add these lines (and a carriage return) to /etc/mailcap:

    # bittorrent
    application/x-bittorrent; /usr/bin/btdownloadgui.py %s; test=test -n "$DISPLAY"
    

    This will allow you to download ".torrent" files with Firefox.

Azureus for bittorrent:

  • Open the terminal. Type:
    su -

    Hit enter. Type your root password. Hit enter. If you have not already
    opened ports for bittorrent as described above Type:

    /sbin/iptables -I INPUT -p tcp --destination-port 6881:6889 -j ACCEPT

    Hit enter. This adds a rule to open TCP ports 6881 through 6999 in your
    firewall. These ports are required by bittorent and/or Azureus. Type:

    /sbin/iptables-save > /etc/sysconfig/iptables

    Hit enter. This saves the rule. Type:

    iptables -L

    Hit enter. This will output your iptables file so you can see if the rule
    was saved. Type:

    cd /home/your_user_name

    Hit enter. Type:

    tar xvfj *.tar.bz2

    Hit enter. Type:

    rm *.bz2

    Hit enter. Type "y" and hit enter. Close the terminal. Open the terminal so
    that you are logged in as user rather than root. Type:

    cd azureus

    Hit enter. Type:

    ./azureus

    Hit enter. Azureus will open. Configure your preferences in the dialog box
    presented and update the plugin if asked. When you click on a ".torrent" file
    in Firefox you will be presented with a dialog box. Click the radio button
    "open with" and click the checkbox "Do this automatically for files like this
    form now on", then click the "browse" button in the dialog box and browse to
    "home" > "azureus" and click on "azureus". Click "open". Click "OK". This will
    allow you to download ".torrent" files from within Firefox. These files are
    downloaded by default into the /home/your_user_name/.Azureus/downloads folder.
    You will have to click on "View" > "Show hidden files" in "Applications" >
    "File Browser" to get to them in the file browser.

Web Server:

  • Note: If you choose to enable SELinux in your Fedora Core 3 installation
    you must pay special attention to some SELinux considerations with regard to
    your web server setup. See

    http://fedora.redhat.com/docs/selinux-apache-fc3/
    . You may choose to
    disable SELinux for your web server installation only. To do this go to
    "Applications" > "System Settings" > "Security Level" > and under (expanded)
    "HTTPD Service" on the "SELinux" tab click in the checkbox for "Disable
    SELinux protection for httpd daemon". (Be sure to click the "OK" box when
    you're done.)
  • Subscribe to a service such as
    https://www.dyndns.org/
    or
    http://www.easydns.com/
    to register a new domain name (such as
    your-name.org) and to have their DNS service map your computer's IP address to
    your new registered domain name. (The command "ifconfig" at the root prompt
    will output your IP address.) If you have a "dynamic" (changeable) IP address
    you can use their dynamic DNS service.
  • Open the terminal. Type:
    su -

    Hit enter. Type your root password. Hit enter. Type:

    gedit /etc/httpd/conf/httpd.conf

    Hit enter. In gedit scroll down to the "ServerAdmin" section and enter your
    email address instead of "root@localhost". Scroll down to the "#ServerName"
    section and uncomment it (take out the "#"). Then enter the registered DNS
    name of your web site ("whatever.com") or your server's IP address instead of
    "new.host.name". (If you don't know your IP address type "ifconfig" at the
    root prompt.) Scroll down and change "UseCanonicalName Off" to
    "UseCanonicalName On". Scroll down to the "Options" line and change "Options
    Indexes FollowSymLinks" to "Options Indexes Includes FollowSymLinks
    SymLinksifOwnerMatch ExecCGI MultiViews". Change "AllowOverride None" to
    "AllowOverride Options FileInfo AuthConfig Limit" in case you want to use
    .htaccess files in any of your web subdirectories. Change "DirectoryIndex
    index.html index.html.var" to "DirectoryIndex index.html index.html.var
    index.shtml index.cgi index.php index.phtml index.php3 index.htm home.html
    welcome.html". Under the "AddType application/x-compress .Z" and "AddType
    application/x-gzip .gz .tgz" lines add the line: "AddType
    application/x-httpd-php .php .phps .php3 .phtml .html .htm .shtml .fds".
    Uncomment the line "#AddHandler cgi-script .cgi" and add ".pl" so that it
    reads "AddHandler cgi-script .cgi .pl". Click on the "save" icon in gedit and
    exit gedit.

  • If you have a favicon.ico copy it to /var/www/html while still logged in
    as root (cp favicon.ico /var/www/html).
  • Go to "Applications" > "System Settings" > "Server Settings" > "Services".
    Type in your root password in the dialog box that appears and click on "OK".
    Scroll down the list and check the check box for "httpd". Click on the "save"
    icon in the Service Configuration window and then close the window. Go to
    "Applications" > "System Settings" > "Security Level" and make sure the check
    box is checked for "WWW (HTTP)" in the "Trusted services" pane. Reboot your
    machine.
  • Open Firefox and type "http://localhost/" in the URL window and hit enter.
    You should see the default Apache/Fedora Core test page. Type your server's IP
    address in the URL window and hit enter. You should see the test page again.
    Type the registered DNS name of your web site ("whatever.com") in the URL
    window and hit enter. You should see the test page yet again.
  • While still logged in as root copy your web site index.html and any other
    HTTP content you may have to /var/www/html. You are now serving web pages from
    your Fedora Core web server. You will find your server log files in
    /etc/httpd/logs and you will be able to view them while logged in as root.

PHP and Perl:

  • PHP and Perl are available in Fedora Core 3 because we have done the
    "everything" installation previously. If you have enabled the Apache web
    server (see above) you can test your PHP and Perl installations by doing the
    following: Open the terminal. Type:

    su -

    Hit enter. Type your root password. Hit enter. Type:

    gedit /var/www/html/phpinfo.php

    In gedit type:

    <?php phpinfo();?>

    Click the "save" icon in gedit and close gedit. While still in the root
    terminal type:

    gedit /var/www/html/printenv.pl

    In gedit type:

    #!/usr/bin/perl
    ##
    ##  printenv -- demo CGI program which just prints its environment
    ##
    
    print "Content-type: text/plain\n\n";
    foreach $var (sort(keys(%ENV))) {
        $val = $ENV{$var};
        $val =~ s|\n|\\n|g;
        $val =~ s|"|\\"|g;
        print "$=\"$\"\n";
    }
    

    Click the "save" icon in gedit and close gedit. Type:

    chmod 755 /var/www/html/printenv.pl

    Hit enter. Then type:

    chmod 755 /var/www/html/phpinfo.php

    Hit enter. Now when you open these files from your web server
    (http://whatever.com/phpinfo.php and http://whatever.com/printenv.pl) you will
    be able to prove the functionality of your PHP and Perl installations. (In
    order to allow cgi scripts to execute outside of the cgi-bin directory
    configure your httpd.conf as described in the web server section above.)

  • Special note on configuring sendmail for PHP using your email
    provider's SMTP (simple mail transport protocol):
    Your /etc/php.ini
    file uses sendmail as the default transport agent for sending email from PHP
    applications ("sendmail_path = /usr/sbin/sendmail -t -i"). The following quote
    is from

    Fedora Core 3 Release Notes
    : "By default, the Sendmail mail transport
    agent (MTA) does not accept network connections from any host other than the
    local computer. If you want to configure Sendmail as a server for other
    clients, you must edit /etc/mail/sendmail.mc and change the DAEMON_OPTIONS
    line to also listen on network devices (or comment out this option entirely
    using the dnl comment delimiter). You must then regenerate
    /etc/mail/sendmail.cf by running the following command (as root): 'make -C
    /etc/mail'. Note that you must have the sendmail-cf package installed for this
    to work." In order to accomplish this, edit "/etc/hosts" and add the line
    "your.ip.address whatever.org whatever" where "your.ip.address" is the IP
    address of your web server, "whatever.org" is the registered DNS name of your
    web site (your canonical domain name), and "whatever" is your short domain
    name (the characters before the dot). Separate the IP address from the domain
    name with a couple of tabs. Edit "/etc/sysconfig/network" and change
    "localhost.localdomain" to "whatever.org" where "whatever.org" is the
    registered DNS name of your web site (your canonical domain name). Reboot.
    Edit "/etc/mail/local-host-names" and include your domain name. Edit
    "/etc/mail/sendmail.mc" and change "dnl
    define(`SMART_HOST',`smtp.your.provider')dnl" to
    "define(`SMART_HOST',`smtp.your.provider')dnl" where "smtp.your.provider" is
    the smtp host that you use to send mail from your email client. Also change
    "DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl" to "dnl
    DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl". Also change "dnl
    MASQUERADE_AS(`mydomain.com')dnl" to "MASQUERADE_AS(`your.provider.com')dnl"
    where "your.provider.com" is the host that you use to send mail from your
    email client (the characters after the "@"). Add these lines (near the bottom
    of /etc/mail/sendmail.mc but above "MAILER"): "FEATURE(`genericstable',`hash
    -o /etc/mail/genericstable.db')dnl" and
    "GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl". Edit or create if
    required: "/etc/mail/generics-domains". Include in
    "/etc/mail/generics-domains" your canonical domain name. (Be sure to add a
    carriage return.) Edit or create if required: "/etc/mail/genericstable".
    Include in "/etc/mail/genericstable" the line:"username
    mailusername@your.provider.com" where "username" is your non-root Fedora user
    name and "mailusername@your.provider.com" is your email address that you use
    with your email client. (Be sure to add a carriage return.) As root execute
    the command: "make -C /etc/mail". This will regenerate
    "/etc/mail/sendmail.cf". Reboot or start (or restart) sendmail from
    "Applications" > "System Settings" > "Server Settings" > "Services". (See

    http://www.linuxhomenetworking.com/linux-hn/sendmail.htm
    .)

MySQL:

  • MySQL version 3.23.58 is available in Fedora Core 3 because we have done
    the "everything" installation previously. Go to "Applications" > "System
    Settings" > "Server Settings" > "Services". Type in your root password in the
    dialog box that appears and click on "OK". Scroll down the list and check the
    check box for "mysqld". Click on the "save" icon in the Service Configuration
    window and then close the window. Reboot your machine.
  • Open the terminal. Type:
    su -

    Hit enter. Type your root password. Hit enter. Type:

    gedit /etc/my.cnf

    Hit enter. In the mysqld section of my.cnf add the line:

    skip-innodb

    Your my.cnf should now look something like this:

    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    skip-innodb
    
    [mysql.server]
    user=mysql
    basedir=/var/lib
    
    [safe_mysqld]
    err-log=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    

    Click the "save" icon in gedit and close gedit. While still in the root
    terminal type:

    mysql -u root

    Hit enter. You will see the mysql> query prompt. Type:

    select user, host, password, select_priv, update_priv, delete_priv, insert_priv from mysql.user;

    Hit enter. You will see something like this:

    +------+------------------------+----------+-------------+-------------+-------------+-------------+
    | user | host                   | password | select_priv | update_priv | delete_priv | insert_priv |
    +------+------------------------+----------+-------------+-------------+-------------+-------------+
    | root | localhost              |          | Y           | Y           | Y           | Y           |
    | root | x1-6-00-04-5a-5e-ac-83 |          | Y           | Y           | Y           | Y           |
    |      | localhost              |          | N           | N           | N           | N           |
    |      | x1-6-00-04-5a-5e-ac-83 |          | N           | N           | N           | N           |
    +------+------------------------+----------+-------------+-------------+-------------+-------------+
    4 rows in set (0.17 sec)
    
    mysql>
    

    Type:

    set password for 'root'@'localhost' = password ('newpassword');

    where "newpassword" is the password that you want to use for the root MySQL
    super user. Hit enter. Type:

    set password for 'root'@'host' = password ('newpassword');

    where "host" is the name of your host as reported in the "host" column
    above and "newpassword" is the password that you want to use for the root
    MySQL super user. Hit enter. Type:

    select user, host, password, select_priv, update_priv, delete_priv, insert_priv from mysql.user;

    Hit enter. You will see something like this with your password
    hash-encrypted in the "password" column:

    +------+------------------------+------------------+-------------+-------------+-------------+-------------+
    | user | host                   | password         | select_priv | update_priv | delete_priv | insert_priv |
    +------+------------------------+------------------+-------------+-------------+-------------+-------------+
    | root | localhost              | 1e36745e3c0f99b0 | Y           | Y           | Y           | Y           |
    | root | x1-6-00-04-5a-5e-ac-83 | 1e36745e3c0f99b0 | Y           | Y           | Y           | Y           |
    |      | localhost              |                  | N           | N           | N           | N           |
    |      | x1-6-00-04-5a-5e-ac-83 |                  | N           | N           | N           | N           |
    +------+------------------------+------------------+-------------+-------------+-------------+-------------+
    4 rows in set (0.00 sec)
    
    mysql>
    

    Type:

    exit

    Close the terminal. Reboot your machine. Open a terminal. Type:

    su -

    Hit enter. Type your root password. Hit enter. Type:

    mysql -u root -p

    Hit enter. MySQL should ask for your MySQL super user password. Type it in.
    Hit enter. Type:

    exit

    You have successfully set up MySQL.

phpMyAdmin:

  • Open a terminal. Type:
    su

    Hit enter. Type your root password. Hit enter. Type:

    mv *.tar.bz2 /var/www/html

    Hit enter. Type:

    cd /var/www/html

    Hit enter. Type:

    bzip2 -dc *.tar.bz2 | tar -xvf -

    Hit enter. Type:

    mv phpMyAdmin-2.6.1 phpmyadmin

    Hit enter. Type:

    su -

    Hit enter. Type:

    gedit /var/www/html/phpmyadmin/config.inc.php

    In /var/www/html/phpmyadmin/config.inc.php change "$cfg['PmaAbsoluteUri'] =
    '';" to "$cfg['PmaAbsoluteUri'] = ' http://whatever.com/phpmyadmin/';", change
    "$cfg['blowfish_secret'] = ''; to "$cfg['blowfish_secret'] = 'passphrase';"
    where "passphrase" is some arbitrary string of characters that the blowfish
    algorithm will use to encrypt your password when using cookie type
    authentication. Under "Server(s) configuration" change
    "$cfg['Servers'][$i]['auth_type'] = 'config';" to
    "$cfg['Servers'][$i]['auth_type'] = 'cookie';". Click on the "save" icon in
    gedit and close gedit. Open http://whatever.com/phpmyadmin/ in Firefox (where
    "whatever.com" is your web site). Type "root" in the "Username:" box and your
    MySQL super user password in the "Password:" box. Click the "Login" button.
    You should see the " Welcome to phpMyAdmin" web page. Open a terminal. Type:

    su -

    Hit enter. Type your root password. Hit enter. Type:

    mysql -u root -p

    Type in your MySQL super user password. Hit enter. For MySQL version
    3.23.58 type:

    GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapassword';
    GRANT SELECT (
        Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
        Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
        File_priv, Grant_priv, References_priv, Index_priv, Alter_priv
        ) ON mysql.user TO 'pma'@'localhost';
    GRANT SELECT ON mysql.db TO 'pma'@'localhost';
    GRANT SELECT ON mysql.host TO 'pma'@'localhost';
    GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
        ON mysql.tables_priv TO 'pma'@'localhost';
    GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';
    

    where "pmapassword" is the password for the pma user that you select for
    the special "controluser" that has only the SELECT privilege on the mysql.user
    (all columns except "Password"), mysql.db (all columns), mysql.host (all
    columns) and mysql.tables_priv (all columns except "Grantor" & "Timestamp")
    tables. Hit enter. Hit enter. Open Firefox, go to
    http://whatever.org/phpmyadmin/scripts/create_tables.sql. (Substitute
    "whatever.org" for your web site registered DNS name or IP address.) Click
    "edit" > "select all", click "edit" > "copy", go back to the terminal and
    click "edit" > "paste". Hit enter. The entire query should be executed at the
    "mysql>" prompt. When the query finishes type "exit" at the mysql> prompt.
    Type:

    gedit /var/www/html/phpmyadmin/config.inc.php

    In /var/www/html/phpmyadmin/config.inc.php change
    "$cfg['Servers'][$i]['controluser'] = '';" to
    "$cfg['Servers'][$i]['controluser'] = 'pma';", change
    "$cfg['Servers'][$i]['controlpass'] = '';" to
    "$cfg['Servers'][$i]['controlpass'] = 'pmapassword';" where "pmapassword" is
    the password for the pma user that you selected earlier, change
    "$cfg['Servers'][$i]['pmadb'] = '';" to "$cfg['Servers'][$i]['pmadb'] =
    'phpmyadmin';", change "$cfg['Servers'][$i]['bookmarktable'] = '';" to
    "$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';", change
    "$cfg['Servers'][$i]['relation'] = '';" to "$cfg['Servers'][$i]['relation'] =
    'pma_relation';", change "$cfg['Servers'][$i]['table_info'] = '';" to
    "$cfg['Servers'][$i]['table_info'] = 'pma_table_info';", change
    "$cfg['Servers'][$i]['table_coords'] = '';" to
    "$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';", change
    "$cfg['Servers'][$i]['pdf_pages'] = '';" to "$cfg['Servers'][$i]['pdf_pages']
    = 'pma_pdf_pages';", change "$cfg['Servers'][$i]['column_info'] = '';" to
    "$cfg['Servers'][$i]['column_info'] = 'pma_column_info';", change
    "$cfg['Servers'][$i]['history'] = '';" to "$cfg['Servers'][$i]['history'] =
    'pma_history';". Click on the "save" icon in gedit and close gedit. Close the
    terminal. Open Firefox and go to http://whatever.com/phpmyadmin/ where
    "whatever.com" is your web site registered DNS name or IP address. Log into
    phpMyAdmin as root. Click on the down arrow in the "Database:" selection
    dialog box in the left column. You should see the "mysql", "phpmyadmin", and
    "test" databases listed. You may delete ("drop") the "test" database if you
    wish. You have now successfully configured phpMyAdmin.

Resources: