Zabbix installation and setup

Ubuntu 16.04 LTS (xenial):

$ wget
$ dpkg -i zabbix-release_3.0-1+xenial_all.deb
$ apt-get update
$ sudo apt-get install zabbix-agent zabbix-server-mysql zabbix-frontend-php snmpd php5.6-mysql php5.6-curl
$ sudo nano /etc/php/5.6/apache2/php.ini

; Defines the default timezone used by the date functions
date.timezone = America/Sao_Paulo

$ sudo /etc/init.d/apache2 restart

php info date

Determine what port zabbix listening to. Should be either or all 10050 and 10051. One for agent another for server.
$ sudo netstat -tlnp | grep zabbix
zabbix port listening


Default Username: Admin
Default Password: zabbix

Error Solution: The frontend does not match Zabbix database
zabbix database installation error

You should first populate the database with the sql file provided in /usr/share/doc/zabbix-server-mysql/create.sql

Depending on the size allowed in phpmyadmin its best to import thru the command line. Also this allows to edit the file if any errors (possible 1709)
$ mysql -u root -p zabbix < create.sql

Configure port
If you have the incorrect port set you will get this error
Zabbix server is running
To view the zabbix port (you may need to start zabbix)
$ sudo /etc/init.d/zabbix-agent restart
$ sudo netstat -tlnp | grep zabbix
To change web port
$ sudo nano /etc/zabbix/web/zabbix.conf.php

$ZBX_SERVER      = '';
$ZBX_SERVER_PORT = '10050';

To change agent port
$ sudo nano /etc/zabbix/zabbix_agentd.conf

### Option: ListenPort
#	Agent will listen on this port for connections from the server.
# Mandatory: no
# Range: 1024-32767
# Default:

If you want reinstall zabbix. To get the installation screen
delete /etc/zabbix/web/zabbix.conf.php
go to http://localhost/zabbix/setup.php

# comment out the line 'mibs'
$ sudo nano /etc/snmp/snmp.conf

# As the snmp packages come without MIB files due to license reasons, loading
# of MIBs is disabled by default. If you added the MIBs you can reenable
# loading them by commenting out the following line.
#mibs :

# error log location

possible errors

server error:
[Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost' (using password: NO)
mysql>grant all privileges on zabbix.* to zabbix@localhost identified by 'abc123'
$ sudo nano file:/etc/zabbix/zabbix_server.conf

### Option: DBPassword
#	Database password. Ignored for SQLite.
#	Comment this line if no password is used.
# Mandatory: no
# Default:

agent error:
$ tail -f zabbix_agentd.log
failed to accept an incoming connection: connection from "" rejected, allowed hosts: ""
zabbix_agentd.conf 'Server=...' need to match /etc/zabbix/web/zabbix.conf.php '$ZBX_SERVER'
$ sudo nano /etc/zabbix/zabbix_agentd.conf


$ sudo /etc/init.d/zabbix-agent restart


Virtual box Increase disk size

command example
$ VBoxManage modifyhd /home/user/VirtualBox\ VMs/windows7/windows7.vdi --resize 50000

I had an issue where new memory was not showing up in GParted GUI to be allocated. I cloned the virtual drive and use that one instead and it worked

C sharp (C#) Hello world

create a cs file hello-world.cs and add code.

run the file in cmd
C:\Desktop> C:\Windows\Microsoft.NET\Framework64\v3.5\csc.exe hello_word.cs

then a executable will be created called hello_word.exe. That is your program. Run that to run you program.

Fixing ethernet network connection

Issue: When plugin in the Ethernet cable to computer would be not have a connection.
Reason: Ethernet driver is not installed, corrupted or out of date.
motherboard: Asus z97-AR
Intel CPU: Intel Core i7-4790K
operating system: Window 7

Go to device manager.
Under ‘Other devices’ the Ethernet Controller has a warning icon

donwload then extract ‘Turbo LAN V1.04.01 for Windows 7/8/8.1 32bit & 64bit.’ driver from asus site

In device manager right click on ‘Ethernet Controller’ then ‘Update Driver Software’ then ‘browse my computer for driver software’
Browse to the extracted folder ‘Intel_LAN_Win7-8-8-1_VER191510’ then click next

Restart computer

Mount usb linux command line

# ways to find flash drive
dmesg | tail
sudo fdisk -l
ls /dev/sd*
df -h

# make a directory to mount the usb
sudo mkdir /media/usb

# mount usb
# to grant permission to all when mounting add umask flag. For only root omit flag.
sudo mount -o umask=000 /dev/sda1 /media/usb

# if error mount: unknown filesystem type 'exfat'
sudo apt-get install exfat-fuse exfat-utils

# mount on every boot
# determine the partition/filesystem type for proc column
sudo blkid /dev/sda*

# edit file
sudo nano /etc/fstab

proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
/dev/sda1       /media/usb      exfat   defaults
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that

# unmount
sudo umount /dev/sda1

# resources
How to Mount USB Drive on the Raspberry Pi

# tags
ntfs fat32 ext4

Samba Installation

Installing samba
$ sudo apt-get update
$ sudo apt-get install samba samba-common-bin
$ sudo nano /etc/samba/smb.conf

Configuration example

	netbios name = PI
	server string = The Pi File Center
	workgroup = WORKGROUP
	hosts allow =
	remote announce =
	remote browse sync =

	path = /home/pi
	comment = No comment
	browsable = yes
	read only = no
	valid users =
	writable = yes
	guest ok = yes
	public = yes
	create mask = 0777
	directory mask = 0777
	force user = root
	force create mode = 0777
	force directory mode = 0777
	hosts allow =

# password protected
	comment = fsq
	path = /var/fsq
	browseable = Yes
	writeable = Yes
	only guest = no
	create mask = 0777
	directory mask = 0777
	public = no

Creating Samba User:
$ sudo smbpasswd -a pi
type password, press enter

Restart Samba Service:
$ sudo service smbd restart


Sync server time and date

sudo service ntp stop
sudo ntpd -gq
sudo service ntp start