How to install Ubuntu 18.04 Desktop

How to install Ubuntu 18.04 Desktop fresh using Hyper-V manager on Windows 10 Pro to Quick Create. There are many ways to install it, this process is very simple, you could do manual, which requires you to download the Ubuntu 18.04 image, then go through the process of installation. This will give you options to use your Ubuntu virtual desktop and get a feel of Linux system, when not in use, turn it off, so it goes not take resources of your system.

Open your Hyper-V Manger

Right click on Hyper-V host and choose Quick Create …

Then you will get option to select the Operating system, choose Ubuntu 18.04 LTS, and click Craete Virtual Machine. If you want to rename your VM, you could click on More options or you can rename later.

Then it will go through downloading the Ubuntu 18.04 LTS image, depending on your internet speed it may take awhile.

Then it will go through the automatic process of creating VM:

  • Verifying image
  • Extracting disk from an image archive
  • Creating a Hard drive
  • Virtual machine create successfully

Then you should see option to connect to your new Ubuntu 18.04 Desktop, click Connect

Click on Power button or Start to turn on your Ubuntu 18.04 server

You should see starting and then Welcome screen. Select your Language then click Continue

Select Keyboard layout, then click Continue

Select your Timezone, then click Continue

Fill in the login info, this would be admin account to login to your server, then click Continue

Then it will go through the System configuration automatically

Then you should see login screen enter your user/password created earlier

You should see your New Ubuntu 18.04 Desktop, it gives you few tips on What’s new in Ubuntu, go though and start using your Ubuntu Virtual desktop.

You can start using your Ubuntu 18.04 virtual desktop, see tips and tricks of common things you may find helpful, if this is your first time use of Ubuntu system.

Tips and Tricks:

Remove icon from favorites

Just right click icon you want to remove and choose Remove from Favorites

Opened applications

You will see little dot next to the application, you tell you that application is open.

More than one Application open

You will see more than one little dots, if you click on it, it will give you thumb nail view of and you will be able to switch it or close the application.

To see all opened Applications

Click on the Activities and it will give you thumbnail view of all opened applications, you can switch to it, or close it by click on X.

To see Applications

You can click on 9 dotted icon bottom left hand side, you will see all application or Frequent used

  • Software – where you can install new applications
  • Software & Updates – Where you can install updates and third-part software options
  • Startup Application – gives you list of application at start of your Ubuntu system
  • Settings – list of all settings like control panel
  • Files – your documents or personal files
  • Rhythmbox – is default music player

Shutdown Ubuntu Virtual Machine

Click on the Arrow on top left, you will see Power icon, if you want to just lock it, click on Lock icon.

When you click on Power icon it will give you option to Restart/Power off or cancel

Change User info

If you need to change user name or any setting, click on the Arrow next to your user name it will give you option to make changes

Change default applications

Click on Settings>Default Applications>Then change it to what you like



Nagios network monitor upgrade to Version 4.4.3

Nagios is a great open source network monitor released new version 4.4.3 last month.  It’s a great free tool, you can customize to fit your network and monitor live.  Know the issues before your user’s reports to you, you can see the history of your network health, so you know your network is stable or find out if you are having some issues in some part of your network.  So keeping up with the newest version to monitor your network is very important.  Let’s get started first, make sure you have a good backup and check your Nagios config if you have any errors correct it first.  Also, if you are using any plugin make sure they support the new version too.  I am using Ubuntu server and Apache for a web server.

To check the Nagios health:

Command: nagios -v /usr/local/nagios/etc/nagios.cfg

Your path to Nagios might be different and unless you are sudo user you will need to use sudo command.  You may have some warning of deprecated, you can update it and fix it before the update something like this:

WARNING: The retry_check_interval attribute is deprecated and will be removed in future versions. Please use retry_interva                l instead.

If everything looks good, then next download new version of Nagios.  You can download the Nagios core from https://www.nagios.org/downloads

at download page choose Nagios Core, then new version: 4.4.3

Update process:

  1. Extract: tar –zxvf nagios-4.4.3.tar.gz
  2. switch to the directory: cd nagios-4.4.3/
  3. Stop Nagios service: service nagios stop
  4. Run command to check: ./configure –with-command-group=nagios
  5. If everything is fine:  make all
  6. Then install it: make install

Check Nagios confignagios  -v / usr/local/nagios/etc/nagios.cfg

If any errors found then fix it and re-run the check config until no errors found, then start Nagios service: service nagios start

You might need to restart the apache2 service or whatever your web server is:  service apache2 restart

That’s it

Resources:

Nagios Core Manuals



How to secure your Ubuntu server

As you may know, already there are many ways to secure Ubuntu server based on your environment and version of OS. Double checking to be sure you are secure does not hurt at all, but don’t go overboard by locking your self from accessing own server. I have been working with Ubuntu server since Ubuntu 5.04 back in 2007, but have not done any post about it and was not using that much as I am now. Ubuntu Linux system has come a long way for sure, now even power users start using their desktop version. For the most part default security secures your server from any major attack to your server. There are many attacks are from within your own environments and some lazy admin or management who don’t want to pay for support or just keeps post ponding updates. Anyways here I have some list of tweaks I have been using and learning more from other Linux admins on internet.

Keep your server up to date:


sudo apt-get update This will search for an update of your current version and packages that in installed
sudo apt-get upgrade This will install the updates and packages
sudo apt-get dist-upgrade This will look for newer next LTS version

Check supported Releases:
https://wiki.ubuntu.com/Releases

Remove unnecessary packages

sudo apt-get auto-remove
sudo apt-get purge NameOfPackage

Enable built-in basic Uncomplicated Firewall (ufw): by allowing only need services name or ports

ufw allow ssh
ufw allow 80
ufw allow ftp

Disabled telnet: very old but have seen people still using it
apt-get remove telnet

Check for hidden open ports with:

netstat

Set a shorter timeout for root sessions

edit /etc/profiles
[ $UID -eq 0 ] && TMOUT=600.
The $UID -eq 0 part refers to the user with the ID of 0 — always root.
The TMOUT=600 or 900 part sets the timeout limit to 10-15 minutes (600-900 seconds)

Change default SSH port from 22 to something else and disable Root user:

Port 22 > Port 90xx or whatever port you want (don’t forget to add a new port to your firewall)
edit /etc/ssh/sshd_config:
PermitRootLogin yes > PermitRootLogin no

Limiting allowed users to login via SSH:

edit /etc/ssh/sshd_config to have ssh login for specific users
bottom of the file, add the line x=device you going to log in from IP or just type User1 User2, etc…
AllowUsers YourUserName@192.xxx.xxx.x
if you need to use a wildcard: to allow any username and from x=network:
AllowUsers @192.xxx.xxx.*

You could also add a Group:
Create group:
groupadd -r SSHGroupName

Add allowed group to /etc/ssh/sshd_config
AllowGroups SSHGroupName

Then add user to the group:
usermod -a -G SSHGroupName user1

service ssh restart

edit /etc/ssh/sshd_config to have ssh login for specific users
bottom of the file, add the line x=device you going to log in from IP
AllowUsers YourUserName@192.xxx.xxx.x
if you need to use a wildcard: to allow any username and from x=network:
AllowUsers @192.xxx.xxx.*

service ssh restart

Add Login Banner which displays before user login:

edit /etc/issue.net
add your own warning message whomever login can see

Then edit /etc/ssh/sshd_config and uncomment the line:
Banner /etc/issue.net

some more options to disable server info by comment out:

edit /etc/pam.d/sshd
session optional pam_motd.so motd=/run/motd.dynamic

network messages to allow or disable (like ICMP, redirects, SYN, etc..):
edit /etc/sysctl.conf

Blocking IP spoofing:


edit /etc/host.conf
change from “multi on” to “nospoof on”

To Turn off Server Signature:

edit /etc/apache2/apache2.conf and add these 2 lines at the end of the config file. Most cases user types wrong URL or by IP address, it display’s your web server info by default.
ServerSignature Off
ServerTokens Prod

service apache2 restart

Hide PHP Version

edit (your version of PHP maybe different) /etc/php/7.0/apache2/php.ini
expose_php = Off

You may have older version of PHP:
/etc/php5/apache2/php.ini
expose_php = Off

Also youcould add to your .htaccess file:
# Disable server signature
ServerSignature Off

will add more later on



osTicket installation on Ubuntu 16.04

osTicket is one of the great open source support system, very easy to install and use.  I have noted the whole process, short version, and detailed version.  What you will need from start to finish.  This installation is fresh, without any add-ons or any customization osTicket version 1.10.1.  I have written this installation based on Ubuntu 16.04 with Apache as a web server, it may work just fine with other versions of Ubuntu servers or similar to other flavors of Linux systems.  Assuming you have your web server and domain up and running without any issues.  So, let’s get started

What you will need

  • Server requirements:  You can get up to date from official docs from osTicket very well documented
    • PHP 5.6 (or better I am going to be using PHP7.0)
    • MySQL 5.0 (or better)
    • 2GB memory recommended 4GB or more
  • Access to web/database server via SSH
  • Access to site file via (FTP, SFT, GUI, SSH, etc. …)

Getting server ready to install osTicket:

Installing requirements, you may need to run add this to repository void error, log in to your web server via SSH

Commands:
sudo apt-add-repository ppa:ondrej/php
sudo apt-get install php7.0-gd php7.0-imap php7.0-xml php7.0-mbstring php7.0-intl phpapcu

Downloading osTicket:

https://osticket.com/download/
Once you have downloaded then extract it or upload it to your web server common location: /var/www/

Then set the permission:

commands: make sure to change /var/www/ to your path
sudo chown -R www-data:www-data /var/www/

Click Continue once you have fixed any issues, please correct it before going forward

Setup osTicket Database and give full permission using whichever tool you are comfortable with it, then fill in details and click Install now

if everything went well you should see Congratulation, then just change the permission of your config file

You should be able to login to your osTicket support system with the information you used earlier, see my notes, where I have put in some common issues you may encounter when installing.

Notes and common errors/solution: 

You may need to do these if you get errors or other settings changes


If you have not copied the ost-sampleconfig.php to include/ost-config.php
then you will get the following message


You will also need to make sure that ost-config.php has correct permission, otherwise, you will get this message:


if you have already installed the PHP IMAP extension and still gives you an error, take a look at your php.ini file and enable it by uncommenting /etc/php/php.ini:
;extension=imap.so
to
extension=imap.so


You may need to restart the web service after making changes to take effect:
sudo systemctl restart apache2


error: Valid CSRF Token Required OsTicket:
then need to edit file class.ostsession.php round line 191
catch (DoesNotExist $e) {
$this->data = new SessionData([‘session_id’ => $id]);
$this->data->session_data = “”;


error: Php 7.2 compatibility issue (not recommended to use this version of PHP on osTicket 1.10.1 or 1.10.4, it should support on new version 1.11)
then need to edit file class.ostsession.php round line 197

if(!is_string($this->data->session_data)) { $this->data->session_data = strval($this->data->session_data);

}


These commands to install PHP version 7.0 extensions manually one at a time:
Sudo apt-get install php7.0-gd
Sudo apt-get install php7.0-imap
Sudo apt-get install php7.0-xml
Sudo apt-get install php7.0-mbstring
Sudo apt-get install php7.0-intl
Sudo apt-get install php-apcu


Make sure to protect your ost-config after the installation by changing the permission:
sudo chmod 0644 /var/www/include/ost-config.php