Log in Register

Login to your account

Username *
Password *
Remember Me

Create an account

Fields marked with an asterisk (*) are required.
Name *
Username *
Password *
Verify password *
Email *
Verify email *
Captcha *

Fedora 28 was recently released.  We've been playing around with various Linux distributions over the past 15 years, like Limux Mint, Ubuntu, PC Linux, OpenSuSe etc.  We've decided to stick with Fedora and have seen the changes from Fedora 7 or 8 - so long ago, not even sure exactly where we started.

After each fresh install, we do some personalized changes.  Off course, you're choices might be different, but here are some ideas to check out.

 1. Update your Installation Packages

Its always good to immediately update your installation.  The "-y" is optional and allows to install without confirmation.  You can also use "update" - it will basically do the same thing.

sudo dnf -y upgrade

2.  Configure IP Address

We prefer to set a static IP address, but you could leave it on DHCP.  You can do this with the Network Settings GUI, or in a terminal window.  To do this on the command line, change the network configuration file in /etc/sysconfig/network-scripts/enp0s3.

sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

Then, press <i> to insert and change the following... (off course, replace the "x" with your specific values.

BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.x.x
NETMASK=255.x.x.x
GATEWAY=192.168.0.x
DNS1=x.x.x.x
DNS2=x.x.x.x

To save these changes, press <esc> and then <:> <wq>.  These are vi's sequence for exiting the insert mode, writing and quiting.

Restart the network to effect these changes...

sudo service network restart

3.  Configure Hostname

If you haven't set your hostname during installation, you can set it here.  The command <hostnamectl> is used to check the current hostname and set a new one.

sudo hostnamectl status

Now change with...

sudo hostnamectl set-hostname --static "yourpc.dom"

Reboot to effect the change.

4.  Enable usefull repositories

We prefer to enable extra repositories.

sudo rpm -Uivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-28.noarch.rpm

You can also consider the non-free repository (note the difference - the above rpm is fedora-28 specific, while the below will follow your release)

sudo rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Enable the Google Chrome repo

sudo vi /etc/yum.repos.d/google-chrome.repo

Put the followig contents in this new repo file.

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

Save and quit (<esc><:><wq>)

DeltaRPM and fastest mirror allows you to retrieve only the differences between the installed and updated packages on your system. To enable this, edit the /etc/dnf/dnf.conf file as follows:

sudo vi /etc/dnf/dnf.conf
fastestmirror=true 
deltarpm=true

Install Flathub rerpo which includes flathub (for newer software versions):

sudo dnf config-manager --add-repo=http://negativo7.org/repos/fedora-spotify.repo

Actually, we have a lot of RPMs and find it usefull to setup a local repository too. 

First, install createrepo:

dnf -y install createrepo yum-utils

Create a directory which will hold your RPMs and move your RPMs to this directory: (off course, you can choose where-ever you would like your rpms directory).

mkdir /var/www/html/rpms

Create your local.repo file in /etc/yum.repos.d/:

vi /etc/yum.repos.d/localrpms.repo
[localrpmsrepo]
name=local rpms
baseurl=file:///var/www/html/rpms
enabled=1
gpgcheck=0

Run the createrepo against the RPMs directory:

createrepo /var/www/html/rpms

After adding RPMs to that directory, use the update function

createrepo --update /var/www/html/repo

Done!

5.  Install Chrome

Besides the default Firefox, we also install Chrome

sudo dnf -y install google-chrome

6.  Install the following apps

Fedora "out of the box" do come with everything one would need, but these apps are either our preferred default apps, or just plain usefull and "nice to have".

sudo install -y gnome-tweak-tool 

Good Media app

sudo install -y vlc

You will probably need Media Codecs for different media formats.

sudo dnf -y install gstreamer-plugins-base gstreamer1-plugins-base gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer1-plugins-ugly gstreamer-plugins-good-extras gstreamer1-plugins-good-extras gstreamer1-plugins-bad-freeworld ffmpeg gstreamer-ffmpeg

More archiving utilities:

sudo dnf -y install unzip p7zip p7zip-plugins unrar

Graphical editing app:

sudo dnf -y install gimp

QBittorrent as a replacement of the default Transmission:

sudo dnf -y install qbittorrent

Spotify is an online music streaming service:

sudo dnf config-manager --add-repo=http://negativo7.org/repos/fedora-spotify.repo 
sudo dnf -y install spotify-client

Feddy is a graphical tweak tool:

sudo dnf -y install fedy

If you want to play games, install steam:

sudo dnf -y install steam

Dropbox:

sudo dnf -y install dropbox nautilus-dropbox

Install Dropbox for Cinnamon:

sudo dnf -y install nemo-dropbox

 Install ZoHo Desktop.  Extract the tar.gz file and run the installer.

sudo ./zohodocs_installer_desktop

Stacer or Bleachbit are system cleaner and monitoring apps:

wget https://github.com/oguzhaninan/Stacer/releases/download/v1.0.8/stacer-1.0.8_x64.rpm
sudo dnf -y install stacer-1.0.8_x64.rpm
sudo dnf -y install bleachbit

Cheese or Guvcview for your webcam:

sudo dnf -y install guvcview
sudo dnf -y install cheese

Audio file editing:

sudo dnf -y install audacity

YouTube video producing app:

sudo dnf -y install obs-studio

Install Midnight Commander

sudo dnf -y instsall mc

Screen clipping app:

dnf -y install shutter

Install Teamviewer

wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm
dnf -y install teamviewer.x86_64.rpm

Install Truecrypt

Install Adobe Flashplayer.  First install Adobe repository, then the flash player:

rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux
dnf install -y flash-plugin alsa-plugins-pulseaudio libcurl

Install Oracle Java (instead of the openjava).  You might need more than one version, depending on your apps requirements.  JDK is for development purposes and JRE for normal use.  Version 10.0.2 is the latest but many apps still use version 8u181 or even version 7x.  Download the JDK RPM packages for version 8 from here...., and version 10 from here.

sudo dnf -y install jdkx-*.rpm

Install Gimp 2-10 (the repositories only provide 2.8 as of writing this article).  Install Flathub repo and then run this command:

flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref

 If Gimp 2-10 is not running, try this command:

flatpak run org.gimp.GIMP

Install SMPlayer

dnf config-manager --add-repo https://download.opensuse.org/repositories/home:smplayerdev/Fedora_28/home:smplayerdev.repo
dnf install -y smplayer

Install blivet GUI:

sudo dnf -y install blivet-gui

Install GParted:

sudo dnf -y install gparted

Install Skype:

sudo dnf -y install wget alsa-lib pulseaudio glibc libXv libXScrnSaver
wget https://go.skype.com/skypeforlinux-64.rpm
dnf install -y skypeforlinux-64.rpm

7.  Enable SSH

If you want to access your linux box from another pc on the network, enable SSH:

sudo systemctl start sshd 
sudo systemctl enable sshd

8.  Install httpd and PHP7x with MariaDB

Its always usefull to have your linux available as a http server with PHP and MariaDB (or mySql), especially if you're building web sites or other development.  We also use vsftp.

sudo dnf -y install httpd php php-common mariadb mariadb-server vsftpd

dnf install -y php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml

Configure httpd and firewall

sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
sudo firewall-cmd --add-service=http --add-service=https --add-service=ftp --add-service=mysql --permanent sudo firewall-cmd --reload

Change the following options in httpd.conf:

sudo vi /etc/httpd/conf/httpd.conf
ServerAdmin This email address is being protected from spambots. You need JavaScript enabled to view it.
ServerName localhost:80
DirectoryIndex index.html index.cgi index.php

Make appropriate changes to your vsftpd.conf file

sudo vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
ascii_upload_enable=yes
ascii_download_enable=yes
chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=yes
listen=yes
listen_ipv6=no
local_root=public_html
use_localtime=yes

Then modify /etc/vsftpd/chroot_list by adding users you allow to move over their home directory

fedora

Allow SELinux for FTP:

sudo setsebool -P ftpd_full_access on

9.  Install PostgreSQL 10

First of all, exclude postgresql from the default Fedora repo

sudo vi /etc/yum.repos.d/fedora.repo
[fedora]
exclude=postgresql*
sudo vi /etc/yum.repos.d/fedora-updates.rerpo
[updates]
exclude=postgresql*

Then install PostgreSQL repository and then through dnf:

sudo dnf -y install https://download.postgresql.org/pub/repos/yum/10/fedora/fedora-28-x86_64/pgdg-fedora10-10-4.noarch.rpm
dnf install -y postgresql10 postgresql10-server

Initialize PostgreSQL

/usr/pgsql-10/bin/postgresql-10-setup initdb

Configure PostgreSQL:

vi /var/lib/pgsql/10/data/postgresql.conf
listen_address = '*'
port = 5432

Set PostgreSQL permissions:

sudo vi /var/lib/pgsql/10/data/pg_hba.conf
# Local networks
host    all     all     xx.xx.xx.xx/xx    md5
hostl    all    all     192.168.0.0/24    md5

Start the server:

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Allow firewall:

sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload

That's it.  Please let us know of any other usefull improvements on your Fedora 28 install.