6 Github alternatives that are open source and self-hosted

Git is a version control system. Linus Torvalds created Git in 2005 for development of the Linux kernel. Git is mainly used for software source code management. However, it can be used to keep track of any set of files such as HTML or CSS or a tutorial written in the markup language. Git is a Distributed Version Control Systems. A dedicated Git server helps to manage access control, show contents of a Git repository via the web and manage multiple repositories. In a Git, clients do not just check out the latest snapshots of the files. They entirely mirror the repository including history.

Microsoft to acquire Github

It is official now. Microsoft announced an agreement to acquire GitHub, the world’s leading software development platform. I think it is a wake-up call for open source projects. So much of open source code hosted on Github. I twitted this other day:

I got an email from one my client who is @Github private repo business customer. They want to move out of Github to a personal GIT server hosted either in AWS or Google Cloud. They fear that Microsoft might get insight into their codebase. Small startups/business do not trust MS.

— nixCraft (@nixcraft) June 3, 2018

Some of us working in IT for a long time. We have not forgotten big evil Microsoft. Microsoft is the same company that was behind the SCO Lawsuit against Linux and called open source cancer. It actively follows a policy of Embrace, Extend, Extinguish. Microsoft is also known for its abuse of patents (see Netscape and Microsoft is generating $2 billion per year in revenue from Android patent royalties) and the recent Windows 10 Telemetry privacy issues. The list is endless. One should be a cautious trusting company that has a strong history of abuse towards open source communities and Linux operating system. Hence, installing your Git server is the best policy.
Open Source GitHub Alternatives

Various implementations of Git and Github alternatives

There is a number of implementations of Git server:

  1. Proprietory (e.g. Bitbucket)
  2. Git as service (e.g. GitHub)
  3. Open source (e.g. gitolite, Gerrit)

Let us see six open source Github alternatives that you can host on your own server.

1. GitLab – a web-based Git-repository manager with wiki, issue-tracking features and more

GitLab is a free, open source and a web-based Git-repository manager software. It has a wiki, issue tracking, and other features. The code was originally written in Ruby, with some parts later rewritten in Golang. GitLab Community Edition (CE) is an open source end-to-end software development platform with built-in version control, issue tracking, code review, CI/CD, and more. Self-host GitLab CE on your own servers, in a container, or on a cloud provider.

GitLab is Github alternative self hosted open source software
Manager: GitLab B.V. Netherlands.
Server side free software: Partial [GitLab Community Edition (CE)]
Client side free software: Yes
Code review: Yes
Bug tracking: Yes
Web hosting: Yes
Wiki: Yes
Private branch: Yes
Personal branch: Yes
Build system: Yes
Release binary: Yes
Self hosting: Yes
Version control system: Git
License: MIT Expat
Commercial support: Yes
Operating system/stack support: Linux (Ubuntu/Debian/CentOS/RHEL/OpenSUSE) + Ruby, Redis, PostgreSQL/MySQL, and Git
Download: https://gitlab.com/gitlab-org/gitlab-ce

2. Gitea – Git with a cup of tea

It is a painless self-hosted Git service. Gitea is a community fork of Gogs software. It is lightweight code hosting solution written in Golang and released under the MIT license. It works on Windows, macOS, Linux, ARM and more.

Gita Github alternatives open source and self hosted software
Manager: The Gitea Authors.
Server side free software: Yes
Client side free software: Yes
Code review: Yes
Bug tracking: Yes
Web hosting: Yes
Wiki: Yes
Private branch: Yes
Personal branch: Yes
Build system: No
Release binary: No
Self hosting: Yes
Version control system: Git
License: MIT
Commercial support: N/A
Operating system/stack support: Linux/Unix/Windows (anything that can run Golang), PostgreSQL/MySQL database
Download: https://gitea.io

3. GNU Savannah

GNU Savannah is a free and open source software from the Free Software Foundation. It currently offers CVS, GNU arch, Subversion, Git, Mercurial, Bazaar, mailing list, web hosting, file hosting, and bug tracking services. However, this software is not for new users. It takes a little time to setup and masters everything about it.

GNU Savannah Self Hosted Github alternatives
Manager: Free Software Foundation, Inc. .
Server side free software: Yes
Client side free software: Yes
Code review: Yes
Bug tracking: Yes
Web hosting: Yes
Wiki: No
Private branch: No
Personal branch: No
Build system: No
Release binary: N/A
Self hosting: Yes
Version control system: Git, CVS, HG, SVN, BZR
License: MIT Expat
Commercial support: Yes
Operating system/stack support: Linux (Ubuntu/Debian/CentOS/RHEL/OpenSUSE) + Ruby, Redis, PostgreSQL/MySQL, and Git
Download: http://savannah.gnu.org/projects/administration

4. GitBucket – Open source GitHub clone written with Scala

Gitbucket is a Git platform powered by Scala with easy installation, high extensibility & GitHub API compatibility. It provides GitHub like user interface (UI) and features such as Git repository hosting via HTTP/HTTPS and SSH, repository viewer, issues, wiki and pull request.

GitBicket Github Alternatives Open Source Software
Manager: The Gogs Authors.
Server side free software: Yes
Client side free software: Yes
Code review: Unknown
Bug tracking: Unknown
Web hosting: Yes
Wiki: Yes
Private branch: Yes
Personal branch: Unknown
Build system: No
Release binary: No
Self hosting: Yes
Version control system: Git
License: Apache License 2.0
Commercial support: Unknown
Operating system/stack support: Java 8 (Linux/Unix/Windows)
Download: https://github.com/gitbucket/gitbucket

5. Gogs – A painless self-hosted Git service

The goal of this project is to make the easiest, fastest, and most painless way of setting up a self-hosted Git service. With Go, this can be done with an independent binary distribution across ALL platforms that Go supports, including Linux, Mac OS X, Windows and ARM.

Googs Github Alternatives Open Source Software
Manager: The Gogs Authors.
Server side free software: Yes
Client side free software: Yes
Code review: Yes
Bug tracking: Yes
Web hosting: Yes
Wiki: Yes
Private branch: Yes
Personal branch: Yes
Build system: No
Release binary: No
Self hosting: Yes
Version control system: Git
License: MIT
Commercial support: N/A
Operating system/stack support: Linux/Unix/Windows (anything that can run Golang), MySQL/PostgreSQL/MSSQL/TiDB database
Download: https://gogs.io/

6. Other Github alternatives options

Here are few more alternatives to GitHub for all platforms with Open Source License:

GitPrep

It is Github clone. You can install portable github system into unix/linux. You can create users and repositories without limitation. This is free software.

Kallithea

Kallithea, a member project of Software Freedom Conservancy, is a GPLv3’d, Free Software source code management system that supports two leading version control systems, Mercurial and Git, and has a web interface that is easy to use for users and admins. You can install Kallithea on your own server and host repositories for the version control system of your choice.

TuleapL

Tuleap is a project management system for managing application lifecycles, Agile development and design projects, V-model, Requirement Management, IT Services Management, and so on. Tuleap integrates forge system functionalities that enables teams to manage software sources (using Subversion, Git or CVS); share technical or project documentations; track bugs; consolidate communications with customers, developers or third parties.

Phabricator

Phabricator is a collection of web applications which help software companies build better software. It is a set of tools for developing software. It includes applications for code review, repository hosting, git, bug tracking, project management, and more.

Conclusion

And there you have it, six Github alternatives that you can host on your Linux or Unix server. No need to depend on the cloud or worry about Microsoft looking into your codebase. If I miss any other well know the FOSS-based Git server, please add in the comments section below.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Source

Linux NVENC OBS Screen Capture – For The Record

Linux NVENC OBS Screen Capture – For The Record Posted on October 14, 2018

Matt Hartley

Datamation.com

and OpenLogic.com/wazi, Matt also once served as a co-host for a popular Linux-centric podcast. Matt has written about various software titles, such as Moodle, Joomla, WordPress, openCRX, Alfresco, Liferay and more. He also has additional Linux experience working with Debian based distributions, openSUSE, CentOS, and Arch Linux.

(Last Updated On: October 14, 2018)

Linux NVENC OBS Screen Capture. How does it compare to a USB hardware capture device? With select NVIDIA cards and a NVIDIA modern driver for Linux, my OBS installation is able to take advantage of GPU video capturing.

OBS – https://obsproject.com/

NVIDIA SDK – https://developer.nvidia.com/nvidia-video-codec-sdk#Download

Getting OBS to recognize NVENC/hardware encoding –
https://gist.github.com/wizd3m/115df8a24eb80271a065196e914d1f75

Problematic HDMI splitter – https://www.amazon.com/gp/product/B01MT12OQA/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

LinuxGameCast Hardware capture device review – https://linuxgamecast.com/2018/07/review-70-1080p60-hdmi-capture-card/

HDMI Video Capture Device – https://www.amazon.com/gp/product/B01N4SM7H6/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

Matt HartleyDatamation.com

and OpenLogic.com/wazi, Matt also once served as a co-host for a popular Linux-centric podcast.

Matt has written about various software titles, such as Moodle, Joomla, WordPress, openCRX, Alfresco, Liferay and more. He also has additional Linux experience working with Debian based distributions, openSUSE, CentOS, and Arch Linux.

Source

How I Manage Music with Ubuntu Linux

How I Manage Music with Ubuntu Linux Posted on October 14, 2018

Joe Collins

Joe Collins worked in radio and TV stations for over 20 years where he installed, maintained and programmed computer automation systems. Joe also worked for Gateway Computer for a short time as a Senior Technical Support Professional in the early 2000’s and has offered freelance home computer technical support and repair for over a decade. Joe is a fan of Ubuntu Linux and Open Source software and recently started offering Ubuntu installation and support for those just starting out with Linux through

EzeeLinux.com

. The goal of EzeeLinux is to make Linux easy and start them on the right foot so they can have the best experience possible. Joe lives in historic Portsmouth, VA in a hundred year old house with three cats, three kids and a network of computers built from scrounged parts, all happily running Linux.

(Last Updated On: October 14, 2018)

A fun romp through my digital music library and the tools I use to maintain it.

Get mp3gain for Ubuntu from MartIn Wimpress:

https://launchpad.net/~flexiondotorg/+archive/ubuntu/audio

Ubuntu users should remove this package for best quality mp3 audio playback:

sudo apt purge gstreamer1.0-fluendo-mp3

Please join the discussion at EzeeTalk. https://www.ezeelinux.com/talk/ It’s free, secure and fun!
Please be sure to give EzeeLinux a ‘Like’ on Facebook! Thanks!https://www.facebook.com/EzeeLinux
Check out http://www.ezeelinux.com for more about Linux.

Joe Collins

Joe Collins worked in radio and TV stations for over 20 years where he installed, maintained and programmed computer automation systems. Joe also worked for Gateway Computer for a short time as a Senior Technical Support Professional in the early 2000’s and has offered freelance home computer technical support and repair for over a decade.

Joe is a fan of Ubuntu Linux and Open Source software and recently started offering Ubuntu installation and support for those just starting out with Linux through EzeeLinux.com. The goal of EzeeLinux is to make Linux easy and start them on the right foot so they can have the best experience possible.

Joe lives in historic Portsmouth, VA in a hundred year old house with three cats, three kids and a network of computers built from scrounged parts, all happily running Linux.

Source

Payment day coming (2018) | SparkyLinux

Donate Like a year ago, and ago, and ago, Sparky needs YOUR help now!

As you probably know, SparkyLinux is a non-profit project so does not earn money.
And probably some of you know that we have to pay bills for hosting server (vps), domains, the power (electricity), broadband (internet connection), etc., etc., from our personal, home budget.

The time for paying for our server coming quickly again so help us sending donation now!

This year we need 1200 PLN for the VPS which has to be paid until November 9, 2018.

And as every month, we also need 500 PLN for other bills to cover most our needs.

So all together, this month, we need your donations for about 1700 PLN / ~400 Euros / ~460 USD), please.

We also have asked for donations our community at Linuxiarze.pl and ArchiveOS.org as well. Our virtual server hosts a few web pages, all IT / Open Source / Linux related: SparkyLinux.org, Linuxiarze.pl, ArchiveOS.org and SoftMania.org.

So please donate now to keep Sparky alive. Any donation will be very helpful.

You are the best community in the Universe so I really believe we CAN do it!

Visit the donation page to find how to send out money.
Aneta & Paweł

Source

Sparky 5.5.1 Rescue | SparkyLinux

The live media of Sparky Rescue Edition is updated up to 5.5.1 which provides minor bugs fixing.

Changes:
– system updated from Debian testing repos as of October 05, 2018
– fixed menu entry of DDRescue-GUI and Gparted
– added new tools: vim, chntpw, sparky-aptus
– reconfigured sparky-remsu tool: changed name of sparky-xterm-exec to sparky-remsu-exec, so it had to be changed in obmenu-generator too. The old name could confuse users so the new one is much proper. The sparky-remsu-exec tool lets run non-sparky tools with root privileges.

The new iso images can be download from the download/rolling page.

Source

Vimix Themes and Icons Now Offers More Variants And Looks Great – NoobsLab

Vimix

themes are around from quite a while, it’s been in development since 2013 and continuously evolving. The creator of vimix is dedicated to work on Linux eyecandy, you can checkout other themes as well from same creator:

Qogir

Matcha

Canta

and make sure to give feedback to the creator that what you think of the work done.

Vimix is a Material design flat theme for GTK and Gnome Shell based on Flat-Plat theme. It supports most of the desktop environments such as: Gnome, Gnome Shell, Cinnamon, Xfce, Mate, Budgie etc. There are two variants for the themes normal and color, the main different in themes variants is title-bar buttons. Vimix theme pack is available via our PPA for Ubuntu/Linux Mint. If you are using distribution other than Ubuntu/Linux Mint then download file directly from theme pack page and install it in this location “~/.themes” or “/usr/share/themes”. If you find any kind of bug or issue within this theme then report it to creator and hopefully it will get fixed very soon.

Available for Ubuntu 18.04 Bionic/18.10 Cosmic/Linux Mint 19/other Ubuntu derivatives
To install Vimix Themes in Ubuntu/Linux Mint open Terminal (Press Ctrl+Alt+T) and copy the following commands in the terminal:
Available for Ubuntu 18.04 Bionic/18.10 Cosmic/16.04 Xenial/14.04 Trusty/Linux Mint 19/18/17/other Ubuntu derivatives
To install Vimix Icons in Ubuntu/Linux Mint open Terminal (Press Ctrl+Alt+T) and copy the following commands in the terminal:

That’s it

Source

Know About Bash for Loop in Linux with Examples

bash for loop

How to make automation with bash for loop under Linux/UNIX operating system? How do I use break, continue and the parameter for loop control expression? How to act on files using for loop?

For loop is a very useful tool to solve many problems in the programming world and therefore we will solve some problems in the real world. In Linux we use loops via Bash, Python to make automation like password script, counting script. In this article, we will explain all of the kind of loops for Bash.

1) for loop

We can use For loop to read all elements in a list or part of them and displaying these elements on the screen.

Syntax of For loop

for variable in element1 element2 element3 Or <List>
do
commands
done

We will make a script to send greeting message for each day of the week, so we will use for loop to read each day and print it out. Create file welcome.sh with nano editor and paste code below.

#!/bin/bash
for day in Sunday Saturday Monday Tuesday Wednesday Thursday Friday
do
echo “Welcome $day day”
done

Run the welcome.sh file with bash command.

$ bash welcome.sh

output
Welcome Sunday day
Welcome Saturday day
Welcome Monday day
Welcome Tuesday day
Welcome Wednesday day
Welcome Thursday day
Welcome Friday day

The for loop will take each item in the list respectively, and assign this item to the variable $day, after that execute the code between do and done then go back to the top, assign the next item in the list and repeat over.

We can use a range with for loop to put start point and end point.

#!/bin/bash
for i in
do
echo “Welcome $i times”
done

$ bash range.sh

output
Welcome 10 times
Welcome 11 times
Welcome 12 times
Welcome 13 times
Welcome 14 times
Welcome 15 times
Welcome 16 times
Welcome 17 times
Welcome 18 times
Welcome 19 times
Welcome 20 times

If we want to count even number from 1 to 20, we will add step for range.

#!/bin/bash
for i in
do
echo “Welcome $i times”
done

$ bash even.sh

output
Welcome 10 times
Welcome 12 times
Welcome 14 times
Welcome 16 times
Welcome 18 times
Welcome 20 times

Another type of using step with for loop.

#!/bin/bash
for ((i=1;i<=25;i+=5))
do
echo $i
done

$ bash step5.sh

output
1
6
11
16
21

And for negative step we can use the following type.

#!/bin/bash
for ((i=25;i>=1;i-=5))
do
echo $i
done

$ bash step-5.sh

output
25
20
15
10
5

Examples on For loop

1) Acting on files using for loop

Bash For loop is the best way when we are working on files.

#!/bin/bash
for file in ~/*.txt
do
echo $file
done

$ bash find_txt.sh

output
/root/cat.txt
/root/echo.txt
/root/file.txt
/root/f.txt
/root/nano.txt
/root/printf.txt

2) One line For loop

we can execute For loop in one line, we will rename all *.txt files to remove the file extension.

$ for filename in *.txt; do mv “$filename” “$”; done

Or in script

!#/bin/bash
for filename in *.txt
do
mv “$filename” “$”
done

3) Reading Command-line arguments

When we are executing For loop script, we can enter arguments.

for myvalue in $*
do
echo “Argument: $myvalue”
done

$ bash linoxide.sh I Love LinOxide
output
Argument: I
Argument: Love
Argument: LinOxide

4) Reading odd and even number

We will write script to read the even and the odd numbers.

for (( n=10; n<=15; n++ ))
do
if (( $n%2==0 ))
then
echo “$n is even”
else
echo “$n is odd”
fi
done

$ bash even_odd.sh
output
10 is even
11 is odd
12 is even
13 is odd
14 is even
15 is odd

2) while loop

While loop depend on the condition is true, if the condition is false the interpreter get out from the loop.

Syntax of while loop

while [ <some condition> ]do
<commands>
done

We will count from 10 to 20 and print out the results. So we will put a condition that the counter less than or equal 20.

#!/bin/bash
# Basic while loop
counter=10
while [ $counter -le 20 ]
do
echo Number : $counter
((counter++))
done

$ bash while.sh

output
Number : 10
Number : 11
Number : 12
Number : 13
Number : 14
Number : 15
Number : 16
Number : 17
Number : 18
Number : 19
Number : 20

3) Until loop

Until loop like while loop but the interpreter excute the commands within it until the condition becomes true.

Syntax of until loop

until [ <some condition> ]do
<commands>
done

We will count from 10 to 20 and print out the results. So we will put a condition that the counter greater than or equal 20.

#!/bin/bash
# Basic Until loop
counter=10
until [ $counter -gt 20 ]
do
echo Number : $counter
((counter++))
done

$ bash until.sh

output
Number : 10
Number : 11
Number : 12
Number : 13
Number : 14
Number : 15
Number : 16
Number : 17
Number : 18
Number : 19
Number : 20

4) Controlling loops

We can use Break or Continue to control loops.

Break statement

for Break statement, we can get out from the loop and no need to complete the loop when we use if statement inside the loop.

#!/bin/bash
# Basic loop use break
counter=10
until [ $counter -gt 20 ]
do
echo Number : $counter
if [ $counter -eq 15 ]
then
echo Done
break
fi
((counter++))
done

$ bash break.sh

output
Number : 10
Number : 11
Number : 12
Number : 13
Number : 14
Number : 15
Done

Continue statement

For Continue statement, we can go on the loop and no need to finish the loop when we are using if statement inside the loop.

#!/bin/sh

NUMS=”1 2 3 4 5 6 7″

for NUM in $NUMS
do
Q=`expr $NUM % 2`
if [ $Q -eq 0 ]
then
echo “A number is an even number!!”
continue
fi
echo “Found odd number”
done

$ bash continue.sh

output
Found odd number
A number is an even number!!
Found odd number
A number is an even number!!
Found odd number
A number is an even number!!
Found odd number

5) Select loop

Select loop like while and until loop but allows you to create a simple menu system.

Syntax of select loop

select var in <list>
do
<commands>
done

We will make three options and use select loop to choose from them.

#!/bin/bash
# select script

PS3=’Please enter your choice: ‘
options=(“Option 1” “Option 2” “Option 3” “Quit”)
select opt in “$”
do
case $opt in
“Option 1”)
echo “you choose choice 1″
;;
“Option 2”)
echo “you choose choice 2″
;;
“Option 3”)
echo “you choose choice $REPLY which is $opt”
;;
“Quit”)
break
;;
*) echo “invalid option $REPLY”;;
esac
done

$ bash select.sh

output
1) Option 1
2) Option 2
3) Option 3
4) Quit
Please enter your choice: 1
you chose choice 1
Please enter your choice: 5
invalid option 5
Please enter your choice: 4

Conclusion

  1. Bash For loop used in synchronization, making password, backup and etc…
  2. Do while is same as while but the interpreter executes the first code without any conditions
  3. Break statement is very important for getting out from the loop
  4. Select statement is useful when we have many options

Read Also:

Source

The GNS3 Marketplace | Linux Hint

GNS3 is an important piece of software for those of you who are aiming to be a great network engineer. On GNS3, you can simulate network topologies and actually see whether your desired network topology will work in real life. Because, on GNS3, all the networking devices are virtualized. Just like we use VMware or VirtualBox to virtualize an operating system, GNS3 uses some cool technologies along with KVM, QEMU, VMware, VirtualBox, Docker etc to virtualize all the networking tools and computers in your GNS3 project.

For example, let’s say, your network topology connects 2 computers with a Cisco Router. When you run this configuration to test whether it works or not, the computers and the cisco router image will run as virtual machines in the background. You can pick an operating system for your virtual computers. Install any software you want on these computers. So you get the feel of working with real hardware.

You can add VMware, VirtualBox, KVM guests on your GNS3 project. You can also add Docker containers on your GNS3 project.

From the networking side, you can add many of the Cisco IOS on your GNS3 project. GNS3 also supports Cisco IOU images. You can also add Juniper networking products on your GNS3 project.

Well, you can add a lot of things on GNS3. But the thing is, all these Cisco images, Juniper images etc etc don’t come preinstalled with GNS3. You have to add these manually.

In earlier days, the manual process of adding these images on GNS3 was complicated and at times were really painful to get everything to work. Now we have GNS3 Marketplace which makes everything a lot easier. Each of these images are called GNS3 appliances in GNS3 Marketplace.

In GNS3 documentation, they clearly stated and I quote, “The GNS3 appliances are using GNS3 recommended settings and have been thoroughly tested. You will most likely have a much better user experience using the appliances. You will also encounter fewer errors if you use an appliance rather than trying to configure settings yourself and using untested images.”

Here is how it works. Let’s say you want to install Cisco IOU L2 and L3 images on GNS3. You go to GNS3 Marketplace and download Cisco IOU L2 and Cisco IOU L3 appliances. Then you import it to GNS3 and follow through the setup wizard. GNS3 will guide you on what files you need and what to do to get it to work. Once the setup wizard is complete, you will have fully functional Cisco IOU L2 and Cisco IOU L3 images on GNS3 for use. Also, you can be certain that these will work.

In this article, I will show you how all these works practically using GNS3. Let’s get started.

You can access GNS3 marketplace and download GNS3 appliances from your web browser. To do that, visit https://www.gns3.com/marketplace/appliances and click on any GNS3 appliances you like.

You can also search for a GNS3 appliance from here. Just type in what you’re looking for in the search appliance input box and the results should be displayed below.

Let’s say, you want to download the Alpine Linux GNS3 appliance. Now, search for Alpine here and click on the Alpine logo.

More information about your selected GNS3 appliance will show up here. Once you’re certain that this is what you’re looking for, click on the DOWNLOAD button as marked in the screenshot below.

The Alpine Linux GNS3 appliance installer is downloaded.

Now open GNS3 and go to File > Import appliance as marked in the screenshot below.

Now select the GNS3 appliance file that you’ve just downloaded from the File Picker and click on Open.

Now GNS3 Add appliance wizard should show up. Click on Next.

Now select how you want the GNS3 appliance to work. The default is, Run the appliance on your local computer. This option will run the GNS3 appliance in your local computer. If you’re using GNS3 VM, then you should be able to pick Run the appliance on the GNS3 VM. If you’re using GNS3 from a remote machine, then you should be able to pick Run the appliance on a remote server. Once you’re done selecting your desired Server type, click on Next.

Now click on Next.

Finally, click on Finish.

The Alpine Linux GNS3 appliance should be added. Now click on OK.

Now, create a new GNS3 project. You should be able to find your newly added GNS3 appliance. As you can see in the screenshot below, the Alpine Linux GNS3 appliance I just added is available for use.

Downloading Appliances using GNS3:

You can also download and install GNS3 appliance from within GNS3 itself. Just click on Browse all devices icon and set it to show Installed & Available appliances. All the installed and the appliances that are available in the GNS3 marketplace should show up in the list below.

You can also filter the list as follows. As you can see, I searched for cisco, and all the GNS3 appliances related to cisco showed up. To install a GNS3 appliance (Let’s say Cisco 2691 Router) from here, just try to drag it to the project workspace.

Now follow the Add appliance wizard as you did on the earlier section of this article above.

If you’re trying to install GNS3 appliance that needs proprietary licensed files, the wizard should ask you to add required files. As you can see, the wizard asked me to add the file c2691-adventerprisek9-mz.124-15.T14.image, which is the image file for Cisco 2691 router. If you have a valid license for this router, you can download it from Cisco and add it here.

To add required files, click on Import.

Now select the required file and click on Open.

As you can see, the status has changed to Ready to install. Now click on Next.

Now click on Yes.

Now click on Next.

Finally, click on Finish.

The Cisco 2691 GNS3 appliance should be installed as you can see. Now click on OK.

So, that’s how you install GNS3 appliances from the GNS3 marketplace. Thanks for reading this article.

Source

[Stable Update] 2018-09-18 – Kernels, Pamac, LibInput

Hi community,

Welcome to another stable update. So what do we have with this one?

  • latest updates to some of our kernels
  • Pamac got updated to v7.1.0-rc3
  • We added a fix for some touchpads in libinput

We hope with all these changes Manjaro to be more efficent for you all.

So please report back and give us feedback for given changes made to our repositories. Users of our 32-bit Distro should read this.

kind regards

Philip Müller
Manjaro Project Lead

Current supported Kernels

  • linux316 3.16.57
  • linux318 3.18.122 [EOL]
  • linux44 4.4.156
  • linux49 4.9.127
  • linux414 4.14.70
  • linux417 4.17.19 [EOL]
  • linux418 4.18.8
  • linux419 4.19-rc4
  • linux414-rt 4.14.53_rt40
  • linux416-rt 4.16.18_rt11

Package Updates (Mon Sep 10 20:46:48 CEST 2018)

  • core x86_64: 10 new and 10 removed package(s)
  • extra x86_64: 35 new and 34 removed package(s)

Links

Posted in: general

Source

How to Setup FTP Server with VSFTPD on Ubuntu 18.04

FTP (File Transfer Protocol) is a standard network protocol used to transfer files to and from a remote network. For more secure and faster data transfers, use SCP.

There are many open source FTP servers available for Linux. The most popular and widely used are PureFTPd, ProFTPD and vsftpd. In this tutorial we’ll be installing vsftpd. It is a stable, secure and fast FTP server. We will also show you how configure vsftpd to restrict users to their home directory and encrypt the entire transmission with SSL/TLS.

Although this tutorial is written for Ubuntu 18.04 the same instructions apply for Ubuntu 16.04 and any Debian based distribution, including Debian, Linux Mint and Elementary OS.

Prerequisites

Before continuing with this tutorial, make sure you are logged in as a user with sudo privileges.

Installing vsftpd on Ubuntu 18.04

The vsftpd package is available in the Ubuntu repositories. To install it, simply run the following commands:

sudo apt update
sudo apt install vsftpd

vsftpd service will automatically start after the installation process is complete. Verify it by printing the service status:

sudo systemctl status vsftpd

The output will look something like below, showing that the vsftpd service is active and running:

* vsftpd.service – vsftpd FTP server
Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-10-15 03:38:52 PDT; 10min ago
Main PID: 2616 (vsftpd)
Tasks: 1 (limit: 2319)
CGroup: /system.slice/vsftpd.service
`-2616 /usr/sbin/vsftpd /etc/vsftpd.conf

Configuring vsftpd

The vsftpd server can be configured by editing the /etc/vsftpd.conf file. Most of the settings are documented inside the configuration file. For all available options visit the official vsftpd page.

In the following sections we will go over some important settings needed to configure a secure vsftpd installation.

Start by opening the vsftpd config file:

sudo nano /etc/vsftpd.conf

1. FTP Access

We’ll allow access to the FTP server only the local users, find the anonymous_enable and local_enable directives and verify your configuration match to lines below:

/etc/vsftpd.conf

anonymous_enable=NO
local_enable=YES

2. Enabling uploads

Uncomment the write_enable setting to allow changes to the filesystem such as uploading and deleting files.

/etc/vsftpd.conf

3. Chroot Jail

To prevent the FTP users to access any files outside of their home directories uncomment the chroot setting.

/etc/vsftpd.conf

By default to prevent a security vulnerability, when chroot is enabled vsftp will refuse to upload files if the directory that users are locked in is writable.

  • Method 1. – The recommended method to allow upload is to keep chroot enabled, and configure FTP directories. In this tutorial we will create an ftp directory inside the user home which will serve as the chroot and a writable uploads directory for uploading files.

    /etc/vsftpd.conf

    user_sub_token=$USER
    local_root=/home/$USER/ftp

  • Method 2. – Another option is to add the following directive in the vsftpd configuration file. Use this option if you must to grant writable access to your user to its home directory.

    /etc/vsftpd.conf

    allow_writeable_chroot=YES

4. Passive FTP Connections

vsftpd can use any port for passive FTP connections. We’ll specify the minimum and maximum range of ports and later open the range in our firewall.

Add the following lines to the configuration file:

/etc/vsftpd.conf

pasv_min_port=30000
pasv_max_port=31000

5. Limiting User Login

To allow only certain users to login to the FTP server add the following lines at the end of the file:

/etc/vsftpd.conf

userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO

When this option is enabled you need to explicitly specify which users are able to login by adding the user names to the /etc/vsftpd.user_list file (one user per line).

6. Securing Transmissions with SSL/TLS

In order to encrypt the FTP transmissions with SSL/TLS, you’ll need to have an SSL certificate and configure the FTP server to use it.

You can use an existing SSL certificate signed by a trusted Certificate Authority or create a self signed certificate.

If you have a domain or subdomain pointing to the FTP server’s IP address you can easily generate a free Let’s Encrypt SSL certificate.

In this tutorial we will generate a self signed SSL certificate using the openssl command.

The following command will create a 2048-bit private key and self signed certificate valid for 10 years. Both the private key and the certificate will be saved in a same file:

sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Now that the SSL certificate is created open the vsftpd configuration file:

sudo nano /etc/vsftpd.conf

Find the rsa_cert_file and rsa_private_key_file directives, change their values to the pam file path and set the ssl_enable directive to YES:

/etc/vsftpd.conf

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES

If not specified otherwise, the FTP server will use only TLS to make secure connections.

Restart the vsftpd Service

Once you are done editing, the vsftpd configuration file (excluding comments) should look something like this:

/etc/vsftpd.conf

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
pasv_min_port=30000
pasv_max_port=31000
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO

Save the file and restart the vsftpd service for changes to take effect:

sudo systemctl restart vsftpd

Opening the Firewall

If you are running an UFW firewall you’ll need to allow FTP traffic.

To open port 21 (FTP command port), port 20 (FTP data port) and 30000-31000 (Passive ports range), run the following commands:

sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp

To avoid being locked out we will aso open the port 22:

Reload the UFW rules by disabling and re-enabling UFW:

sudo ufw disable
sudo ufw enable

To verify the changes run:

Status: active

To Action From
— —— —-
20:21/tcp ALLOW Anywhere
30000:31000/tcp ALLOW Anywhere
OpenSSH ALLOW Anywhere
20:21/tcp (v6) ALLOW Anywhere (v6)
30000:31000/tcp (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)

Creating FTP User

To test our FTP server we will create a new user.

  • If you already have a user which you want to grant FTP access skip the 1st step.
  • If you set allow_writeable_chroot=YES in your configuration file skip the 3rd step.
  1. Create a new user named newftpuser:

  2. Add the user to the allowed FTP users list:

    echo “newftpuser” | sudo tee -a /etc/vsftpd.user_list

  3. Create the FTP directory tree and set the correct permissions:

    sudo mkdir -p /home/newftpuser/ftp/upload
    sudo chmod 550 /home/newftpuser/ftp
    sudo chmod 750 /home/newftpuser/ftp/upload
    sudo chown -R newftpuser: /home/newftpuser/ftp

    As discussed in the previous section the user will be able to upload its files to the ftp/upload directory.

At this point your FTP server is fully functional and you should be able to connect to your server with any FTP client that can be configured to use TLS encryption such as FileZilla.

Disabling Shell Access

By default, when creating a user, if not explicitly specified the user will have SSH access to the server.

To disable shell access, we will create a new shell which will simply print a message telling the user that their account is limited to FTP access only.

Create the /bin/ftponly shell and make it executable:

echo -e ‘#!/bin/shnecho “This account account is limited to FTP access only.”‘ | sudo tee -a /bin/ftponly
sudo chmod a+x /bin/ftponly

Append the new shell to the list of valid shells in the /etc/shells file

echo “/bin/ftponly” | sudo tee -a /etc/shells

Change the user shell to /bin/ftponly:

sudo usermod newftpuser -s /bin/ftponly

Conclusion

In this tutorial, you learned how to install and configure a secure and fast FTP server on your Ubuntu 18.04 system.

Source

WP2Social Auto Publish Powered By : XYZScripts.com