Home Blog Page 432

Nethserver: An Ideal Server Platform for Your Small Business

If you run a small business, you might need an in-house operating system to serve as a veritable multi-tool. Many businesses opt for Microsoft Windows Small Business Server. However, if you’re looking to cut costs and work with open source software, you have plenty of choices, each of which can perfectly function to meet your small business needs.

One such option is the CentOS 7 based Nethserver. It’s an outstanding small business platform that’s flexible enough to be just what you need and nothing more. Once installed, you can add the software necessary make business happen. Nethserver is quick to install, easy to set up, and simple to manage.

The versions

When you visit the official site of Nethserver, you will notice there are different versions of the platform. Specifically, a Community and an Enterprise edition. I’m going to be discussing the Community options as it offers plenty of features, is community supported, and free.

Did I say “plenty of features”? I did. The feature list for the Community edition of Nethserver includes:

  • Easy to use web-based interface

  • Software Center, where you can add only the packages you need

  • Full data backup

  • Manual upgrades

  • CentOS 7 foundation for solid security and reliability

  • Built-in Samba Active Directory Controller

  • Nextcloud integration

  • Certificate management

  • Transparent HTTPS proxy

  • Greatly improved firewall

  • Built-in email server

The Software Center especially should appeal to many administrators and business owners. Why? Because Nethserver allows you to install only what you need to make your workflow manageable and easy.

Let’s install Nethserver

Installing Nethserver is as easy as installing CentOS 7. In fact, it’s exactly like the installation of everyone’s favorite open source server platform. If you’ve installed CentOS 7, you won’t have any trouble installing Nethserver. And the installation of the basic platform can be completed in about five to ten minutes.

Once you’ve downloaded the Nethserver ISO, burn it to a disk or USB drive, or place it in a directory your virtual machine platform can access. I’ll be installing Nethserver via VirtualBox, so there is at least one small variation to the installation. Said variation is making sure to set the Networking option (in VirtualBox) to Bridged mode (otherwise, the machines on your network will not be able to reach your Nethserver instance). Other than that, boot the Nethserver ISO and begin the installation.

As you can see (Figure 1), the Nethserver installation doesn’t change anything from CentOS 7.

Figure 1: A familiar face for the installation should make Nethserver a cinch to get up and running.

After completing the basic installation, Nethserver will reboot. Upon rebooting, you will need to log in with the credentials you created during the installation. Once authenticated, you will be dropped into a bash prompt. Chances are, you may have not configured networking to use a static address. If that’s the case, issue the command ifconfig from the prompt to find your Nethserver IP address (we’ll change it to static in a bit).
With that IP address in hand, point a browser (on the same network) to https://SERVER_IP (Where SERVER_IP is the actual address of your Nethserver machine). In the next few screens you will need to answer some fairly simple questions. The first of these screens is just to welcome you to the setup wizard. Click NEXT. In the resulting window, you are asked if you want to skip the manual configuration and restore a backup file (Figure 2).

Figure 2: You can restore Nethserver from a backup file.

If this is a new installation, keep the box unchecked and click NEXT.

It’s time to set a fully qualified domain name. This is especially important for two reasons:

  • If you need to access this server from outside your LAN.

  • If you will need to send email from Nethserver to the outside world.

Chances are, you’re going to need that FDQN here (Figure 3). If you don’t have one, you can always use something like nethserver.localhost.localdomain and use the box for test purposes. However, once you need to start using Nethserver as a real business-class solution, you’ll need that FDQN.

Figure 3: Setting your FDQN.

The next few screens require you to do the following:

  • Set your timezone.

  • Set the SSH port (the default is 22, Nethserver recommends using port 2222).

  • Agree (or disagree) to send usage statistics.

Once you’ve completed the above screens of the wizard, you will land on the main Nethserver page, where you will be prompted to change the server from a DHCP to Static IP address (Figure 4).

Figure 4: Switching the network interface from DHCP to Static.

Click the Edit button, select static (when prompted), and fill out the details for the static address (Figure 5).

Figure 5: Setting the details for a static address.

Once you’ve done that, you will see a DNS tab, where you can set the necessary DNS servers. Chances are, Nethserver picked up the DNS servers from your network’s router. If you find Nethserver cannot reach the outside world, make sure to visit the DNS option and make that change.

Adding software

At this point, you need to install software. To do this, click on the Software Center entry under Administration. The first time you click the Software Center entry, it will take some time for it to populate the titles, before it becomes available. Give it time and the Software Center will finally appear, ready for you to install everything you need (Figure 6).

Figure 6: The Nethserver Software Center.

As this is a new installation, you will probably be informed of available updates. Before you install any software, click on the Updates tab and then click DOWNLOAD AND INSTALL. I will warn you that, because this is a new install, the upgrade process can take some time. Step away from the keyboard and undertake some other task. When you come back, you will probably see yet another DOWNLOAD AND INSTALL button. I recommend rebooting before you attempt to download and install the next upgrade. Keep repeating that until there are no more updates to download and install. Once there are no more updates, comb through the listing of software and install everything you need to make Nethserver your perfect small business server.

Adding users

Adding users for Nethserver isn’t quite the same as it might be on other Linux servers. You must first decide the method to be used to serve as the user directory. When you go to Management > Users and groups, you will be prompted to select between LDAP and Active Directory (Figure 7).

Figure 7: Selecting your directory service for users and groups.

The route you choose will depend upon your needs. If you select LDAP, you will then have to set up a local LDAP server or bind a remote LDAP server. If you go the Active Directory route, you will have to either join a domain or create a new domain. Once you’ve either created a new local LDAP server or created a new Domain, you can then begin the process of adding users and groups.

Make it yours

That’s the gist of getting Nethserver up and running. Beyond that point, you will have to install and configure the server to make it perfectly fit your small business needs. Nethserver is very powerful and could easily take the place of the more costly Microsoft Small Business server. Give Nethserver a go and see if it doesn’t make for an outstanding solution for your business.

Learn more about Linux through the free “Introduction to Linux” course from The Linux Foundation and edX.

Fuzzing: An Old Testing Technique Comes of Age

Both proprietary and open source development tends to have more developers than testers. As a result, automated testing has become increasingly common. In the last year, fuzzing — testing with dummy or random data — has become particularly widespread, and its popularity seems likely to continue.

Fuzzing’s name is newer than the concept itself. Computer scientist Gerald Weinberg recalls that when he worked at IBM and Mercury Project in the late 1950s “it was our standard practice to test programs by inputting decks of punch cards taken from the trash. We also used decks of random number punch cards. We weren’t networked in those days, so we weren’t much worried about security, but our random/trash decks often turned up undesirable behavior.

Read more at The New Stack

8 Takeaways from NIST’s Application Container Security Guide

Companies are leveraging containers on a massive scale to rapidly package and deliver software applications. But because it is difficult for organizations to see the components and dependencies in all their container images, the security risks associated with containerized software delivery has become a hot topic in DevOps. This puts the spotlight on Operations teams to find security vulnerabilities in the production environment.

Black Duck isn’t the only organization to identify this trend. The National Institute of Standards and Technology (NIST) published the “Application Container Security Guide” in September to address the security risks associated with container adoption.

Chances are, hackers are aware of the growing popularity of containers as well, which is why we compiled eight takeaways from NIST’s report on container security so you can be proactive about vulnerabilities in your production environment.

Read more at Black Duck

How To Tell If Your Linux Server Has Been Compromised

A server being compromised or hacked for the purpose of this guide is an unauthorized person or bot logging into the server in order to use it for their own, usually negative ends.

Disclaimer: If your server has been compromised by a state organization like the NSA or a serious criminal group then you will not notice any problems and the following techniques will not register their presence.

However, the majority of compromised servers are carried out by bots i.e. automated attack programs, in-experienced attackers e.g. “script kiddies”, or dumb criminals.

These sorts of attackers will abuse the server for all it’s worth whilst they have access to it and take few precautions to hide what they are doing.

Read more at bash-prompt

Agrarian-Scale Kubernetes: Part 1

Visit the Kubernetes homepage, and one of the first things you’ll see is the promise of “Planet Scale.” The S-word is plastered across the pitch for Google’s managed version of Kubernetes as well (Google Kubernetes Engine, or “GKE”). Demand-based autoscaling! Support for thousands of host nodes! Cross-region federated clusters! The ability to scale easily to heavy workloads, across geographies and even multiple clouds makes Kubernetes and GKE great choices for high-traffic websites.

Because so many of the apps we create on the Interactive News Team are used only by reporters and editors in the building, we tend to take greater advantage of the less discussed dimension of scaling: fitting many applications into a single cluster. Consider our concerns on a kind of agrarian scale: a single plot of land (our newsroom) where our biggest concerns are crop rotation.

This guide is an outline of our devops philosophy on Interactive News at The New York Times, by way of tutorial. It assumes you can copy code into a command line, and that you have a rough understanding of what containers are. (Docker has a brief overview here.) You don’t need a background in cloud infrastructure.

Read more at Times Open

Linux, Open Source, and Beyond

Linux is 26 years old, and look what happened in those 26 years: everything. Now what? Linux is both shrinking and expanding.

Cloudy Linux

Cloud is a perfect metaphor for Linux. Once upon a time the Linux world was small, with well-defined boundaries, and populated by fierce partisans. Linux was the underdog and had enemies, like Microsoft and the SCO Group. Microsoft CEO Steve Ballmer once called Linux a cancer. Remember Darl McBride, the CEO of SCO, claiming that Linux was built on a mountain of misappropriated UNIX code, which McBride claimed was owned by SCO? SCO sued IBM, Novell, AutoZone, Red Hat, and Daimler-Chrysler. SCO played coy for years and refused to show the supposedly infringing code, but was finally was forced to reveal that their mountain was a few lines in the file errno.h.

Now Microsoft, and many other former adversaries, are Linux developers and partners with Linux companies and organizations. (But not SCO; the last SCO lawsuit is still alive, believe it or not, after 14 years.) Linux is mainstream and no longer needs defense against such silly accusations.

Clouds are diffuse, and now so is Linux. Check out the Linux distribution timeline, an amazing work that shows the depth and breadth of Linux development. Linux distributions come and go, but Linux keeps going.

Another diffusion is Linux celebrities. Back in the day there were a number of famous Linux leaders: Linus Torvalds, of course, Alan Cox, Debra and Ian Murdock, Bdale Garbee, Marc Ewing, Bob Young, Mark Shuttleworth, and many more. Now personalities are less important, as they should be, and the faces of Linux are considerably more numerous and diverse. See the latest Linux Kernel Development Report for a few examples.

Diversity is Everything

A lack of diversity leads to a lack of imagination. Any project’s contributors should mirror society, and all projects should prioritize building their communities to do this. It doesn’t happen without planning and effort. You know how some people still like to say “Those People just aren’t interested in tech, so why should we change how we do things?” A better question is why don’t Those People want to get involved with your project? The answer is almost always because they’re not welcomed.

Community is more important than code; the Apache Foundation says:

“We value the community more than the code.”

Nobody, but nobody is so special and important that they’re indispensible, and nobody should be indispensible, because the great strength of a healthy community is the work carries on regardless of which people are working on it. The last thing we need is rock stars. The work gets done by people who show up, who care about details, and who slog through the boring essential tasks.

Software is For Other People

Coding, of course, is essential. Without code there is no software. But any software project requires a host of essential contributors: artists, musicians, testers and quality assurance, documentation writers (doc writers also function as testers and quality assurance), project managers, mentors, teachers, marketers, community builders, record keepers, system and network administrators, and on and on.

Something that contributors and maintainers often forget is all of this is a means to an end, not the end. We’re building tools, tools that will be used in all manner of creative and unforeseen ways, and that hopefully will make life better for the people using them.

Linux is to Open Source as GNU is to Linux

The open source ecosystem has grown far beyond Linux, and this is how it should be. As Pardot Kynes said in the novel Dune:

“The more life there is within a system, the more niches there are for life.”

The GNU tools and applications were essential to creating Linux, to the point that some people still insist that it should be called GNU/Linux. Both the Linux kernel and software that goes into a Linux distribution have grown tremendously, while the GNU bits have declined.

When The Linux Foundation merged LinuxCon, ContainerCon, and Cloud Open into the Open Source Summit, I was sad at first, because it felt like a dismissal of Linux’s importance. But as I learned more about cloud and embedded technologies, the change made sense. Linux is still essential and growing, and these newer technologies are growing far beyond plain old Linux into the broader open source landscape.

Now What?

What’s next? More of the same, of course! More growth and invention, creating new things, improving old things. Which reminds me of another quote from Dune:

“The highest function of ecology is the understanding of consequences.”

This is something that needs more attention, taking the time to think about consequences. What happens if I do this…? We have 26 years of Linux history to learn from and decades of computing. So perhaps it is time to add more historians and philosophers to Linux and open source communities.

Why Now Is the Time for Multi-Cloud

Craig McLuckie isn’t a fan of every buzzword flitting across the tech landscape. He admits that multi-cloud wasn’t one of his favorites, but he’s changing his mind.

“I’m starting to see a deep legitimacy to multi-cloud,”  says McLuckie,  co-founder of Kubernetes and now CEO of Heptio, “I used to nod and smile when people talked about it, but never really believed it. I’m starting to see it for reals now.”

Multi-cloud was one of the three main pillars that he sees for the future of Kubernetes — the other two are improving developer productivity and tackling enterprise — that he elaborated on during keynotes at KubeCon + CloudNativeCon North America 2017.  And while it’s worth noting that multi-cloud is really happening, “we really need strong conformance” to make it materialize, he says.

Read more at OpenStack

Julia vs. Python: Julia Language Rises for Data Science

Python has turned into a data science and machine learning mainstay, while Julia was built from the ground up to do the job.

Of the many use cases Python covers, data analytics has become perhaps the biggest and most significant. The Python ecosystem is loaded with libraries, tools, and applications that make the work of scientific computing and data analysis fast and convenient.

But for the developers behind the Julia language — aimed specifically at “scientific computing, machine learning, data mining, large-scale linear algebra, distributed and parallel computing”—Python isn’t fast or convenient enough. It’s a trade-off, good for some parts of this work but terrible for others.

Read more at InfoWorld

Linux Kernel Development Cycle

The kernel development cycle has evolved so beautifully overtime that it has set an example in the open source world. Having contributed to the kernel I actually enjoyed learning about the whole development cycle. Terms like mainline kernel, rc, stable release, long-term support confused me a lot initially but with time I understood at least the basic work-flow.

Keeping in the mind the volume of code that sits inside the kernel, it is very difficult for a single person to inspect each and every part of the project perfectly. Hats off to Linus and people like Greg. To make the process easier (it looks easy :P), the kernel is broken down into subsystems with each subsystem having its own main developer or as generally said top level maintainer. These maintainers decide which patch goes to the mainline kernel. 

Read more at Medium

Who Contributed the Most to Open Source in 2017?

For this analysis we’ll look at all the PushEvents published by GitHub during 2017. For each GitHub user we’ll have to make our best guess to determine to which organization they belong. We’ll only look at repositories that have received at least 20 stars this year.

Here are the results I got, which you can tinker with in my the interactive Data Studio report.

Read more at freeCodeCamp