Sunday, July 15, 2018

Server Side

Leveraging Linux sounds good, but how do we increase to functionality to the point where we can runn a server that competes with proprietary and costly Microsoft Server services like Active Directory, Windows SQLServer, Remote Desktop Protocol, MS Exchange, and etc?

First: We need to define the functions of a server for a Business, particularly a SME-level organization that cannot leverage scaling costs of tech, but still need networking functions.

  1. Authentication/ Directory: IT administrators and management need to be able to control, and track the different permissions users on the network have, without having to configure individual clients' security settings.
  2. Email Routing: routes incoming email to each individual user on your directory (routes emails that go to _____@example.org to a specific user in the example organization).
  3. File Sharing: This is the biggie in SMEs. Files need to be accessible to multiple users in the organization. Flash drives just don't cut it.
  4. Database. If the organization does any operations at all, it must maintain records of clients, vendors, employees, inventories, products, sales, and many more. The easiest way to manage these is by using a SQL-based database management tool on your server.
  5. Web Services. If you are running a website, it has to route to a server in order to retrieve the data that is displayed on the browser.
  6. Peripherals:
    • Print server: Most printers nowadays can connect directly to the network and are designed to be plug-and-play. Unless you have an old printer that needs a network driver to work on a network, a print server is unnecessary.
    • DNS server: If you are a SME, your ISP will provide DNS services automatically. Unless you have a couple of IP destinations that you want to name, it is unnecessary.
    • DHCP server: DHCP assigns dynamic IP addresses to machines connected to the network. Again, this is provided by your router/ modem that your ISP provides. This is unnecessary unless you want to manually setup your own IP addresses.


For network mapping services: NMAP
Install NMAP - this is equivalent to a IP Scanner. Use:
sudo apt-get update
sudo apt-get install nmap

To do a fast scan on an IP range,
nmap -F 192.168.1.1-254

NMAP Cheat Sheet
  • https://hackertarget.com/nmap-cheatsheet-a-quick-reference-guide/

For remote desktop services:
For Remote Desktop (For remote users, and remote technical support), AnyDesk and Teamviewer can be downloaded and used for free (Personal use). For remote desktop for remote users, one can utilize the RFB protocol through RealVNC Open, an open source, free, compatible program used in VNC (Virtual Network Computing) to share screens.

What is the LAMP solution stack?
LAMP : Linux, Apache HTTP server, MySQL relational database manager, PHP programming language.
This solution stack uses the open-source components above to operate servers, not limited to hosting web services, mailing lists, database management, and user interface (GUI).
  • https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04

Ubuntu Server
The Ubuntu Server Version is free, like Ubuntu to download and install onto a server machine/ cloud server. It does not come with a graphical user interface, and most commands are done in the terminal.


PostgreSql


Leveraging Linux to Alleviate Costs in a Medium Sized Enterprise

To Install Linux, we use Ubuntu (supported by Canonical), which has 18 month support for updates and 3 years for Stable Releases.

The reasoning we use Linux over other OS's and specifically Ubuntu is:
  • Linux (and Ubuntu) is free and open source. Windows typically runs for $100+.
  • The User Interface (UI/ GUI) has improved to the point where for seasoned computer users, it is self explanatory to perform basic functions
  • There is an answer for everything on the Linux forums, and is one of the most active communities that can and will help with any issues.
  • Most issues can be fixed on the command line, which expedites fixes.
  •  Ubuntu is developed by Canonical, who offers free support, and is a major player in the open-source software field.
  • Ubuntu is less memory and processor hungry than Windows, and can improve hardware efficiency by up to 50%. This saves hardware that may otherwise need to be retired.
  • Ubuntu can be configured to have built-in encryption, as well as not having user data being sent to a corporation like Microsoft. It also has built in malware detection.

You can download an Ubuntu installer from any browser by Googling it and download. It can be mounted on a USB driver (preferably over 2GB). Note: this will format the drive and erase all other data on it.

After installing Ubuntu, run a system update to ensure all software are up to date. You may have to use a wired ethernet cable to start the configuration process.

Update Drivers:
  • Wifi Adapters: Laptops have built in WiFi adapters that will not work by default. To check the device name, type "lspci" in the console, and network controllers will appear.
  • Update the driver for the given adapter. My device used BroadCom BCM4312, and the kernel source (broadcom STA driver) is installed by the following:
    • sudo apt-get update
      sudo apt-get install bcmwl-kernel-source
        
      
      
      Go to: System->Administrator->Additional Drivers(Hardware drivers)
       
      Wifi will now appear in  top right panel
Restart Ubuntu with "reboot" command as necessary. Do this with any other drivers for Graphic Cards, sound cards, any USB devices, and printers.

For Printers:
  • Go to Setting -> Devices -> Printers. This should list all the active printers. 
    • If you don't see your printer, or if the printer was not set up properly, hit "Additional Printer Settings"
    • The printers on Localhost will be listed, and you can manually set them up. If the driver is not installed, Ubuntu will automatically detect and update drivers when connected to internet. Print test page to confirm.

Firefox should come pre-installed as the default browser, and it works well. You can browse Facebook, Youtube without problem, with most websites phasing out Flash Player requirement. It used to be that Flash needed to be installed for Youtube.


Install the following software from their respective websites.
  • LibreOffice. This is the free, open-source office that works just like MS Office.
  • VLC Player. This app plays all music, video, DVD, and other media files. It is also free and open source.
The following are also available for free download and use on Linux Ubuntu, if you use them:
  • TeXStudio. LaTeX editor, builder, and viewer.
  • OBS Studio. For Streamers on Twitch/ Youtube/ etc.
  • Code::Blocks. IDE for C++ programming
  • Eclipse CDT. Another IDE
  • Android Studio. To build Android Apps.
  • RStudio. For data analysis.
  • GIMP: not quite Photoshop level, but definitely a strong contender

Ubuntu client versions comes in a variety of "flavors" to aid in specific functions:
  • Kubuntu. KDE Plasma Workspace, for a stylish workstation environment.
  • Lubuntu. Lightest, fastest version of Ubuntu that uses LXQt environment
  • Xubuntu. Lightweight, configurable environment.
  • Ubuntu Studio. Directed at audio and video content creators and enthusiasts.

Anything other questions you have has most likely been asked. Use Google.