# data[].attributes.attachment_link.readable_text
So, let's talk about Linux, Hey! Wait! Come back! Get over here, relax, have a seat, we're just talking about it! That's all nothing more. Whew! Now, what was the first thing that came to your mind when you heard that word? Perhaps a computer from 1982 with nothing but a black screen on it with cryptic words and symbols on it? Or maybe you envision some wunderkind from a remote part of the world hacking their way into fame whilst playing with their Lego blocks and learning 3rd-grade math? Or maybe you have the same notion that a lot of people do from what they see and hear on the Internet, that Linux is not for the masses, and that it's only for a select few.

Well whatever rumors fables or wives' tales you've heard, I am here to tell you that most of it isn't true. It MAY have been at one point in this operating system's history, but for the year 2021, you can rest assured that you're most likely using Linux and don't even know it. And to help you learn more of what I'm talking about, allow me to present to you some of what I consider to be the most easy-to-use Linux distros for everyday use.

DISCLAIMER: These are not written in stone, there has been no international study on this topic, there isn't even a graph or chart I can use, these are simply my observations and my opinions on what I might consider easy to use by an "average" PC user's standards. And when I use the word "average" it is not intended to slight or demean the PC user of today, it's to make sure that you understand that a Computer Science degree is not required in order to use Linux at home, so without further ado, lets' begin!!

Linux Mint

This distribution comes to us in all its green glory from an idea that sparked from taking parts of Kubuntu and then later on Ubuntu itself to create this operating system. It is as close to looking like Windows as one can get without installing themes or skins. It is so much akin to Windows that even the layout of the desktop is the same. There's a "Start / Main Menu" button in the bottom left-hand corner, a system notification tray in the right-hand corner, where you can view the time, check on your internet connection, see whether or not Bluetooth is activated, and whether or not your printer is done printing jobs. The Desktop interface is called "Cinnamon" (you'll soon discover if you delve deeper into the Linux-sphere, that there are various names for the different desktops in existence!) If you can use Windows? Then you can definitely use Linux Mint without really needing to know anything. Well, that's not entirely true as you'll find when you start using it? There are no '.exe' or '.msi' files for downloading anything. The reason for that in this case, (and in the case of a lot of different distros of Linux) is that everything you need is already installed! Need a music player for your MP3 collection stored on another drive? Its in there. What about needing to work on a school paper or type up a letter to grandma for her birthday? That's what LibreOffice is for. Maybe you'd like to watch a video clip from your job that was sent to you whilst working remotely? and its in an MP4 / flv format? You have a video player already installed. And those aren't the only things, there's a text editor, there's a PDF viewer, a calculator, a web browser, a calendar, there's even an application for accessing your emails locally instead of using a web-interface (called Thunderbird). Once you get your hands dirty with Linux Mint, you may find you don't want to go back to Windows, but I'll let you make that decision yourself.
To find out more you can always go to https://linuxmint.com/
Xubuntu

There's no denying that this distro looks a little "dated" but that's for good reason. It's more designed for machines that aren't the latest and greatest when it comes to hardware and horsepower. It might be designed for older hardware? But you could easily run this on modern hardware and find that it's perfect for you. With its easy to use interface, its lightweight use of resources, and its intuitive design Xubuntu could very well be the "perfect" middle-ground for the person looking to get away from Windows. And while there might be a slight learning curve involved, (just as there is with Linux Mint) you will be surprised how easy this distro is to use. Now, remember how we called the Linux Mint "desktop environment" Cinnamon? Well, this distro which, by the way, is a version/offshoot of Ubuntu, uses the XFCE desktop, (hence the "X" at the beginning of its name) hang around in Linux-land long enough? And you'll come to find out that the easiest way sometimes for the various developers to name their systems is from the desktop environment it uses, but that's not every distro, and it's not all the time. For example, Xubuntu uses the XFCE desktop with an Ubuntu base, Lubuntu uses the "LXqT" desktop with an Ubuntu base, and Kubuntu uses the "KDE" desktop with an Ubuntu base. But back to Xubuntu, it's modern-looking enough that if you run it on a laptop with not that great a spec-sheet? You'll be pleasantly surprised at the snappiness and speed with which it responds. And although some of the applications might be named differently? They are basically the same as what comes within Linux Mint, the usual suspects are here as well. A web browser, PDF viewer, music player, video/media player, an office suite, text editor, calculator, etc. You will be able to do what you need to do with Linux regardless of the distro you choose, as they all come with what are considered "tools" for any and everyone. And whatever programs and applications you need that AREN'T already installed, well, there's the Software application/store that you can browse to find apps that you can use. Depending on the distro, you may or may not have as many apps as some other distros, but with what's already installed, and unless you need a particular kind of application? You should be fine.
Discover more here: https://xubuntu.org/
Debian
You can find out more about it here: https://www.debian.org/
This is the "grandfather" of distros in existence today, because you will find that a LOT of other distros are based off of Ubuntu, and Ubuntu itself? Is based off of Debian Linux! This distro while familiar might need a little bit of tweaking to get working properly, and once again this is dependent on your needs. If you're looking for a media machine you might want to look elsewhere. Debian Linux prides itself on using only "free & open software" and a lot of the coders/decoders (called codecs) don't come installed with this distro, and unless you know your way around? You might have a tough time installing them. But if all you need is a PC for reading articles on the web, typing up a letter or some other kind of document for printout, or even just a place to store that hodge-podge mess of snips of papers that contain recipes handed down from generation to generation, then you can rest assured this distro will serve you well. As with the previously mentioned ones you can find everything you need here to accommodate a daily computing life. Web browser, office suite, PDF viewer, calculator, etc. The desktop that usually comes installed with this distro is called "MATE" its pronounced (at least according to various sources on the web "mah-tay" although it looks like the word "mate") This desktop is similar to the Windows XP style of desktop. Not so much in colors, themes, or icons, but in the way the Main Menu is laid out, and the icons on the desktop. Debian is a solid distro that can help you get your computing done on a daily basis without the hassles and headaches of being complicated or confusing.

Ubuntu
But if you want to know more? Head here: https://ubuntu.com/
This is the in-between distro. This one spawned Linux Mint and quite a few other distros, and was spawned by Debian, its a powerhouse of a distro, in that it comes with just about everything you may need in order to use it on a daily basis, and it also has a Software Center that has just about anything you could ever want in a computer operating system. Now, Linux Mint is easier to use for a beginner to the world of Linux, but Ubuntu is the KING of ease-of-use all around! It comes with the same as the others, An office suite, a web browser, music player, video/media player, text editor, PDF viewer, and a bunch of other applications that make life easier. The desktop environment for this distro is called Gnome, and it might take a bit of getting used to before you're comfortable enough with it to use it daily, but master this desktop?, and you'll be considered a Linux "User" as opposed to being a Noob. The use of this desktop requires that you let go of the idea that the start button should be down in the left-hand corner, and instead, you think "above" the box, as in "the top bar above everything" on your desktop. It's here you'll receive notifications, will be able to change the volume setting, or go into the Settings and make changes to things like the computer name or the avatar for the currently logged in user, or even select a wireless network to connect to, turn on / off Bluetooth, etc. And that was just from clicking the upper right-hand corner and selecting the "Settings" icon. The middle section of the Top Bar gives you: time, and notifications of events that take place on your PC, from the insertion/removal of an external USB drive to receiving an email through Thunderbird, the pre-installed email client there's also a calendar. The far left top corner is where the "magic" of this desktop happens. Clicking on it, will cause whatever application you have to sort of "move back" from being in focus, and you'll see some empty "squares' on the right. One of those squares? Will have your running application in it, the other one underneath it will be empty. By clicking on the empty square? You'll be "brought" to that square Now now, don't panic! You're "running" application is still running it's just residing in a "virtual desktop also called a "Workspace". To give you a more visualized explanation:

Imagine you're at work and sitting at your desk. You start writing a letter with a pen and paper, you want to remember the persons' full name so you put the pen and paper down and click a button, and immediately the desk in front of you slides to the left. You're presented with a desk that looks just like your previous one but this one is empty. You open a drawer and start thumbing through your address book looking for how to spell that person's name. But you also want to check on the fruit basket you ordered for them. So you place the address book down on the desk, hit a button, and that desk slides to the left and you're presented with yet another desk that looks completely identical to the previous one! This is what you see when you click on the "Activities" area of the Top Bar in the Gnome desktop environment. While there are a slew of other features that one could go on about regarding Ubuntu? I think we should move on.
As usual, here's the link to the homepage for more info: https://kubuntu.org/
Kubuntu
If you need to have a look at this project you can find all you need to know here: https://elementary.io/
This is the "KDE version" of Ubuntu. And just as with the previously mentioned distros, this one also comes with a web browser, an email client, media player, music player, photo viewer, PDF viewer, text editor, and office suite. There's not much difference between this one and some of the others on this list, save for its desktop. This one uses a desktop called "KDE" and it's also one that is similar to Windows. More so Windows 10 than Windows XP, 7 or 8. This distro feels snappy when using it, but if you're one to save every document and picture it can quickly feel like it's being overwhelmed and bogged down. And that is dependent on your hardware, if you have solid, powerful and robust hardware? then Kubuntu should run just fine for a long time. If, however, you're trying to run this on a Pentium II with only 3GB of RAM? You may find it's very slow. This is one that was designed for more modern hardware and while it can run on older devices? It makes for a sluggish performance This is not to say that this distro is bad. Far from it! This distro is sleek, and fully customizable in all ways, some might say that its too customizable! The number of options that are available to be selected, altered or changed can be truly overwhelming for a standard user. But for those who are adventurous this distro can be "built" to be whatever design resides in the heads of the bold.

Elementary OS

This is the "MacOS" of the Linux community, so to speak. It's not really, far from it actually since it doesn't use kex files, dmg files or anything else Apple or MacOS related. No, it's the look of everything, I mean you wouldn't fool a crowd of Apple devotees, and it's laid out in such a way that with a few well placed altered icons, and a change in the desktop background? One would be hard-pressed to know the difference, providing they weren't a Mac OS guru. This is once again, another distro based off of the Ubuntu OS. It has its own desktop layout called "Pantheon" and is just as intuitive as Gnome, as a matter of fact, a lot of the underlying desktop elements are Gnome-based. There's the list of the usual suspects, a web browser, a text editor, music player, email client, etc. The one twist with this distro is that their App Store is comprised of applications and programs that are submitted by developers, who then post their requested "price" for the app. And while this might sound like a pirate's paradise in regards to charging ridiculous prices, a lot of the apps listed there are in the price ranges of anywhere from ¢0.99 cents to $5.99 very rarely will you find an application costing more than $10.00. You might be already balking at the fact that you have to pay for software, but compared to the outlandish prices that Microsoft charges for certain wares, these come in at a steal of a price. The one thing that can be said for this distro is that it stands out for being different from the standards, the fact that it was built from the ground up to look, and behave a different way shows how much dedication these developers have, and how hard they're willing to work to have their combined vision realized. So the fact that they need to ask for some slight compensation for their efforts is middling at best. The bottom line is that you'd do well to contribute to a distro that helps you to get your work done in a safe, and efficient way since the more you give the more the developers will be motivated to improve their software.

Conclusion on Best Linux Distros for Everyday Use

This list is by no means exhaustive, and there are a slew of different Linux distros that could be considered "easy" by a newcomer, its all really just subjective in nature, and can be as simple as someone not liking the way a File Manager displays and portrays the icons, to the difficulty one may encounter trying to use the Terminal to update a system, the various ways that a person can interact with their Linux based computer varies from person to person, distro to distro, and no one uses their system in the same way. This is the true benefit and sometimes the hindrance of getting the Linux OS out to the masses to make it more popular. And while I've listed the ones that I feel are the most easy-to-use and to learn by a novice there is undoubtedly an entire army of people out there who would place OpenSuSE or something like CEntOS as easy to use. It's obvious that this is a highly subjective topic, and one could debate for months, weeks maybe even years as to why one is easier than another, a debate truly for the ages. I for one prefer to keep things simple myself and use the Fedora OS on my systems, you might be one who prefers the simplicity of Cinnamon, or maybe the elegance of Gnome perhaps? either way, you'll be in good company whichever version you choose, and you'll find that the more you use a Linux OS on your PC or laptop, the less you're likely to want to go back to using the Microsoft / Windows ecosystem that locks you into using their systems and theirs alone.

No matter what direction you go in. I wish you nothing but beautiful bits and perfect pixels! Enjoy your Linux Journey.

Cheers!

# data[].attributes.attachment_link.title
The Best Linux Distros For Everyday Use: 6 Recommendations

# data[].attributes.attachment_link.description
So, let's talk about Linux, Hey! Wait! Come back! Get over here, relax, have a seat, we're just talking about it! That's all nothing more. Whew! Now, what was the first thing that came to your mind when you heard that word?

# data[].attributes.attachment_link.readable_text
Ubuntu 20.04 is the latest long-awaited LTS (Long Term Support) release of Ubuntu. This page will be regularly updated with 20.04's new features, release date, and more information.

As per usual, Ubuntu's LTS releases are released in April every 2 years. The number 20 comes from the year 2020 and the number 04 comes from the (fourth) month of April.

To be more specific, the release date of Ubuntu 20.04 is 23rd of April, 2020. It will be released 3 days sooner than the last LTS release.

Here's the full schedule:

February 27th, 2020 - Feature Freeze. This is where the introduction of new features ends. No new features will be implemented in the release starting from the 27th. There have been a few exceptions, though. The team will mostly focus on improving and testing existing features.

March 19th, 2020 - User Interface Freeze. There will be no further changes to the actual user interface. It's useful knowing this if you write tutorials and use screenshots of the UI.

March 26th, 2020 - Documentation String Freeze. There will be no updates or new strings added to the documentation. So if you're a translator, you can start translating the release.

April 2nd, 2020 - Beta Freeze. If you opted in to get Beta updates, this is the day you'll get Ubuntu 20.04. If you're eager to try the new Ubuntu, you can start with this Beta release.

April 16th, 2020 - Final Freeze. This is the final freeze where everything's pretty much done and getting ready for the final release and rollout.

April 23rd, 2020 - Final Release. The official release date of Ubuntu 20.04. All end-users will get an option to update.

If you'd like to try an Ubuntu 20.04 Server, you can use Vultr. The cheapest plan is $2.5 per month, but if you use this link you'll get $100 free credits.

Basic Information About Ubuntu 20.04

The codename is "Focal Fossa".

This is an LTS release, which means you'll get 5 years of support for both servers and desktops. You can also get 10 years of support if you buy Ubuntu Advantage.

Ubuntu 18.04 will be supported until 2023.

New Features in Ubuntu 20.04

Plenty of new features have been introduced and implemented since Ubuntu 18.04, but we'll focus on the main ones.

New theme

The most notable new feature is the new desktop theme of Ubuntu 20.04. It will be a new and improved version of the Yaru theme, which was used in Ubuntu 18.10 first as the default theme.

The new theme will have a new skin option and the team is still working on new features.

New Linux kernel

As of writing, the latest preview version of the Linux kernel is 5.5, which is likely to be used in the new LTS release. A newer kernel version might be used if it's released before the official release of Ubuntu 20.04. A new kernel means improved performances and support for hardware.

GNOME 3.36

The latest version of GNOME will be used, which means you'll get all the new features as well as the improvements to the UI.

Better ZFS support

If you'd like to use the ZFS file system, it will be easier then ever with the new release. There are a plethora of advantages by using ZFS.

Amazon web launcher removed in the Desktop version

The launcher was pretty much useless and users usually removed it after installing a fresh Ubuntu. It's basically an affiliate link to the Amazon website with nothing else to offer.

And more!

New wallpapers, better support for gaming ...There will likely be more new features and changes in the new release. We'll regularly update this page with more information.

Download Ubuntu 20.04

You can already download the daily builds of 20.04 using this link (64-bit version, .iso)

Once there's a download available for a different release, we'll update this page with a link.

FAQs About Ubuntu 20.04

Here are some frequently asked questions (with answers) about the new release.

When can I switch to Ubuntu 20.04

It's really up to you. You can switch right away by using the daily builds if you'd like to help with testing or if you just can't wait to try it out.

if you're using an Ubuntu server, you might want to wait for the official release or maybe even more if you're in production.

How do I upgrade to 20.04?

Depending on what release Ubuntu 20.04, you might be able to upgrade to the Beta release straight from the desktop if you've opted in for beta updates. If you haven't opted in for beta updates, then you can update when Ubuntu 20.04 is officially released.

If you'd like to update via the command line or if you're using a server, the instructions are pretty standard for all releases. There's a tutorial here.

If you're using 16.04, you'll need to upgrade to 18.04, and then upgrade to 20.04

How can I help with the development and release of Ubuntu 20.04?

If you're a developer or an experienced user, you already know how to help. Even if you're not experienced, you can still help by:

Spreading the word. Let people know about Ubuntu 20.04. A simple share on social media helps a bit too.

Using and testing the release. Start using the release and test it. Again, you don't have to be a developer. You can still find and report bugs, or send feedback.

Translating. Join the translating teams and start translating documentation and/or applications.

Helping other people. Join some online Ubuntu communities and help others with issues they're having with Ubuntu 20.04. Sometimes people need help with simple stuff like "where can I download Ubuntu?"

Will Lubuntu or other distros based on Ubuntu be updated too?

Generally, all distros based on Ubuntu have a similar release schedule and get similar updates and new features. You'll have to check with your distro's official website for the exact info though.

Will Ubuntu 20.04 be an LTS release?

Yes, Ubuntu 20.04 will be an LTS release and you'll get 5 years of support, much like Ubuntu 18.04.

Can I switch from Windows/OS X to Ubuntu 20.04?

Of course! You'll most likely experience a performance boost too. Switching from a different OS to Ubuntu is fairly easy, there are quite a lot of tutorials for doing that. You can even set up a dual-boot where you'll be using multiple OSes, so you can use both Windows and Ubuntu 20.04 at the same time.

Can I try Ubuntu 18.04 without installing it?

Sure. You can use something like VirtualBox to create a "virtual desktop" - you can install it on your local machine and use Ubuntu 20.04 without actually installing Ubuntu.

Or you can try an Ubuntu 20.04 server at Vultr for $2.5 per month. It's essentially free if you use some free credits.

Where is the 32-bit version of Ubuntu 20.04?

There is no 32bit version. Ubuntu dropped 32bit versions with its 17.10 release. If you're using old hardware, you're better off using a different lightweight Linux distro instead of Ubuntu 20.04 anyway.

What's new in Ubuntu 20.04 Server?

You can get a list of updates at the official Ubuntu blog, which is regularly updated with new posts about Ubuntu Server.

Any other question?

Leave a comment below! Share your thoughts, we're super excited and we're gonna update this article as soon as new information comes in. Stay tuned and be patient!

# data[].attributes.attachment_link.title
Ubuntu 20.04 - Release Date, New Features & More

# data[].attributes.attachment_link.description
Ubuntu 20.04 is the latest long-awaited LTS (Long Term Support) release of Ubuntu. This page will be regularly updated with 20.04's new features, release date, and more information. As per usual, Ubuntu's LTS releases are released in April every 2 years.

# data[].attributes.attachment_link.readable_text
In this post, I will share my opinion on these two operating systems: Windows and Ubuntu. I will point out all the pros and cons of both. I will share some nice tips and tricks that might be handy in your daily workflow which will help you compare them or make you switch to one or the other.

Quick Comparison of Windows and Ubuntu

Windows

Ubuntu

Installing Software
App store (rarely used) and executable files (!)

App store, executable files (rarely used), and package managers

Editions
A few similar editions

Many editions with different features

Introduction

Windows is by far the most popular operating system for personal computers. Almost all desktop PCs and laptops are sold with Windows preinstalled. The reason for this popularity comes from the 90s when really there were no other user-friendly alternatives. So people got used to it. Manufacturers then continued selling PCs that run Windows to not introduce any learning curve to the customers.

Exceptions are Apple's products that use Mac OS (or iOS). There are just a few manufacturers that offer desktop PCs and laptops with Ubuntu or other Linux-based operating system preinstalled. Some of the most popular devices are Dell's XPS series of laptops since they do have all of the latest hardware features, great design and, of course, Ubuntu preinstalled.

Speaking of Ubuntu, it's an operating system just like Windows and Mac OS are. It is developed by Canonical, a company that many geeks and nerds love to hate. However, it does a great job by offering a free and open source Linux-based operating system. Yes, it is free as both a free beer and freedom of speech. It cost $0 to obtain a copy, but donations are welcomed. Everything that Canonical does is free for studying, modifications and distribution of the modified version. Because of this, many variants (flavors) of the Ubuntu operating systems are available as of today. Some of them are xUbuntu, Kubuntu, Linux Mint, Elementary OS, etc... All of them introduce some changes over the default Ubuntu to provide a slightly different feature set, but also relying on Ubuntu quite a lot. The very same thing is what Canonical is doing too. The Ubuntu operating system is heavily based on the Debian operating system.

Hardware Requirements

These are the minimum hardware requirements for Windows (10) and Ubuntu.

Windows:

CPU: 1 GHz

RAM: 1 GB (or more for the 32-bit version), 2 GB (or more for the 64-bit version)

GPU: 800 x 600 pixels output resolution with a color depth of 32 bits

Disk Space: 32 GB

Ubuntu:

CPU: 2 GHz dual-core processor

RAM: 2 GB

GPU: 1024 x 768 screen resolution

Disk Space: 25 GB

Lubuntu and Xubuntu

These are essentially a lite version of Ubuntu with a lightweight desktop environment.

CPU: 300 MHz

RAM: 256 MB

GPU: 640 x 480 screen resolution

Disk Space: 1.5 GB

As you can see the required hardware to run Ubuntu or Windows is quite similar. The myth that Ubuntu uses fewer resources is false. However, there are lightweight alternatives (Lubuntu and Xubuntu) that use fewer resources, but also they do lack some of the features that I will mention later. If you need a lightweight alternative, there are other distros that run on 128MB RAM or less.

Windows and Ubuntu Servers Compared

Both Ubuntu and Windows have a specialized edition for servers.

Windows Server is mainly used when you need to run Windows-specific software, like .NET apps. Ubuntu is basically used for everything else.

By default, Windows Server does have a GUI, but Ubuntu Server doesn't. You can easily install a graphical control panel on your Ubuntu Server, but out of the box, Windows is more beginner-friendly.

Ubuntu servers are better than Windows servers in terms of cost, security, stability, compatibility, online documentation and help, uptime, etc. The only reason why you should use a Windows server is if, and only if your apps and software require it.

Try a Windows Server and an Ubuntu Server at Vultr. Get free Vultr credits here.

Most websites you visit are powered by a Linux server. Most online multiplayer games you play host their servers on a Linux server. This website is hosted on an Ubuntu server.

While you can still install a L A M P stack on a Windows server and run an app like WordPress, it's recommended to use Ubuntu servers because of their many advantages as compared to Windows servers.

Security in Windows and Ubuntu

The fact is that the more popular the operating system is the more people are interested in writing malicious software for it. Simply put, the effort into making malicious software is worth more since it will penetrate a greater number of PCs eventually since it has a larger potential user base (targets).

Since Windows is widely spread on personal computers at homes and offices, there is higher interest in stealing data or damaging those PCs. Most of the vulnerabilities come from:

Vendors don't manage to secure their proprietary software utilities (Asus is the latest company that failed at this)

Vendors preinstalled malicious software on purpose (I'm talking to you Lenovo)

Users don't encrypt their data (It's like leaving the front door unlocked... Seriously, take care for your data if you want it to be safe)

Users are installing pirated software (cracked, please don't do this)

Users don't follow the recommended security procedures for scanning removable storage devices (USBs, external HDD) and incoming emails (There are many posts on this topic already)

There is growth in attempts against Linux-based operating systems too. But the layered security in Linux-based operating systems is quite good. The majority of security flaws come due to bugs of user space software, not the Linux kernel itself. The nice thing is that you can only attack user space data from the user space software. Those are images, videos, documents, but not the operating system itself. It is quite hard to bypass the authentication and gain root privileges to be able to attack the OS itself.

The Nvidia proprietary GPU driver had some security issues recently. The good thing is that even though the vulnerability was present, no PCs were affected since the attacker can not utilize the bug to execute any malicious code remotely. Giving the attacker physical access to the PC is a security flaw of a different type, not the OS itself. The bad thing is that on shared PCs this can be an issue. The worst thing is that this is proprietary code so no one else can fix it other than Nvidia themselves.

A ransomware that is worth having its own wiki page damaged tens of PCs. I'm laughing since there are only tens of PCs affected but it is quite a story though since these kinds of attacks are really rare.

Long story short, there are a lot of security issues in Linux-based operating systems like Ubuntu too. But the truth is that it is very rare that those vulnerabilities can do any damage in the real world. Since the majority of the source code that is being executed is freely available there are a lot of advanced users who will try to patch the vulnerabilities just a few minutes after its announce (one of the reasons you should use open source software is because of this). There is hardly any time for the attacker to plan and do any damage in the real world.

Since Ubuntu is not so popular for personal use, attackers don't even bother spending time here. They try to attack the servers running Linux-based operating systems instead. Mostly, those servers offer features to users of other operating systems. For example, if a Linux-based computer that is acting as an email server is attacked, it can be used to send malicious emails to Windows users (and damage their PCs or data) while users of Linux-based operating systems like Ubuntu will remain safe. As I mentioned earlier, an attacker needs to gain root privilege to do damage on Linux-based operating systems.

So personal users are quite safe, while servers are almost as secure, they still need a bit more attention.

No risk of attaching malicious USB flash storage drives for home users

No risk of preinstalled software by vendors.

No risk of installing pirated software since most of the software is already free.

If a user succumbs to a phishing or social engineering attack, the operating system they're using makes little to no difference. Same with connecting to an unsecured network or having an improperly configured system (firewalls, weak passwords, login and user control, etc.)

Privacy in Windows (or the lack thereof) vs Ubuntu

Windows doesn't take privacy seriously. Even though there are plenty of options available to be turned on and off on the user's behalf, the truth is that the majority of privacy-intrusive behavior cannot be disabled. For example, every keystroke on the keyboard is recorded to improve the spelling and other grammar-related things (which is nice) but not exclusive to. So the keystrokes are sent to third party servers for analysis but no one can be sure what else is being done there, on the remote server, or what is the actual content sent along with the keystrokes.

Ubuntu on the other side is by far more respectful to their users' privacy. The very same features like tracking user input actions are present but the behavior is quite different. That data is only used as debug logs when the program or the operating system crashes and only if the user accepts to share the crash logs. That data can be very useful for developers to find the bug and fix it.

Because the source code of the operating system is freely available it can be freely reviewed on the user's behalf. Some users that are too picky about the privacy can even modify the source code and redistribute the modified version if desired. There are specialized Linux distros that focus on privacy, like Tails.

As you can see, the free will of the user is far greater when the source code is freely available for modification and redistribution than if it is closed and inaccessible for general public review.

Games in Ubuntu (or the lack thereof) vs Windows

One of the areas where Windows is definitely better than Ubuntu is gaming. Although there are quite a lot of games available for Ubuntu, virtually all games are available for Windows, where only a small part are available for Ubuntu.

The biggest influence here is made by Steam, their proton framework which is bundled with Steam client allows many windows exclusive titles to be run on Linux based operating systems too. Simply enable proton library in Steam settings.

Recently I was playing some older titles like Crysis 2, GTA San Andreas and Dirt 3 (all of them are made for Windows only) on Steam with proton enabled and I have not found any issue. Everything is as smooth as on Windows. The best thing is that only one click of a mouse is required to enable proton.

The old school way of playing games for Windows on Ubuntu is with Wine, CrossOver and/or KVM (for more advanced users) which are to some point stripped down virtual machine emulators, or use VirtualBox as a fully virtual machine where you can install Windows and run all games. However, there might appear some issues with any of them so depending on the specific game and the hardware you might prefer one over the other.

There are a few open source project that brings life to gaming on Linux lately. The first one is DXVK, the second one is Looking Glass and the third one is Lutris. Long story short, no lag and frame drops. Amazing! For more details about them and technical information I highly recommend the Level 1 Linux channel on YouTube. There is some excellent content on this topic for those who are interested.

Although there are a number of options and a lot of games are working on Linux based operating systems nothing beats the native support. No matter how good the workaround is the native support is always superior. You can never be 100% sure that the next game will work with a current workaround, or to believe that what works today will continue to work tomorrow, anything can be broken anytime, that's the nature of workarounds.

Also, there are specialized Linux distros for gaming that are optimized for games and have various emulators and games pre-installed. Linux distros are better than Windows when it comes to retro gaming with emulators.

At the end of the day, you can still play games on Ubuntu, but it's highly unlikely that a new popular game will support Ubuntu, at least for the time being, whereas Windows support is almost guaranteed for each game.

Ubuntu's Live CD/USB

Besides the ability to install the operating system, there is the Live option for Ubuntu. It allows the use of the operating system without installing it on the hard drive. In the Live option, the user has access to a wide variety of software for everyday use like a web browser, media player, text editor, calculator, file browser (file manager), etc. In the Live option, those apps are loaded directly from the installation media (CD or USB flash drive).

This option is very handy for recovering data from a damaged PC, troubleshooting a broken PC or simply to use on a CD/USB to boot on a shared PC if you have privacy concerns. So even if the PC is affected by the bugs of the Nvidia GPU driver mentioned earlier, you can simply boot from Live CD/USB on the shared PC and remain safe by using your own operating system.

It's like taking ready to use operating system in your pocket. The only downside is the speed, It is noticeably slower than launching apps from a properly installed operating system.

There are no official live versions of Windows.

Installing additional software on Windows vs Ubuntu

Both Windows and Linux come with some necessary software preinstalled like a media player, a web browser, etc. Installing additional software is a quite different procedure on both.

Installing additional software on Windows can be done in two ways. If You use Windows 10, simply open the Store application, search the catalog and click install.

For older versions of Windows, installing additional software requires a web browser, a search engine, and an internet connection, or a different way of getting the software (CD, USB flash drive, etc.)

Open a web browser

Search for the software you want to install

Download the .exe file

Double click the .exe file to begin with the installation

As you can see it is quite a complex process. However, people are used to it so not much complaints are given. Beginners often make mistakes when downloading files and software from the internet, often downloading illegitimate files and software with malware.

On the other hand, installing additional software on Ubuntu is very similar to what we actually do on our smartphones (Android or iOS).

Open Store app (Play Store or App Store)

Search the app you want

Click install

Done. Similar to Windows 10 (and 8), but not to previous versions.

The concept to put all available applications in the same centralized place is present since the beginning of Ubuntu (2004). The same principle is later copied on Android and now on Windows starting from Windows 8. The concept of a centralized store of all the software originates from the early days of Linux-based operating systems in the 90s.

You can still download executable files from the internet and install them on your Ubuntu, similarly to Windows.

If you're using an Ubuntu server, you'll need to use the CLI (command line interface) to install software. If you're using a GUI (a control panel), in most cases, you can do it without running any code.

There are many different applications that allow searching through the list of available software packages on Linux distros. Some of them are designed to be run from the CLI while others have a nice GUI. Here are some examples:

So basically you have multiple options to choose from when it comes to app stores.

On Windows, there are multiple streams for acquiring updates. There is one stream controlled by the operating system and updates the operating system only. Beside it, every other application activates a background service to acquire updates. That's why Windows users often see popup messages about updates just after launching an application. While it is a concept that can get the job done, it can be very annoying. Users are executing applications to get a job done, not to maintain them, so any popup message can be counted as a distraction.

If you'd wanted to update all the installed apps on Windows, you'll need to go through each app and update them separately (if not installed via the Store)

On Ubuntu, there is only one stream for acquiring updates. It fetches the updated versions of the operating system itself and every other installed application as a scheduled task. Because of this, applications do not have to enable additional background services. The end result is no annoying pop-up messages when launching an application and no wasted resources while you are doing your job. The scheduled task for fetching all updates will run when your PC is idle so you will barely notice it. There are no forced updates like Windows has. No automatic restarts after updates like Windows has. In other words, everything is smooth, silent and done in the background with as little interaction as possible from the user.

What about downgrading to previous versions?

This is a very interesting use case. People rarely do it, but from time to time, an updated version can cause some problems like incompatibility with third party software or tools or a minor bug might be introduced. Most of the time issues like these are fixed in next updates in almost no time, but still, it can be annoying,

On Windows, downgrading to an older version is almost impossible. There is no built-in mechanism for doing this but there is a workaround. It goes like this:

Uninstall the program.

Install an older version of the same program.

In order to achieve this, you must have the .exe installer of the desired program and the desired (older) version. If you don't have it, you have to obtain it manually. So in this case, we need to open a web browser, use a search engine, download the software, etc. The downside is that the configuration might be broken if current configuration files are not completely deleted. Even if the configuration files are deleted altogether there might other bugs too. Users would have to do the very same configuration again. This can be tricky for some complex workflows.

Ubuntu on the other side does have a built-in method for downgrading software. All .deb files (installation files) are stored on the file system by default. Those files can be removed only if the file system is low on free space or if there are already too many older versions of the given application. The point is that there is always the installation file of the previous version of every application so users don't have to waste time searching for it.

The sad thing is that this method works only from the command line (or at least I'm not aware of any GUI tool that can do this). Actually, it is just fine since this task is not aimed at regular users so no need for clickable buttons for something that will hardly ever be used. However, downgrading using the command line is a matter of copying and pasting one command and pressing the "Enter" key.

Be careful with the command line! Don't do it if you don't feel comfortable. It's a very powerful tool so it must be used with care. It's better to ask for help from IT support or at least talk about your issue on the Ubuntu forums or other online Ubuntu communities, there, you will be guided until the issue is resolved.

Attaching hardware on Windows vs Ubuntu

For Windows, back in the day, this process required a manual installation of a driver. But you had to be careful because drivers were distributed on CDs and there were many. One for Windows XP, one more for Vista, etc. And also in both 32bit and 64bit variants. Installing the wrong driver can lead to a broken PC. Not a pleasant experience. Windows 10 is quite nice, it can auto-detect hardware and install required drivers automatically but not early versions of Windows.

One big problem still remains unresolved. Older drivers are not compatible with newer versions of Windows. Attaching older hardware and setting it up and running it can be quite a challenge if not impossible, I have a bunch of old USB devices that are still useful but none of them work on Windows 10.

Ubuntu (and all of its derivatives like Kubuntu, Xubuntu, Elementary OS etc.) relay on the Linux kernel for the drivers. One of the principles about the Linux kernel is that compatibility should never be broken, otherwise that patch will never be released for public use. That's why if some hardware device was working once on a Linux-based operating system, it will work forever in the feature.

Comparing features (workflow) on Windows and Kubuntu

An average user might be interested in utilizing a different flow of doing everyday tasks. Depending on the size and resolution of the screen, or the number of monitors attached the very same actions can be achieved more efficiently or at least made more visually appealing.

I'll use Kubuntu as an example, but features are often the same or quite similar on more Ubuntu flavors.

So let's compare some things here:

Virtual desktops

On Windows, this feature is available since the release of Windows 10 (2015). it does not have many features besides spreading the windows (grouping them) across virtual desktops. I often use one desktop for chat apps and multimedia, while all others are for job-related tasks grouped by a specific topic on each virtual desktop.

Kubuntu does share the very same features, but much earlier than Windows. I remember I have seen this feature back in 2008 (but I don't bother about the first day of availability).

ALT + TAB for switching active windows

I bet this is the most used shortcut. Windows has a single UI for this and allows cycling in two ways, forward (ALT + TAB) and backward (ALT + SHIFT + TAB)

Kubuntu (my favorite flavor of Ubuntu) has the very same functionality but with more options.
It can have multiple UIs so chose what is the most visually appealing to you.

In addition to the visual appealing UI, there is one very handy shortcut ( ALT + ~ ) or ( ALT + SHIFT + ~ ) for cycling in a reverse order. This allows filtering the scope of windows that will be cycled. Only instances of the currently active application will be cycled and all other windows will be excluded. See the video below:

At the beginning, I was using (ALT + TAB) for switching all windows (3 x Firefox, 1 x Steam and 1 x Clementine), then I used (ALT + ~) to switch instances of Firefox only. There is an option to assign a different shortcut for cycling through windows of the current virtual desktop only or cycling through the windows of all virtual desktops too.

On Windows, the cycling is limited to currently active virtual desktop only and can't be changed. In addition to (ALT + TAB) for cycling through windows, there is one more option available and it is called "Present Windows". It displays all windows side by side. There is an option to display windows from the current virtual desktop only or to display windows from all virtual desktops.

Moving windows on the screen

Windows allows moving the windows by pointing the cursor to the window frame (title bar), press and hold the left mouse button, and moving the cursor around. The window will follow the cursor placement. Very simple and intuitive.

Kubuntu can also do this by executing the exact actions. In addition, the user can move the window while pointing anywhere on the window (not limited to the title bar only) if that area is not an input field. For example, you can move a window around while pressing and holding the left mouse button anywhere on the toolbar. If the window does have a very big input area, there is one shortcut that can bypass this. Holding the windows key (super key, or meta key) on the keyboard while pressed and holding the left mouse button you can move the window around no matter where are you pointing to. I often use this, it is by far the most efficient way for me.

Copy and paste

On Windows, this is achieved by the (CTRL + C) shortcut for copying and (CTRL + V) shortcut for pasting. In addition, there is always that contextual menu on clicking the right mouse button and choosing "Copy" then "Paste". Easy.

The very same actions can be executed in Kubuntu too. In addition, there are some very nice features built around the idea of copying and pasting. For example, there is a history of recently copied items. The history can be viewed by clicking the notes icon on the system tray menu on the bottom right corner of the screen.

The very same history can be opened in a contextual menu next to the cursor by CTRL + ALT + V shortcut. This is a built-in option, but the shortcut must be manually assigned.

The point of the history is that you can paste the very same item again (multiple times) that was copied in the past. When you get used to this feature it is very handy. If you measure how long it takes to copy an item, and multiply that by how many times you will paste that item you will realize how much time is literally wasted. For even more time saving, there is a search functionality in both the contextual menu and system tray app. It allows you to filter the list of results by the text you enter in the search field. Typing a few letters is way faster than scrolling until you reach something copied early in the morning.

Windows has a simpler built-in clipboard manager, where you can only view, pin to the top, and use recently copied items. You can access the clipboard manager by pressing the Windows key + V.

To get the same features you get with Kubuntu on Windows, like the search feature, you'd have to install additional software. You may need to activate the Clipboard feature from the Windows settings app before you can use it.

Window buttons

Windows puts the close button, minimize button and maximize button on the top right corner of the window. It's simple, it works.

Kubuntu, on the other hand, is more flexible. You can change the position of the buttons to the left corner or right corner if desired.

You can also add more buttons or remove them if desired. Two of my favorite additional buttons are: keep above others (always on top) button and pin to all desktops (visible to all desktops) button. The always on top button will prevent the window to go behind other windows. I use it frequently to keep my terminal, calculator or notes app on top while using a web browser or programming.

The Pin to all desktops button will make the window visible to all workspaces. I use this feature to have a preview of an exact spreadsheet document on all virtual desktops, or to have access to the exact terminal emulator from any virtual desktop.

Smartphone connectivity

There is no built-in option for synchronizing an Android smartphone with a Windows PC, or maybe I am not aware of it. This is possible with third-party software like Pushbullet and others.

On Kubuntu, there is one very handy tool called KDE Connect and it is available by default. This is a wonderful syncing app, Its features are:

Browsing the smartphone file system (SD card / built-in storage) from your PC.
So you can access all the documents stored on your smartphone from your PC.

Synchronizing clipboard (copy - paste) items.
You can copy a paragraph of text on one of your devices and it will be available on the other devices ready for pasting.

Receive notifications.
All notifications that appear on one device will be instantly shown on the other devices too. I often use this feature and generate a notification for my long lasting (compiling) jobs. This way when the job is done it will generate a notification so I'm notified on my smartphone while resting in my garden. Before KDE Connect I was checking the PC every 10 - 15 minutes to see if the job is done.

Phone calls and SMS.
You can receive SMS notifications and respond to them from the PC. When a phone call is ongoing the volume of the PC is automatically turned down to not disturb the call and it's turned up again when the phone call is over. I adore this.

Mouse and keyboard emulation.
You can use your smartphone as a touchpad to control the cursor, you can also use your smartphone keyboard to input text to your PC.

Multimedia remote.
There is a remote functionality that works with almost any media player on your PC. You can use the smartphone to play/pause, switch content, etc. The best thing is that KDE Connect is integrated as a widget in the system tray. It runs silently in the background and it's enabled by default. Just install theKDE Connect Android app on your smartphone, pairing is a very simple process requiring just a few clicks.

All, or some of these features can only be available in Windows if you install a third-party app, while in Kubuntu it's installed by default.

File Managers

Windows has a very basic File Manager. It is simple and not feature rich.

Kubuntu, on the other hand, does have a feature rich File Manager. It supports tabs similar to what web browsers do.

Also, there is a split option, so the user can see multiple locations on the same screen, A Terminal emulator can be enabled for the current location. I've noticed a lot of advanced users that are not aware of this.

All toolbars can be rearranged to whatever edge desired. No restrictions at all.

Spending some time in customizing the File Manager for sure can improve the workflow by reducing the clutter of having multiple windows open instead. Every button on the toolbar can be removed, or new ones can be added, Almost every action that the file manager can do, can be put in the toolbar for quick access.

The Windows file manager is not that customizable and doesn't have all the features that Kubuntu's file manager has.

Search

Windows 10 does have improved search functionality built in the start menu. It can search for Applications, files, and folders on your PC. The search can also be expanded to web sources. One downside is that all the search queries are done by the Bing search engine. Bing is fine, but you can not switch to another search engine like Google or DuckDuckGo if desired. The start menu can have the traditional layout or a full-screen layout:

Kubuntu does offer similar functionalities. The default start menu can search for applications, files or folders stored on your PC. The search function is also nicely integrated with Firefox and Chromium (Google Chrome without any proprietary code included) web browsers (maybe with some others too) so a user can search their bookmarks from the start menu. It can expand the search to your contacts (Kmail - email client), KAddressbook (phone contacts), etc. Some popular application are also nicely integrated into this menu like Chromium, Firefox, Clementine (Media player), etc. So a user can search and execute some actions that are built in those applications. For example, typing "incognito" in the search menu will open a new Chromium window in incognito mode. The same can be done with Firefox too by using the "private" term instead to open a private window. Besides the search capabilities built in the start menu, there is a dedicated tool only for searching (activated by pressing ALT+ F2).

In addition to the alt-tab shortcut for switching windows, there are the window spread options. Both of these are already mentioned. What is not told is that the window spread option has built-in search functionalities.

Open windows spread

Type any characters

Only windows that contain these characters will remain visible

I often use this feature when I have a lot of windows open (sometimes up to 40), or even if there are multiple Chromium windows open. Since one window is dedicated to personal stuff only (YouTube, forums, social networks, etc.) and all others are for job-related tasks I can simply type the content that I want and the exact Chromium window will appear in front of me. Way faster than using alt-tab too many times.

Misc features in Kubuntu worth mentioning

Most of these features are not available in Windows by default.

There is a mute button in the taskbar icons.

Right click the app icon and click the mute button to silence the exact app. I use this to mute sounds of the video games while they are minimized

Audio from windows.

Every window that produces some noise (audio) is marked in the taskbar so you can mute that window. Very handy if there are multiple sources of audio from different virtual desktops. It helps a lot in dealing with unnecessary audio sources.

The same can also be achieved from the system tray, Every application that makes noise is displayed and independently the volume can be decreased for any of them. In Windows, you'll have to open up the Volume Mixer to get the same feature.

Konqueror

This a web browser primarily, but it can also be used as a file manager, a pdf reader, etc. It is a very powerful application.

It supports tabs. Each tab can display different content, for example, a document (.pdf), a web page or the file system.

The tabs can also be split into multiple views. Each view can display different content. As you can see I have a tab with YouTube in one view, file manager in a second view and a photo in a third view. The second tab is dedicated to the ThisHosting.Rocks web page.

Konqueror helps a lot to build a productive workflow. I was using it a lot while studying. many .pdf documents, many StackOverflow pages, etc. And all of that organized in tabs, splits and multiple windows. A hell of an efficient flow for quick navigation to the desired content

Infinite scrolling

Many of the default apps offer scrolling the view by pressing the mouse scroll wheel and dragging the mouse. The scrolling, however, is not limited to the size of the screen. When an edge is reached the mouse is automatically displaced to the opposite edge so the scrolling can continue without interruption.

Rename multiple files

Switch active windows with the mouse wheel

Simply move the cursor over the taskbar and scroll the wheel

By default, this will switch active windows, but the shortcut can be reassigned to other actions if desired.

Scrolling the mouse wheel will switch active windows in the ALT-TAB menu too (not in every UI, but most of them support mouse actions too).

Built-in search for .pdf documents in Okular (.pdf reader)

You can select a text in the .pdf document and ask Okular to open the web browser and search the term by using one of the many search engines. I often use Wikipedia, Google, DuckDuckGo, or YouTube for additional information on some technical terms.

Customization.

I have already told you about the availability of multiple choices for the appearance of the Alt-Tab window switcher utility. The very same is applicable almost anywhere on the system. For example, the default is to use the taskbar at the bottom of the screen.

The position and the items in the taskbar can also be rearranged without restrictions. You can even remove some items, like the start menu button, application launch icons or the clock if so desired and place some other items there. Many people prefer the taskbar on the top of the screen or a dock at the bottom. The most popular is Latte Dock.

Besides the layout, the color theme can be changed too. There are many included by default, but many more can be installed manually. Here are screenshots of some nice and popular themes for the KDE Desktop (Kubuntu). Note that the popular color themes are available for other desktop environments too.

Many mouse cursor and icon themes are available. Some examples:

You can change the color theme in Windows too. There are a number of pre-installed to choose from, and you can manually install more. You can also change the cursor and icon themes.

Task automation

Advanced users don't want to waste time and repeat task so they often automate them. For example, I don't want to manually increase the fan speed, and the clock speed of the CPU and GPU while gaming so I modified the Steam app launcher icon.

The modified behavior is:

open the Steam app

increase the clock speed of the CPU

increase the fan speed of the CPU

increase the clock speed of the GPU

increase the fan speed of the GPU

wait for Steam to close

when Steam is closed, revert all the changes to default

This is how I have nice a quiet PC while working, but I squeeze every bit of power for gaming by preventing the overheating and forcing the fastest clock speed available.

Do you want to read and learn more about bash scripts and automating task in the Linux shell? If yes then please reply in the comments so I can prepare a post dedicated on this topic.

Conclusion on Windows vs Ubuntu:

As you can see, Ubuntu and other Linux-based operating systems, as compared to Windows, are:

Easier for installing and updating apps

Easier for downgrading apps if something is broken after an update

A lot more customizable

Better UX

Better for servers

Worse for gaming

Beginner-friendly

Free and open source

Care about your privacy and data

Easier for maintenance

No annoying pop-up messages

Can run on old PCs that cannot run Windows smoothly, yet be secure with all of the latest updates

and a lot more.

Kubuntu is my favorite derivative of all the Ubuntu-based operating systems. I can not point out any features as favorite because I like all of them. Everything mentioned above is part of my daily workflow.

Now when you know all of this it is worth trying them out. I was skeptical at first but later when I built my flow and learned how to utilize these features I can do everything faster, with fewer keystrokes and the most important thing is that I have a nicely organized desktop that helps me to minimize brain fatigue while doing my job.

Kubuntu is a great distro to switch to if you're coming from Windows. They have a quite similar UI, and Kubuntu has all the features Windows has, plus more.

# data[].attributes.attachment_link.description
In this post, I will share my opinion on these two operating systems: Windows and Ubuntu. I will point out all the pros and cons of both. I will share some nice tips and tricks that might be handy in your daily workflow which will help you compare them or make you switch to one or the other.

# data[].attributes.attachment_link.readable_text
Two of the most popular (yet different) Linux distros are Fedora and Ubuntu. There are quite a lot of differences and similarities between the two. For beginners, they may seem the same or very similar, but read our comparison and you'll learn more about Fedora and Ubuntu and how they correlate to each other.

Fedora

Ubuntu
Community and Users
Relatively smaller community with fewer users

Larger community with more users

Software and Package Managers

Package managers are tools that you can use to install software and keep your OS and the installed software up to date. Ubuntu uses apt. Fedora uses dnf and/or yum. The commands are slightly different, but in general, they do the same thing and work equally well. You'll notice both on most of the Linux tutorials you'll come across online. Especially for servers where you do most of the work in the Command Line Interface. Yum is just linked to dnf at this point. Dnf is slower than apt, but dnf has a much larger feature set heavily targeted towards enterprise. Dnf has history and rollback as an example.

RPM is a type of software package, most commonly used in Red Hat/CentOS/Fedora (those are "rpm-based distros").

Ubuntu, as well as other distros based on Debian (like Linux Mint) use .deb packages instead. You can install RPMs in Ubuntu, they're just not the preferred way to distribute and install software compared to .deb.

Fedora and Ubuntu both support Flatpak and Snappy very well, which makes distributing and installing software extremely easy. Fedora tends to favor Flatpak, while Ubuntu tends to favor Snappy since Canonical and Red Hat have a healthy competition between the two technologies, so software availability is essentially equal.

Fedora has more up-to-date and bleeding/cutting edge software in its repositories while Ubuntu often has older, more reliable versions.

Fedora uses SELinux, Ubuntu uses AppArmor as Mandatory Access Control. You won't really notice this that much.

The struggle continues: Fedora does only provide software through its main repositories since it is free and open source. Ubuntu isn't that strict.

A lot of common OS configuration in the RHEL ecosystem (Fedora) lives at /etc/sysconfig, where you might find those files scattered under various application-specific directories in the Debian ecosystem (Ubuntu).

There are subtle differences, like the location of configuration files, and the package manager. They're more similar than they are different though.

Although there's no "better" of both package managers and packages (archives), you should still know which distro uses them so you know what to choose when downloading software for your distro.

Stability and Updates

When it comes to stability, Fedora is more often updated than Ubuntu LTS. So from that perspective, Ubuntu LTS is more stable i.e. it doesn't change very much until the next LTS, a couple of years down the line. Non-LTS releases of Ubuntu get updated more often, but they reach their End Of Life sooner. Most people prefer LTS releases for their servers and non-LTS releases for their desktops.

In terms of system stability, i.e. crashes and breaking updates, both Fedora and Ubuntu are good.

Fedora is more cutting edge and stable in our experience, while Ubuntu has a history of being more "noob-friendly" and offering 1st class proprietary support. Neither should be frowned upon as they both have made Linux a lot better in the past decade.

Both Ubuntu and Fedora have a Server version. Most people use and prefer CentOS for their servers as compared to Fedora Server since they're both rpm-based distros. The CentOS and Ubuntu server distros are compared here.

You can try Ubuntu, CentOS, and Fedora servers at Vultr.

Communities

You can't really write anything objective when it comes to communities, since people and personal experiences make or break the community they're part of. Everyone can have a different experience with any community surrounding any distro. The Ubuntu community is much bigger in size (numbers), and online tutorials are much easier to find for basically any task, especially when it's something specific. Partly because there are many distros based on Ubuntu and it really is the most popular Linux distro.

By one user that we had a chance to gather experience from, both seem to be amazing operating systems. He's been using Fedora for a decade as of this year, and the reason he stuck with it over other distros is simply the community. As he mentioned, in his personal experience he has found the people involved in Fedora to be more inviting and they seemed to take more interest in getting him up to speed and helping him contribute back to the OS. That made him feel like he has found a forever home.

Or, in other words: "Both communities are amazing, these are entirely personal experiences. Linux is Linux."

Both distros are best compared when you find out more about the pros and cons.

Fedora - Pros and Cons

Upstream/latest software;

Treats GNOME as a first-class citizen (no tweaks and uses the latest GNOME software);

Excellent backing by the biggest contributor to the Linux Kernel (Red Hat);

Getting stuff in the upstream projects rather than changing it in the distribution;

Strong commitment to free software;

No strong commitment to schedules but to quality releases rpm-ostree;

Uses the latest Kernel, or close to it which equals to better hardware support;

Pushes new technology (IE Wayland default). This could be neutral for some people as new can entail new bugs;

DNF has more features and is rapidly becoming better.

The community and user base are a bit smaller so certain software may support Ubuntu and not Fedora.

The default GNOME is not made to be used by everyone, some people like Ubuntu's tweaks;

Proprietary drivers have unofficial support, although with recent versions of Fedora it is easier than ever; Once you open GNOME Software it asks you if you want to use 3rd party non-free software, in which case you can then install NVIDIA or other drivers, codecs, etc. easily.

Ubuntu - Pros and Cons

Official proprietary support (drivers, codecs, etc.);

Slightly larger community and user base;

Ubuntu's tweaks on GNOME might be preferable to some people (Dock, theme, etc.);

"Theoretically* more stable (includes Long Term Support Release with 5-year support, which comes with a new update approximately every 2 years);

Video Game companies tend to target Ubuntu. SteamOS uses Debian, Ubuntu is based on Debian Unstable/Testing. Debian based is probably ideal for gaming.

There are many more distros based on Ubuntu, as compared to distros/spins based on Fedora.

Less up to date software;

Slow in integrating new technologies;

Older Kernel;

General Differences and Similarities Between Fedora and Ubuntu

Fedora is considered better for work (companies) because you don't need to worry about licenses. If it's in the repository, you're allowed to use it in production.

Given the popularity of Ubuntu's long term support (LTS) releases, it is good to mention that the biggest difference is that Ubuntu has LTS releases in the first place. In comparison, on Fedora, every release is supported for the same time (two release cycles plus one month; around one year).

As for Fedora, one really important thing to note is how it mostly stays close to the original upstream software, with few custom tweaks. There are people which personally are not that fond of some of the Ubuntu specific tweaks that Ubuntu comes with, like their purple-brown GNOME with the dash to dock, and their use of snaps for some apps, but that is a personal choice anyway.

Ubuntu has many different official flavors to choose from, including Lubuntu, Kubuntu, Xubuntu and more. They have quite a few differences, but the main one is the desktop environment. There are other different distros that are based on Ubuntu too. Fedora has less flavors (or spins as they call them) to choose from, including spins that use the same desktop environemnts that Ubuntu flavors use, like KDE Plasma, Xfce, and more.

Canonical (Ubuntu), tends to do things in their own way instead of working upstream (although honestly there is a ton of unnecessary hatred towards Ubuntu from other distro communities).

If you wonder what the idea and key innovations of rpm-ostree are, considering the fact that we have seen and heard very little of it, it seems like a solution in search of a problem. It also seems like being based on rpms, it is evolutionary when it should be revolutionary. It's just a different take on how a Linux system updates. Updates are atomic, rolling back and resetting the system is extremely easy. It also makes a hard barrier between system applications and user applications. /usr becomes a bit like /System on OS X. You don't touch it, but it's a stable base that is curated to what Fedora ships. You add your applications via Flatpak and if you need it, you can use containers to do any dev work. If you mess up the container, you just throw it away and create a new one.

If you want to know how do they deal with the configuration files that are part of the packages, "-/etc is rw", but original /etc files are stored in /usr/etc so the system can track what changes have happened to /etc.

The single biggest reason people stick with Fedora is most probably their long term GNOME support. GNOME has its many flaws, but it has been the best of bad choices. It has also been the most consistent. It is sometimes preferred over KDE, Unity, and XFCE. Also, it's bleeding edginess is good for home use, but there are still dimensions to that. It is more bleeding edge for software RedHat works on like the Kernel, Glibc, and GNOME. Not so much on random libraries.

It is somewhat tempting to switch to Ubuntu since they switched back from Unity to GNOME. Overall people still hold Canonical in a certain amount of contempt for their past choices but also admit they have learned from them. Another way of describing the difference is: Fedora takes the wise approach, and Ubuntu takes the smart approach. Ubuntu learns from its mistakes, but Fedora learns from other people's mistakes.

One thing that seems to be a giant misstep both is Flatpak and Snap. We don't find the attempt innovate to be bad, but seems to not really be working out. Maybe they will salvage them.

Besides using the RPMs, Fedora is not a recommended distro for people that are used to LTS releases, but if you use the x.10 releases of Ubuntu, you can switch to Fedora.

You can move to Fedora in a snap. The number of packages available, the possibility of using RPMFusion and once you upgrade to a newer version using DNF... is awesome! This is very good because each release is only supported for two updated cycles: if you install version 29 and 31 is released, you will have to update to 31 or 30 when it is released to keep getting support.

One thing that is a bit strange is the installation wizard because it's a very different experience from the other installation wizards you have probably used before. Fedora uses Anaconda, where as Ubuntu uses Ubiquity. But it's Linux after all. It's a different experience with each distro. It's expected.

If you're looking for an alternative to Ubuntu and like to keep yourself in the DEBs, POP!_OS is a good alternative along with a Linux laptop or Linux Mint, if you prefer more traditional desktop environments.

Fedora has a huge developer team and pushes regular bugfix updates for important packages. Ubuntu has a comparatively smaller developer community.

What makes Fedora great or bad:

When making custom packages, rpms are easier. The spec format is all in one file, and what you see is what you get. Whereas with debs the information is spread across files, and much of the process is automatic. The process assumes you are going to do certain things and just does them without any configuration. But then if you want to override you have to learn the anti-configuration. It is a very non-intuitive style.

Fedora has more of a "do the right thing instead of the easy thing" mindset. This is a trade-off. You are less likely to get some software for licensing reasons, like mp3 support or ZFS. But RedHat is also more likely to write quality software. Some examples of this are Wayland vs Mir and GNOME vs Unity.

Fedora is more likely to have a quality package. On the other hand, Ubuntu is more likely to have a package at all. This goes to different packaging standards for official packages. Ubuntu also has different standards for the universe but is more inclusive of them. Fedora keeps repositories like RPMFusion at arm's length.

Fedora has full SELinux support. One of the most effective and significant Linux security frameworks out there. The security benefits provided by SELinux are the primary reason why you should use Fedora.

What makes Ubuntu great or bad:

If a company supports Linux by the package, you have a higher chance of getting a deb. Let's call that 15%. An example is Spotify where the way to make an rpm is to take the official deb and repackage it with the right shared libraries to make it work. 5% of the time you will find an rpm, but no deb. The most recent example of this we have seen was Amazon's Elasticsearch Open Distro. This is caused by AWS Linux's use of rpms. In the long-term they will probably make debs. Sadly another 5% of the time you will find people only release a Docker container these days.

Some software that Canonical makes start Ubuntu-only. One example of this is LXD which is found to be highly useful software for package creation. It took about a year or more for Fedora packages to appear. Even now the Fedora support isn't as good. Another example of this going both ways is SELinux (Fedora) and AppArmor (Ubuntu).

Ubuntu has LTS releases being a nice and free middle ground between CentOS's slower releases, and Fedora's every 6-9 months. This is one of the reasons they basically own the cloud market.

Ubuntu has more of a pattern on multiple parallel releases of the same software. One example is GCC. You can find gcc51 and gcc52, aka 5.1 and 5.2. This is something that Ubuntu carried over from Debian that they are based on. This makes them more popular with developers who have a more whatever takes mindset. They want minimal work, don't care about "correctness" as much, and just want to move forward.

Fedora vs Ubuntu - Which one is better for a server?

First question, what kind of server?

For a plain vanilla web server, CentOS is a more stable choice (as others will agree). If you are building a NAS, or something storage intensive, Ubuntu ships with ZFS drivers built into their Kernel, while Fedora Server and CentOS often have trouble with loadable ZFS drivers failing after a Kernel update. Fedora Server has fresher, more cutting edge versions of most software than either CentOS or Ubuntu, but you would have to be doing something unusual on your server for that to be a deciding factor.

Some would recommend CentOS over both options. CentOS is the preferred choice over Fedora Server in most cases. But when it comes to CentOS or Ubuntu, you can read our comparison.

Fedora Server has a fast upgrade cycle - a new release every 6 month and versions stop being supported after 1 year. Ubuntu Server's LTS editions are supported for 5 years.

You might not want to use Fedora Server for servers because it's not stable as Ubuntu Server (LTS). It can even encounter a kernel bug that will cause a system freeze while copying a large file. That would be a disaster for servers. Ubuntu will install only kernel security patches.

Fedora might be better than Ubuntu in some cases because it's closer to upstream and the documentation (from the developer or the Arch Linux wiki) usually matches better with what you get in the end.

If you want to get automatic, safe updating then get your servers on Fedora Atomic/CoreOS instead.

Ubuntu has the benefit of a larger community of users, so for a beginner, there are much more guides and forum posts for anything you'd want to do. Ubuntu also has a fixed release schedule, with the LTS only coming every 2 years. Therefore, with Ubuntu, you can essentially set up your server once and expect it to stay stable till the next LTS, but still get the benefits of security updates.

Fedora has the advantage of being the base for RHEL, giving access to a huge amount of enterprise software. Fedora has a faster release cycle, meaning much more up-to-date applications compared to Ubuntu LTS. Updates are pretty frequent, which might not be preferred by some.

Overall both distributions have a reputation for stability, polish, and large communities of users.

It might be good to say that Ubuntu is better for servers. Fedora just moves way too fast and CentOS is too slow. The LTS seems to be the right fit for a "set and forget" style server. CentOS is a great distribution (being, in short, an RHEL clone) and it's the best choice for a server.

On the "other side", Debian might be preferred over Ubuntu in some context. You can read our comparison for more info.

Conclusion - Fedora vs Ubuntu

We're sure you will (dis)agree with some of our opinions in this comparison, so please leave a comment below. At the end of the day, every user has a different experience with each distro. Every user has different needs and preferences. The best way to choose between the two is to actually try them out. Trying them out for yourself is pretty easy considering you don't even have to install the distro, you can just use a Live version or a VM. And for servers, you can get a cheap server or use the trial/money-back guarantee feature with providers like Vultr.

If you want a "tl;dr version" of this comparison, the comparison table at the top is the way to go.

# data[].attributes.attachment_link.title
Fedora vs Ubuntu - Differences and Similarities

# data[].attributes.attachment_link.description
Two of the most popular (yet different) Linux distros are Fedora and Ubuntu. There are quite a lot of differences and similarities between the two. For beginners, they may seem the same or very similar, but read our comparison and you'll learn more about Fedora and Ubuntu and how they correlate to each other.

# data[].attributes.attachment_link.readable_text
So, you heard about Linux so many times but never had the guts to finally commit to the change cause of those scary stories that you heard on how complex setting up Linux is, and the choice of the Linux distribution in the first place? Well, you shouldn't worry about that anymore because we got you covered.

Firstly, let's cover some basic terms.

What is Linux and what are "Distros"?

Just like Windows and Mac OS X, Linux is an operating system, and not just a simple one, it's the most secure, stable, open-source operating system there is, and the best part is it's completely free.

Linux comes in different "flavors" named "distros", each with different features and characteristics. For example, there are specialized Linux distros like distros for gaming, distros for programming and lightweight distros for old PCs. Some of the other types of distros are:

Privacy-oriented distros like Tails

Hacking distros like Kali

Audio/Video production distros like Ubuntu Studio

And many more.

Generally, these specialized distros aren't really recommended for everyone, they're great for people that actually need them, but they're not that great for general use. So if you're not a gamer it doesn't make sense to use a gaming Linux distro, though technically you still can. You can customize and install any (compatible) software on any distro, no matter the type. We'll focus on distros for beginners that are good for general use, without the need for complex installation and customization tasks.

7 best Linux distros for beginners

We will keep it simple and cover the best beginner-friendly Linux distros. We will begin with distros for those coming from Windows or MacOS, distros that are lightweight, optimized and run well even on an older machine, and perfect as daily drivers.

1. Linux Mint

First on the list is Linux Mint, which was designed for ease of use and a ready-to-run out-of-the-box experience. Anyone that switches from Windows will find this distro very intuitive and will feel right at home. The installation itself is easier than most Linux distributions, and it comes with all the required software to get you up to speed. Another thing, unlike most Linux distributions, Mint includes proprietary third-party browser plugins, Java, media codecs etc. There are different desktop editions of Mint including Cinnamon, MATE, and Xfce. Cinnamon represents the most modern, innovative and full-featured desktop with all the bells and whistles, it's slick and beautiful. MATE is based on a classic desktop environment and its main feature is stability. And finally, Xfce is the most lightweight edition, and will run comfortably on any configuration, old or new. Best Linux Mint edition? There's no right or wrong, simply put it's the one that fits your requirements best.
Learn More About Linux Mint

2. Ubuntu

Next in line is Ubuntu, and chances are, if you ever searched Linux on the Internet, you have surely come across this one. Ubuntu is surely amongst the best Linux distros out there, since originally it was the first Linux OS distribution designed with the aim of simplifying Linux and offering it to the general public. Installing Ubuntu is a breeze and it also comes with all the functionality you need out-of-the-box. It features a Software Center, so finding and installing applications is effortless. Being the most popular Linux Distro, it has the biggest ever-expanding community, with regular updates ensuring that your system is always secure and up-to-date. It's the most widely used distro out there, both for servers and desktops.

There's a comparison of Linux Mint and Ubuntu here.
Learn More About Ubuntu
3. Elementary OS

Elementary OS is one of the, if not THE best looking Linux distro. It features many custom apps including Photos, Music, Videos, Calendar, Terminal, Files and a custom desktop environment called Pantheon which I'm sure that users who come from macOS will know to appreciate. It's based on Ubuntu so it comes with all the known benefits, from easy and fast installation to an Appcenter for quick setup. It's a fairly light and stable distro which makes it run on almost anything. Regular updates are ensured, so your system will run like a dream.
Learn More About Elementary OS
4. Peppermint

Another great lightweight distro is Peppermint. It's a stable, cloud-oriented distribution based on Ubuntu. What makes this distro special is it's unique desktop environment which is kind of a hybrid of LXDE and Xfce, it resembles Windows UI, so again, it's great for those switching from Windows. Another strong point of this distro is its ability to be easily integrated with web apps, through its Ice application. All in all, I would definitely recommend trying this distro, especially cause of its extremely low system requirements, and quite simple UI.
Learn More About Peppermint
5. Solus

Moving right along, we have Solus OS and this one is a little bit special. It's a completely new, and beautiful Linux OS that isn't based on anything. It's kind of a fresh start, and this is not a bad thing at all. Everything is built in-house and it comes in 3 flavors, from the fully featured Budgie edition, to the more familiar Gnome version, and finally to the most lightweight MATE version, so you definitely have something to choose from. It's a simple rock solid OS, updated frequently, so if you are tired of those Ubuntu-based distros and want to try something new, this is the one.
Learn More About Solus
Now, to cover the needs of those of you that want to slap a fully-fledged OS on your bleeding-edge hardware in order to get some work done, but also some fun gaming sessions we recommend:

6. Manjaro Linux

Manjaro Linux is a distro that recently has gained popularity and with good reasons. It's a fast, beautiful, user-friendly, desktop-oriented Linux OS distribution. It features a user-friendly installer, and it comes with everything you need pre-installed. The highlight of Manjaro is its amazing hardware support, thanks to its hardware detection manager, so you won't need to worry about installing additional drivers. And if you find yourself stuck with a problem and looking for support, Manjaro has a great community ready to help you out. Some may argue that Manjaro should not be used by beginners, so beware, though everything can be done via the GUI and it's a super-powerful and great looking distro.
Learn More About Manjaro
7. Zorin OS

Another Linux distro which helps Windows refugees is Zorin OS. It's an Ubuntu-based well designed and polished distribution. Without a doubt, its desktop environment resembles the all familiar Windows desktop, ensuring an effortless transition into the Linux world. Of course, it comes with a huge list of preinstalled software. Another highlight is the amazing theme engine called 'Zorin look changer' which offers high customization options and finally, it comes with Wine and PlayOnLinux so you can run most of your beloved Windows apps and games here too.
Learn More About Zorin OS
Honorable Mentions

A quick list of a few more distros so you can continue your research and explore more Linux distros:

KDE Neon

Deepin

Fedora

MX Linux

PCLinuxOS

Linux Lite

Kubuntu, Xubuntu, Lubuntu, Ubuntu Mate, Ubuntu Budgie, and most other Ubuntu derivatives

This is a great guide with more examples

The best thing about most of the Linux distros is that you can try them without installing them by using a bootable USB drive, so I would encourage you to go and get an ISO and try out all the listed Linux distributions and then choose the best one. Have fun!

How to choose the best Linux distro if you're a beginner

Here are a few quick and simple guidelines to help you choose the best distro for you:

If you're feeling overwhelmed, just choose the distro that looks best to you. You can install most of the software on any distro of your choosing, as long as it's compatible. All the distros we featured in our article can run pretty much the same pre-installed apps. Even if an app is not pre-installed in the distro you're looking at, it's pretty easy to find and install it using the distro's Software/App center. It's all done via the GUI.

If you're moving away from Windows or Mac and want to keep using a similar interface, then choose one of the distros that specialize in that, like Peppermint, Linux Mint, Zorin, Elementary etc.

Don't start with a distro like Arch Linux. Although a true powerhouse and a great distro, it's not really recommended for beginners. Though, if you want to really learn Linux and how everything works, it's a great starting distro. Either way, I wouldn't recommend it as your main OS if you're a beginner.

You can always dual-boot, run a virtual machine, or try a distro via a live USB. So you can keep using Windows/Mac, but switch to a Linux distro anytime. Dual-booting would be best if you don't want to quit your main OS cold turkey.

Quickly go through the distro's website to learn more about the distro before using it. This way you'll know if it actually meets your needs beforehand, instead of using it and reinstalling a different distro afterward.

That's pretty much it.

Frequently Asked Questions about Linux distros for beginners

If you're a beginner, it's understandable that you'll have a lot of questions about Linux distros and Linux in general. We'll try to cover some of them here, but you can always google anything.

What are standard and rolling release cycles?

Linux distros tend to use two types of release cycles: standard releases and rolling releases. Some people prefer the concept on standard release since updates come less frequently and generally, the software tends to be more stable since it's well tested, while others opt out for rolling releases which means frequent update delivery. So if you like stability and "peace of mind", go with a standard release cycle. If you like the latest software and drivers, go with a rolling release cycle.

Is everything in Linux done via the command line interface?

No. That's a common misconception. You can do pretty much everything via a GUI. Some tutorials you find online may have instructions only for the Terminal (CLI), but you can find an alternative tutorial that uses a GUI tool.

Can I run Linux on my PC/hardware?

Chances are, yes, you can. It's best if you check the distro's requirements, but most Linux distros are well-optimized and don't need powerful hardware, especially the lightweight ones.

How to install a distro?

You'll need to check the distro's official site or google a tutorial. But basically, you need a USB flash drive/CD drive, you need an ISO image, and a tool to burn the iso image to the (bootable) drive. There are a number of tools that do this in a couple of clicks. Some even download the ISO for you. Once you have the drive ready, you just boot your system into the drive and follow the easy on-screen steps.

Should I use an antivirus on my Linux distro?

Depends. In most cases - not really. You should still follow security principles and have common sense when it comes to downloading files, running scripts etc.

What distro should I use for my server?

Either CentOS or Ubuntu, depending on the requirements of the software you're planning on hosting.

Have more questions?

Feel free to leave a comment below. We'll try and update this page with more info in the meantime.

# data[].attributes.attachment_link.title
7 Best Linux Distros for Beginners in 2019 - ThisHosting.Rocks

# data[].attributes.attachment_link.description
So, you heard about Linux so many times but never had the guts to finally commit to the change cause of those scary stories that you heard on how complex setting up Linux is, and the choice of the Linux distribution in the first place?

# data[].attributes.attachment_link.readable_text
Everything you need to know about the new Ubuntu 19.04 - release date, new features, code name, download links, and more.

After our posts on Ubuntu 18.04 and 18.10, it's time to create a new post about 19.04.

This release is NOT going to be an LTS release.

Ubuntu 19.04's codename is Disco Dingo

Following Ubuntu's usual naming standard, the next letter they use is D. Dingo is a type of dog native to Australia, and we already know what Disco is. There still hasn't been any official statement of what the name actually means. Interestingly enough, "dingo" is an (outdated) Australian slang term meaning "a cowardly or treacherous person", though people rarely use it in that context nowadays. So that alone has left the Ubuntu community coming up with hundreds of interesting meanings behind the name.

Ubuntu 19.04's release date is the 18th of April, 2019

The official stable version of Ubuntu 19.04 will be released on 18. 04.20 19, hence the "04.19" number version.

Here's the exact release schedule, which is subject to change:

29th of November, 2018 - Feature Definition Freeze

3rd and 31st of January, 2019 are the first 2 Ubuntu Testing Weeks. Testing weeks are essentially Alpha/Beta releases. They're optional. A "testing week" lasts from Tuesdays through Thursdays. With this change, Ubuntu developers will encourage more testing and the releases would be quite faster, being daily, instead of frozen releases for a few days. You can read more about that here.

21st of February, 2019 - Feature Freeze. At this point, no new features will be introduced, with rare exceptions. Developers and users will only work on improving the existing features.

28th of February, 2019 - Another Testing Week.

14th of March, 2019 - UI Freeze. No further changes will be done to the user interface. If you're writing documentation, tutorials, or take screenshots, then it's safe to start from this day onwards.

21st of March, 2019 - Documentation String Freeze. No changes will be made to the documentation. if you're a translator you can start translating the documentation on this date.

28th of March, 2019 - Beta Freeze. If you can't wait to try out the new Ubuntu release, I'd personally recommend starting on this date. Though it's always safe to start with the final release.

4th of April, 2019 - Kernel Freeze.

11th of April, 2019 - Final Freeze. Nothing will be changed, added, or updated, with rare exceptions of fixing bugs, if any are found just then.

18th of April, 2019 - Final Release. The date of the official release date of Ubuntu 19.04. Everyone can update to this release now.

Ubuntu 19.04 will get 9 months of updates

As per usual, non-LTS releases get 9 months of updates till they reach their End Of Life. So Ubuntu 19.04's EOL should be somewhere around January 2020.

New (possible) features in Ubuntu 19.04

There still isn't any concrete info on what the planned new features will be, but we can still guess.

A lot of Ubuntu 18.10's new features got postponed, so it's likely that they'll come back in 19.04. Some software is scheduled to release a new version during 19.04's development cycle, so it is likely that the new version will be included in 19.04.

Anyway, here's a list of the features:

GNOME 3.32

GNOME 3.32 is scheduled for release on 13th of March, 2019, which is pretty close to Ubuntu 19.04's release date. It makes the perfect candidate for the new release.

Linux Kernel 5.0

Same as GNOME 3.32, it's likely that the 5th version of the Linux Kernel will release during 19.04's development cycle. Makes it a perfect candidate.

Android Integration

Planned for 18.10, but postponed, a better Android integration with GSConnect should be available in Ubuntu 19.04.

A new look for Ubuntu Software

It's likely that the proposed Ubuntu Software mockups be implemented in the Ubuntu Software Center.

And more

Lots of new improvements, features, and bugs fixed. New snaps, performance improvements, new apps installed by default, and more.

Download links for Ubuntu 19.04

There are no available download links right now, but they'll probably be available at http://cdimage.ubuntu.com/daily-live/current/ or http://releases.ubuntu.com/19.04/ - depending on when you're reading this.

We'll update this page when there's more info on Ubuntu 19.04, so make sure to check back. Not much is known as of writing this.

FAQs About Ubuntu 19.04

There are some questions that are usually asked when there's a new release. Here are 19.04 FAQs with answers that might help beginners and anyone else.

Is Ubuntu 19.04 going to be an LTS release?

It's a common misconception among beginners that all 04 releases are LTS. Ubuntu 19.04 will NOT be an LTS release. It will reach its EOL after 9 months.

Should I use Ubuntu 19.04 for a server?

You can if you want to test things out. Vultr offers servers starting at $2.50 per month, billed hourly, which is great if you want to quickly try it out as a server.

How can I try Ubuntu 19.04 without installing it?

You can use VirtualBox and create a virtual desktop (you can use VirtualBox on Windows too). You can also create a live CD/USB and try it out without installing it.

When is it safe to switch to 19.04?

It depends. If you want to stay perfectly safe, I'd recommend waiting at least a week after the official release. If you're an experienced user you can switch around the Final Beta Freeze. It's up to you, really.

If you're using Ubuntu for production, don't risk anything and postpone as much as you can. Try it out on a virtual machine or on a server before updating your production machine.

Any other questions about the new Ubuntu 19.04? Anything we missed? Leave a comment below!

# data[].attributes.attachment_link.title
Ubuntu 19.04 - Release Date, Features & More - ThisHosting.Rocks

# data[].attributes.attachment_link.description
Find out everything about the new Ubuntu 19.04 - release date, new features, download links, FAQs with answers, and more!

# data[].attributes.attachment_link.readable_text
We use DokuWiki and it's awesome. Our team has an internal knowledgebase and we use DokuWiki to store all our reviews, tutorials etc. It's simple, easy to install and easy to use. Most importantly, it's not resource-heavy. In this post, we're going to show you how to install DokuWiki on an Ubuntu 16.04 server.

Requirements

DokuWiki doesn't need much since it doesn't need a database. Here are the requirements of DokuWiki:

PHP 5.3.4 or newer (PHP 7+ recommended)

A web server (Apache/Nginx/Any other)

A VPS. Get a cheap managed VPS and you won't have to do any of this. Just contact the support team and they will install it for you.

Instructions

Before you do anything, you should upgrade your system. Run the following command:

sudo apt-get update && sudo apt-get upgrade

Install Apache

We are going to need a web server for our wiki. We'll be using Apache for our tutorial, but you can also use Nginx or any other web server. Install apache with:

apt-get install apache2

Install PHP7 and modules

Next, you should install PHP if you don't already have it installed. In this tutorial, we'll be using PHP7. So, install PHP7 and a few other PHP modules with the following command:

apt-get install php7.0-fpm php7.0-cli php-apcu php7.0-gd php7.0-xml php7.0-curl php7.0-json php7.0-mcrypt php7.0-cgi php7.0 libapache2-mod-php7.0

Download and install DokuWiki

Here comes the main part - the actual installation of DokuWiki.

First, create a directory for your DokuWiki:

mkdir -p /var/www/thrwiki

Navigate to the directory you just created:

cd /var/www/thrwiki

Run the following command to download the latest (stable) version of DokuWiki:

wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Unpack the .tgz file:

tar xvf dokuwiki-stable.tgz

Change some file/folder permissions:

Configure Apache for DokuWiki

Create a .conf file for your DokuWiki (we'll name it thrwiki.conf, but you can name it however you want) and open it with your favorite text editor. We'll be using nano:

Add the following in your thrwiki.conf file:

Edit the lines to correspond with your server setup. Replace wikiadmin@thishosting.rocks, wiki.thishosting.rocks etc with your own data

Now, restart apache for the changes to take effect:

systemctl restart apache2.service

That's it. You are done. Now you can continue installing and configuring DokuWiki via the front-end interface at http://wiki.thishosting.rocks/install.php

Once you are done with the installation, you can remove the install.php file with:

rm -f /var/www/html/thrwiki/install.php

Feel free to leave a comment below if you need any help.

# data[].attributes.attachment_link.title
Build your own wiki on Ubuntu with DokuWiki - ThisHosting.Rocks

# data[].attributes.attachment_link.description
Build your own wiki on Ubuntu with DokuWiki - We use DokuWiki and it's awesome. Our team has an internal knowledgebase and we use DokuWiki to store all our reviews, tutorials etc. It's simple, easy to install and easy to use. Most importantly, it's not resource-heavy. In this post, we're going to show...

# data[].attributes.attachment_link.readable_text
Due to popular demand, here's another tutorial on how to install your own self-hosted wiki with XWiki on a CentOS 7 server. We've already published a tutorial on how to install DokuWiki on Ubuntu, but if you need an alternative to DokuWiki, XWiki is a great choice.

XWiki Info

First and most important: it's free and open source! Here are some of XWiki's features:

a very robust WYSIWYG editor

a powerful wiki syntax

strong rights management

responsive skin

advanced search

unique set of applications

... and many more.

Why use XWiki?

Developed for more than 10 years, XWiki is being used by many high profile companies as:

Knowledge base

Collaborative intranet

Public website

Business applications

... or other use cases.

XWiki Requirements

Java 8 or greater

A Servlet Container supporting Servlet 3.0.1

A JDBC 4 Driver for your database

At least 2 GB RAM (or 1 GB for smaller wikis)

You can get a 2 GB RAM VPS from Linode for $10. But, it's unmanaged. If you want a Managed VPS, then check out these providers. If you get a Managed VPS, they will probably install XWiki for you.

We'll be using a CentOS 7 server for this tutorial.

XWiki Installation Instructions for CentOS 7

Let's start. Login to your CentOS VPS and before we do anything, update your system with:

yum update

If you don't have them already installed, install nano and wget:

yum install nano wget

Install Java

XWiki is built and run on Java, so we'll need to install java. To do so, run the following command:

yum install java

To verify that it's successfully installed, run:

java -version

Download and install XWiki

Currently, the latest version of XWiki is 8.4.4, but you can update the command if there's a newer version of XWiki.

To download the XWiki installer, run:

wget http://download.forge.ow2.org/xwiki/xwiki-enterprise-installer-generic-8.4.4-standard.jar

To run the installer, enter the following command:

java -jar xwiki-enterprise-installer-generic-8.4.4-standard.jar

Now, the installer will ask you several questions with a prompt to enter 1 (accept) 2 (quit) 3 (redisplay). Most of the prompts can be answered with 1 (accept). The installer is pretty self-explanatory and easy to understand, so just follow the instructions.

Start XWiki

To start XWiki, you need to navigate to the directory you chose in the previous step:

cd /usr/local/"XWiki Enterprise 8.4.4"

and run the start script:

bash start_xwiki.sh

Wait for the script to do its job and you are done. XWiki is installed and started. It's that easy.

Now, you can visit XWiki via your domain or server IP on port 8080:

http://server-ip:8080

or

http://example.com:8080

By default, XWiki runs on port 8080, but if you'd like to use port 80, make sure there's nothing already running on port 80 and start XWiki with the following command:

bash start_xwiki.sh -p 80

Now, you can access XWiki without specifying a port. When you access it, you should see the default XWiki homepage, similar to this:

The default XWiki administrator username and password are:

Username: Admin
Password: admin

Use them to login and access the admin panel. Have fun editing and using your new wiki!

# data[].attributes.attachment_link.title
How to Build Your Own Wiki with XWiki on CentOS - ThisHosting.Rocks

# data[].attributes.attachment_link.description
How to Build Your Own Wiki with XWiki on CentOS - Due to popular demand, here's another tutorial on how to install your own self-hosted wiki with XWiki on a CentOS 7 server. We've already published a tutorial on how to install DokuWiki on Ubuntu, but if you need an alternative to DokuWiki, XWiki is a...

# data[].attributes.attachment_link.readable_text
Invoice Ninja is a popular open source application for invoicing, tracking time and accepting payments. In this tutorial, we'll show you how to install and use Invoice Ninja on a CentOS server. But first:

Invoice Ninja's features

We'll quote Invoice Ninja themselves with their list of features:

Create work tasks & track time

Create invoices online in seconds

Email invoices & get paid online

Mobile responsive design

Integrate 45+ payment gateways

10 fresh invoice template designs

View live invoice .PDF creation

Add your company logo to invoices

Quotations convert to invoices

Auto-billing & recurring invoices

Multiple tax settings

Multiple currencies supported

Client Portal to View Invoices

Alerts when invoices are paid

Set invoice payment due dates

Import expenses & setup vendors

The best part: it's all free and open source! Although they do have a hosted version, it's understandable that you'd want to self-host this app. And we have the perfect tutorial for you - how to install and self-host Invoice Ninja on CentOS 7.

Invoice Ninja installation instructions

We'll install Invoice Ninja on a simple LEMP (Linux, Nginx, MariaDB, PHP 7) stack on a CentOS 7 VPS.

Here are Invoice Ninja's requirements:

A server. You can use a cheap unmanaged one or a cheap managed one. If you get a Managed server then you can contact your support team and they will most likely install Invoice Ninja for you.

Alternatively, you can host it on a Shared hosting account, in which case you can just use Softaculous and install it with a single click. Our recommendation is A2 Hosting, they have Softaculous and an amazing support team.

PHP 5.5.9 or higher (we'll use PHP 7 in this tutorial)

MySQL/MariaDB (we'll use MariaDB)

Apache/Nginx (we'll use Nginx)

Mcrypt PHP extension

A root (sudo) user. All the commands in our tutorial will be executed by a root user. If you don't use a root user, append 'sudo' on each command.

So let's start.

Update your system and install necessary packages

Always start by updating your system. To update your CentOS, run:

yum update

Next, install the epel-release for CentOS 7:

yum repo-pkgs extras install epel-release

We'll also need the remi and webtatic repositories, to add them, run these 2 commands:

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

After all the repositories are installed, we need to update the package cache again:

yum update

Now, we're going to install some tools that we'll soon need:

yum install wget nano unzip openssl

We are done with the prerequisites. Let's move on.

Install Nginx

To install Nginx on CentOS, just run the following command:

yum install nginx

We'll configure Nginx later on. That's it for now.

Install and configure MariaDB

We obviously need a database for Invoice Ninja. We're going to use MariaDB, but you might want to use MySQL. The instructions are pretty much the same.

First, install mariadb:

yum install mariadb mariadb-server

Next, enable MariaDB to start automatically on startup:

systemctl enable mariadb

And now start MariaDB:

systemctl start mariadb

MariaDB isn't properly configured and secured yet, so run this script:

mysql_secure_installation

Follow the steps on the interactive CLI interface to properly configure MariaDB.

After you are done, move on to creating an actual database and user for your Invoice Ninja install.

First, login:

mysql -u root -p

Enter your password and then enter the following commands (update them according to your needs - change username, password etc.):

CREATE DATABASE thrninja;

GRANT ALL ON thrninja.* to 'ninja'@'localhost' identified by 'YourStrongPassword';

FLUSH PRIVILEGES;

exit;

We are done with the database. Moving on...

Install and configure PHP 7

Since Invoice Ninja is built with PHP/Laravel, we'll need to install PHP 7 and all other necessary modules:

yum install php71 php71-php-fpm php71-php-gd php71-php-curl php71-php-mcrypt php71-php-cli php71-php-gmp php71-php-mbstring php71-php-zip php71-php-xml php71-php-pdo php71-php-memcached php71-php-mysqli

By default PHP version in CentOS 7 is version 5. So, since we won't use both PHP 5 and PHP 7, we'll create a symbolic link:

ln -s /usr/bin/php71 /usr/bin/php

Next, we need to create a user account that will be associated with our Invoice Ninja install:

useradd ninja

We'll configure the php-fpm module to run as the user 'ninja'. To do that, create a new file 'ninja.conf' using nano:

nano /etc/opt/remi/php71/php-fpm.d/ninja.conf

Add the following lines to the file and save it:

[ninja]
user = ninja
group = ninja
listen = /var/run/php71-fpm-ninja.sock
listen.owner = ninja
listen.group = ninja
listen.mode = 0666
pm = ondemand
pm.max_children = 5
pm.process_idle_timeout = 10s;
pm.max_requests = 200
chdir = /

Installing and configuring an SSL

You're dealing with invoices, so it's expected that you use an SSL certificate. You can use Let's Encrypt too.

We'll create the SSL certificate under /etc/nginx/ssl. Let's create that directory and navigate to it:

mkdir -p /etc/nginx/ssl && cd /etc/nginx/ssl

And run the following commands to generate the SSL cert with openssl:

openssl genrsa -des3 -passout pass:x -out ininja.pass.key 2048

openssl rsa -passin pass:x -in ininja.pass.key -out ininja.key

rm ininja.pass.key

openssl req -new -key ininja.key -out ininja.csr

openssl x509 -req -days 365 -in ininja.csr -signkey ininja.key -out ininja.crt

We're done with the SSL for now. If you're using Invoice Ninja for your production site, then you are free to use a different SSL.

Configure Nginx

We'll need to add all the necessary Nginx rules for our SSL, redirects, root directories, domain etc.

Create and open an nginx configuration file:

nano /etc/nginx/conf.d/thrninja.conf

Add the following lines to the file and save it:

server {
    listen      443 default;
    server_name examle.com www.example.com;

    ssl on;
    ssl_certificate     /etc/nginx/ssl/ininja.crt;
    ssl_certificate_key /etc/nginx/ssl/ininja.key;
    ssl_session_timeout 5m;

    ssl_ciphers               'AES128+EECDH:AES128+EDH:!aNULL';
    ssl_protocols              TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    root /var/www/ninja/public;

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log  /var/log/nginx/ininja.access.log;
    error_log   /var/log/nginx/ininja.error.log;

    sendfile off;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php71-fpm-ninja.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
    }

    location ~ /\.ht {
        deny all;
    }
}

server {
    listen      80;
    server_name example.com www.example.com;

    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^ https://$server_name$request_uri? permanent;
}

Change 'example.com' with your own domain. This configuration assumes that you'll use https without www. You may need to edit the configuration if you have a different setup.

Stuck somewhere? Need some help? Need a custom Nginx config?

Contact our support team and we'll install, configure and optimize Invoice Ninja on your server, with a stack of your choice!

Install composer

Now we have to install composer for installing the web dependencies of Invoice Ninja. To install composer, run the following commands:

cd $HOME

curl -sS https://getcomposer.org/installer | php

mv composer.phar /usr/bin/composer

cd $HOME

Download, install and configure Invoice Ninja

Now, for the main part of our tutorial. First, download the self-hosted version of Invoice Ninja from their official website. At the moment of writing this tutorial, it's v3.0.5:

wget https://download.invoiceninja.com/ninja-v3.0.5.zip

Next, create a directory that we'll use as the webroot of our Invoice Ninja:

mkdir -p /var/www

Now extract the zip file you previously downloaded to our new directory:

unzip -d /var/www ninja-v3.0.5.zip

Next, we need to navigate to the Invoice Ninja webroot and install the dependencies using composer:

cd /var/www/ninja

composer install --no-dev -o

Now we have to configure Invoice Ninja to use our MariaDB 'thrninja' database. To do that, run the following command:

cp -v .env.example .env

Open the database configuration file:

nano config/database.php

and edit the following lines:

'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'database'  => env('DB_DATABASE', 'thrninja'),
            'username'  => env('DB_USERNAME', 'ninja'),
            'password'  => env('DB_PASSWORD', 'YourStrongPassword'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => env('DB_STRICT', false),
],

Next, we need to create the database tables for Invoice Ninja. To do that, run the following 'php artisan' commands one by one and answer [yes] to the prompts:

php artisan migrate

php artisan db:seed

php artisan key:generate

Stuck somewhere? Need some help? Installing Invoice Ninja seems too complicated?

Contact our support team and we'll install, configure and optimize Invoice Ninja on your server, with a stack of your choice!

Some finishing touches

We're almost done.

Change the directory permission to the user we've created earlier. To do that, run the following command:

chown -Rfv ninja:ninja /var/www/ninja

Next, enable php-fpm and nginx to automatically start on boot:

systemctl enable php71-php-fpm

systemctl enable nginx

Disable SELinux with the following command:

setenforce 0

You won't need it for Invoice Ninja and this setup.

And finally, start php-fpm and nginx:

systemctl start php71-php-fpm

systemctl start nginx

And that's it, you are done! Now you can navigate to https://example.com (the domain you used) and finish the Invoice Ninja setup via the web GUI. You should get something similar to the following:

# data[].attributes.attachment_link.title
How to Install Invoice Ninja on CentOS - ThisHosting.Rocks

# data[].attributes.attachment_link.description
Invoice Ninja is a popular open source application for invoicing, tracking time and accepting payments. In this tutorial, we'll show you how to install and use Invoice Ninja on a CentOS server.

# data[].attributes.attachment_link.readable_text
Rocket.Chat is one of the most popular open source chat applications. A great alternative to both Slack and paid live chat applications. It's free, everything's unlimited and it has a bunch of cool features like Video chat, Screen sharing, Mobile apps and more.

In this tutorial, we'll focus on the live chat option that Rocket.Chat offers, not the Slack-alternative team chat option, although it's really great and you should try it out.

In this tutorial, we'll install Rocket.Chat on an Ubuntu 16.04 server with Nginx as a reverse proxy and add it to our WordPress site.

Requirements

Rocket.Chat doesn't run on your usual LAMP/LEMP stack. It has some requirements like:

Rocket.Chat is a self-hosted application, so you'll need a VPS/Dedicated Server. Usually, shared hosting accounts don't allow the stuff you need to run Rocket.Chat, so you'll have to get a VPS for this. You can either get a cheap unmanaged one or a cheap managed one.

(Optionally) A WordPress site. Of course, you can still use Rocket.Chat without WordPress, but for the purposes of this tutorial, we'll assume that you already have a WordPress site.

The server needs to have at least 1GB RAM (although 2 or more is recommended). You can get a 1GB RAM VPS from Linode or Vultr for $5/month.

Root access to your VPS (sudo/root user)

Now that we got the requirements out of the way, let's go to the installation.

Rocket.Chat Installation Instructions

First, log in to your VPS as root and as always, we'll start with updating our system:

apt-get update && apt-get upgrade -y

Next, we'll install all the required packages for Rocket.Chat, including Nginx and Node.js:

apt-get install curl graphicsmagick build-essential nodejs npm nginx -y

Now we'll move on to the database.

Install MongoDB

Rocket.Chat uses MongoDB as a database server.

Before we can actually install MongoDB, we need to add the MongoDB keyserver:

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

Now, create a list file for MongoDB:

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.4.list

Next, update the Ubuntu repository:

apt-get update

And install MongoDB with:

apt-get install mongodb-org -y

Next, enable mongodb to start on boot:

systemctl enable mongod

And start it:

systemctl start mongod

That's it. We installed MongoDB.

Configure a MongoDB ReplicaSet

By using a ReplicaSet, you'll greatly improve the performance of your Rocket.Chat.

Edit the '/etc/mongod.conf' file with an editor of your choice. We'll use nano:

nano /etc/mongod.conf

Comment out the 24th line (with #) to enable MongoDB to run on another IP other than localhost:

net:
    port: 27017
    #bindIp: 127.0.0.1

And add the ReplicaSet below (at line 34):

#replication:
replication:
   oplogSizeMB: 1
   replSetName: rs0

Save the file and exit.

Now, restart MongoDB so the changes can take effect:

systemctl restart mongod

Next, start the MongoDB shell and initiate the ReplicaSet from before:

export LC_ALL=C
mongo
rs.initiate()

After you run rs.initiate(), you should get the following results:

{
        "info2" : "no configuration specified. Using a default configuration for the set",
        "me" : "thishosting-rocks:27017",
        "ok" : 1
}

If the value of "ok" is not 1, then something's wrong. Please go back and follow the steps exactly as shown in this tutorial.

Now let's move on to Node.js.

Configure npm and Node.js

We previously installed npm and Node.js, but now we need to do the necessary configurations.

First, install the 'n' package globally on the whole system:

npm install -g n

Rocket.Chat needs Node.js version 4.5, so let's install it with 'n':

n 4.5

Check if you have the right node.js version:

node --version

It should be 'v4.5.0'

And check the npm version:

npm -v

It should be '3.5.2'

That's it. Let's move on to the actual installation of Rocket.Chat

Install the Rocket.Chat server

First, download the latest version of Rocket.Chat:

curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz

And extract it:

tar -xzvf rocket.chat.tgz

We'll install Rocket.Chat in the '/var/www/' directory, so create it:

mkdir -p /var/www/

And move Rocket.Chat to that directory:

mv bundle Rocket.Chat
mv Rocket.Chat /var/www/

Now, navigate to the Rocket.Chat directory:

cd /var/www/Rocket.Chat/programs/server/

And run the following commands to add some environment variables:

npm install

cd ../../

export ROOT_URL=http://111.111.1.111:1337/

export MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs0

export PORT=1337

node main.js

Make sure to change the variables to your server's IP address and a port of your choice. After you run all the commands, you should get something like this:

➔ System ➔ startup
➔ +--------------------------------------------------+
➔ |                  SERVER RUNNING                  |
➔ +--------------------------------------------------+
➔ |                                                  |
➔ |  Rocket.Chat Version: 0.53.0                     |
➔ |       NodeJS Version: 4.5.0 - x64                |
➔ |             Platform: linux                      |
➔ |         Process Port: 1337                       |
➔ |             Site URL: http://111.111.1.111:1337/ |
➔ |     ReplicaSet OpLog: Disabled                   |
➔ |          Commit Hash: 0ebae3ac36                 |
➔ |        Commit Branch: HEAD                       |
➔ |                                                  |
➔ +--------------------------------------------------+

You are done. Now let's configure Nginx as a reverse proxy.

Configure Nginx as a reverse proxy for Rocket.Chat

We'll run Rocket.Chat on Nginx with an SSL. We already installed Nginx in our first step of this tutorial.

First, create a directory for your SSL:

mkdir -p /etc/nginx/ssl/

And navigate to it:

cd /etc/nginx/ssl/

Generate an SSL certificate file:

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/rocket-chat.crt -keyout /etc/nginx/ssl/rocket-chat.key

And update its permissions:

chmod 400 rocket-chat.key

Now, create a virtual host file for your Rocket.Chat. Navigate to:

cd /etc/nginx/sites-available/

And create a new configuration file:

nano rocket-chat

And add the actual Nginx configuration below. Make sure to replace the IP, port and domain name to the stuff you use. You can get a .chat domain from Namecheap.

# Upstreams
upstream backend {
    server 127.0.0.1:1337; }   # Redirect Options server {   listen 80;   server_nameexample.chat;   # enforce https   return 301 https://$server_name$request_uri; }   # HTTPS Server server {     listen 443;     server_nameexample.chat;       error_log /var/log/nginx/rocketchat.access.log;       ssl on;     ssl_certificate /etc/nginx/ssl/rocket-chat.crt;     ssl_certificate_key /etc/nginx/ssl/rocket-chat.key;     ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # dont use SSLv3 ref: POODLE       location / {         proxy_passhttp://111.111.1.111:1337/;         proxy_http_version 1.1;         proxy_set_header Upgrade $http_upgrade;         proxy_set_header Connection "upgrade";         proxy_set_header Host $http_host;           proxy_set_header X-Real-IP $remote_addr;         proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;         proxy_set_header X-Forward-Proto http;         proxy_set_header X-Nginx-Proxy true;           proxy_redirect off;     } }

Save and close the file. Next, activate it:

ln -s /etc/nginx/sites-available/rocket-chat /etc/nginx/sites-enabled/rocket-chat

Run:

nginx -t

and make sure there are no errors. If everything's ok, restart Nginx:

systemctl restart nginx

Almost done. Now let's reconfigure Rocket.Chat to run with our new domain.

Reconfiguring Rocket.Chat with our new domain

We'll need to update the variables we added before with our new data.

Run the following commands:

cd /var/www/Rocket.Chat/

export ROOT_URL=https://example.chat

export MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs0

export PORT=1337

node main.js

Make sure to replace the domain with your actual domain name and the port to the port you used previously. After you run all the commands, you should get an output similar to this:

➔ System ➔ startup
➔ +-----------------------------------------------+
➔ |                 SERVER RUNNING                |
➔ +-----------------------------------------------+
➔ |                                               |
➔ |  Rocket.Chat Version: 0.53.0                  |
➔ |       NodeJS Version: 4.5.0 - x64             |
➔ |             Platform: linux                   |
➔ |         Process Port: 1337                    |
➔ |             Site URL: https://example.chat    |
➔ |     ReplicaSet OpLog: Disabled                |
➔ |          Commit Hash: 0ebae3ac36              |
➔ |        Commit Branch: HEAD                    |
➔ |                                               |
➔ +-----------------------------------------------+

Now, open your domain name in your browser and register a new account.

Rocket.Chat will ask you if you want to update your site's URL, click "Yes".

After you create an account and log in, you should get something like this:

And you are done with installing Rocket.Chat.

If you want to configure Rocket.Chat to run forever, without needing to initiate an SSH session each time you want to run it, you'll need to use the node module 'forever-service'. Contact our support team if you want us to do this for you.

Now let's move on to integrating it with WordPress.

Integrate Rocket.Chat with WordPress

First, you need to enable the Live chat option in your Rocket.Chat.

Enable live chat in Rocket.Chat

Log in to your Rocket.Chat, go to Administration, then navigate to 'Livechat' from the sidebar menu. Alternatively, you can also use https://example.chat/admin/Livechat

Enable the live chat option from here and update all the settings according to your needs.

There are quite a lot of options, so go through them and see what you want to change. Click on 'SAVE CHANGES' after you are done.

Now, let's configure WordPress to show our Rocket.Chat live chat widget.

Install the WordPress plugin

There's an official Rocket.Chat plugin for WordPress. Download and install the plugin.

Then, navigate to Settings -> Rocket.Chat LiveChat and enter the URL of your Rocket.Chat (https://example.chat). Click save.

And you are done. Now you have Rocket.Chat enabled on your WordPress site.

That's all! If you need any help, feel free to leave a comment below or contact our support team and they will do all this for you.

# data[].attributes.attachment_link.title
How to Install Rocket.Chat on Ubuntu and Use it on Your WordPress - ThisHosting.Rocks

# data[].attributes.attachment_link.description
Rocket.Chat is one of the most popular open source chat applications. A great alternative to both Slack and paid live chat applications. It's free, everything's unlimited and it has a bunch of cool features like Video chat, Screen sharing, Mobile apps and more.

# data[].attributes.attachment_link.readable_text
Gaming in Linux has evolved a lot in the past few years. Now, you have dozens of distros pre-optimized for gaming and gamers. We tested all of them and hand-picked the best. There are a few other articles and lists of this type out there, but they don't really go into detail and they are pretty outdated. This is an up-to-date list with any info you'd need.

How to choose the best Linux distro for gaming

Before we start listing out the best distros, you'd still need to choose one of them. Here are a few guidelines you can use to help you choose the right one for you:

Any Linux distro can be used for gaming. You can install Linux games on any distro or you can use tools like PlayOnLinux, Wine, Steam and a bunch of other emulators. At the end of the day, it all boils down to which one you personally prefer. Try them out. Use a live CD (flash drive) image and test it out without even installing it. Watch some videos, check some screenshots, read some reviews...

The main feature that matters when choosing a distro for gaming is support for drivers. Most distros support the latest (and even oldest) hardware out of the box. Even if they don't, you can still manually find and install the driver yourself on any distro. If you're really unsure, you can just google some info for your hardware and see if the distro supports it out of the box.

Second most important feature is update frequency. Is it a rolling release distro like Manjaro (very frequent updates without a schedule, always the latest software)? Or is it a point release distro like Ubuntu (scheduled updates, not always the latest software). If you prefer to always use the latest versions of any software and apps, go with a rolling release distro. That way, you'll always get the latest driver updates and you'll most likely already have the latest drivers for your new GPU/CPU. If you'd like to stick with what you know and use a more stable OS, go with a point release distro.

Previous Linux experience should also be a deciding factor. Have you used a Linux VPS before? Which distro did you use for your server? If it was Ubuntu, then you should choose the desktop version of Ubuntu since you'll be more familiar with it. If you've used CentOS for your server, go with a Fedora-based distro for gaming. Did you use an LXDE distro? Go with a gaming distro that uses LXDE.

Now, let's move on to the main part.

Best Linux Distro for Gaming

Here's a 8 examples to help you choose the best Linux distro for you:

1. SteamOS

There's a reason why SteamOS is always the first on every Linux gaming distro list. It's designed with gaming in mind. It comes pre-installed with Steam and it's based on Debian. SteamOS is built, designed and maintained by Valve. By default, SteamOS only has Steam installed, but you can activate the "desktop mode" and you'll get a fully-featured desktop OS where you can run other applications besides Steam and games. It has everything set up out of the box, so you don't need to install or configure anything to play on Steam, which is why this is the most recommended distro for beginners and Linux gamers.

SteamOS hardware requirements

However, if you have an older machine, SteamOS is not recommended, as it has quite a lot of hardware requirements:

SteamOS facts and features

Linux and Steam for gamers.

Visit their official website for download/installation instructions and FAQ:
Download SteamOS

Let's move on to the next distro on our list:

2. Ubuntu GamePack

It's not the default Ubuntu, but it's a distro based on Ubuntu. You can still use the default Ubuntu and install Play on Linux, Wine and Steam or any other game you'd want to, but it would not be as optimized for gaming as Ubuntu GamePack is.

Ubuntu GamePack hardware requirements

Quite similar to the default Ubuntu, this distro requires:

2 GHz or more processor (64-bit recommended)

1GB RAM or more

9GB disk (the more the better)

VGA capable of 1024×768 screen resolution. Intel HD graphics/AMD Radeon 8500 for Steam games and any other GPU for other games.

Ubuntu GamePack facts and features

Ubuntu for gamers.

Pre-installed with Lutris, PlayOnLinux, Wine, and Steam

Great hardware drivers support

Low(er) hardware requirements

Free and open source OS

Supports Flash and Java (great for online, browser-based games)

If you're already familiar with Ubuntu, go with this distro.

Visit their official website for download/installation instructions and FAQ:
Download Ubuntu GamePack

The second most popular Linux distro used for desktop computers is Fedora. Luckily, Fedora also has a gaming flavor (spin):

3. Fedora - Games Spin

Fedora - Games Spin has thousands of games already pre-installed and ready to play. It doesn't support as much hardware as some other distros, and it doesn't come with Wine/Steam pre-installed, which is why this is not recommended for anyone. However, if you're already familiar with Fedora or if you like the XFCE desktop environment, this distro would be perfect for you.

Fedora Games Spin hardware requirements

Similar to the Fedora desktop distro:

2 GHz or more processor (64-bit recommended)

1GB RAM or more

10GB disk (the more the better)

Intel HD graphics/AMD Radeon 8500 for Steam games and any other GPU for other games.

Fedora Games Spin facts and features

For Fedora users.

Has thousands of games already pre-installed

Stable, but not with the latest software and doesn't have pre-installed drivers for all hardware

Steam and Wine are not pre-installed

Free and open source

Uses the XFCE Desktop Environment

If you've used Fedora (or CentOS) before, either for a server or for your desktop computer, try this Fedora spin.

Visit their official website for download/installation instructions and FAQ:
Download Fedora - Games Spin

Moving on to the next one:

4. SparkyLinux - GameOver Edition

SparkyLinux is a Linux distribution created on the "testing" branch of Debian. It uses the LXDE desktop environment and it has everything you'd need already pre-installed.

SparkyLinux - GameOver Edition hardware requirements

A very lightweight distro.

CPU i586 / amd64

256 MB of RAM memory (some games need more than that - 500-1000MB recommended)

20 GB of space for installation on a hard drive (30GB recommended)

So just about any old PC/laptop can run it without any issues.

SparkyLinux - GameOver Edition facts and features

Ready out of the box.

If you've used an LXDE Linux distro before and you want everything pre-installed, go with SparkyLinux - GameOver Edition.

Visit their official website for download/installation instructions and FAQ:
Download SparkyLinux - GameOver Edition
Gaming doesn't have to be all 2018 and bleeding-edge. You may be into retro games, which is where this distro comes to play:

5. Lakka

Although it's based on Linux (kernel), it doesn't have any desktop environment and you can't really use it for anything other than turning a computer into a retro gaming console.

Lakka hardware requirements

You can turn any computer into a console since Lakka doesn't have a lot of requirements. You can even use a Raspberry Pi to run Lakka. It's a very lightweight OS that can run on just about anything.

Lakka facts and features

For retro gamers.

Visit their official website for download/installation instructions and FAQ:
Download Lakka

Want to play Windows games on a Linux distro without too many configurations?

6. Game Drift Linux

Based on Ubuntu, this distro would be perfect for beginners that previously used Ubuntu. Easy to install and everything works out of the box.

Game Drift Linux hardware requirements

Although not the most lightweight Linux distro for gaming, it doesn't require much. At least not as much as SteamOS.

If you can run Ubuntu desktop, you can run Game Drift Linux.

Game Drift Linux facts and features

You can play A LOT of Windows games on Game Drift Linux. It has all the tools you need pre-installed.

The game store is great - a wide choice of quality games that you can install with a single click.

Visit their official website for download/installation instructions and FAQ:
Download Game Drift Linux
Need a full-featured Linux distro for gaming, media, browsing and general use?

7. Solus

Recently this year, Solus became a rolling release distro, which means that you'll get the latest software with all the latest updates. Solus looks great, especially with the Budgie desktop environment. It has all the features you need for an OS for gaming/media playback/browsing/general use. There's an official Steam integration for Solus which will greatly help you with installing and configuring steam on your Linux system. It's based on the Linux kernel, but it's independent of any other distro like Ubuntu or Fedora.

Solus hardware requirements

Although not the most lightweight Linux distro for gaming, it doesn't require much. At least not as much as SteamOS.

Requires a more powerful machine.

Solus facts and features

Everything built into one modern system.

Has different desktop environments to choose from: Budgie, Mate, and GNOME

Modern - has notification features

Free and open source

Can be used for everything - including gaming, browsing, general home use etc. Everything's set up out of the box

Rolling release - you'll get the latest updates and latest software all the time.

Solus looks great. One of the best looking Linux distros out there today, especially with its flagship desktop environment Budgie.

Visit their official website for download/installation instructions and FAQ:
Download Solus
Want to use the Manjaro (rolling release) distro?

8. Manjaro Gaming Edition (mGAMe)

mGAMe, which is based on Manjaro, which is based on Arch Linux, is a rolling-release gaming distro with everything you need pre-installed. Steam, PlayOnLinux, Lutris, Minecraft, Editing Tools, and a bunch of other emulators are already installed. You can easily enable the "living room mode" in which case you won't need a mouse - you can do everything with your controller or keyboard.

mGAMe hardware requirements

Although not the most lightweight Linux distro for gaming, it doesn't require much. At least not as much as SteamOS.

If you don't have enough hardware requirements to run Solus, but still need a rolling-release distro, go with mGAMe.

mGAMe facts and features

Everything's pre-installed and ready to play.

A great, more lightweight rolling-release distro for gaming.

Visit their official website for download/installation instructions and FAQ:
Download mGAMe
Which distro do you use? What kind of a Linux gaming setup do you have? Did we miss something? Leave a comment below!

# data[].attributes.attachment_link.title
8 Best Linux Distros for Gaming in 2018 - ThisHosting.Rocks

# data[].attributes.attachment_link.description
Gaming in Linux has evolved a lot in the past few years. Now, you have dozens of distros pre-optimized for gaming and gamers. We tested all of them and hand-picked the best. There are a few other articles and lists of this type out there, but they don't really go into detail and they are pretty outdated.

# data[].attributes.attachment_link.readable_text
In this tutorial, we'll show you how to install the Webmin control panel on an Ubuntu 16.04 server. You most likely already know what Webmin is, so we'll skip the introductions.

Requirements

Webmin is a pretty lightweight control panel. The requirements are:

An Ubuntu 16.04 server. We recommend using Vultr. They have Cloud servers starting at $2.5 per month. They're powerful enough to run Webmin. You need at least 512 MB RAM, which is how much their '$2.5 per month VPS' has.

Webmin Installation Instructions

The installation is pretty easy. But before we start installing Webmin, you'll need to update your VPS:

sudo apt-get update && apt-get upgrade -y

Then, if you don't already have them installed, install nano and wget with the following command:

sudo apt-get install wget nano

Now, onto our Webmin installation.

We'll be using the DEB repository to install Webmin.

First, open the apt sources list:

sudo nano /etc/apt/sources.list

and add the following line at the bottom of the file:

deb http://download.webmin.com/download/repository sarge contrib

Next, add the Webmin key with the following commands:

wget http://www.webmin.com/jcameron-key.asc

sudo apt-key add jcameron-key.asc

Update the package list again so it includes the Webmin package:

sudo apt-get update

And now you can finally install Webmin with:

sudo apt-get install webmin

The installation should take a few minutes. After it's done, you can access webmin by using your IP address and port 10000:

https://your:ip:adress:10000

You can login with the username 'root' and your root password. You can change all these settings later on.

That's it. We're all done. It was that simple.

# data[].attributes.attachment_link.title
How to Install Webmin on Ubuntu 16.04 - ThisHosting.Rocks

# data[].attributes.attachment_link.description
How to Install Webmin on Ubuntu 16.04 - In this tutorial, we'll show you how to install the Webmin control panel on an Ubuntu 16.04 server. You most likely already know what Webmin is, so we'll skip the introductions. Requirements Webmin is a pretty lightweight control panel. The requirements are: An...

# data[].attributes.attachment_link.readable_text
By default, Ubuntu Server comes with the essential apps and service you need for your server, without apps like a browser, an office suite etc. After our post featuring the best Linux distros for gaming, and us being a hosting/server-related website, we got quite a few requests to publish a post about Linux (Ubuntu) server GUIs. So, here it is.

Before we start with anything, some things you need to know:

It's strongly recommended that you don't use a GUI (Graphical User Interface) for your Ubuntu Server. All Linux server distros were meant to be used via their Command Line Interface (CLI). Installing any GUI on your server will just increase the hardware requirements (more RAM, more CPU power etc.).

Check with your hosting provider, they may not allow you to install a GUI/desktop environment as you can create a big load on their servers.

If you are a beginner and don't know how to run an Ubuntu server, you should get a Managed VPS. Installing a GUI won't help you (that much).

If you know what you are doing and just want to test server GUIs, go with a cheap unmanaged VPS. Vultr offer a $2.5 per month VPS.

So when it comes to server GUIs for Ubuntu, you are left with several choices:

Ubuntu Server Control Panels

With a control panel, you'll get a GUI on your server, and a proper one. You can manage your server's resources, websites, FTP accounts, e-mails etc. If you really need a GUI for your server, you should use a control panel.

Examples include:

Webmin

Webmin is the most popular open source control panel. It's easy to install, easy to use, and has a beautiful GUI that you can use to manage your Ubuntu server. You can create databases, users, emails, manage DNS, manage services on your server and more. Everything you need for your server in an intuitive GUI.

If you want to install it, go to our tutorial: How to Install Webmin on Ubuntu 16.04.

If Webmin's not your cup of tea, there are alternatives:

VestaCP

VestaCP has a modern GUI for your Ubuntu Server and it has many features that you can use to manage it. The installation couldn't be easier - you can do it with a single command! VestaCP's minimum requirements are so low that you can run it on a $2.5 per month Vultr VPS with 512MB RAM.

There are even more alternatives that you can use as a GUI for your server. Our "honorable mentions" are: ISPConfig, Ajenti, Froxlor and Sentora. So take a look at each control panel and choose the one that you like the most. Each one has a beautiful GUI and is easy to use.

Note that cPanel, the most popular (paid) control panel, is intentionally not included in this post as cPanel can only run on a CentOS server, and this post is not for CentOS GUIs. Check our CentOS vs Ubuntu comparison to see the differences between the two.

If you really want a "desktop version" on your Ubuntu VPS, you'll need to install a desktop environment.

Desktop Environment For Your Ubuntu Server

Much like control panels, you also have several options for desktop environments.

The default Ubuntu desktop environment

Essentially, you'll install the "desktop version" of Ubuntu on your Ubuntu server.

You can install it with a single command:

sudo apt-get install --no-install-recommends ubuntu-desktop

This command above installs the minimal version of Ubuntu Desktop (no additional apps and services). It takes up less time, less disk space and fewer server resources.

If you're feeling naughty and want to go full Ubuntu Desktop, install it with the following command:

sudo apt-get install ubuntu-desktop

This can take a while. After the desktop environment is installed, you'll either get a login prompt or you need to restart your server and you'll get a GUI.

Lightweight desktop environments

If you really had to use a desktop environment on your server, you should go with a lightweight one. That way you won't need that many resources and you'll still have a "desktop on your server".

Xubuntu (XFCE)

One of the most popular lightweight desktop environments. It doesn't need a lot of resources and you'll still get a GUI on your Ubuntu server. You can install the Xubuntu (XFCE) desktop environment with the following command:

sudo apt-get install xubuntu-desktop

Wait a while for the installation to finish and reboot your server.

Lubuntu (LXDE)

A very lightweight Linux distro based on Ubuntu. It uses the LXDE desktop environment and it can be used on an Ubuntu server. Install it with the following command:

sudo apt-get install lubuntu-desktop

There are many other desktop environments that you can try out. GNOME, Budgie, LXLE, Unity etc. Pick the one that looks the best to you and go with it. Although, again, it's not recommended to use a desktop environment on your server.

# data[].attributes.attachment_link.description
By default, Ubuntu Server comes with the essential apps and service you need for your server, without apps like a browser, an office suite etc. After our post featuring the best Linux distros for gaming, and us being a hosting/server-related website, we got quite a few requests to publish a post about Linux (Ubuntu) server GUIs.

# data[].attributes.attachment_link.readable_text
Finally decided to use Ubuntu for your Desktop OS? That's great. Oh, you also have an Ubuntu (cloud) Server? Even better.

You may be using some of our recommended Linux distros for gaming. This tutorial will work on just about any Debian-based distro, including, but not limited to:

Ubuntu 18.04

Ubuntu 17.04

Ubuntu 16.10

Ubuntu 16.04

Ubuntu 14.04

Any flavor of Ubuntu, including Ubuntu MATE, Ubuntu Budgie, Ubuntu GNOME, Kubuntu, Lubuntu, Xubuntu...

Debian 6, 7, 8 or any other Debian release.

Now, you can directly access your Ubuntu server via the desktop version of Ubuntu, straight from your Terminal. No need for PuTTy or other 3-rd party apps to access your server.

Note that you may already have SSH installed on your Ubuntu, so just try logging into your server or run this command to check if SSH is currently running:

ps -aux | grep ssh

Ok, so onto our SSH installation instructions. You can also install SSH via a GUI, but where's the fun in that? You already started using a server anyway. So here are the instructions on how to enable SSH via terminal:

Open up Terminal

Either open it via your menu or just press Ctrl + Alt + T

Install OpenSSH

From the official website:

OpenSSH is the premier connectivity tool for remote login with the SSH protocol. It encrypts all traffic to eliminate eavesdropping, connection hijacking, and other attacks. In addition, OpenSSH provides a large suite of secure tunneling capabilities, several authentication methods, and sophisticated configuration options.

In other words, you need to install OpenSSH so you can log into your server.

Install it by running the following command in your terminal:

sudo apt-get install openssh-server -y

After the installation is done, you'll have SSH enabled on your Ubuntu desktop.

Configure SSH

Now that you've installed SSH, you can configure it. Like changing the default port (recommended for security reasons), disabling "root" user login etc.

For now, we'll just update our default SSH port (which is 22). First, open up the ssh configuration file by running the following command:

sudo nano /etc/ssh/sshd_config

If you don't have nano installed (it's a text editor), run this command:

sudo apt-get install nano -y

Once you open the file, find and change the following line from:

# Port 22

to

Port 1337

Use a different port number, whichever one you want to.

Once you are done, save and close the file with Ctrl + W, then Y and hit Enter/Return

Before restarting SSH you need to configure your firewall to allow the port you provided before. If you're using UFW, just run:

sudo ufw allow 1337

You need to check with your internet provider and your modem/router(s) if you need to allow the new port.

Now, restart SSH for the changes to take effect. Run the following command:

sudo service ssh restart

And that's it. You are done.

Now you can use SSH to log into your server. Just open up Terminal and run:

ssh username@ip -p1337

To log into your server via SSH, right from your Ubuntu desktop terminal. Of course, change 'username', 'ip' and the port number you're using on your Ubuntu server

For more information, read this:
SSH/OpenSSH/Configuring OpenSSH Server

# data[].attributes.attachment_link.description
How to Enable SSH on Ubuntu (18.04, 17.04, 16.04, 14.04 etc.) - Finally decided to use Ubuntu for your Desktop OS? That's great. Oh, you also have an Ubuntu (cloud) Server? Even better. You may be using some of our recommended Linux distros for gaming. This tutorial will work on just about any...

# data[].attributes.attachment_link.readable_text
We'll show you how to install Docker on your Ubuntu 16.04 server. Short and straight-to-the-point tutorial.

With Docker, you can build, ship and run applications inside your server in containers. Essentially, with Docker, you get "virtual machines" inside your virtual machine.

Docker requirements

You can't run Docker on just about any server. Here are the requirements:

64-bit server.

At least 512MB RAM.

Linux Kernel 3.10+. Latest version recommended.

An Ubuntu 16.04 VPS (for the purposes of this tutorial). You can get one from Vultr, starting from $2.5 a month. Note that you can't run Docker on an OpenVZ VPS.

Update your server

Always update your server before doing anything. Run the following command:

sudo apt-get update && apt-get upgrade -y

Install the latest version of Docker

If you use Ubuntu's default repositories, you may not get the latest version of Docker, so to get the latest one, follow the steps below.

Add the key for the official Docker repository to your Ubuntu system:

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

Add the GPG key to your Ubuntu apt repository:

sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'

Now update your package's list to get the latest Docker version in your repositories:

sudo apt-get update

Run the following command to make sure that you install the latest version of Docker you just added, not the default Ubuntu one:

apt-cache policy docker-engine

And now install Docker by running:

sudo apt-get install docker-engine  -y

Wait a bit, and that's it. Docker is officially installed on your Ubuntu 16.04 (64-bit) VPS.

To verify that Docker is installed, run the following command:

sudo systemctl status docker

To see which Docker commands you can run, enter this command:

docker run --help

Or check the official documentation.

# data[].attributes.attachment_link.title
How to Install Docker on Ubuntu 16.04 - ThisHosting.Rocks

# data[].attributes.attachment_link.description
How to Install Docker on Ubuntu 16.04 - We'll show you how to install Docker on your Ubuntu 16.04 server. Short and straight-to-the-point tutorial. With Docker, you can build, ship and run applications inside your server in containers. Essentially, with Docker, you get "virtual machines" inside your...

# data[].attributes.attachment_link.readable_text
With the feedback and requests we got from our Best Linux Distros for Gaming list, we had to do another list of the best lightweight Linux distros. Actually, some of them fit both our categories. Sure, there are other similar lists our there, but this one has up-to-date info and we've personally tried and tested (almost) every distro on our old laptops. It took us 7 months to compile this list and a few weeks to update it with new data! We've seen new lists that included distros with their latest update being in 2005. Come on, how is that distro still relevant and good in 2018? And don't get us started on how each list is just a rehashed version of the same 5 distros. We purposefully included many distros in our list so you have more options to choose from. All distros are free and can run on ~512MB RAM or less. If you're feeling overwhelmed, just pick any distro.

You don't have to throw away your old PCs and laptops. Install a lightweight Linux distro on them and they're as good as new. Lightweight distros don't even have to be used on old hardware. You can install them on some bleeding-edge hardware and get the ultimate performance. Most distros are portable and can run on a Live CD/USB, without a hard drive. Why should you use other OSes full of bloatware and unnecessary stuff when you can use a perfectly fine Linux alternative?

If you're having trouble viewing this article from a lightweight computer, visit the AMP version

Anyway, before we go on with the list, a few quick tips on how to choose the best one for you:

How to choose the best lightweight Linux distro for you

These guidelines should help, but if you're feeling overwhelmed, just pick any distro from the list below and you'll be fine.

Any Linux distro is better than Windows/OS X when it comes to old hardware. Linux distros and the software that runs on them are far more optimized and compatible with old(er) hardware. If you're using Windows or OS X and it "feels slow", switch to a Linux distro. You're guaranteed to see an improvement in performance. Some older versions of Windows and OS X are fast for older hardware, but they don't get any support or updates, unlike all distros listed here.

Choosing the right lightweight distro will depend on what you're going to use it for. Some distros are optimized for certain activities, ie. servers and gaming. Are you going to use it for everyday browsing? If so, have in mind that websites have evolved and although the browser and OS itself will perform better, the websites can still be bloated and slow down your Linux. If you're going to use it for random office tasks like word processing, spreadsheets, or presentations - the lightweight Linux distros will work just fine. Maybe you'd like to use your old laptop as a media device and watch movies on it. You're good to go, as long as the movie itself is not a full Blu-Ray rip.

Another guideline is how much you're willing to sacrifice. How much OS features do you really need? You don't really need all that fancy UI animations and 3D stuff. Some Linux distros do have great modern UIs, but they do require better hardware.

Previous e xperience is another big factor you need to consider before you choose a lightweight Linux distro. Are you a beginner? Then don't use Arch Linux. Have you used Ubuntu before? Then get a lightweight distro based on Ubuntu. Got used to the Windows XP interface and want something similar? Sure, we have the perfect distro for you.

Pro-tip: do a bit of research for your hardware and see if the distro supports it. It most likely will, but just to be sure, you can do a quick google with your hardware model and the distro and you should get some results. Most distros can run on a cheap USB flash drive - you don't even need an HDD/SSD. This is often referred to as a "Live CD/USB". We'll include a 'minimum hardware requirements' for each distro, so you can check if the hardware stats you have will support the distro. Most of these distros can run perfectly fine on a Raspberry Pi.
Shop for Laptops, USB Flash Drives, and More at Newegg. Go to Newegg

Quick overview of the distros included in our list

Now (finally), onto the main part, the best lightweight Linux distros for old computers/laptops. Click on the distro's name to find more info, screenshots, and download links.

Distro

Minimum RAM (MB)

Minimum CPU

Minimum Disk Space (MB)

GUI

Release cycle

Notes
Raspbian
512

1 GHz

5000

Custom environment

Standard

Turn a Raspberry Pi into a fully-featured desktop PC

Lubuntu

Lubuntu is one of the most popular and most widely used lightweight Linux distros out there. Some use it as their main Linux distro on their powerful hardware just because of its performance and beautiful UI.

Lubuntu minimum hardware requirements

It can run on just about anything.

Anything more is just a plus. The requirements listed here are for the 16.04 LTS release, other releases may have slightly different requirements.

Lubuntu facts and features

The lightweight Ubuntu.

Based on Ubuntu, without any bloat

Has all the essential lightweight software pre-installed (office, browser, media players etc.)

Uses LXDE. Future releases will use LXQt

Great and active community support. There are also a couple of active social Lubuntu groups. You can find them here

Easily installable (and usable) via a USB flash drive.

Download Lubuntu
LXLE

As an alternative to Lubuntu, we have LXLE. Based on Lubuntu, it has the performance optimizations of a lightweight distro with a beautiful UI.

LXLE minimum hardware requirements

Similar to Lubuntu.

LXLE facts and features

Plug and go.

Easy to set up - just install it and you are ready to go. No complex configurations needed

Great for Windows XP/Vista/7 users

A wide variety of default apps pre-installed

Based on LXDE

Only has LTS releases

Easily installable (and usable) via a USB flash drive.

Download LXLE
Arch Linux

Flexible, lightweight and powerful Linux distro. Not recommended for beginners. The screenshot above is from an Arch Linux with the GNOME desktop environment (Elegant Theme).

Arch Linux minimum hardware requirements

Depends on what you're going to use.

Arch Linux facts and features

Make it your own.

Fully customizable - you choose which packages, desktop environments etc. you are going to use. You need to install them yourself

The official wiki has in-depth tutorials on just about anything

As lightweight as you make it be. You install only the packages and features you need. Nothing more.

Easily installable (and usable) via a USB flash drive.

Download Arch Linux
ArchBang
If you want the power and flexibility of Arch Linux, but don't want to do the complex set up and installation, you can use ArchBang. It's based on Arch Linux and it's inspired by CrunchBang.
ArchBang minimum hardware requirements

Lightweight and easy on the system.

i686 or x86_64 compatible machine

256MB RAM

700MB Disk Space

ArchBang facts and features

Arch Linux made easy easier.
Download ArchBang
ArchLabs Linux

ArchLabs Linux is an Arch Linux-based distro inspired by BunsenLabs. They've evolved so much that they're no longer a BunsenLabs clone now. It's a rolling distro and it's quite lightweight. It has an involved and very helpful community, no matter how small it is.

ArchLabs Linux minimum hardware requirements

Lightweight Arch Linux + BunsenLabs

x86-64 Processor (+1.4GHz recommended)

512MB RAM

5GB Disk Space

ArchLabs Linux facts and features

Various minimal desktop environments and styles to choose from
Download ArchLabs Linux
Puppy Linux(es)

Very lightweight Linux distro that should not be installed on a hard disk. It should run on a live CD/USB Flash Drive.

Puppy Linux minimum hardware requirements

Extremely lightweight.

Puppy Linux facts and features

Puppy Linux is not a single distro, but a collection of many distros with different purposes and different sets of software.
Download Puppy Linux
Linux Lite

Beautiful UI, easy to use and often used as a gateway from Windows to Linux.

Linux Lite minimum hardware requirements

Full of features, but quite lightweight.

Linux Lite facts and features

Considering the UI - it's a great alternative to the Windows OS
Download Linux Lite
KNOPPIX

Another live-only lightweight Linux distro. Bootable distro with a set of GNU/Linux apps and different software. Just plug the live USB/CD, start it, and you are good to go.

KNOPPIX minimum hardware requirements

One of the most lightweight distros.

KNOPPIX facts and features

Plug and play.
Download KNOPPIX
Peppermint

The Desktop Cloud Linux. Integrate any Cloud-based (web) app into your Peppermint OS. Doesn't have a lot of pre-installed apps so you can make Peppermint your own.

Peppermint minimum hardware requirements

Doesn't need much, but it's recommended to use more.

Peppermint facts and features

The Desktop Cloud.
Download Peppermint
PCLinuxOS

"So cool ice cubes are jealous" - straight from their website. Easily booted from a Live CD/USB and easily installed on your hard drive. Various desktop environments to choose from and a great UI.

PCLinuxOS minimum hardware requirements

Doesn't need much. But it would be great if you had more.

PCLinuxOS facts and features

Beautiful, cool, sleek, intuitive, easy.
Download PCLinuxOS
Porteus

Porteus can run on a USB flash drive/CD/DVD or an SD card. It's THE portable, lightweight Linux distro.

Porteus minimum hardware requirements

Extremely lightweight.

Porteus facts and features

THE portable Linux.

Use it on portable storage devices - USB/CD/DVD/SD card

Different desktop environments to choose from: KDE, LXQt, Mate, Cinnamon and more

'Persistent mode' is available - save data directly on your rewritable removable storage device

15 seconds boot time

'Porteus Kiosk' is a specialized edition that can be used on web terminals

Download Porteus
Trisquel Mini

Trisquel GNU/Linux is, in a nutshell, Ubuntu with only free software. The default version of Trisquel runs with GNOME, but it has a "Mini" edition which runs on LXDE, which is very lightweight.

Trisquel Mini minimum hardware requirements

The default version is lightweight, but the Mini version is more lightweight.

Trisquel Mini facts and features

Only free software.
Download Trisquel Mini
Manjaro Linux Xfce Edition

Another popular distro for advanced users is Manjaro - you can use the Xfce edition with a pre-installed desktop environment, which makes it easier to get started.

Manjaro Linux minimum hardware requirements

Not the most lightweight system, but very powerful and flexible.

Manjaro Linux facts and features

Flexible, fast and powerful.
Download Manjaro Linux
Peach OSI

Lightweight Linux distro that resembles the Mac (OS X) interface. Free, beautiful, easy to use and fully-featured.

Peach OSI minimum hardware requirements

The minimum requirements can be different depending on which version you choose

Peach OSI facts and features

Different versions (editions) to choose from.
Download Peach OSI
Raspbian

The OS built by Raspberry Pi that can easily run on a Pi.

Raspbian minimum hardware requirements

Lightweight, yet powerful.

Raspbian facts and features

Turn your Raspberry Pi into a fully-featured desktop PC.
Download Raspbian
Modern X

Based on openSUSE and the GNOME desktop environment. Lightweight and perfect for Windows/Mac users. Not to be confused with "Modern X OS"

Modern X minimum hardware requirements

Extremely lightweight.

Modern X facts and features

Beginner-friendly gateway Linux distro for Windows and Mac users.
Download Modern X
Debian

We included lots of distros based on Debian, but we should definitely include Debian too. The Debian distro itself is very lightweight, stable and popular.

Debian minimum hardware requirements

Revive your old PC with an old, yet modern distro.

Debian facts and features

One of THE most popular Linux distros.
Download Debian
Sparky Linux

Lightweight Linux distro with lots of editions to choose from. Based on Debian with a rolling-release cycle.

Sparky Linux minimum hardware requirements

If you use LXDE, LXQt or Openbox:

Sparky Linux facts and features

Has the most options to choose from.
Download Sparky Linux
SliTaz

SliTaz or Simple Light Incredible Temporary Autonomous Zone is a lightweight Linux distro that can be used both as a desktop OS and as a server.

SliTaz minimum hardware requirements

Depending on which version you use, the RAM requirement can be as low as 16MB. Requirements for the default (core) version are:

SliTaz facts and features

Extremely lightweight server and/or desktop OS.

Can be used as a server and as a desktop OS

Rolling release

Use it as a Live OS or as a desktop OS

Easily runs on a Raspberry Pi

Can be booted and used from the web (internet)

Has 4 flavors: base, just-x, gtk-only and the full desktop

Download SliTaz
Elive

The extremely lightweight Linux distro with its own custom desktop environment. Revive your old PC with a beautiful OS with an intuitive UI.

Elive minimum hardware requirements

Fully-featured desktop OS that can run on just about anything.

Elive facts and features

Uses it's own custom desktop environment.
Download Elive
BunsenLabs Linux

BunsenLabs Linux is a distro based on Debian. A successor to CrunchBang, uses the Openbox window manager which makes it a beautiful and lightweight distro.

BunsenLabs Linux minimum hardware requirements

It uses Openbox, so very lightweight.

BunsenLabs Linux facts and features

The new (and improved) CrunchBang.
Download BunsenLabs Linux
antiX

The lightweight distro perfect for both newcomers and experienced Linux users. Used as a desktop OS and as a Live OS.

antiX minimum hardware requirements

Light and beautiful.

antiX facts and features

All-in-one lightweight distro.
Download antiX
Slax Linux

A modular and portable lightweight Linux distro based on Slackware. Since it's modular, you can install any software. Just download a module and copy it to Slax.

Slax minimum hardware requirements

Extremely lightweight, especially if you use the text-mode edition.

Slax facts and features

Your pocket operating system
Download Slax
Linux Mint

Linux Mint is one of the popular Linux distros overall. However, the MATE, Cinnamon and Xfce editions are quite lightweight, so they deserve a spot on our list. Note: the KDE edition is not lightweight.

Linux Mint minimum hardware requirements

Depends on the edition, but all are pretty lightweight.

Linux Mint facts and features

One of the most popular distros.

Very active community

Beautiful user interfaces

Stable, reliable

All the software you need pre-installed

Lots of different editions to choose from

Easily installable (and usable) via a USB flash drive.

Download Linux Mint
wattOS

A lightweight, fully featured OS that you can use as a Desktop OS, as a Kiosk and just about anything. Based on Ubuntu and has two editions to choose from.

wattOS minimum hardware requirements

Depends on what version you use, but still very lightweight.

wattOS facts and features

Lightweight and functional.
Download wattOS
Zorin OS Lite

A great alternative to Windows and Mac OS. The "Lite" version is relatively lightweight, but it's still in beta.

Zorin OS Lite minimum hardware requirements

Light and ready to use out of the box.

Zorin OS Lite facts and features

If you're using Windows or Mac and want to switch to Linux on your old laptop.
Download Zorin OS Lite
Bodhi Linux

A minimalistic Linux distro with a custom-built window manager - Moksha, which only needs 100MB RAM to run.

Bodhi Linux minimum hardware requirements

Minimalistic and lightweight.

Bodhi Linux facts and features

The Enlightened, Minimalistic, Lightweight Linux Distribution.
Download Bodhi Linux
Tiny Core Linux

Tiny Core Linux (TCL) is THE most lightweight distro we have on our list. It's portable too. Though, it's not recommended for beginners. There's extensive documentation, so if you want to learn more about it, you can.

Tiny Core Linux minimum hardware requirements

The most lightweight.

Tiny Core Linux facts and features

Fast, flexible and powerful. Not recommended for beginners.

Different "Cores" to choose from: piCore - for Raspberry Pis, Tiny Core - with a GUI, MicroCore - without a GUI and more

Extremely lightweight with lots of possibilities - customize it to your needs

Runs in RAM

Portable

Easily installable (and usable) via a USB flash drive.

Download Tiny Core Linux
CRUX

Lightweight distro using the Openbox window manager - recommended for advanced users only. It is not based on any other Linux distro.

CRUX minimum hardware requirements

Extremely lightweight if you preform a custom chroot installation.

CRUX facts and features

Unlike any other.
Download CRUX
Conclusion and bonus distros

The distros above are our "main" lightweight Linux distros. It should be enough, but if you'd like to compare more distros and explore the vast world of lightweight Linux distros, move on to our Bonus list.
This list (including the bonus one) is quite large, so there must be some errors or typos, even though we reviewed it a couple of times. If you notice any errors, have any questions, or if you have a suggestion for a distro, please leave a comment!

We've invested a lot of our time and efforts into this post, so if you want to support us, you can do so by purchasing anything from the different affiliate links we have throughout our site. If you're feeling generous, you can also donate and help us to continue writing more content like this. Contact us for more info. Thanks!

Bonus list includes:

Distros that run on 3 MB RAM, on a floppy disk!

Distros issued and maintained by the United States Department of Defense

Distros that completely run in RAM and can still be used after removing the live CD/USB

Distros used on web servers for web apps

Distros based on Slackware

Distros based on distros based on distros our main distros list has (is this a tongue twister?)

Distros NOT based on Linux. Although they are not based on Linux, they are still lightweight, free and/or both

...and more!

Go to the Bonus List

# data[].attributes.attachment_link.title
50+ Best Lightweight Linux Distros for 2018 - ThisHosting.Rocks

# data[].attributes.attachment_link.description
With the feedback and requests we got from our Best Linux Distros for Gaming list, we had to do another list of the best lightweight Linux distros. Actually, some of them fit both our categories. Sure, there are other similar lists our there, but this one has up-to-date info and we've personally tried and tested (almost) every distro on our old laptops.

# data[].attributes.attachment_link.readable_text
In this short tutorial, we'll show you how to rename a file in Linux. Most commonly these commands are used on cloud servers and work on most Unix-based systems, including CentOS and Ubuntu.

This is our fist tutorial in a series of quick and short Linux tutorials.

Rename files using the mv command

The most basic (and relatively easiest) way of renaming commands in Linux is by using the mv command. Here's the syntax:

mv [options] oldfilename newfilename

And here's a real-life example that you'll probably need to use after you install WordPress:

mv wp-config-example.php wp-config.php

The commands above only work if the file is in the directory you're currently in. If they are in a different directory, you can use:

sudo mv /path/to/file.old /path/to/file.new

When you're renaming files, chances are that you may rename the file to an already existing filename in the same directory. In that case, you can use the "-i" option, which will ask you if you want to overwrite the file.

As an example, if you already have an "index.php" file in the directory, and you want to rename "new.php" to "index.php", you can use:

mv -i new.php index.php

And confirm when it asks you if you want to overwrite "index.php".

Batch files renaming using the rename command

If you want to rename more files at once (in batches) you can use the "rename" command. However, this is for advanced users only. You'll need to use regular expressions.

Here's a basic example of the rename command:

rename 's/\.htm$/.html/' *

This command will rename all .htm files to .html in your working directory. You can use the same command to rename .jpeg files to .jpg.

A more common example is renaming files' extensions from all-uppercase to all-lowercase

rename 's/\.JPG$/.jpg/' *

And that's it. Now you should know how to rename files on your Linux server.

# data[].attributes.attachment_link.title
How to Rename a File in Linux - ThisHosting.Rocks

# data[].attributes.attachment_link.description
How to Rename a File in Linux - In this short tutorial, we'll show you how to rename a file in Linux. Most commonly these commands are used on cloud servers and work on most Unix-based systems, including CentOS and Ubuntu. This is our fist tutorial in a series of quick and short Linux tutorials.

# data[].attributes.attachment_link.title
Debian vs Ubuntu: Compared as a Desktop and as a Server - ThisHosting.Rocks

# data[].attributes.attachment_link.description
Compare Debian and Ubuntu both as a desktop and as a server. Everything you need to know about the similarities and differences between Debian and Ubuntu.

# data[].attributes.attachment_link.readable_text
Our second quick and short tutorial. Before, we showed you how to rename a file in Linux. Now we're going to show you how to remove a directory in Linux.

Like most other basic commands, these will work on most Linux-based distros, including CentOS and Ubuntu. The most common usage is on cloud servers.

Generally, you'll use the "rm" command to remove files and directories in Linux. But, there are different use cases and different commands, so we'll go through them below.

Remove an empty directory

To remove an empty directory (folder), you can use the "rmdir" command. The syntax is:

rmdirdirectoryname

So if you had an empty directory named "test", you can remove it with:

rmdir test

But, if the directory had files in it, you would not be able to remove it with "rmdir". If you tried removing a directory with files, you would get an error like this:

rmdir: failed to remove 'directoryname': Directory not empty

Instead, you should use a different command.

Remove a directory with files and subdirectories (non-empty directory)

Here's where we would use the "rm" command. You can also remove empty directories with the "rm" command, so you can always use that one.

So, if we had a directory with subdirectories and files in it, we would use this syntax:

rm -r directoryname

We used the option "-r" to recursively delete all subdirectories (subfolders) and files in the parent directory.

If you don't use the "-r" option, you will only delete a single file. With our command, we deleted all contents (files and directories) within the parent directory.

Remove a single file

To remove a single file, you can use the "rm" command with no additional options:

rm file.txt

And that's it. Those were the most common commands for removing a directory in Linux.

Tip: don't always use the -f option

When using the "rm" command, you should not always use the "-f" (force) option. By using that option, you won't get any warnings or prompts when removing something. And it's always better to have a warning or a prompt before removing something, just to make sure you're doing the right thing.

If you get a "permission denied" (or similar) error

If you get a "permission denied" error or any other similar error, then you are probably using a non-root user. You should either use the root user or use sudo to run the commands. So just append "sudo" to each command and enter your sudo password when prompt:

sudo rm -r directoryname

# data[].attributes.attachment_link.title
How to Remove a Directory in Linux - ThisHosting.Rocks

# data[].attributes.attachment_link.description
Our second quick and short tutorial. Before, we showed you how to rename a file in Linux. Now we're going to show you how to remove a directory in Linux. Like most other basic commands, these will work on most Linux-based distros, including CentOS and Ubuntu. The most common usage is on cloud servers.

# data[].attributes.attachment_link.readable_text
If you're looking for a new Linux distro for your desktop, then you must have stumbled upon Linux Mint and Ubuntu. They are the two most popular desktop Linux distros.

Both Linux Mint and Ubuntu have several editions (flavors) to choose from, so we'll have them in mind while doing this comparison.

This comparison doesn't really have anything to do with servers or web hosting, but it's what our readers want to read the most, so we'll keep these kinds of articles coming.

Quick overview - Linux Mint Cinnamon vs Ubuntu (18.04+)

If you're too lazy to go through our detailed comparison, check the table below for a quick overview. Linux Mint is based on Ubuntu, so they are quite similar to begin with.

Linux Mint

Ubuntu

Intro to Linux Mint and Ubuntu

Basic information about both distros and the first things you need to know.

Both distros are free and open source.

Linux Mint is a popular choice for a desktop Linux distro that offers a wide range of customization options and an easy to use user interface. For more information, visit the official Linux Mint website.

Ubuntu is the most popular choice both for Linux desktops and servers. The popularity of the distro and the active community make it easy to find a solution to any Ubuntu-related issue. For more information, visit the official Ubuntu website.

Desktop environments

The most important part of a desktop distro is the desktop environment it uses. The look, feel, and usability of the OS itself depends on the desktop environment.

Both Linux Mint and Ubuntu have different releases/flavors/desktop environments to choose from. By default, Ubuntu (16.04, 17.04) comes with Unity, which is a desktop environment specifically created and designed for Ubuntu. Starting from 17.10 and onwards, Ubuntu ships with GNOME by default. As for Linux Mint, there is no "default", but a choice of different desktop environments to begin with, the most popular being Cinnamon.

You can install any desktop environment you want to use on both distros, but Ubuntu has more options for environments that work out of the box and come pre-installed depending on the Ubuntu release you choose. Some Ubuntu releases include Lubuntu (LXLE), Xubuntu (Xfce), Ubuntu Budgie, Ubuntu MATE...

We mentioned some of the desktop environments you can use on both distros in our comparison table above.

Software

Both distros are beginner-friendly and are ready to use out of the box. Both Linux Mint and Ubuntu have all the software you'd need pre-installed, including a browser, a media player, an office suite and more.

Both use the same package manager (dpkg). If some application is available for Ubuntu, you can also install it on Linux Mint. So the software should not be a deciding factor when choosing between Linux Mint and Ubuntu, other than what software is installed by default. Even if you want a different application than the default one, you can easily uninstall the default one and install an alternative through a GUI.

By default, Linux Mint includes proprietary software (like Flash), but Ubuntu doesn't. If you want to use proprietary software on Ubuntu, you'll need to update your settings, which takes less than a minute.

Best suited for

Linux Mint and Ubuntu are both easy to use, easy to install, and easy to configure, so both distros are best suitable for beginners.

Both distros offer many customization options, so if you are familiar with Linux, you can customize both distros to your needs. So they are also suitable for experienced users.

Given their beautiful and modern user interfaces and compatibility. You can use the distro on a small laptop, or on a big computer screen, so they are suitable for any kind of use, on any kind of a device.

Linux Mint is more suitable for Windows users - Mint's interface is quite similar to the Microsoft Windows interface. So if you're switching from Windows to Linux and you want a familiar interface, you should go with Linux Mint.

By default, Linux Mint offers more customization options compared to Ubuntu, at least in their GUI settings.

Release cycle

Ubuntu releases a new version every 6 months, so its release cycle is scheduled. Every 2 years, there's an LTS (Long Term Support) release, which provides support for 5 years for the desktop and server version of Ubuntu. The duration of the support is relevant because you will only receive updates until the release is officially supported.

Linux Mint releases are not scheduled, but they do come a month or so after every Ubuntu release. All Linux Mint releases are LTS releases. When a new Ubuntu LTS release comes out, a new Linux Mint version comes out. Mike F from the comment section below explains it well.

Based on

Linux Mint is based on Ubuntu. Other than the user interfaces and the default settings, both distros are quite similar.
Ubuntu is based on Debian.
Community and popularity

Ubuntu is the most popular Linux distro. Given the popularity, Ubuntu has the most users out of any Linux distro. With that large of a user base, you can easily find a solution to your issue on online communities. There are detailed tutorials and explanations for just about anything, especially for beginners.

Linux Mint is a popular Linux distro for desktops. It's one of the most popular desktop distros, other than Ubuntu. The Linux Mint community is very helpful and active. Although they have a smaller user base, you can still easily find solutions or ask for help in the official Linux Mint community.

Installation

Both distros use the same installer - the Ubiquity installer. So installing the distro itself will be very similar for both distros.

Not as (relatively) easy to install as Windows or OS X, but still very easy to install, even for beginners. Everything is explained during the installation and everything is done via a GUI.

You can install both using a flash drive and you can use them as a "live" distro - meaning you don't even need to install them on a hard drive, you can use them straight from the removable drive.

Frequently asked questions

There are a few questions that people usually ask when comparing Linux Mint with Ubuntu. We'll answer all of them. If you have any additional questions or thoughts, feel free to leave a comment below.

Which distro is better for beginners?

Both are great for beginners, but if you had to choose one, go with Ubuntu.

Can I use both distros at the same time?

Yes, you can use "dual boot" to have both distros installed at the same time. When booting the computer, just pick one of the distros.

Can I test the distros before deciding to use them?

Of course. First, you can check out some demos, videos, screenshots and online reviews. If you want to personally try the distros, you can use VirtualBox or similar software and use a virtual (temporary) installation. You can also use a Live CD/USB and test-drive the distro on the computer you are planning on using them.

Which one is better for older PCs and laptops?

This mostly depends on what desktop environment you use. If you use a lightweight desktop environment like Xfce or LXLE, you can use it on older PCs and laptops. For more options, see 50+ Best Lightweight Linux Distros for 2017

I want to use Linux Mint (or Ubuntu) but I still need to use some Windows apps. How do I do that?

If you're a beginner and new to Linux, but still want to use some Windows apps, you can set up Wine and use the apps locally. Alternatively, you can use services like CloudDesktopOnline.com or Apps4Rent where you can use a virtual server for apps like SharePoint and Exhange.

Linux Mint Cinnamon vs MATE

Cinnamon and MATE are the two most popular "flavors" of Linux Mint. Cinnamon is based on the GNOME 3 desktop environment, and MATE is based on GNOME 2. The desktop environments are best compared by actually using them, or, alternatively, you can check out some screenshots.

If you want to read more Linux distro-related stuff, see:

# data[].attributes.attachment_link.title
Linux Mint vs Ubuntu: Detailed Comparison - ThisHosting.Rocks

# data[].attributes.attachment_link.description
Linux Mint vs Ubuntu: Detailed Comparison - If you're looking for a new Linux distro for your desktop, then you must have stumbled upon Linux Mint and Ubuntu.

# data[].attributes.attachment_link.readable_text
The easiest way to install WordPress on a CentOS server. Using Centmin Mod, you can install WordPress, configure and secure the server, and take care of everything in a matter of minutes. We'll show you how to do everything in this tutorial.

Prerequisites

Before we begin, make sure have:

A CentOS VPS/Cloud server. Check our comparison of popular cloud providers and choose the best one for you. If you can't choose, go with Vultr. It's the safest choice. You can get free Vultr credits here, which basically means you can get a server for free. The recommended VPS is at least 1GB RAM. Add additional swap space if possible. Note that your server must be a fresh/new server. So spin up a new server or reinstall your current one.

An SSH client so you can log into your server. We recommend MobaXterm or PuTTy. They have tutorials on how to use them.

Ok, so now that we got that out of the way, onto our tutorial.

Our tutorial is optimized for a CentOS 7 server, but the instructions are pretty much the same for any version.

Disable SELINUX

One of the most common mistakes everyone makes when installing Centmin Mod. So we have to add this as our first step.

It's recommended to disable SELINUX temporary. You can do so by running the following command:

setenforce 0

"Temporary" means it will be disabled until you reboot your server.

To disable SELINUX permanently:

Use your favorite text editor and open:

nano /etc/sysconfig/selinux

Find the 'SELINUX=enforcing" line and edit it to disable:

SELINUX=disabled

Now reboot your server.

Update your CentOS server

Next step (and you should regularly do this) is to update your server. You can do so by running the following command:

yum update

Install Centmin Mod

We'll use the curl method, even though there are other ways of installing Centmin Mod. Just run the following line:

curl -O https://centminmod.com/betainstaller.sh && chmod 0700 betainstaller.sh && bash betainstaller.sh

After the installation is done, you should get some stats about the installation.

Now log out of the server and log back in.

Install WordPress using Centmin Mod

First, invoke the Centmin Mod menu using the following command:

centmin

And select the option 22 - just write "22" and hit enter.

You'll be prompted to enter a domain, email, FTP details etc. which are all self-explanatory.

The option 22 from Centmin Mod will install WordPress, configure Nginx, install and configure a caching plugin (and a bunch of other plugins), and basically do everything.

After the installation is complete, you'll get a list of things you need to do to complete the setup.

Complete the WordPress setup

1. Enable Permalinks (DO NOT use links with .html extensions for performance reasons) i.e. /%post_id%/%postname%/
2. Settings Menu > Super Cache > Easy tab and enable it by checking Caching On (Recommended) and hit Update Status
3. Advanced tab & check Use mod_rewrite serve cache files & Don't cache pages with GET parameters and Known User.
(Recommended), Cache rebuild for anonymous users, clear all cache when a post or page updated & hit Update Status
4. WP Security Menu > Settings > Check All except Enable Live Traffic tool and hit Update settings
5. Settings Menu > Updates Notifier and setup your notify email address and cronjob (save and test button to check)
6. Settings Mnenu > Autoptimize and check Optimize HTML, JavaScript and CSS options (show advanced settings)
7. Settings Menu > Limit Login Attempts and configure as desired or leave as defaults
8. Sucuri Security Menu and top left click Generate API key for your domain/email and configure your Settings tab
9. WP-Optimize Menu and configure as needed
10. Memory Usage Menu > Settings and adjust accordingly
11. GTmetrix Menu > setup and register your GTmetrix Account and API Key
12. go-newrelic plugin installed but not activated read https://wordpress.org/plugins/go-newrelic/installation/
13. Tools > P3 Plugin Profiler > Start Scan to profile all your plugins
14. Plugins > Query Monitor is disabled by default, enable to check MySQL query stats
15. Plugins > DB Cache Reloaded disabled by default unsure if works with WordPress 4.x ?
16. Appearance > Theme Options (Responsive theme) > Home Page nav bar > Uncheck Overrides WordPress front page option
17. Seo Menu (Yoast SEO) > configure accordingly
18. Settings > UpdraftPlus Backups > Settings set file/database backup intervals & optional backup to remote storage
19. Analytics > Settings > configure your Google Analytics UA Code

All steps are pretty self-explanatory and easy to do, but we'll share out 2 cents about some of them:

Step 6 - Be careful when optimizing or minifying code. More often than not, minifying your code will break your site. Often due to poorly-written themes. So enable the option and make sure everything is okay!

Step 11 - We personally think the GTmetrix plugin is unnecessary, but you're free to use it.

Step 17 - Instead of using Yoast SEO, use The SEO Framework. It's more lightweight and doesn't have as much bloat as Yoast does.

Of course, all steps are optional ( except the first 3!), so you're free to deactivate all of the plugins and use whatever you want to.

And that's it. You've successfully installed WordPress on a CentOS 7 server.

If you're not into written tutorials, you can watch an official video tutorial by Centmin Mod:

Further reading

Please visit the official Centmin Mod website and read their documentation, their forums etc. We especially recommend reading the Getting Started guide. They even have a dedicated page for installing WordPress with more details than our tutorial.

Final thoughts

If this was too hard for you or you don't want to be bothered doing any of this, you have two options:

1. Get a Managed VPS and let your hosting provider do all of this (and more) for you.

2. Get support from us, and we'll configure your server and install WordPress for you.

# data[].attributes.attachment_link.title
How to Install WordPress on CentOS with Centmin Mod - ThisHosting.Rocks

# data[].attributes.attachment_link.description
How to Install WordPress on CentOS with Centmin Mod - The easiest way to install WordPress on a CentOS server. Using Centmin Mod, you can install WordPress, configure and secure the server, and take care of everything in a matter of minutes. We'll show you how to do everything in this tutorial.

# data[].attributes.attachment_link.readable_text
We've all been waiting for it - the new LTS release of Ubuntu - 18.04. Learn more about new features, the release dates, and more.

Note: we'll frequently update this article with new information, so bookmark this page and check back soon.

Basic information about Ubuntu 18.04

Let's start with some basic information.

It's a new LTS (Long Term Support) release. So you get 5 years of support for both the desktop and server version.

Named "Bionic Beaver". The founder of Canonical, Mark Shuttleworth, explained the meaning behind the name. The mascot is a Beaver because it's energetic, industrious, and an awesome engineer - which perfectly describes a typical Ubuntu user, and the new Ubuntu release itself. The "Bionic" adjective is due to the increased number of robots that run on the Ubuntu Core.

If you're new to Ubuntu, you may not be familiar the actual version numbers mean. It's the year and month of the official release. So Ubuntu's 18.04 official release will be in the 4th month of the year 20 18. Ubuntu 17.10 was released in 20 17, in the 10 th month of the year.

To go into further details, here are the important dates and need to know about Ubuntu 18.04 LTS:

November 30th, 2017 - Feature Definition Freeze.

January 4th, 2018 - First Alpha release. So if you opted-in to receive new Alpha releases, you'll get the Alpha 1 update on this date.

February 1st, 2018 - Second Alpha release.

March 1st, 2018 - Feature Freeze. No new features will be introduced or released. So the development team will only work on improving existing features and fixing bugs. With exceptions, of course. If you're not a developer or an experienced user, but would still like to try the new Ubuntu ASAP, then I'd personally recommend starting with this release.

March 8th, 2018 - First Beta release. If you opted-in for receiving Beta updates, you'll get your update on this day.

March 22nd, 2018 - User Interface Freeze. It means that no further changes or updates will be done to the actual user interface, so if you write documentation, tutorials, and use screenshots, it's safe to start then.

March 29th, 2018 - Documentation String Freeze. There won't be any edits or new stuff (strings) added to the documentation, so translators can start translating the documentation.

April 5th, 2018 - Final Beta release. This is also a good day to start using the new release.

April 19th, 2018 - Final Freeze. Everything's pretty much done now. Images for the release are created and distributed, and will likely not have any changes.

April 26th, 2018 - Official, Final release of Ubuntu 18.04. Everyone should start using it starting this day, even on production servers. We recommend getting an Ubuntu 18.04 server from Vultr and testing out the new features. Servers at Vultr start at $2.5 per month.

What's New in Ubuntu 18.04

All the new features in Ubuntu 18.04 LTS:

Color emojis are now supported 👏👏👏

With previous versions, Ubuntu only supported monochrome (black and white) emojis, which quite frankly, didn't look so good. Ubuntu 18.04 will support colored emojis by using the Noto Color Emoji font. With 18.04, you can view and add color emojis with ease everywhere. They are supported natively - so you can use them without using 3-rd party apps or installing/configuring anything extra. You can always disable the color emojis by removing the font.

GNOME desktop environment

Ubuntu started using the GNOME desktop environment with Ubuntu 17.10 instead of the default Unity environment. Ubuntu 18.04 will continue using GNOME. This is a major change to Ubuntu.

This article will mainly focus on Ubuntu's changes, but GNOME has also done a lot of changes to their desktop environment, as well as new features. An improved dock, an on-screen keyboard, and more. So check out GNOME's website for more info.

Ubuntu 18.04 Desktop will have a new theme

Ubuntu 18.04 is saying Goodbye to the old 'Ambience' theme with a new GTK theme. If you want to help with the new theme, check out some screenshots and more, go here. It may not be default, but it most probably will.

As of now, there is speculation that Suru will be the new default icon theme for Ubuntu 18.04. Here's a screenshot:

UPDATE: Ubuntu 18.04 will ship with Ambience and it won't use a new theme by default. The new Communitheme won't even be installed. The Desktop team has decided to do this for various reasons, including bugs and lack of testing.

Luckily, you can still use the Communitheme, but you'll have to install it yourself. The Communitheme can be installed easily via a snap, but you can always install it manually by following the instructions below.

You can actually try the new theme (Communitheme) right now if you're using Ubuntu 17.10 or Ubuntu 18.04. You can do that by:

Add a repository:

sudo add-apt-repository ppa:communitheme/ppa

Update your package list:

sudo apt update

And install the new theme:

sudo apt install ubuntu-communitheme-session

To start using it, you need to log out, and when logging back in, select the new theme. For more information, visit the Communitheme GitHub repo.

Ubuntu 18.04 with a Faster Boot Speed

The Ubuntu desktop team has been working on improving the boot time on the new Ubuntu 18.04 release. We expect a big improvement

Xorg will be used by default instead of Wayland

Ubuntu 17.10 used the Wayland graphics server by default. With Ubuntu 18.04, the default graphics server will change to Xorg. Wayland will still be available as an option, but Xorg will be the default, out of the box one. The Ubuntu Desktop team decided to go with Xorg for its compatibility with services like Skype, Google Hangouts, WebRTC services, VNC and RDP, and more.

Lots of improvements and bug fixes

The most notable improvement will be in CPU usage. The Ubuntu Desktop team has greatly improved and reduced the CPU usage caused by Ubuntu 18.04.

They've also fixed hundreds of bugs and made hundreds of other small improvements.

Ubuntu 18.04 Desktop will have a new app pre-installed

The new LTS desktop release will ship with a new app pre-installed by default. The app is GNOME To Do and it's a very useful app for organizing lists, tasks, and more. You can prioritize them. color them, set due dates, and a number of other features.

Ubuntu 18.04 minimal install option

Ubuntu 18.04 will use Ubiquity, the Ubuntu installer you're probably already familiar with. Though the developers plan on implementing Subiquity, 18.04 will use Ubiquity, which will have a new " minimal install" option that you can choose during setup. Minimal install basically means the same Ubuntu, but without most of the pre-installed software. The minimal install option does not make Ubuntu 18.04 lightweight. It only saves about 500 MB. The minimal Ubuntu 18.04 version is only 28MB in size (when compressed). If you need a lightweight alternative, use something like Lubuntu.

Ubuntu 18.04 will collect data about your system and make it public

Ubuntu 18.04 will collect data like the Ubuntu flavor you're using, hardware stats, your country etc. Anyone can opt-out of this, but it's enabled by default. What's interesting about this is that the data they collect will be public, and no sensitive data will be collected. so most of the Ubuntu community supports this decision.

Applications will be installed as snaps by default

They been planning on using snaps for a while, and they finally shipped GNOME Calculator as a snap instead of a deb. This is a test to help the Desktop team find and fix any bugs. They'll later on move more applications to snap in the final release. Using snaps will make the process of installing and updating apps much easier. You can even install snaps on any distro and device.

Ubuntu 18.04 will ship with Linux Kernel 4.15

Ubuntu's daily builds started to ship with Linux Kernel 4.15 by default - the latest stable release of the Linux kernel. 4.15 has fixed the Spectre and Meltdown issues, among other things.

New default background in Ubuntu 18.04

And of course, the new Ubuntu release will have a new default background (wallpaper) with a Beaver:

You can download the full (8K) .png version here. There's also a black and white version available here.

There are also various other new wallpapers available from the Free Culture Showcase:

Further Reading

You can read this ovierview on Ubuntu.com for 18.04 which includes screenshots.

Worth noting: all new features in Ubuntu 16.10, 17.04, and 17.10 will roll through to Ubuntu 18.04. So updates like Window buttons to the right, a better login screen, improved Bluetooth support etc. will roll out to Ubuntu 18.04. We won't include a special section since it's not really new to Ubuntu 18.04 itself. If you want to learn more about all the changes from 16.04 to 18.04, google it for each version in between.

Download Ubuntu 18.04

First off, if you're already using Ubuntu, you can just upgrade to Ubuntu 18.04.

If you need to download Ubuntu 18.04:

Go to the official Ubuntu 18.04 download page

What's New in Ubuntu 18.04 - Video

Check this video out - detailing what's new in Ubuntu 18.04

FAQs

Now for some of the frequently asked questions (with answers) that should give you more information about all of this.

Will I be able to add icons to my desktop on Ubuntu 18.04?

Since version 3.28, GNOME has removed the option to put icons on your desktop, as well as some other features of managing your desktop. So naturally, people are wondering if they'll be able to put icons on their Ubuntu 18.04 desktop since Ubuntu 18.04 will be using the latest GNOME.

The answer is yes. You'll still be able to put icons on your desktop because the Ubuntu desktop team has decided to stick to the older version of GNOME's file manager, which still has the desktop features. It will only stick back to the older version of Nautilus (Nautilus 3.26), but will keep all the latest releases of everything else in GNOME. So no worries. Desktop in Ubuntu 18.04 is fine.

When is it safe to switch to Ubuntu 18.04?

On the official final release date, of course. But if you can't wait, start using the desktop version on March 1st, 2018, and start testing out the server version on April 5th, 2018. But for you to truly be "safe", you'll need to wait for the final release, maybe even more so the 3-rd party services and apps you are using are tested and working well on the new release.

How do I upgrade my server to Ubuntu 18.04?

It's a fairly simple process but has huge potential risks. We may publish a tutorial sometime in the near future, but you'll basically need to use 'do-release-upgrade'. Again, upgrading your server has potential risks, and if you're on a production server, I'd think twice before upgrading. Especially if you're on 16.04 which has a few years of support left.

How can I help with Ubuntu 18.04?

Even if you're not an experienced developer and Ubuntu user, you can still help by:

Spreading the word. Let people know about Ubuntu 18.04. A simple share on social media helps a bit too.

Using and testing the release. Start using the release and test it. Again, you don't have to be a developer. You can still find and report bugs, or send feedback.

Translating. Join the translating teams and start translating documentation and/or applications.

Helping other people. Join some online Ubuntu communities and help others with issues they're having with Ubuntu 18.04. Sometimes people need help with simple stuff like "where can I download Ubuntu?"

What does Ubuntu 18.04 mean for other distros like Lubuntu?

All distros that are based on Ubuntu will have similar new features and a similar release schedule. You'll need to check your distro's official website for more information.

Is Ubuntu 18.04 an LTS release?

Yes, Ubuntu 18.04 is an LTS (Long Term Support) release, so you'll get support for 5 years.

Can I switch from Windows/OS X to Ubuntu 18.04?

Of course! You'll most likely experience a performance boost too. Switching from a different OS to Ubuntu is fairly easy, there are quite a lot of tutorials for doing that. You can even set up a dual-boot where you'll be using multiple OSes, so you can use both Windows and Ubuntu 18.04.

Can I try Ubuntu 18.04 without installing it?

Sure. You can use something like VirtualBox to create a "virtual desktop" - you can install it on your local machine and use Ubuntu 18.04 without actually installing Ubuntu.

Or you can try an Ubuntu 18.04 server at Vultr for $2.5 per month. It's essentially free if you use some free credits.

Why can't I find a 32-bit version of Ubuntu 18.04?

Because there is no 32bit version. Ubuntu dropped 32bit versions with its 17.10 release. If you're using old hardware, you're better off using a different lightweight Linux distro instead of Ubuntu 18.04 anyway.

Why Ubuntu 18.04 Should Use KDE Plasma Instead of GNOME

This was an interesting video and point of view we'd like to share.

Any other question?

Leave a comment below! Share your thoughts, we're super excited and we're gonna update this article as soon as new information comes in. Stay tuned and be patient!

# data[].attributes.attachment_link.title
Ubuntu 18.04 - New Features, Release Date & More - ThisHosting.Rocks

# data[].attributes.attachment_link.description
We've all been waiting for it - the new LTS release of Ubuntu - 18.04. Learn more about new features, the release dates, and more. Note: we'll frequently update this article with new information, so bookmark this page and check back soon. Let's start with some basic information.

# data[].attributes.attachment_link.readable_text
Looking for a new laptop to run a Linux distro on? Check our guide to the best Linux laptops to buy in 2018 and you'll find the perfect one. If you're in a hurry, skip to the overview.

How to choose the best Linux laptop for you

Follow these basic guidelines and you'll have an easier time narrowing down the choices. Or just skip straight to the list of the best laptops for Linux.

1. First off - almost any laptop will run a Linux distro. Some laptops may need extra work for installing drivers and fixing compatibility issues - but most will work fine. However, if you want to be sure and get a laptop that "just works", get a laptop from our list below.

2. A laptop that's "the best" for you, may not be a good fit for someone else. So choose a laptop based on your budget, preferences, and requirements first. Check the recommendations second.

3. Do your research before buying it. Google the model you plan on using by adding "linux", "ubuntu" or whatever else you'll be using and you'll find more information about that specific model. The hardware may not even be supported, or there may be some bugs with stuff like the touchpad, Wi-Fi, battery life etc. So always do your research before buying the laptop if it's not pre-installed with a Linux distro. It should take you about 2 minutes to do a quick google search and quickly find out if it's compatible with your distro or not. Helpful keywords to add are "issues", "problem", "bug", "incompatibility", "driver" on top of the keywords for your model and your distro. You can even search forums and get some reviews/opinions from other people. If you're buying a laptop with a Linux distro pre-installed, then you don't have to worry about compatibility.

4. Laptops with a pre-installed Windows will also work with Linux, and vice-versa. If you find a laptop that has Windows pre-installed, you can still use it to install a Linux distro yourself. You can even install Linux on a Mac laptop (Apple). If a Linux distro is pre-installed on the laptop, then obviously it's compatible. However, there may be some small bugs here and there if you dig deep enough. It's worth noting that windows and Mac laptops are usually more expensive, so if you plan on installing Linux, don't get a Windows license with your new laptop.

5. Check with your Linux distro. Some distros have official recommendations for laptops, and others have a community wiki/forums with a list of recommendations. Mint and Ubuntu are the most popular Linux distros, and naturally, they are compatible with most hardware right out of the box. Ubuntu has a directory of tested and recommended laptops that you should definitely check out and the Arch Wiki is full of useful information about Linux laptops and related hardware.

6. You don't need a powerful laptop with bleeding-edge hardware for smooth usage. Most Linux distros are lightweight by themselves, even popular ones, so you don't really need as much RAM and CPU power as you would need with a Windows or a Mac. You can even run a lightweight Linux distro on 256MB RAM or less. Of course, for better performances, you'll need better hardware. You should choose the laptop and its hardware based on your requirements and budget, though have in mind that the Linux distro itself won't take up as many resources as other alternatives would, especially if you use a lightweight distro.

7. If you don't want to use a Linux distro as your main OS on your laptop, you can always set up dual-boot with Linux and Windows/Mac.

8. If you need more help choosing, leave a comment below or contact us, we'll help you.

Best Linux Laptops you can Buy - Quick Overview

From the thorough research we did, and from personal experience, these are the best Linux laptops you can buy in 2018. We'll include additional information about each laptop to help you in your choice. This is just a quick overview with basic information. Click on the laptop model's name for more info. All hardware listed here is the default hardware, but you can customize each laptop during the ordering process and choose a better alternative.

Laptop

Display Size

RAM

CPU

Storage

Linux Pre-Installed

Starting Price

Features

We didn't review the laptops themselves, we may do dedicated reviews for each laptop in the future. However, we still advise you to do a quick google search for reviews of the specific model you're planning on buying. Some of the companies below sell rebranded Clevo (or other Chinese) laptops. These laptops get mixed reviews, so you should definitely do your research for each company and laptop model before buying it. You should also know that other popular enterprises that sell laptops with their own brand name have Chinese hardware. Some have the same hardware with Clevo laptops. If it's manufactured in China, it does not mean it's low-quality. If we categorized a laptop that's best for gaming, it doesn't mean that it's not good for programming or everyday use. The prices may differ from our post to the official price. In some cases, we had to convert from other currencies to US dollars, in other cases there may have been a sale or something. So take our information with a grain of salt and always check the official website. They're just an additional piece of information that would help beginners in choosing the best laptop for them.

Shop for Laptops, Computers, and Eletronics at Newegg. Go to Newegg

Best Laptops that "Just Work" with Linux Out of The Box

These laptops all have Linux pre-installed and "just work" right out of the box. No need for any extra configurations or tweaks. Check the provider's website for more laptops - the ones listed below are not their only option. This list is targeted towards beginners, as the laptops themselves have a pre-installed and optimized Linux distro, and the companies offer support for both the laptop and the software/distro. Or for experienced users that don't have the time to tweak a distro.

Purism - Librem 15 - Secure & Private

Our Linux laptops list wouldn't be complete without including a Librem laptop. The Librem laptops from Purism are known for being secure and private with free software. Every bit of hardware is included with your privacy and freedom in mind. They have a "hardware killswitch" that turns off your microphone, camera, wireless and Bluetooth at the hardware level, so there's no way someone can access them by any means. Librem laptops ship with PureOS installed, a free Linux distro with privacy and freedom as their number one priorities. You get full access and control over the laptop you use.

Librem 15 main features

15.6″ 1080p matte display

Hardware killswitch for Mic, Cam, Wi-Fi, and Bluetooth

Free (as in freedom) hardware and software

Safe & Secure

PureOS pre-installed

Librem 15 price

Starts from $1599. May not be available at the moment, so you'll likely have to pre-order it and wait a while.

Librem 15 hardware specs
Learn More & Buy
System76 - Galago Pro - Portable with a HiDPI Display

No Linux laptop list would be any good without a System76 laptop. System76 is a company selling custom-built laptops, desktops, and servers with a Linux distro pre-installed. When buying a System76 laptop, you get to customize it so it meets your budget and needs. So you can add/remove RAM, choose your disk, choose a pre-installed Linux distro and more. This specific Galago Pro laptop has an amazing display, an Aluminum chassis, and it's quite portable.

Galago Pro main features
Galago Pro price

Starting from $959. Price can be higher if the hardware is upgraded when customizing the laptop. Monthly payment option is available.

Galago Pro hardware specs
Learn More & Buy
We no longer recommend Alpha and their laptop(s). Read more here.

For archiving purposes, you can read the Alpha section by clicking the button below.
Alpha - Litebook - Cheap & Beautiful

Alpha - Litebook - Cheap & Beautiful

Alpha is another provider offering various Linux laptops and mini-PCs. All of their laptops ship with a modified Elementary OS (popular Linux distro), and come pre-installed with useful software like an office suite, Steam, and more. It's worth noting that these laptops are not endorsed by Elementary OS, and they are not "official" Elementary OS laptops. You get a modified version of Elementary OS with your laptop, but you're free to install any other distro you want to. You basically get the laptop optimized, configured, and ready to use. You don't even have to install any software yourself as they install the essentials.

Litebook main features

It's cheap and has similar hardware with other notebooks in the $400-500 range.

Available in Black, Red, and White. It's one of the better looking Linux laptops.

Pre-installed, optimized, customized, and ready-to-use Elementary OS

Litebook price

Starts at $249. The price may go up, depending on what kind of HDD/SSD you get. It's one of the cheapest laptops overall, and most probably THE cheapest Linux laptop with this kind of hardware.

Litebook hardware specs

Display: 14.1 Inch 1080 X 1920 LCD

CPU: Intel Celeron 1.6-2.1 GHz Quad Core (N3150)

GPU: Integrated

RAM: 4GB LPDDR3

Storage: 120GB SSD, 500GB HDD, Hybrid (500GB HDD + 32GB SSD)

Ports: Two USB 3.0, Aux Out, Ethernet, Micro HDMI, Micro SD

Networking: Gigabit Ethernet, Realtek Wireless (802.11 b/g/n) + Bluetooth 4.0

Camera: 720p HD Webcam

Battery: 9 hours battery life

Size: 13.5″ × 9.3″ × 0.64″ (34.3 × 23.6 × 1.6cm)

Weight: 2.9 lbs (1.3 kg)

Learn More & Buy

ZaReason - UltraLap 5440 - Use Any Distro

ZaReason sell Linux laptops, desktops, servers, and more. Though there aren't many laptops (only 2) - what they offer is still unique and highly customizable. You get to choose most of the hardware out of several options, and you get to choose which Linux distro you want pre-installed out of the most popular ones.

UltraLap 5440 main features

14″ FHD (1920×1080) LED Backlit Display

You get to choose what Linux distro they install. Available options are: Ubuntu, Mint, OpenSUSE, Debian, Fedora, Kubuntu, CentOS, but you can specify any other distro in the order notes.

Most of the hardware is customizable and upgradable - you can choose your hardware while ordering. They have 7th and 8th Generation Intel Core Processors.

UltraLap 5440 price

Price starts at $799 and goes up depending on what kind of upgrades/hardware you get. It's relatively cheap for the kind of hardware and Linux support you get with the laptop.

UltraLap 5400 hardware specs
Learn More & Buy
Entroware - Apollo - Aluminum & Lightweight

Entroware is another popular provider offering Linux laptops, desktops, and servers. Their laptops are all high-quality, and they have one of the best support teams for Linux. They're usually recommended to beginners just because of their support and 3-year warranty. The Apollo laptop we'll feature has an aluminum design, which is quite a popular choice for laptops.

Apollo Main Features

Aluminum design weights at just ~2.8lbs. So it's lightweight and durable

Intel's 8-th generation CPUs

3-year warranty and lifetime software support

Ubuntu or Ubuntu MATE pre-installed

Apollo Price

Apollo's price starts at £699.99 (~$946) and goes up depending on what hardware you choose. The price starts at £583.33 if you exclude tax.

Apollo Hardware Specs
Learn More & Buy You can use the coupon "fs18" to get free shipping in the UK
Juno Computers - Jupiter - Thin & Aluminum

Juno Computers is a relatively new company that (currently) sells a Linux laptop and a Linux mini-pc. Their Jupiter laptop is pre-installed with Elementary OS, LibreOffice, and an app installer. The laptop has 8th generation Intel processors and a fair price. Their goal is to help Linux newcomers integrate easily to the elementary OS experience.

Jupiter main features

Jupiter price

Jupiter is currently on sale and costs £693 (~$940). The price can go up depending on what hardware you choose.

Use coupon code " THISHOSTINGROCKS " at checkout and get £5 off. So the total would be £688

Jupiter hardware specs
Learn More & Buy
Star Labs Systems - Star Lite - Mobile & Compact

Star Labs Systems is a company that sells the usual Linux laptops. They also have an option for Windows laptops - you get to choose what OS they install. They have a wider range of laptops and a few options for distros, including: Linux Mint, Ubuntu, and ElementaryOS. You'll definitely find a fit for your requirements and budget. You get a free hoodie with each purchase.

Star Lite main features

Smaller, lightweight, and compact

Ubuntu, Linux Mint, Elementary OS, or Windows pre-installed

Various connectivity options

Highly customizable (you choose the hardware)

Star Lite price

Pricing starts at £297 (~$403) and goes up depending on how you configure your laptop.

Star Lite hardware specs
Learn More & Buy
Station X - Lancaster - Gaming Linux Laptop

Station X Systems is yet another company that sells Linux laptops and desktops. They have a wide range of options, including high-end laptops that are optimized for gaming. You can choose from dozens of distros, but when it comes to gaming, there are a few that are recommended. We'll feature their gaming laptop, which is a bit pricey.

Lancaster main features

High-end Linux gaming laptop

Multi-color Backlit Keyboard

Dozens of distros can be pre-installed. Ubuntu and other _buntu distros, Linux Mint, MX Linux, Manjaro, Arch Linux, Solus, openSUSE, Fedora, BunsenLabs Deuterium, Debian, and more.

Blu-ray Capable

ANSP™ 3D Sound Technology

Sound Blaster® X-Fi™ MB5

Lancaster price

The starting price is £1450 (~$1964). It's the most expensive laptop on our list. Though, the price is justified by the high-end hardware and Linux support.

Lancaster hardware specs
Learn More & Buy
Ministry of Freedom - Libreboot X200 - Secure & Private

Ministry of Freedom (Minifree) sells 100% free (as in freedom) software and hardware verified by the FSF ( Respects Your Freedom certification program). All of the software, from the BIOS, OS and applications is free software. It comes pre-installed with the Trisquel distro that focuses on privacy and freedom. Everything's ready to go and set up out of the box. They also provide extensive after-sales user support.

Libreboot X200 main features

Libreboot X200 price

Starts at €248 (~$299) and goes up depending on your RAM/Storage choice.

Libreboot X200 hardware specs
Learn More & Buy
LinuxCertified - LC2530DM - 17.3″ Gaming Laptop

LinuxCertified is a provider that offers Linux training, services, and Linux laptops. We'll feature one of their 17″ laptops (though they have much more options). You'll get a FullHD, high-performance portable workstation that you can use for pretty much anything, including playing AAA games. The laptop is certified with several distros, including Ubuntu, Fedora, openSUSE, CentOS, and RHEL, but you can request any distro to be installed. Though, we recommend that you install a gaming distro or use Ubuntu if you plan on using this laptop for gaming. You can ask LinuxCertified to install a distro for you.

LC2530DM main features

LC2530DM price

It's currently on sale, and the sale price starts at $1999. Can go up depending on upgrades. The sale is $500 off the original price, so expect the price to go back to $2499.

LC2530DM hardware specs
Learn More & Buy
TUXEDO Computers - TUXEDO Book BX1506 - Anti-reflective FHD Display

TUXEDO Computers is a provider offering various Linux PCs, laptops, accessories, swag, and more! Everything Linux. They're known for their support and optimized laptops. They have dozens of choices when it comes to laptops, so you'll definitely find a fit. You also get some posters and other free stuff as a bonus when buying a laptop.

TUXEDO Book BX1506 main features

TUXEDO Book BX1506 price

Starting price is €717 (~$862) and goes up depending on what hardware you choose

TUXEDO Book BX1506 hardware specs
Learn More & Buy
Dell XPS 13 - Powerful & Customizable

Last, but not least, a Linux laptop by a company that's not dedicated to Linux. The Dell XPS 13 laptop is one of the most popular choices when it comes to Linux laptops. Ubuntu 16.04 LTS is pre-installed. It's likely that they'll soon install Ubuntu 18.04 on newer versions. The XPS 13 laptop has many unique features and it's a powerful laptop that can handle pretty much anything.

XPS 13 main features

InfinityEdge display (almost borderless)

Backed by Dell ProSupport

High-end hardware and build

Aluminum chassis available in multiple colors

Backlit keyboard

Configurable hardware

XPS 13 price

This laptop is currently on sale and the price starts at $849.99 - goes up depending on how you configure your laptop.

XPS 13 hardware specs
Learn More & Buy
There are other Dell laptops with Ubuntu pre-installed, like:

Honorable Mentions - Companies that Sell Linux Notebooks

There are other companies that sell laptops with a Linux distro pre-installed, but didn't get featured with a laptop. It doesn't mean that the companies we featured are better, we just don't want to overwhelm you with choices.

So those were our top picks of laptops with a Linux distro pre-installed. Alternatively, you can get a laptop and install a distro yourself.

Best Laptops you can Install Linux on

These usually come pre-installed with a different OS or without any OS at all, so you'll need to install Linux yourself, or ask the provider to install it for you. Installing it is pretty easy and shouldn't take you more than 30 minutes to do it. There are tutorials online everywhere, including some video tutorials on YouTube on how to install a Linux distro.

This list is targeted towards experienced users. Beginners should choose a laptop with Linux pre-installed. You have to do your research and check if the hardware is compatible with your Linux distro. Pay attention to driver support. All the notebooks below are reported to work well with most Linux distros and have support for drivers. However, you should still do your own research. Most (if not all) require extra configurations, installing drivers/software, disabling packages and other tweaks that are not recommended for beginners.

Lenovo - ThinkPad X1 Carbon - Durable & Lightweight

ThinkPads are the most popular laptops when it comes to Linux. Most ThinkPads are compatible and work great with most Linux distros. Some companies we mentioned above sell ThinkPads themselves. You basically get the powerful hardware of a Lenovo ThinkPad with the professional support and optimization from a Linux company. This ThinkPad is a high-end, high-performance laptop. Its carbon chassis is what makes it strong and durable, yet it's still lightweight.

ThinkPad X1 Carbon main features

ThinkPad X1 Carbon price

Price starts at $1538.10 and goes up depending on your upgrades.

ThinkPad X1 Carbon hardware specs
Learn More & Buy
HP - Spectre x360 - Thin & Convertible

HP Spectre X360 is a popular choice for new and modern laptops. What makes this laptop different are the dozens of unique features it has, including the pen, convertibility, fingerprint scanner, and much more. Needs a bit of tinkering to get everything working on a Linux distro, but at the end, it's totally worth the effort. It has several editions - features and compatibility with Linux depend on what edition you choose. Hardware specs below are for the 13t version.

Spectre X360 main features

Thin, sleek and lightweight

Aluminum chassis

Several "physical" modes you can switch through thanks to its flexibility: Laptop mode, Tablet mode, Writing mode, Watching mode, Tent mode

HP Pen compatibility

HP Sure View (screen appears dark to everyone but you)

HP Wide Vision (88-degree) FHD IR camera

Fingerprint reader

Perfect for video editing/animation

Spectre X360 price

The Spectre X360 laptops are available in various editions, but the cheapest one starts at $979.99 (sale price) and goes up depending on how you customize it.

Spectre X360 - 13t touch hardware specs
Learn More & Buy
More notebooks you can install a Linux distro on

Without going into details, here are a few laptop models that should work well with most Linux distros:

There are a few more sites/pages where you can find more Linux-compatible laptops and check hardware compatibility. These have the most information:

On to you - what laptop do you use for your Linux distro?

Please leave a comment below and share your experience. Have you tried any of the laptops we've listed? Do you use anything else?

Browse Latest Weekly Deals at Best Buy. Go to Best Buy

FAQs

Some frequently asked questions and answers about Linux laptops:

Can I install a different Linux distro on my laptop with a pre-installed distro?

You can, but you'll probably lose your warranty and won't get any support from the company. But, if the hardware works on one distro, it should work on another. The provider may have tweaked the distro so it works, so have that in mind. You're best off asking the provider if they'll install the distro for you, even if it's not offered on their website.

What's the difference between a "Linux laptop" and a "normal laptop"?

There only real difference is that Linux laptops have a Linux distro pre-installed, it's compatible with Linux, and in most cases, the provider offers support for the distro too. They're usually cheaper too, as you don't pay for a Windows license.

What's the best Linux distro for laptops?

Any distro is great for a laptop, it only depends on what you'll use the distro for. If you're a beginner and don't know what to choose, go with Ubuntu or whatever the provider will install for you.

What's the best Linux laptop for gaming?

If you want to play the newest AAA games, you need a laptop with a better GPU. Onboard GPUs won't work for most new games. Lancaster is a good example of a Linux gaming laptop. For optimized gaming experience, install a gaming distro.

What's the best Linux laptop for students?

Depends on your financial situation. Most probably, the best one would be the cheapest one. It also depends on what you're going to use it for. But even the cheapest laptop from our list will work fine with an office suite, browsing etc. Some are even more compact and lightweight so you can carry them around campus.

What about Linux Desktops?

That's a whole nother article! We may do a similar list of Linux workstations/PCs, but some of the providers we featured here also offer Linux desktops.

Why are there no XX" Linux notebooks?

We tried including all sizes we could, but we may have missed some. Check every provider's website and you'll probably find the size you're looking for.

Are there any Linux Laptops with an AMD CPU?

In our list, no. Seems like most (if not all) of the Linux laptop providers only use Intel CPUs. Currently, AMD has great support for free and open source drivers, so it shouldn't be an issue installing a Linux distro if you find an AMD laptop. Granted, AMD drivers for Linux were a bit of a hassle back then, which is the main reason why the Linux laptop market is full of Intel CPUs. Again, like we've already mentioned, do your research first and check if there's any compatibility issues with your specific CPU/laptop model.

Does battery life last longer on a Linux laptop compare to a Windows laptop?

It all depends on several factors, like battery model/type, other hardware's power consumption, and the distro itself. A common bug that you can find in many laptops and distros is that they drain the battery fast(er). Please do your research and find out if there's any issues before buying a laptop. Or do it now and fix it the battery bug, if there's a fix. Windows and Mac OS are usually more optimized with the hardware they are using, so battery problems, although still common, are less common compared to Linux distros.

Why are Linux laptops more expensive than laptops with no OS?

Linux distros are free, but Linux laptops are usually more expensive than no-OS laptops because you're essentially paying for the support. Some laptops (the hardware) are customized, and every provider offers support for both the hardware and the software on the laptop.

Why didn't you feature more ThinkPads?

We already featured some, and if we featured more, the list would be full of them. You can check the already-featured ThinkPads, and the ones that are sold by LAC Portland Linux ThinkPads and SWTechnology, among others. ThinkPads are the most common laptop when it comes to Linux, so most Linux companies use and (re)sell them.

Can I install a Linux distro on the laptop I'm currently using?

Of course, you can! But, make sure it's compatible with the distro (google it). You can also use VirtualBox to try the distro without actually installing it. You can also dual-boot your main OS and a Linux distro.

You can even install a lightweight Linux distro on that old laptop you threw away in your basement and totally forgot about it. It's still usable!

Related Content

# data[].attributes.attachment_link.title
Best Linux Laptops to Buy in 2018 - ThisHosting.Rocks

# data[].attributes.attachment_link.description
Looking for a new laptop to run a Linux distro on? Check our guide to the best Linux laptops to buy in 2018 and you'll find the perfect one. If you're in a hurry, skip to the overview. Follow these basic guidelines and you'll have an easier time narrowing down the choices.

# data[].attributes.attachment_link.readable_text
It's a pretty straightforward and easy process, and we'll show you step-by-step instructions on how to install Java on Ubuntu. The instructions would work for Ubuntu 14.04, 16.04, 18.04, and any other LTS release.

This should work for any Ubuntu-based distro, even non-LTS versions like 17.10, but they were tested on Ubuntu 16.04. They should work on both servers and desktops.

In a hurry? Click here and follow the instructions.

Before we begin installing Java

Some things you'll need before we start installing Java:

An Ubuntu server. You can get one from Vultr or any other cloud hosting provider

A sudo/root user. All commands below are executed by the root user. If you're using a non-root user then you'll need to append 'sudo' to most commands.

An SSH client like MobaXterm (if you use Windows), or SSH enabled (if you use Ubuntu)

Make sure you don't have Java already installed. If you do, remove it, or if you want to use multiple Java versions/installs, then keep it and configure them later.

So that's pretty much it.

There are multiple ways of installing Java

We'll order them based on difficulty (easiest first):

1. Contact us and we'll install and configure Java for you (any version, any OS)

2. Installing the default (Ubuntu's) JDK using apt-get (use this if you don't know what to choose)

3. Installing Java using Oracle's JDK using apt-get

4. Installing Java manually using Oracle's JDK (not recommended for beginners)

How to install Java (the default JDK) on Ubuntu using apt-get

We'll start with our instructions on how to install the latest recommended version of Java (JDK) using the Ubuntu package. By installing the JDK (Java Development Kit), you'll also install the JRE (Java Runtime Environment). This is the OpenJDK package which is an open source implementation of Java.

Step 1: Update Ubuntu

The first thing you should always do is update your system. You can do so by running the following commands:

apt-get update && apt-get upgrade

Step 2: Install the default JDK

Run the following command:

apt-get install default-jdk

And that's it. You can now move on to step 3 and configure your Java.

How to install Java using the Oracle JDK

If you don't want to use Ubuntu's default open source JDK, you can use the official Oracle JDK.

Step 1: Update Ubuntu

Again, you should always update your system first before you do anything else. Run the following commands:

apt-get update && apt-get upgrade

And install the required package if you don't have it already installed:

apt-get install software-properties-common

Step 2: Add the Java repository

The first thing you need to do is add a 3-rd party repository to get the Oracle JDK. We'll use the one from WebUpd8, but you can use any other repository:

add-apt-repository ppa:webupd8team/java

And then update your package list again:

apt-get update

Step 3: Install Java

Currently, Java 9 is considered stable, though you'll find many other outdated tutorials saying 9 is still a "developer/beta/preview" release, it's actually stable. So you should install Java 9. Java 10 should be released soon (March 2018).

So to install the JDK 9th (stable) version, run the following command:

apt-get install oracle-java9-installer

If, for any reason, you need the 8th version, run the following command:

apt-get install oracle-java8-installer

And that's it. You can now move on to step 4 and configure your Java.

How to install Java manually using Oracle's JDK on Ubuntu

This step is not recommended for beginners. You won't get updates from Ubuntu's repositories, you'll have to manually update your Java each time there's a new release. If you want to install a custom version of Oracle's JDK that's not available via a package, you can follow the steps below.

Step 1: Update

As always. Update first:

apt-get update && apt-get upgrade

Step 2: Download the JDK

Go to Oracle's downloads page and select the version you want to download. We'll use Java's Standard Edition 9.0.1 for the purpose of this tutorial. Replace the version numbers if you're going to use a different version. Java 9 is only available for 64-bit systems, so if your Ubuntu is 32-bit, you must use a different version.

Download the .tar.gz file:

wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/9.0.4+11/c2514751926b4512b076cc82f959763f/jdk-9.0.4_linux-x64_bin.tar.gz

The Java version and this link often change, so please go to the download page yourself and copy the link yourself.

Create a directory for your Java installation:

mkdir /opt/java

This is where we'll install Java. You can use a different directory if you want to install it elsewhere like /usr/local

Step 3: Install Java

Now extract the .tar.gz (tarball) file to the directory you previously created

tar -zxf jdk-9.0.4_linux-x64_bin.tar.gz -C /opt/java

And that's it. move on to step 4 and configure your Java.

Setting up Java on Ubuntu

Now it's time to configure your Java.

Check what Java version you're using

First, make sure you've installed Java on your system and check what version you have:

java -version

The output should be something like:

Java(TM) SE Runtime Environment (build9.0.4+11) Java HotSpot(TM) 64-Bit Server VM (build9.0.4+11, mixed mode)

So based on this, we're using version 9.

Set a default if you have multiple Java installations

If you have multiple Java installations, you can set a default one by using the following command:

update-alternatives --config java

You can also use this command to check if you have multiple installations.

You'll get an output with a list of installed Javas. Press enter to keep the default one without any changes or enter a number to select a different default Java.

Set the JAVA_HOME variable

You'll most likely need to set the JAVA_HOME variable so other applications can find the location of your Java installation. To find the Java installation path, run the previous command again:

update-alternatives --config java

And copy the installation path - second column - under "Path".

Next, open the file "/etc/environment" with a text editor

nano /etc/environment

And add the following line at the end of the file:

JAVA_HOME="/your/java/installation-path"

Of course, make sure you update the path with the one you previously copied, example:

JAVA_HOME="/usr/lib/jvm/java-9-oracle"

Save the file and then reload it:

source /etc/environment

To test if everything's done right, you can check your JAVA_HOME variable using:

echo $JAVA_HOME

And the output should be your Java installation path.

There are multiple ways of setting up the JAVA_HOME variable, and multiple other variables that you may need to set, depending on what you need and what you're going to use.

If you need any help or have any questions, leave a comment.

# data[].attributes.attachment_link.title
How to (Easily) Install Java on Ubuntu - ThisHosting.Rocks

# data[].attributes.attachment_link.description
It's a pretty straightforward and easy process, and we'll show you step-by-step instructions on how to install Java on Ubuntu. The instructions would work for Ubuntu 14.04, 16.04, 18.04, and any other LTS release. This should work for any Ubuntu-based distro, even non-LTS versions like 17.10, but they were tested on Ubuntu 16.04.

# data[].attributes.attachment_link.readable_text
This is the beginning of our LAMP tutorial series: how to install the Apache web server on Ubuntu.

These instructions should work on any Ubuntu-based distro, including Ubuntu 14.04, Ubuntu 16.04, Ubuntu 18.04, and even non-LTS Ubuntu releases like 17.10. They were tested and written for Ubuntu 16.04.

Apache (aka httpd) is the most popular and most widely used web server, so this should be useful for everyone.

Before we begin installing Apache

Some requirements and notes before we begin:

Apache may already be installed on your server, so check if it is first. You can do so with the "apachectl -V" command that outputs the Apache version you're using and some other information.

You'll need an Ubuntu server. You can buy one from Vultr, they're one of the best and cheapest cloud hosting providers. Their servers start from $2.5 per month.

You'll need the root user or a user with sudo access. All commands below are executed by the root user so we didn't have to append 'sudo' to each command.

You'll need SSH enabled if you use Ubuntu or an SSH client like MobaXterm if you use Windows.

That's most of it. Let's move onto the installation.

Install Apache on Ubuntu

The first thing you always need to do is update Ubuntu before you do anything else. You can do so by running:

apt-get update && apt-get upgrade

Next, to install Apache, run the following command:

apt-get install apache2

If you want to, you can also install the Apache documentation and some Apache utilities. You'll need the Apache utilities for some of the modules we'll install later.

apt-get install apache2-doc apache2-utils
And that's it. You've successfully installed Apache.
You'll still need to configure it.

Configure and Optimize Apache on Ubuntu

There are various configs you can do on Apache, but the main and most common ones are explained below.

Check if Apache is running

By default, Apache is configured to start automatically on boot, so you don't have to enable it. You can check if it's running and other relevant information with the following command:

systemctl status apache2

And you can check what version you're using with

apachectl -V

A simpler way of checking this is by visiting your server's IP address. If you get the default Apache page, then everything's working fine.

Update your firewall

If you use a firewall (which you should), you'll probably need to update your firewall rules and allow access to the default ports. The most common firewall used on Ubuntu is UFW, so the instructions below are for UFW.

To allow traffic through both the 80 (http) and 443 (https) ports, run the following command:

ufw allow 'Apache Full'

Install common Apache modules

Some modules are frequently recommended and you should install them. We'll include instructions for the most common ones:

Speed up your website with the PageSpeed module

The PageSpeed module will optimize and speed up your Apache server automatically.

First, go to the PageSpeed download page and choose the file you need. We're using a 64-bit Ubuntu server and we'll install the latest stable version. Download it using wget:

wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb

Then, install it with the following commands:

dpkg -i mod-pagespeed-stable_current_amd64.deb
apt-get -f install

Restart Apache for the changes to take effect:

systemctl restart apache2

Enable rewrites/redirects using the mod_rewrite module

This module is used for rewrites (redirects), as the name suggests. You'll need it if you use WordPress or any other CMS for that matter. To install it, just run:

a2enmod rewrite

And restart Apache again. You may need some extra configurations depending on what CMS you're using, if any. Google it for specific instructions for your setup.

Secure your Apache with the ModSecurity module

ModSecurity is a module used for security, again, as the name suggests. It basically acts as a firewall, and it monitors your traffic. To install it, run the following command:

apt-get install libapache2-modsecurity

And restart Apache again:

systemctl restart apache2

ModSecurity comes with a default setup that's enough by itself, but if you want to extend it, you can use the OWASP rule set.

Block DDoS attacks using the mod_evasive module

You can use the mod_evasive module to block and prevent DDoS attacks on your server, though it's debatable how useful it is in preventing attacks. To install it, use the following command:

apt-get install libapache2-mod-evasive

By default, mod_evasive is disabled, to enable it, edit the following file:

nano /etc/apache2/mods-enabled/evasive.conf

And uncomment all the lines (remove #) and configure it per your requirements. You can leave everything as-is if you don't know what to edit.

And create a log file:

mkdir /var/log/mod_evasive
chown -R www-data:www-data /var/log/mod_evasive

That's it. Now restart Apache for the changes to take effect:

systemctl restart apache2

There are additional modules you can install and configure, but it's all up to you and the software you're using. They're usually not required. Even the 4 modules we included are not required. If a module is required for a specific application, then they'll probably note that.

Optimize Apache with the Apache2Buddy script

Apache2Buddy is a script that will automatically fine-tune your Apache configuration. The only thing you need to do is run the following command and the script does the rest automatically:

curl -sL https://raw.githubusercontent.com/richardforth/apache2buddy/master/apache2buddy.pl | perl

You may need to install curl if you don't have it already installed. Use the following command to install curl:

apt-get install curl

Additional configurations

There's some extra stuff you can do with Apache, but we'll leave them for another tutorial. Stuff like enabling http/2 support, turning off (or on) KeepAlive, tuning your Apache even more. You don't have to do any of this, but you can find tutorials online and do it if you can't wait for our tutorials.

Create your first website with Apache

Now that we're done with all the tuning, let's move onto creating an actual website. Follow our instructions to create a simple HTML page and a virtual host that's going to run on Apache.

The first thing you need to do is create a new directory for your website. Run the following command to do so:

mkdir -p /var/www/example.com/public_html

Of course, replace example.com with your desired domain. You can get a cheap domain name from Namecheap.
Don't forget to replace example.com in all of the commands below.
Next, create a simple, static web page. Create the HTML file:

nano /var/www/example.com/public_html/index.html

And paste this:

<html>
     <head>
       <title>Simple Page</title>
     </head>
     <body>
       <p>If you're seeing this in your browser then everything works.</p>
     </body>
</html>

Save and close the file.

Configure the permissions of the directory:

chown -R www-data:www-data /var/www/example.com
chmod -R og-r /var/www/example.com

Create a new virtual host for your site:

nano /etc/apache2/sites-available/example.com.conf

And paste the following:

<VirtualHost *:80>
     ServerAdmin admin@example.com
     ServerName example.com
     ServerAlias www.example.com

     DocumentRoot /var/www/example.com/public_html

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

This is a basic virtual host. You may need a more advanced .conf file depending on your setup.

Save and close the file after updating everything accordingly.

Now, enable the virtual host with the following command:

a2ensite example.com.conf

And finally, restart Apache for the changes to take effect:

systemctl restart apache2

That's it. You're done. Now you can visit example.com and view your page.

# data[].attributes.attachment_link.title
How to Install and Optimize Apache on Ubuntu - ThisHosting.Rocks

# data[].attributes.attachment_link.description
How to Install and Optimize Apache on Ubuntu - This is the beginning of our LAMP tutorial series: how to install the Apache web server on Ubuntu. These instructions should work on any Ubuntu-based distro, including Ubuntu 14.04, Ubuntu 16.04, Ubuntu 18.04, and even non-LTS Ubuntu releases like 17.10.

# data[].attributes.attachment_link.readable_text
The second part of our LAMP tutorial series: how to install MySQL (or MariaDB) on an Ubuntu server.

This tutorial is intended for Ubuntu servers, the instructions should work on any LTS release of Ubuntu, including Ubuntu 14.04, Ubuntu 16.04, Ubuntu 18.04, even non-LTS releases like Ubuntu 17.10 and other Ubuntu-based distros. We tested this on an Ubuntu 16.04 server.

For the first part of our LAMP series, go to our How to Install and Optimize Apache on Ubuntu tutorial.

Before we begin installing MySQL/MariaDB

Some requirements and other notes:

MySQL and MariaDB are almost identical when it comes to basic usage in a LAMP stack. Most commands are the same, even the installation is similar. Choose one and install it for your LAMP stack, we'll include instructions for both.

You'll need an Ubuntu server to run MySQL/MariaDB on. We recommend Vultr, they offer a $2.5 per month instance which is more than enough for a simple LAMP stack. You can compare other cloud server providers too.

You'll need the root user or a user with sudo access to the server. The commands below are all executed by a root user, so we didn't have to append 'sudo' to each command. You'll likely have to if you use a non-root user.

You'll need SSH enabled if you use Ubuntu or an SSH client like MobaXterm if you use Windows.

MySQL/MariaDB may already be installed on your server. You can check if they're installed by entering "mysql" or "mariadb" and you should know based on the output.

How to install MySQL on Ubuntu

We'll start with MySQL. If you want to install MariaDB, skip to the MariaDB instructions.

Update Ubuntu

First of all, as always, before you do anything else, update your Ubuntu server by running the following command:

apt-get update && apt-get upgrade

Install MySQL

Then, install MySQL by running the following command:

apt-get install mysql-server

This command will install both the MySQL server and client. You'll get a prompt to enter a password for your root user.

That's it. MySQL is installed. Now, you need to secure and configure it.

Secure MySQL

You should run the mysql_secure_installation script that will help you secure your MySQL.

Start the script with the following command:

mysql_secure_installation

And respond to the prompts. You can respond with the default to each prompt.

Optimize MySQL (advanced users only)

To optimize your MySQL, you can use the MySQLTuner script. It does NOT do all the work for you. The script will only give you recommendations on how you can improve and optimize your MySQL.

Download and run the script with the following command:

curl -L http://mysqltuner.pl/ | perl

And check the recommendations. Do some research and use google for each recommendation. If you don't know what you're doing, contact someone else and let them do it for you or just skip this.

You can also use mysqlcheck to repair your databases. You can repair all your databases with a single command:

mysqlcheck -A --auto-repair -u root -p

There are other optimizations you can do on your server and databases, so do your own research if you want to further optimize MySQL.

How to install MariaDB on Ubuntu

Now for our MariaDB installation instructions.

Update Ubuntu

First, update your Ubuntu server:

apt-get update && apt-get upgrade

Add the MariaDB repository

Before you can install MariaDB, you need to add the MariaDB repository.

Depending on your Ubuntu release, you may need to run different commands, so go to the official MariaDB repository page, select your distro and choose a mirror closest to your server's location. Then, copy the commands you'll get on the page. We use Ubuntu 16.04.1 and we chose a US mirror, so we'll run these commands to add the repository:

apt-get install software-properties-common
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository 'deb [arch=amd64,i386,ppc64el] https://mirrors.evowise.com/mariadb/repo/10.1/ubuntu xenial main'

Next, you need to update your package list again:

apt-get update

And move onto installing MariaDB.

Install MariaDB

After you've added the MariaDB repository, you can install it by running the following command:

apt-get install mariadb-server

And that's it. You've installed MariaDB on your server.

Secure MariaDB

It's the same process as with MySQL. Run the security script with the following command:

mysql_secure_installation

And follow the prompts. You can enter the default for each prompt. Of course, use a strong password.

Optimize MariaDB (advanced users only)

Again, same with MySQL, you can use MySQLTuner to check your MariaDB and get recommendations on how to improve it. It does NOT do all the work for you. The script will only give you recommendations on how you can improve and optimize your MariaDB.

Run the script with:

curl -L http://mysqltuner.pl/ | perl

And check the recommendations. Do some research and use google for each recommendation. If you don't know what you're doing, contact someone else and let them do it for you or just skip this.

Mysqlcheck works with MariaDB too, so to optimize all your MariaDB databases at once, run the following command:

mysqlcheck -A --auto-repair -u root -p

There are other optimizations you can do on your server and databases, so do your own research if you want to further optimize MariaDB

# data[].attributes.attachment_link.title
How to Install MySQL/MariaDB on Ubuntu - ThisHosting.Rocks

# data[].attributes.attachment_link.description
How to Install MySQL/MariaDB on Ubuntu - The second part of our LAMP tutorial series: how to install MySQL (or MariaDB) on an Ubuntu server. This tutorial is intended for Ubuntu servers, the instructions should work on any LTS release of Ubuntu, including Ubuntu 14.04, Ubuntu 16.04, Ubuntu 18.04, even...

# data[].attributes.attachment_link.readable_text
Finally, the third part of our LAMP tutorial series: how to install PHP on Ubuntu. In this tutorial, we'll show you how to install various versions of PHP, including PHP 7, and the latest PHP 7.2

This tutorial should work for any Ubuntu release and other Ubuntu-based releases. Ubuntu 14.04, Ubuntu 16.04, Ubuntu 18.04, even Ubuntu 17.10.

Tutorials here:

For the first part of our LAMP series, go to our How to Install and Optimize Apache on Ubuntu tutorial.

And for the second part, go to How to Install MySQL/MariaDB on Ubuntu.

Before we begin installing PHP on Ubuntu

PHP has different versions and releases you can use. Starting from the oldest that is currently supported - PHP 5.6, and onto PHP 7, PHP 7.1, and the latest - PHP 7.2. We'll include instructions for PHP 7.2 (the default in Ubuntu 18.04) and the default PHP version in the Ubuntu 16.04 repositories - PHP 7. We recommend that you install PHP 7.2 as it's stable and has lots of improvements and new features. If you still use PHP 5.6, you definitely need to upgrade ASAP.

You'll obviously need an Ubuntu server. You can get one from Vultr. Their servers start at $2.5 per month. Or you can go with any other cloud server provider where you have root access to the server.

You'll also need root access to your server. Either use the root user or a user with sudo access. We'll use the root user in our tutorial so there's no need to execute each command with 'sudo', but if you're not using the root user, you'll need to do that.

You'll need SSH enabled if you use Ubuntu or an SSH client like MobaXterm if you use Windows.

Check if PHP is already installed on your server. You can use the 'which php' command. If it gives you a result, it's installed, if it doesn't, PHP is not installed. You can also use the "php -v" command. If one version is installed, you can still upgrade to another.

Some shared hosts have already implemented PHP 7.2 in their shared servers, like Hawk Host and SiteGround.

Now, onto our tutorial.

How to install PHP 7 on Ubuntu 16.04

Currently, as of January 2018, the default PHP release in the Ubuntu 16.04 repositories is PHP 7.0. We'll show you how to install it using Ubuntu's repository.

Update Ubuntu

First, before you do anything else, you should update your Ubuntu server:

apt-get update && apt-get upgrade

Install PHP

Next, to install PHP, just run the following command:

apt-get install php

This command will install PHP 7.0, as well as some other dependencies:

php-common

php7.0

php7.0-cli

php7.0-common

php7.0-fpm

php7.0-json

php7.0-opcache

php7.0-readline

To verify if PHP is installed, run the following command:

php -v

You should get a response similar to this:

And that's it. PHP is installed on your Ubuntu server.

Install PHP 7.0 modules

You may need some additional packages and PHP modules in order for PHP to work with your applications. You can install the most commonly needed modules with:

apt-get install php-pear php7.0-dev php7.0-zip php7.0-curl php7.0-gd php7.0-mysql php7.0-mcrypt php7.0-xml libapache2-mod-php7.0

Depending on how and what you're going to use, you may need additional PHP modules and packages. To check all the PHP modules available in Ubuntu, run:

apt-cache search --names-only ^php

You can tweak the command to only show ^php7.0- packages etc.

If you want to use the latest PHP version, follow the next instructions instead.

How to Install PHP 7.2 on Ubuntu 16.04

PHP 7.2 is the latest stable version of PHP and has many new features, improvements, and bug fixes. You should definitely use it if you want a better, faster website/application.

Update Ubuntu

Of course, as always, first update Ubuntu:

apt-get update && apt-get upgrade

Add the PHP repository

You can use a third-party repository to install the latest version of PHP. We'll use the repository by Ondřej Surý.

First, make sure you have the following package installed so you can add repositories:

apt-get install python-software-properties

Next, add the PHP repository from Ondřej:

add-apt-repository ppa:ondrej/php

And finally, update your package list:

apt-get update

Install PHP 7.2

After you've added the repository, you can install PHP 7.2 with the following command:

apt-get install php7.2

This command will install additional packages:

libapache2-mod-php7.2

libargon2-0

libsodium23

libssl1.1

php7.2-cli

php7.2-common

php7.2-json

php7.2-opcache

php7.2-readline

And that's it. To check if PHP 7.2 is installed on your server, run the following command:

php -v

Install PHP 7.2 modules

You may need additional packages and modules depending on your applications. The most commonly used modules can be installed with the following command:

apt-get install php-pear php7.2-curl php7.2-dev php7.2-gd php7.2-mbstring php7.2-zip php7.2-mysql php7.2-xml

And that's all. You can now start using PHP on your Ubuntu server.

If you want to further tweak and configure your PHP, read our instructions below.

How to Install PHP 7.2 on Ubuntu 18.04

PHP 7.2 is included by default in Ubuntu's repositories since version 18.04. So the instructions are pretty similar to PHP 7 for 16.04.

Update Ubuntu

Again, before doing anything, you should update your server:

apt-get update && apt-get upgrade

Install PHP 7.2

Next, to install PHP 7.2 on Ubuntu 18.04, just run the following command:

apt-get install php

This command will install PHP 7.2, as well as some other dependencies.

To verify if PHP is installed, run the following command:

php -v

You should get a response similar to this:

PHP 7.2.3-1ubuntu1 (cli) (built: Mar 14 2018 22:03:58) ( NTS )

And that's it. PHP 7.2 is installed on your Ubuntu 18.04 server.

Install PHP 7.2 modules

These are the most common PHP 7.2 modules often used by php applications. You may need more or less, so check the requirements of the software you're planning to use:

apt-get install php-pear php-fpm php-dev php-zip php-curl php-xmlrpc php-gd php-mysql php-mbstring php-xml libapache2-mod-php

To check all the PHP modules available in Ubuntu, run:

apt-cache search --names-only ^php

How to change the PHP version you're using

If you have multiple PHP versions installed on your Ubuntu server, you can change what version is the default one.

To set PHP 7.0 as the default, run:

update-alternatives --set php /usr/bin/php7.0

To set PHP 7.2 as the default, run:

update-alternatives --set php /usr/bin/php7.2

If you're following our LAMP tutorials and you're using Apache, you can configure Apache to use PHP 7.2 with the following command:

a2enmod php7.2

And then restart Apache for the changes to take effect:

systemctl restart apache2

How to upgrade to PHP 7.2 on Ubuntu

If you're already using an older version of PHP with some of your applications, you can upgrade by:

1. Backup everything.

2. Install the newest PHP and required modules.

3. Change the default version you're using.

4. (Optionally) Remove the older PHP

5. (Required) Configure your software to use the new PHP version. You'll most likely need to configure Nginx/Apache, and many other services/applications. If you're not sure what you need to do, contact professionals and let them do it for you.

Speed up PHP by using an opcode cache

You can improve the performance of your PHP by using a caching method. We'll use APCu, but there are other alternatives available.

If you have the 'php-pear' module installed (we included it in our instructions above), you can install APCu with the following command:

pecl install apcu

There are also other ways you can install APCu, including using a package.

To start using APCu, you should run the following command for PHP 7.2:

echo "extension=apcu.so" | tee -a /etc/php/7.2/mods-available/cache.ini

And the following command for PHP 7.0:

echo "extension=apcu.so" | tee -a /etc/php/7.0/mods-available/cache.ini

If you're following our LAMP tutorials and you're using Apache, create a symlink for the file you've just created.

For PHP 7.2:

ln -s /etc/php/7.2/mods-available/cache.ini /etc/php/7.2/apache2/conf.d/30-cache.ini

For PHP 7.0:

ln -s /etc/php/7.0/mods-available/cache.ini /etc/php/7.0/apache2/conf.d/30-cache.ini

And finally, reload Apache for the changes to take effect:

systemctl restart apache2

To further configure APCu and how it works, you can add some additional lines to the cache.ini file you previously created. The best configuration depends on what kind of server you're using, what applications you are using etc. Either google it and find a configuration that works for you, or contact professionals and let them do it for you.

That's it for our basic setup. Of course, there are much more options and configurations you can do, but we'll leave them for another tutorial.

# data[].attributes.attachment_link.title
How to Install PHP (7 or 7.2) on Ubuntu - ThisHosting.Rocks

# data[].attributes.attachment_link.description
Finally, the third part of our LAMP tutorial series: how to install PHP on Ubuntu. In this tutorial, we'll show you how to install various versions of PHP, including PHP 7, and the latest PHP 7.2 This tutorial should work for any Ubuntu release and other Ubuntu-based releases.

# data[].attributes.attachment_link.readable_text
Linux-based operating systems (often called Linux Distributions, or just Distros) are quite popular among programmers and developers since their announcement in the 90s. The Linux kernel itself is designed to be flexible and open for modifications and contributions, thus it can run on any hardware. The same principle is applied to almost the whole software stack above the kernel that constitutes the Linux Distribution as a complete product. In general, it is designed from programmers for programmers and freely available to everyone.

If you're in a hurry, jump to a specific section by clicking below:

Jump to:

All of the Linux-based distributions share common code - the Linux Kernel itself, but many different methods of software distribution to the end users appeared. Some of them tend to provide a stable environment while others tend to provide the very latest software available all the time.

Stable vs Rolling Distros for Development

Linux-based distributions that are focused on stability achieve it by freezing the software as much as possible. An updated version of some software will be distributed to end users only in critical situations. Most of the time those are security updates and bug fixes but for sure no new features are being added until the end of life for that release is reached. In short, if it is not broken don't fix it.

There are Linux distributions that tend to offer the latest of everything. "Latest must be greatest" is in their genes. Usually, the term rolling distribution is used as a description for these distros. It is very common to receive an update every hour or two. Although this looks like an awesome concept, in practice it is shown to bring some sort of instability with it and in some cases, even breaking the system.

There are pros and cons in both. Stable distributions prefer safety rather than features. This is important if you are working on a product that must be running 24/7 and must be error-free. They are often used for servers, data centers, and home users. Developers choose this type of distribution when they need to provide long-term support for the product or if the developing of the product requires an extended amount of time, like 5 or more years.

For programmers, each of their programs relies on features offered by some other program. Those are called dependencies. A stable environment can guarantee that no bugs will appear overnight due to changes in some of the dependencies. In other words, if there is a bug, don't waste time trying to find it somewhere else rather than in your own code. This saves a lot of time and frustration.

The cons of the stable environment is that most of the time they are lacking all the cool new features. Sometimes this forces developers to utilize a harder route to achieve the desired point and nothing else. But sometimes this means that end product will run solver in production due to missing optimizations in some of the dependencies, or it will be less secure due to unpatched exploits etc.

Rolling Distributions prefer and lean towards new features and bleeding-edge software as compared to stable ones. Those are preferred among programmers and developers working on continuous integration. For example, if a program is tightly coupled with many dependencies.

Being informed of every change in your dependencies forces developers to resolve minor conflicts on a daily basis. This opens an opportunity to immediately inform third parties that they are breaking your code. Sometimes it is much easier to release a fix on their side instead in your own. Asking them to undo all the patches released in the last few years because just now you are aware of having a problem with them is a no-go. Simply, they won't accept the undo request, so everything must be fixed on your side.

Also, you have a chance to develop your product with the latest and greatest tools available at the time. This can improve the performance, reduce the cost, can introduce a new and easier way of doing things (new API) etc.

It's worth noting that constantly throwing updates can break things. Most of the time it is about not simultaneously updating to a new release when needed. Some apps are intended to work with the exact version of another app so breaking this creates undesired behavior. In this case, both apps must be updated at the same time which is not the case in a rolling release model.

Best Linux Distros for Programming Compared

Now, to the main part, choosing the best Linux distro for you. This is an overview and comparison of the best Linux distros for programming.

1. Ubuntu

Ubuntu is the most popular Linux Distribution among all of them. It is used by programmers and most of the home users too.

There is one major release every two years. This is called an LTS (Long Term Support) release. Those are stable thus receiving only bug fixes and security updates in next 5 years. As the release model prefers stability its underlying layers are mostly stable (unchanged) during this 5 years period. The latest LTS release as of writing is Ubuntu 18.04 LTS.

There is one non-LTS release every 6 months supported for a period of 9 months. Those releases are not considered as stable. Big and significant changes can occur in every release. Sometimes those releases are caring packages that break dependencies with a previous release. It is like a playground for merging software and continuously searching for incompatibilities in a desire to provide the best fit solution for the next LTS release. Developing software in this kind of unpredictable environment is not clever. But in real life, it is not so frightening. Even non-LTS releases offer a crash-prone environment. Many home users are using them as a daily driver with no issues at all. They see a benefit from having more recent software than what is available in the latest LTS release for example.

As you can see it is a mix of everything. You can have 5 years or stability, or stability for 9 months depending on what fits the best. Even mixing packages is possible but not recommended. A user of an LTS release can obtain a newer version of the same software from a more recent non-LTS release. This is handy as a one-time workaround but it is like a tempered bomb waiting to break the system. Pooling recent packages will continue until some incompatibility occurs. It is better to switch to a non-LTS version instead.

It is worth mentioning that Ubuntu is the place where developers and home users meat each other. Therefore, Ubuntu is the starting point for a company offering a product or a service on a Linux-based operating system. Here they find an environment that is stable and familiar to the developers but also many target users. In addition, it is best to develop the software in the native environment as the product or service that's going to be deployed and used in production. Sounds like a perfect balance.

Ubuntu is one of the most popular Linux distro for servers, and most people use it as their main distro with their Cloud hosting.

Some of the companies that love Ubuntu and that are offering their products or services on Ubuntu as a first choice are: Nvidia, Google, Dell, STMicroelectronics etc. Most companies that sell Linux laptops offer Ubuntu as the first choice for a pre-installed distro.

Nvidia is offering the CUDA toolkit natively on Ubuntu as a first choice. Only the LTS releases are officially tested and supported, thus Ubuntu is the best fit if you rely on CUDA for your project. But it is not exclusive. The CUDA toolkit is available on non-LTS releases and many other Linux-based distributions, but without support or guarantees that things will behave as expected.

Google is the company behind Android. They offer developing Android applications on Windows, Mac OS, and Linux-based distributions. Ubuntu is their first choice. Android Studio (IDE) and all other tools are tested on LTS releases of Ubuntu before distribution to end users.

STMicroelectronics is a company producing ARM-based CPUs for embedded devices. Developing software for their CPUs is possible on Windows, Mac OS and Linux-based distributions. They support Open STM 32 for developing a free and cross-platform IDE, System WorkBench. Again, LTS releases of Ubuntu is their first choice for a Linux Distribution.

Dell is known for their laptops, ultra-books, PCs and monitors. Their products are mostly offered with Windows preinstalled and Ubuntu for some of them. The Dell XPS 13 Developer Edition is a small, light, fast, and beautiful, and runs an Ubuntu LTS release by default.

There are more companies that offer and use Ubuntu, but this should give you an idea of how software and development companies incorporate Ubuntu.

2. Arch Linux

Arch Linux is just the opposite of Ubuntu. It is a rolling release Linux Distribution. There are constantly new updates. Every hour or two something new arrives in your system. It is a perfect working environment for some. As we mentioned earlier this type of software distribution is best suitable for developers working on software that is highly coupled with some or many dependencies. They will receive an updated version of their dependencies with almost no delay. But this comes at a price for sure. The instability of the system offers no guarantees for the origins of the new bugs.

Also, Arch Linux is hard to install. An advanced user can do it in no more than 15 minutes, but it is almost impossible for a newcomer to succeed. It requires a lot of knowledge because there is nothing preconfigured, there is no default, everything is custom instead. A pure mechanism for distributing software and nothing more, it is up to the user to install and configure things according to their personal requirements. This is why many people use Arch Linux as a lightweight Linux distro, by installing a lightweight window manager/desktop environment, and only the essential software. As you can already see Arch Linux provides a perfectly configured environment for every developer that knows how to utilize it.

Every Arch Linux is unique thus each of them encounters unique obstacles. This is what makes it special and loved among programmers. Just by using it on daily basis you grow. There is a giant and thorough wiki page. It's one of the best wikis you can find with very detailed and strict explanations and guides for configuring stuff and encouraging the use of what is said to be good practice. Its necessity can be seen just when you try to install it (as we mentioned earlier, it is hard if not following the wiki the first time). Reading documentation may seem like wasting time but it is an essential skill for every programmer. Just by reading good documentation developers also learn how to write good documentation.

Tinkering here and there with the operating system itself will teach you how one works so you can build your own later. It's an important skill to have, especially if you end up working with embedded devices in your career. Every day you can read about some unexpected issues on the forum and very clever workarounds for each of them. Just being aware of what might go wrong makes a developer produce code with better quality if paying attention.

The best thing about Arch Linux is its huge repository of available software. Personally, I can't think of something that I need that is unavailable. Although the software is there, because of the very different configurations among users, the quality of provided software can be lower than expected. It is not unusual if users need to get their hands dirty doing some minor manual intervention. It's brilliant for improving skills but some can struggle with the maintenance at the beginning.

It's worth to be mentioned that there are no devices that come with Arch Linux preinstalled. It is painful to do so since until the device reaches the customer, the software is out of date and performing one giant update is very likely to break the system (while constant minor updates don't). Even if some vendors do, advanced users will find it uncomfortable and will change it anyway.

3. Fedora

Fedora is another popular Linux Distribution among programmers. It is just in the middle between Ubuntu and Arch Linux. It is more stable than Arch Linux, but it is rolling faster than what Ubuntu does.

There is one major release every 6 months supported for 13 months. Basically, 13 months of a stable environment is just fine. Also, 6 months of delay between the next big update is fine too. No software is growing so fast so it is good even for those who want to experience and work with the latest stuff in a stable environment while still doing their integration job without issues. Excellent balance as Ubuntu does but with a smaller amount of home users.

In terms of software availability, there is no such broader range as in Ubuntu or Arch Linux. If you are looking for proprietary software the situation is even worse. There isn't any official support for it. But if you are working with open source software instead Fedora is excellent.

The people behind Fedora embrace free and open software and do the best for it but it is a big no go for any proprietary stuff. You can't find Java, DVD codecs, Flash Player etc. Of course, all those are available in some private repositories with weaker license policies but they are not officially supported so no guarantees for any incompatibilities or misbehavior. It is a big issue if you are working on a project that costs money or that is expected to have a big impact because you don't want to rely on unreliable sources. You want support instead. On Ubuntu for example, companies do offer support for their proprietary software.

There are several Fedora "Spins", which are similar to Ubuntu flavors. It's basically Fedora with software pre-installed for a specific purpose, but the main difference is the desktop environment. We featured the Games Spin of Fedora in our Best Linux Gaming Distros list.

Do not forget that the Fedora project is founded by Red Hat Linux distribution which is targeting the enterprise sector and offer paid support for it. Fedora is like a playground but a good one. At some point, the Fedora release will become a Red Hat release. Everybody has some benefits. Big companies receive a rock solid and stable system with years-long support (from Red Hat) while casual users receive a big amount of free software and a stable environment that is more recent than Ubuntu (from Fedora).

Just like Arch Linux, there are no devices with Fedora preinstalled because of very short time between major releases. In 6 months there is no time for manufacturers to produce and sell the device.

There are hundreds of Linux distros out there, each more different than the other. Though the 3 distros we mentioned are great for developers, you may find a better fit in a different distro. For example, if you're developing an application that's supposed to run on a server, you may need to use a server distro like Ubuntu or CentOS. So do your research and you may find a better one for you.

Overview of The Best Tools for Programmers on Linux

Out of the box, no distro comes with IDEs and toolkits pre-installed, neither Windows nor Mac OS do, so developers have to install them manually. Only a simple text editor like gedit or nano (command line text editor) can be found preinstalled. Some popular IDEs are: Eclipse, QT Creator, NetBeans etc. but many developers dislike IDEs in general and use simpler text editors like Sublime, Atom or Vim instead.

Eclipse is the most commonly used IDE. It supports multiple programming languages like C, C++, Java etc. Its basic features can be extended by various plugins. This allows a company to develop a complete IDE for their product just by writing a small plugin and relying on Eclipse for everything else.

Until 2016, Eclipse was actively supported by Google as the recommended IDE for Android applications development. Later Google migrated to InteliJ IDE and abandoned Eclipse, but users continued developing plugins like gradile-android-eclipse and still providing easy to use Android IDE based on Eclipse.

Eclipse is the recommended IDE for CUDA development on Linux-based operating systems (Visual Studio for Windows). Nvidia is distributing a slightly customized version of Eclipse called Eclipse Nsight. For them, It is much easier to provide an IDE by reusing components, but also it is even easier for developers when they don't have to endure the hassle of building custom toolchains even for simple "Hello World" examples.

System Workbench is an IDE for programming ARM-based CPUs. This IDE is free and built by the community but also supported and recommended by STMicroelectronic, a company that produces ARM-based CPUs. The IDE can be downloaded standalone, or by adding a plugin on top of existing Eclipse installation.

The latest stable version of Eclipse is 4.7, named Oxygen. As Arch Linux tends to have the latest of everything, version 4.7 is available in the repositories. On Ubuntu 16.04, which is latest stable release at the moment. version 3.18 of Eclipse is available while Fedora offers version 4.7 just like Arch Linux.

QT Creator is another very popular IDE. It is developed by the QT Company as an IDE for the QT framework. Although targeting a single C++ framework, because the nature of the language it is commonly used for developing non-QT applications with plain C or C++. It cannot be extended like Eclipse but it is much faster because it is written in C++. Also, it provides better theming options than Eclipse that blends well with the native desktop environment.

On Arch Linux users can obtain the very latest version 4.6 but on Ubuntu, we are stuck with version 3.5 while on Fedora it's version 4.5.

Netbeans is an IDE for developing in C, C++, Java, PHP, Node JS, Angular JS etc. It is most popular among PHP developers and Web developers. Also, some tend to use it for Android application development with the NBAndroid plugin. There are many other plugins that enable a better integration with various technologies like WordPress, Ruby, Ruby on rails etc. Much like Eclipse.

The latest stable version of Netbeans is 8.2 and the same is available in the Arch Linux repositories. Ubuntu users can obtain version 8.1 while Fedora users must do a manual installation by downloading Netbeans from the website and eventually manually resolving conflicts and dependency issues if any. Just a warning than officially supported software is always of a better quality.

Sublime is one of the most famous text editors available. Sublime is mature, supports extensions and has autocomplete and code highlight for almost any kind of programming. Even though it is just a text editor, its extensions can easily add every feature that is expected from a modern IDE. Those are the main selling points. Once you get familiar with it, you are going to use it for everything.

Ubuntu doesn't ship Sublime in their repositories, but Sublime developers offer a packaged version in their private repository, just follow the instructions and obtain the very latest version available from their website. Arch Linux also doesn't distribute it in the official repositories but it is available from the AUR (packaged from users, also unofficially). Fedora requires manual installation too, see their website for instructions.

Atom text editor is an alternative to Sublime. It is free as in freedom and it is based on Electron. Although it has the very same features set and capabilities it tends to be heavier than Sublime so some developers are simply rejecting it.

As with Sublime, Atom on Ubuntu and Fedora can be installed manually by following instructions on the website while on Arch Linux they distribute version 1.25.

Developers who are doing most of the work in a terminal use the Vim text editor, especially on servers. It is a free and extensible command line text editor. It is an improved version of the older Vi text editor. One can use Vim for developing in any programming language or toolkit. Vim is the most customizable of them all by adding additional plugins. It is the most keyboard-friendly text editor available too. Some developers find using the mouse hurting their shoulders and muscles thus being able to do anything with only a keyboard is like being blessed.

Vim behaves like a person. Stand-alone is nothing, but plugins make It evolve to anything. Many actions are just like having a conversation with the editor. For example, to delete next three words after the cursor you just type "d3w" (Delete 3 words) and done, or to move the cursor 4 rows down type "4j" and done. There are many many more similar shortcuts that allow developers to do things faster and easier compared to other text editors or IDEs.

Both Arch Linux and Fedora distribute version 8.0 of Vim, while Ubuntu version 7.6.

Introduction to the Linux Shell for Development

Beside IDEs and text editors, Linux-based operating systems are popular because of the Shell. Ba Shell, known as bash, is most commonly found preinstalled on every major Linux distribution but it's not the only one available. There are zsh, tcsh, ksh etc. They all do the same job but with minor differences that are not part of this introduction. The thing about shells is that they are an environment for interaction with the system. Often shells are used for automating things.

Some tasks through the development lifecycle are repetitive and require time synchronization in terms of executing the next task when the previous is done. Very common in embedded development like build kernel, then waiting until it is done to start building the image, then again waiting to start the transferring the image to the device, and waiting one more time until transfer complete to boot finally boot the device.

The point is that no one wants to sit in front of the PC or sever waiting for a job to finish then manually executing the next one. It is nicer for developers if they can just write the code and let someone or something else to manage task execution in the right order. It's about not hurting your eyes while paying attention to the execution status. A simple five-line shell script can automate all of this. In addition, the shell can even send a notification to your smartphone when all the jobs are done or if there is a crash.

Another use case when the shell is important is automating the crashes. Knowing that each build generates text output and that the output can be redirected to shell script we can automate the crash handling process. Thus, if compiling fails due to a missing header, a shell script can search the file system to find the location of the header and check if that location is included in our build. If not, then alter the content of a single file and add the path to the header. Now the shell script can simply inform the developer of the crash, what actions were taken if any and retry to compile. This is handy for long-lasting projects.

Windows vs Linux for Programmers

Nevertheless, developing on Windows requires installing more additional software. For example, for Android development, device drivers are required. Sometimes drivers might crash or cannot be installed or don't work on recent versions of Windows (if it is an older device). But a good programmer must have many devices around and test the program on each one of them. This can complicate the setup of the working environment quite a bit.

On Linux distros, this is a very smooth process. All the drivers are already present in the Linux kernel (with just a few exceptions) so no additional installation is required beside the IDE. Just plug in a device and you are ready to go. As smooth as that.

Another use case is when developers have to obtain support for multiple products at the same time. This is fine until two products enforce the existence of software that cannot coexist. For example, version 3.1 of a given program and version 4.2 of the same program but for the other project.

On Windows, installing a newer version often requires deleting the older version. Even if the older version is not automatically deleted, environmental variables are being automatically modified so pooling wrong dependencies or pooling a dependency twice might occur.

On Linux distros, this can be resolved quite easily. Just extract one version in one folder, extract another version in another folder and you are halfway done. Second part is either change the global environment variable to point to only one path, or alter the content of the variable but with a tighter scope. Thus, the same variable will have a different property for different compilations. Isn't this great? Not just resolving the coexistence problem, in addition, a developer can even run two compiles at the same time without issues.

Conclusion - Best Linux Distro for Programmers

In general, Linux-based operating systems offer a more than excellent environment for developers. It just takes some time to learn the cool stuff. No matter which distribution you choose you won't regret doing it. Just pay attention to the method of software distribution. Choose what suits you best and the projects you are working on. If not sure, just choose Ubuntu, overall it is the best-balanced Linux distribution.

About the Author
This article was submitted to us by a third-party writer. The views and opinions expressed in this article are those of the author and do not reflect the views and opinions of ThisHosting.Rocks. If you want to write for ThisHosting.Rocks, go here.
Borche Jankovski is a computer science enthusiast and free software supporter. He is working as an embedded software developer, mostly on the Linux Kernel and ARM-based CPUs.

# data[].attributes.attachment_link.title
Best Linux Distro for Programming in 2018 - ThisHosting.Rocks

# data[].attributes.attachment_link.description
An ultimate guide to choosing the best Linux distro for programming. Compare the best examples, learn more about the programming tools on Linux, compare Linux to Windows for programming, and more.

# data[].attributes.attachment_link.readable_text
Ubuntu 18.04 LTS has officially launched and most people have decided to switch to the newest version on their servers and home desktops. We'll show you how to upgrade your Ubuntu server to Ubuntu 18.04 via the command line.

IMPORTANT - BEFORE WE BEGIN
Backup your server before upgrading!
By upgrading you're at risk of losing valuable data. Issues with your server and the services on your server may arise. Anything is possible! So please, before doing anything, backup everything!
Start fresh if you can.
It's best to "start fresh" with a clean install of Ubuntu 18.04. Most cloud hosting providers already have an Ubuntu 18.04 server image ready to deploy, so you can start fresh with 18.04 with a couple of clicks and migrate your data later on. Which is usually preferred by many instead of upgrading.

For example, you can deploy a new Vultr server with Ubuntu 18.04:

You can even create a snapshot of your current server and upgrade to 18.04 on a copy.
You'll need root access.
So use the root user or a sudo user to perform all the actions below.

Now that we got all the warnings out of the way, let's move onto the actual tutorial:

How to upgrade your Ubuntu (16.04, 17.10) server to Ubuntu 18.04 LTS

If you're using Ubuntu 14.04 and follow the steps below, you'll actually upgrade to 16.04.

If you're using 16.04, follow the steps below and you'll upgrade to Ubuntu 18.04 LTS. These instructions are intended for a server, but you can still use them on your Desktop via Terminal.

Again, before we begin, note that you cannot downgrade afterward. So please backup your data before going further.

First, you need to update the packages on your current server by running the following commands:

apt-get update && apt-get upgrade -y

Run the following command:

apt-get dist-upgrade -y

To update all packages, which will add or remove packages and take care of dependencies.

2. Upgrade to 18.04 LTS

Although you can manually upgrade your server, many people prefer the "do-release-upgrade" tool which is provided by Ubuntu by default. The tool does everything automatically.

So run the following command:

do-release-upgrade

And closely follow all the prompts.
As of writing this tutorial, Ubuntu 18.04 LTS server is still in development, so you'll need to run the following command instead:
do-release-upgrade -d

Answer "y" where needed to continue. You'll be asked stuff like:

If you want to continue upgrading via SSH. You're at risk of losing your connection to the SSH server. An additional SSH daemon will be started at port 1022 if you continue. You may need to update your firewall and open the 1022 port.

Some packages may be updated or removed. Some packages may no longer be supported. If you have any custom configs on your old setup, make sure you inspect the details of the packages that need updating during this process.

You'll be asked whether to keep the old configuration or use a new default one for some packages. It's best to keep the old one, but you still need to test it afterward. Example: grub

And more. So read every prompt and decide the best action for your setup.

If anything goes wrong, either use the backup and restore your server or access the server via a KVM console if your hosting provider has one.

After you go through all the prompts, the upgrade is completed and you'll need to restart your server. You'll get the following message:

System upgrade is complete.

Restart required

To finish the upgrade, a restart is required.
If you select 'y' the system will be restarted.

Restart your server and log back in. You should be greeted with the following message:

Welcome to Ubuntu 18.04 LTS (GNU/Linux 4.15.0-20-generic x86_64)

You can also run the "lsb_release -a" command to check what version you're currently running.

And that's it! You're done.

What's New in Ubuntu 18.04 LTS Server

You can check our Ubuntu 18.04 article to find out what's new in the Desktop version or in general, but here's what's new in 18.04 related to the server version and common services:

4.15 Kernel

systemd 237

LXD 3.0

Node.js 8.10

Apache 2.4.29

nginx 1.14.0

PHP 7.2 (some PHP applications may not work on PHP 7.2)

MySQL 5.7.21

MariaDB 10.1

MongoDB 3.6.3

PostgreSQL 10

There are more updates, but these are the major ones. So make sure the applications you are using support these versions. Especially PHP as quite a lot of WordPress plugins have compatibility issues with PHP 7.2.

# data[].attributes.attachment_link.title
How to Upgrade Your Server to Ubuntu 18.04 LTS - ThisHosting.Rocks

# data[].attributes.attachment_link.description
Ubuntu 18.04 LTS has officially launched and most people have decided to switch to the newest version on their servers and home desktops. We'll show you how to upgrade your Ubuntu server to Ubuntu 18.04 via the command line. Backup your server before upgrading! By upgrading you're at risk of losing valuable data.

# data[].attributes.attachment_link.readable_text
Follow the instructions below to install WordPress on an Ubuntu 18.04 server with a LEMP (Nginx, MariaDB, PHP) stack and a free SSL certificate (HTTPS) by Let's Encrypt.

Tutorial Steps:
Requirements

1. Update the server

2. Install Nginx

3. Install MariaDB

4. Install PHP

5. Configure PHP

6. Create a database

7. Download WordPress

8. Configure Nginx

9. Configure WordPress

10. Install and configure a free SSL certificate (HTTPS)

11. Finish installing WordPress

What To Do Next
FAQs and Troubleshooting
WordPress on Ubuntu - Requirements

Let's start with the requirements. You don't need much.

An Ubuntu 18.04 server. You can buy one for $5 (1GB RAM) at Vultr. You can directly deploy Ubuntu 18.04 at Vultr as of writing this tutorial, you don't have to upgrade from 16.04.

You need root access to the server. You do get root access with Vultr and other unmanaged cloud hosting providers. Note that some managed VPS providers won't give you root access to the server, but they'll install WordPress for you anyway. All commands below should be executed by the root user or with sudo.

A LEMP (Linux, Nginx, MariaDB, PHP) stack. We'll show you how to install this stack below.

An SSH client so you can connect to your server.

WordPress itself doesn't have any special requirements. We recommend at least 1GB RAM. If your site is smaller and has fewer visitors you can get less.

Before we go on, these instructions are for people that plan on installing and managing a WordPress server themselves. If you don't know how to manage a server, get managed WordPress hosting and skip this tutorial.

If you want to use CentOS you can check our Centmin Mod tutorial.

How to Install WordPress with Nginx, MariaDB, PHP 7.2, and a free SSL on Ubuntu 18.04

The instructions below will work on other versions of Ubuntu, including 16.04 and 14.04, but these are specifically written for 18.04.

Before doing anything, you should update your server and its packages with the following commands:

apt-get upgrade && apt-get upgrade -y

2. Install Nginx

To install Nginx on Ubuntu 18.04, run the following command:

apt-get install nginx -y

Check if Nginx is installed with:

nginx -v

Which should give you an output similar to this:

nginx version: nginx/1.14.0 (Ubuntu)

If you use a firewall you'll need to add a rule to allow Nginx.

3. Install MariaDB

MariaDB is pretty much the same with MySQL, so don't get confused by the name. To install MariaDB, run the following command:

apt-get install mariadb-server -y

To check if it's installed, log into your MariaDB server by running:

mysql

If you can log in it's installed. You should get the specific MariaDB version you're running in the welcome message:

Server version: 10.1.29-MariaDB-6 Ubuntu 18.04

Exit out of the database server by running:

exit;

You should run the following script to secure and configure your database server:

mysql_secure_installation

And follow the prompts. Use a strong password. You can enter Y (the default) for all prompts.

4. Install PHP

Ubuntu 18.04 uses PHP 7.2, so make sure the plugins you're planning on using work well with PHP 7.2.

To install PHP with all its dependencies and needed modules, run the following commands:

apt-get install php-fpm php-curl php-mysql php-gd php-mbstring php-xml php-xmlrpc -y

Check if PHP is installed with:

php -v

Which should give you an output similar to this:

PHP 7.2.3-1ubuntu1 (cli) (built: Mar 14 2018 22:03:58) ( NTS )

That's it. The LEMP stack is installed. Let's move on.

5. Configure PHP

First, start by editing the php.ini file.

We'll use the Nano text editor (which is the easiest for beginners). After you edit something with Nano, hit "CTRL + X", then Y, and Press enter to save the changes. You can search the file with "CTRL + W".

So open the file:

nano /etc/php/7.2/fpm/php.ini

And search for this line:

;cgi.fix_pathinfo=1

Uncomment the line by removing the ; and update it to 0:

cgi.fix_pathinfo=0

Find all the following lines in the php.ini file and update them accordingly:

upload_max_filesize = 500M
post_max_size = 2000M
memory_limit = 2000M
max_execution_time = 120

You can use different values depending on your server.

6. Create a database

First, log in to your MariaDB server with the password you set earlier:

mysql -u root -p

And create a database for your WordPress by running these commands:

CREATE DATABASE wordpress;

CREATE USER `wpuser`@`localhost` IDENTIFIED BY 'EnterStrongPassword';

GRANT ALL ON wordpress.* TO `wpuser`@`localhost`;

FLUSH PRIVILEGES;

exit;

With these commands, you'll create a database and a user and grant permissions to the user. You can use your own names instead of these. Remember to use a strong password.

7. Download WordPress

Start by navigating to the directory where you want to download WordPress. We'll use Nginx's default directory:

cd /var/www/html

And download the latest version:

wget https://wordpress.org/latest.tar.gz

Extract the archive in the directory you're currently in:

tar -zxvf latest.tar.gz --strip-components=1

Remove the archive:

rm -f latest.tar.gz

And update permissions:

chown -R www-data:www-data /var/www/html/
chmod -R 755

8. Configure Nginx

First, create an Nginx configuration file:

nano /etc/nginx/sites-available/example.com

And paste the following (after updating example.com to your domain)

server {
    listen 80;
    listen [::]:80;
    root /var/www/html;
    index  index.php index.html index.htm;
    server_nameexample.com www.example.com; client_max_body_size 500M; location / { try_files $uri $uri/ /index.php?$args; } location = /favicon.ico { log_not_found off; access_log off; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires max; log_not_found off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

And enable the configuration file:

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Run the following command to test and see if everything's ok with Nginx:

nginx -t

Now restart Nginx and PHP-FPM for the changes to take effect

systemctl restart nginx.service
systemctl restart php7.2-fpm.service

9. Configure WordPress

There's a default wp-config file that we need to edit. So first rename the file:

mv /var/www/html/wp-config-sample.php /var/www/html/wp-config.php

Open it:

nano /var/www/html/wp-config.php

And update the following lines with your database information:

define('DB_NAME', 'wordpress');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'EnterYourDatabasePassword');

Save and close the file.

For security reasons, you should update the security keys in your wp-config file.

First, go here to generate them.

Open the wp-config.php file again:

nano /var/www/html/wp-config.php

And update the following lines with the ones you generated:

define('AUTH_KEY', 'put your unique phrase here');
define('SECURE_AUTH_KEY', 'put your unique phrase here');
define('LOGGED_IN_KEY', 'put your unique phrase here');
define('NONCE_KEY', 'put your unique phrase here');
define('AUTH_SALT', 'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT', 'put your unique phrase here');
define('NONCE_SALT', 'put your unique phrase here');

Save and close the file.

You can be done here if you don't plan on using HTTPS, but we'll show you how to set up a free SSL certificate from Let's Encrypt.

10. Install and configure a free SSL certificate (HTTPS)

We'll use Let's Encrypt and the certbot for automatic installation and configuration.

First, install the certbot:

apt-get install python-certbot-nginx -y

Then install a certificate for your domain:

certbot --nginx -m info@example.com -d example.com -d www.example.com

At the prompts, agree to the Terms and Conditions by entering "a" and then optionally subscribe to ETF with "y".

IMPORTANT: the certbot will ask you whether to redirect all traffic to HTTPS (option 2) or not (option 1), you need to choose option 2. So enter 2.

The certbot will automatically update your Nginx configuration file. A Let's Encrypt certificate lasts 90 days by default. You'll be notified before it expires, so you can renew it.

To renew your certificate manually, run:

certbot renew

To automatically update your certificate, set up a cron job by running:

crontab -e

And adding the following line:

0 1 * * * /usr/bin/certbot renew & > /dev/null

Which will automatically renew your certificate every 30 days.

11. Finish installing WordPress

Navigate to https://example.com and follow the steps to finish installing WordPress.

First, you'll need to choose a language.

Then, you'll need to enter site information such as title, username, password etc.

Click on 'Install WordPress' and that's it! You're done. You've successfully installed WordPress on Ubuntu 18.04 with Nginx, PHP 7.2, MariaDB, and Let's Encrypt SSL (HTTPS).

What To Do Next After Installing WordPress on Ubuntu

Here's what you should do next:

You're using an Ubuntu server so you'll need to look into securing and optimizing your server. There are lots of tutorials online with step-by-step instructions for beginners on how to secure your Ubuntu server. So follow them.

You'll also need to keep your server updated or get a Linux server management plan and they'll take care of your server for you.

You should also set up some sort of caching. There are many options out there, so choose what works best for your site and your server. Redis cache is pretty easy to set up on Ubuntu and WordPress. Not recommended for beginners.

Optimize services running on your server - including the LEMP stack. Again, lots of tutorials online.

WordPress Installation FAQs and Troubleshooting

Some frequently asked questions (with answers!) and common issues related to installing WordPress on Ubuntu:

Do I have to use HTTPS?

No, but it's definitely recommended since it's free and easy to set up anyway. If you don't plan on using an SSL certificate you can just skip step 10.

I get an "Error establishing a database connection" error

It can be caused by many things, but it's most probably an error in your wp-config.php file. Make sure you're using the right information (user, password etc.)

Where's the .htaccess file?

We used Nginx so there's no .htaccess file. This can be confusing for a beginner since many tutorials include instructions for Apache by default. The ".htaccess of Nginx" is the "/etc/nginx/sites-available/example.com" file you created earlier. Note that you cannot use the same .htaccess code in your Nginx configuration file.

Can I install a control panel?

Better not. You already installed everything manually. You don't really need it anyway. If you do plan on using a control panel then it's better if you start fresh and don't follow this tutorial at all.

Why should I install WordPress myself when hosts offer it pre-installed or with a 1-click installer?

It offers you more control over everything. You decide what you use and how you use it. There's always an option to just get WordPress cloud hosting without having to install or do anything yourself, but where's the fun in that? 🙂

Can I use a tool like EasyEngine?

Sure you can! And the process is way easier - you'll install everything in this tutorial (and more) with a single command if you use a tool like EasyEngine or Centmin Mod.

I can't install WordPress myself! Can you help me out?

Feel free to leave a comment below if you're stuck somewhere. If you want extensive work done on your server then you can contact us here.

Any other questions? Comment below.

Please closely follow our tutorial and make sure you read everything. If you have any questions or got any errors feel free to comment below.

# data[].attributes.attachment_link.title
Install WordPress on Ubuntu 18.04 - ThisHosting.Rocks

# data[].attributes.attachment_link.description
Follow the instructions below to install WordPress on an Ubuntu 18.04 server with a LEMP (Nginx, MariaDB, PHP) stack and a free SSL certificate (HTTPS) by Let's Encrypt.

# data[].attributes.attachment_link.readable_text
Ubuntu 18.10 will be released this October, and we already have information about the new Ubuntu's features, changes, release date, and more.

Some of you requested an article for 18.10 like we did one for Ubuntu 18.04, so here it is. Though it's still relatively early, there is some information available about the new features, what will be changed, the name, and more.

Download Ubuntu 18.10

The beta version of Ubuntu 18.10 is already available for download, so if you'd like to try it out, you can. Test out the features beforehand and help out the Ubuntu community by reporting any bugs you may come across.
Download Ubuntu 18.10 - Beta
Ubuntu 18.10's official (final) release date is October 18th, 2018. Kernel Freeze was on October 4th, and the Final Freeze will be on October 11th.

New Features and Changes in Ubuntu 18.10

This release is named " Cosmic Cuttlefish " and has major changes. Here's a list of all the new features in 18.10:

New Default Theme

Communitheme, the theme that was originally developed for Ubuntu 18.04, will be the new default theme in 18.10. This is a whole new, fresh look to Ubuntu. The developers are still working on the theme and there may be more changes and style updates. As of Late July 2018, Communitheme is known by its new name - Yaru.

GNOME 3.30

Ubuntu 18.10 ships with the newest GNOME 3.30 version with lots of new features and improvements, like a new Thunderbolt panel that you can use to manage your connected devices.

Linux Kernel 5.0

The new Kernel version (5.0) is scheduled for release this year, most probably before the official release of Ubuntu 18.10, which makes it a perfect candidate for 18.10. Again, nothing has been confirmed yet. Although a new major version number, there won't be any major changes or new features in the kernel. The current Ubuntu 18.10 beta runs on the Linux Kernel 4.18 kernel.

Low Bandwidth Mode in 18.10

Although already available, it may be more accessible and easier to find. You can enable a "low bandwidth" mode on Ubuntu 18.10 to save data. This is especially useful if your internet provider has a bandwidth cap, or if you're using your mobile phone's data.

New Wallpaper

This is the new wallpaper for Ubuntu 18.10:

Other honorable mentions

There are other "minor" changes and updates in 18.10 worth mentioning:

The development team is exploring options for improving the laptop battery life

Snaps will be improved - faster boot time, better looks, and a "verified publisher" badge in Ubuntu Software

Faster booting. They worked on this for 18.04. Boot time should be even faster in 18.10

Ubuntu 18.10 will install much faster than any other previous Ubuntu version

Better support for multiple monitors

You may be able to unlock 18.10 with a fingerprint scanner

and a lot more improvements and bug fixes

Subscribe to our notifications and follow this article to stay updated for news about Ubuntu 18.10

FAQs About Ubuntu 18.10

Browse through our FAQs (with answers!) about 18.10 or leave a comment below and ask any questions you have.

How long is the support for 18.10?

It's 9 months. So Ubuntu 18.10 will reach EOL on July 2019.

Should I switch my servers to 18.10?

No. Even if it's already officially released. It's much better to use an LTS for your servers. So use Ubuntu 18.04 instead.

When will I be able to update from Ubuntu 18.04 to Ubuntu 18.10?

If you do it manually, whenever you feel like it. Just download the daily build and start testing. If not, wait for the official release. You can upgrade to a development release (-d) with the following command:

sudo do-release-upgrade -d

How can I help with the development of Ubuntu 18.10?

First of all, every bit helps. You don't have to be a developer to help. You can help by translating, spreading the word, and donating. You can help by simply using the 18.10 release and reporting any bugs you come across.

Is Ubuntu 18.10 an LTS release?

No. Which is why it's not recommended for servers.

Can I try Ubuntu 18.10 without installing it?

Yep. You can use a VirtualBox and create a virtual desktop (you can use VirtualBox on Windows too). You can also create a live CD/USB and try it out without installing it.

Or after it's released you can try an 18.10 server at Vultr for $2.5 per month. It's essentially free if you use some free credits.

Anything we missed or you found out about Ubuntu 18.10?

Leave a comment below or contact us and let us know, please. Thanks!

# data[].attributes.attachment_link.title
Ubuntu 18.10 - Download, Release Date, Features - ThisHosting.Rocks

# data[].attributes.attachment_link.description
Get the most recent information on Ubuntu 18.10 - where to download the latest build, when's the release date, what are the new features and changes in this release, and more.