Git has become the default version control system for much of the open source world. While Git hosting services like Github and Bitbucket are good and work well, they leave you dependent on those services for everything, including crucial factors like uptime and security. Aside from that, neither of those services are open source. Thankfully, an alternative exists in the form of Gitlab.

Gitlab is an open source Git repository service written in Ruby on Rails that can either be self-hosted, or purchased as a service. Hosting Gitlab is fairly easy, especially since it comes in a per-configured "Omnibus" package.
Ubuntu 16.04 running MPD Gitlab

August 22, 2016
by Rares Aioanei

Introduction

What are snaps and why you should use them? The Linux ecosystem has suffered from an old problem since the dawn of the concept of 'distribution', and that problem is fragmentation. One of the biggest issues that cause this fragmentation is different package formats; I can't run my .debs on my Fedora system or my .rpms on my Ubuntu machine. Yes, we do have alien, which should allow the transition between the two formats, but there are two problems with this approach : there are other package formats besides rpm and deb and besides, alien doesn't always work as expected. So the issue is still there, or I should say, was there. Enter snap, the universal Linux package format, which strives to offer users and developers a single packaging format and easiness when it comes to creating new packages with the applications and libraries that are needed, ensuring that said packages are easily shareable between distributions. Dell, Samsung and the Linux Foundation are quoted as contributors, while among supported distributions are Fedora, Ubuntu, Arch or OpenSUSE.

This article will detail how to use snaps as a simple user, as well as instructions for developers/packagers on how to create snaps for others to use. The OS we're gonna use is Ubuntu 16.04, but the instructions below shouldn't be hard to adapt to other distributions.

Snaps as a simple user

This part will give you a tour of snap from a user perspective : how to install the necessary tools and how to use them for basic, day-to-day usage. First, you need to install snapcraft, a package that provide snap, the go-to tool for aforementioned day-to-day operations :
 $ sudo apt install snapcraft

Linux has a ton of options when it comes to media players. Many of them are just as feature packed as their proprietary counterparts on other operating systems. What most Linux users don’t realize is that there are additional options that utilize one of Linux’s greatest strengths, servers. MPD(Music Player Daemon) is a lightweight server for sharing a music library both locally and over a network.

The best aspect of MPD is, by far, its flexibility. Not only does MPD allow music to be shared and played over the network, but it also allows for numerous different front end clients. These clients range from full graphical music players to minimal command line options.

Ubuntu 16.04 running MPD with the Cantata client

Sure, VirtualBox is a popular solution for quick and easy virtualization on Linux, but KVM can provide a more robust and efficient solution with minimal configuration. With the use of tools like Virt-Manager, it can be just as easy to use.
Ubuntu 16.04 running in a virtual machine

Nginx is quickly overtaking Apache as the favorite web server. For web apps built in languages like Rails and Python it’s virtually ubiquitous, but it’s a bit slower to catch on in the PHP world. Part of the reason for that is how easily PHP and Apache go together. However, PHP and Nginx can cooperate nearly as easily, and with the release of PHP 7, combining the two can be a fairly speedy option.

The Packages

First thing’s first. Update Ubuntu and get the the Nginx and PHP packages.
# sudo apt-get update && sudo apt-get -y upgrade
# sudo apt-get -y install nginx php7.0 php7.0-fpm
When the installation is finished, the packages should all be in place, and actually running. To make sure that this is the case, you can check that both Nginx and the PHP-FPM services are running in Systemd.
# sudo systemctl status nginx
# sudo systemctl status php7.0-fpm
If Systemd confirms that both services are running, the server should actually be up, and you should be able to see the default Nginx welcome page by navigating to localhost in the browser.

ARE YOU LOOKING FOR A LINUX JOB?
Submit your RESUME or create a JOB ALERT on LinuxCareers.com job portal.
DO YOU NEED ADDITIONAL HELP?
Get extra help by visiting our LINUX FORUM or simply use comments below.