How to install PHP 7.2 on Ubuntu 18.04

Install PHP on Ubuntu 18.04

PHP is one of the most popular programming language currently in the world. PHP has different versions 5.6, 7.0, 7.1 and 7.2. Currently, PHP 7.2 is the latest version of PHP which supports different frameworks like WordPress, Laravel, Code-Igniter etc. Ubuntu 18.04 ships with default PHP 7.2 support, We can easily install PHP 7.2 on Ubuntu 18.4. Ubuntu 18.04 is the current latest version of Ubuntu. This tutorial outlines how to install PHP 7.2 on Ubuntu 18.04.

Prerequisites

Before you start installing PHP 7.2 on Ubuntu 18.04. You must have a non-root user account on your server with sudo privileges

1. Install PHP With Nginx

Nginx does not support native PHP processing. You will need to Install “fastCGI process manager” which is known as php-fpm

Run the following command to install php-fpm on your server. The following command will install php-fpm7.2

sudo apt install php-fpm

You can check the status where it is correctly installed or not by following command

systemctl status php7.2-fpm

After installing php-fpm package you will need to restart Nginx server. To restart Nginx server run following command

sudo systemctl restart nginx

You can check PHP version by running following command

php -v

2. Installing PHP With Apache

If you have Apache running at backend then we need to install PHP and Apache PHP module on the server. To install PHP 7.2 and Apache module type following command and press enter.

sudo apt install php libapache2-mod-php

After installing PHP and apache-php module you will need to restart Apache server by typing following command

sudo systemctl restart apache2

3. Install PHP Extensions

You will need to install some basic PHP extensions to run WordPress , Laravel like frameworks on the server. To install any of the PHP extensions on the server following is the basic format.

sudo apt install php-[name_of_the_extension]

You can install curl extension for PHP by running following command

sudo apt install php-curl

Following are some basic PHP extensions needs to be installed on your server

sudo apt install php7.2-curl php7.2-mysql php7.2-common php7.2-cli php7.2-gd php7.2-opcache

To install more extensions you can use the above format.

4. Testing PHP processing

To test whether PHP is configured on your server properly or not you should create a file test.php inside directory var/www/html/ with following code.

<?php

phpinfo();

If you see the following output then you have installed PHP successfully.

Conclusion

In this tutorial, you have learned how to install PHP 7.2 on Ubuntu 18.04 successfully with some of its basic extensions useful for frameworks and tested successfully. If you have any of the queries regarding this then you can comment below.

Related Tutorials

  1. How to install Nginx on Ubuntu 18.04
  2. How to Secure Nginx with Let’s Encrypt SSL on Ubuntu 18.04

Source

FOSS Project Spotlight: Appaserver | Linux Journal

An introduction to an application server that allows you to build MySQL user interfaces
without
programming.

Assume you are tasked to write a browser-based, MySQL user interface for the table called CITY.
CITY has two columns. The column names are city_name and state_code—each combined are the
primary key.

Your user interface must enable users to execute the four main SQL operations: select, insert,
update and delete. The main characteristics for each operation are:

  • The select operation needs an HTML prompt form to request a query. It also needs a where
    clause generator to select from CITY. After forking MySQL and retrieving the raw rows, it needs to
    translate them into an HTML table form.
  • The HTML table form needs to be editable, and user edits need to be translated into update
    statements.
  • Each resulting row following the execution of a query is a candidate for deletion.
  • The insert operation needs a blank form. It also needs to translate Apache’s common gateway
    interface (CGI) into insert statements.

So, you might create the source file called city.c and type in all the required code. Of course,
relational databases have relations. One city has many persons residing in it. Assume the PERSON
table has the column names of full_name, street_address,
city_name and state_code. full_name and
street_address combined are the primary key (Figure 1).

""


Figure 1. Database Schema of Many Persons Residing in One City

Are you going to create the source file called person.c too? What about customer.c, inventory.c,
order.c, …?

Alternatively, you might create the source files called select.c, insert.c, update.c and
delete.c. Then each of these modules would need as input:

  • A single table name.
  • The table’s additional attributes.
  • The table’s column names and additional attributes.
  • A recursive list of related tables.
  • Apache’s CGI dictionary output.

The principle behind Appaserver is this multi-module approach. Appaserver stores table names in a
table. Each table’s column names and relations are also stored in tables. Taking the table-driven
concept to the nth degree forms a database of a database. You can glean a detailed understanding
of how the Appaserver database is modeled from https://appahost.com/appaserver_database_schema.pdf.

Create Appaserver Applications

To create Appaserver applications, you first need Appaserver. Because Appaserver communicates with
both Apache and MySQL, installation has multiple steps. The installation steps are available at
https://github.com/timhriley/appaserver/blob/master/INSTALL. You will install a database called “template”
from which all your applications are spawned. Alternatively, you can create an Appaserver
application securely at Cloudacus.

Appaserver Roles

After you create your first application from the template database, you are ready to build it.
After you log in, you are presented with three preinstalled roles (Figure 2).

""

Figure 2. Appaserver Supports Multiple Roles

Appaserver’s security centers around roles. You grant permissions to roles, and you assign users
to roles. The “System” role is used to build your database. Users interact with the database in
all the other roles.

The highest user role is “Supervisor”. The “Supervisor” role has permission to select, insert,
update and delete every column in every row in every application table. Two important
considerations are:

  1. The “Supervisor” role cannot access any of the system tables, only application tables. (Well,
    except the APPLICATION_CONSTANTS table.)
  2. The “Supervisor” role has permission to delete too much.

The lowest subordinate role is “Public”. The “Public” role has select permission only. It is used
in publicly funded research applications. Cloudacus hosts a research application called “Benthic”.
“Public” also may be used in commercial applications to display
inventories.

The next lowest subordinate role is “Dataentry”. The “Dataentry” role receives insert and lookup
permissions but not update nor delete. If someone in the “Dataentry” role comes across a mistake,
a supervisor needs to be interrupted to make the fix.

You may create many subordinate roles above these two. Assign yourself to all of them. Then you can easily test the security.

Build Your Database

Users will interact with your database using Appaserver. Likewise, you will build your database
using Appaserver. You will first use Appaserver’s insert operations. If you make a mistake,
you will use Appaserver’s update and delete operations. After your user interface vision is
complete, execute the “Create Application” process. You then can change to a user role and start
producing.

How Appaserver Works

Take a look at Figure 3. The cycle begins by first choosing a table to insert into or lookup from.
Appaserver generates and sends a “select” SQL statement to MySQL, requesting the column names of
your table. MySQL returns data containing the table’s column names and other metadata to
Appaserver.

Appaserver then generates HTML tags and sends them to your browser. The HTML tags will be blank
widgets if you are inserting and query widgets if you are selecting.

Your browser displays a dialog-box (form) that contains a CGI “Submit”
button. After you submit your form, the browser sends its contents to Appaserver. Appaserver
generates and sends the next appropriate SQL statement to MySQL. The cycle then repeats.

""


Figure 3. Appaserver Data Flow Diagram

Conclusion

The Hello World Tutorial will step you through the entire database build.

Appaserver is a MySQL user interface. The interface is consistent throughout your
application—both at the system level and the user level. Once you discover Appaserver’s look and feel, new
tables and columns can become new features simply by filling out a few forms.

Source

4 Unique Terminal Emulators for Linux | Linux.com

Let’s face it, if you’re a Linux administrator, you’re going to work with the command line. To do that, you’ll be using a terminal emulator. Most likely, your distribution of choice came pre-installed with a default terminal emulator that gets the job done. But this is Linux, so you have a wealth of choices to pick from, and that ideology holds true for terminal emulators as well. In fact, if you open up your distribution’s GUI package manager (or search from the command line), you’ll find a trove of possible options. Of those, many are pretty straightforward tools; however, some are truly unique.

In this article, I’ll highlight four such terminal emulators, that will not only get the job done, but do so while making the job a bit more interesting or fun. So, let’s take a look at these terminals.

Tilda

Tilda is designed for Gtk and is a member of the cool drop-down family of terminals. That means the terminal is always running in the background, ready to drop down from the top of your monitor (such as Guake and Yakuake). What makes Tilda rise above many of the others is the number of configuration options available for the terminal (Figure 1).

Tilda can be installed from the standard repositories. On a Ubuntu- (or Debian-) based distribution, the installation is as simple as:

sudo apt-get install tilda -y

Once installed, open Tilda from your desktop menu, which will also open the configuration window. Configure the app to suit your taste and then close the configuration window. You can then open and close Tilda by hitting the F1 hotkey. One caveat to using Tilda is that, after the first run, you won’t find any indication as to how to reach the configuration wizard. No worries. If you run the command tilda -C it will open the configuration window, while still retaining the options you’ve previously set.

Available options include:

  • Terminal size and location
  • Font and color configurations
  • Auto Hide
  • Title
  • Custom commands
  • URL Handling
  • Transparency
  • Animation
  • Scrolling
  • And more

What I like about these types of terminals is that they easily get out of the way when you don’t need them and are just a button click away when you do. For those that hop in and out of the terminal, a tool like Tilda is ideal.

Aterm

Aterm holds a special place in my heart, as it was one of the first terminals I used that made me realize how flexible Linux was. This was back when AfterStep was my window manager of choice (which dates me a bit) and I was new to the command line. What Aterm offered was a terminal emulator that was highly customizable, while helping me learn the ins and outs of using the terminal (how to add options and switches to a command). “How?” you ask. Because Aterm never had a GUI for customization. To run Aterm with any special options, it had to run as a command. For example, say you want to open Aterm with transparency enabled, green text, white highlights, and no scroll bar. To do this, issue the command:

aterm -tr -fg green -bg white +xb

The end result (with the top command running for illustration) would look like that shown in Figure 2.

Of course, you must first install Aterm. Fortunately, the application is still found in the standard repositories, so installing on the likes of Ubuntu is as simple as:

sudo apt-get install aterm -y

If you want to always open Aterm with those options, your best bet is to create an alias in your ~/.bashrc file like so:

alias=”aterm -tr -fg green -bg white +sb”

Save that file and, when you issue the command aterm, it will always open with those options. For more about creating aliases, check out this tutorial.

Eterm

Eterm is the second terminal that really showed me how much fun the Linux command line could be. Eterm is the default terminal emulator for the Enlightenment desktop. When I eventually migrated from AfterStep to Enlightenment (back in the early 2000s), I was afraid I’d lose out on all those cool aesthetic options. That turned out to not be the case. In fact, Eterm offered plenty of unique options, while making the task easier with a terminal toolbar. With Eterm, you can easily select from a large number of background images (should you want one – Figure 3) by selecting from the Background > Pixmap menu entry.

There are a number of other options to configure (such as font size, map alerts, toggle scrollbar, brightness, contrast, and gamma of background images, and more). The one thing you want to make sure is, after you’ve configured Eterm to suit your tastes, to click Eterm > Save User Settings (otherwise, all settings will be lost when you close the app).

Eterm can be installed from the standard repositories, with a command such as:

sudo apt-get install eterm

Extraterm

Extraterm should probably win a few awards for coolest feature set of any terminal window project available today. The most unique feature of Extraterm is the ability to wrap commands in color-coded frames (blue for successful commands and red for failed commands – Figure 4).

When you run a command, Extraterm will wrap the command in an isolated frame. If the command succeeds, the frame will be outlined in blue. Should the command fail, the frame will be outlined in red.

Extraterm cannot be installed via the standard repositories. In fact, the only way to run Extraterm on Linux (at the moment) is to download the precompiled binary from the project’s GitHub page, extract the file, change into the newly created directory, and issue the command ./extraterm.

Once the app is running, to enable frames you must first enable bash integration. To do that, open Extraterm and then right-click anywhere in the window to reveal the popup menu. Scroll until you see the entry for Inject Bash shell Integration (Figure 5). Select that entry and you can then begin using the frames option.

If you run a command, and don’t see a frame appear, you probably have to create a new frame for the command (as Extraterm only ships with a few default frames). To do that, click on the Extraterm menu button (three horizontal lines in the top right corner of the window), select Settings, and then click the Frames tab. In this window, scroll down and click the New Rule button. You can then add a command you want to work with the frames option (Figure 6).

If, after this, you still don’t see frames appearing, download the extraterm-commands file from the Download page, extract the file, change into the newly created directory, and issue the command sh setup_extraterm_bash.sh. That should enable frames for Extraterm.
There’s plenty more options available for Extraterm. I’m convinced, once you start playing around with this new take on the terminal window, you won’t want to go back to the standard terminal. Hopefully the developer will make this app available to the standard repositories soon (as it could easily become one of the most popular terminal windows in use).

And Many More

As you probably expected, there are quite a lot of terminals available for Linux. These four represent (at least for me) four unique takes on the task, each of which do a great job of helping you run the commands every Linux admin needs to run. If you aren’t satisfied with one of these, give your package manager a look to see what’s available. You are sure to find something that works perfectly for you.

Source

How To Install and Configure Redmine on Ubuntu 18.04

Redmine is one of the most popular open source project management and issue tracking software tools. It is cross-platform and cross-database and built on top of the Ruby on Rails framework.

Redmine includes support for multiple projects, wikis, issue tracking system, forums, calendars, email notifications, and much more.

This tutorial describes how to install and configure the latest version of Redmine on an Ubuntu 18.04 server using MySQL as a database back-end and Passenger + Nginx as a Ruby application server.

Prerequisites

Make sure that you have met the following prerequisites before continuing with this tutorial:

  • You have a domain name pointing to your server public IP. In this tutorial we will use example.com.
  • You are logged in as a user with sudo privileges.
  • You have Nginx installed by following these instructions.
  • You have a SSL certificate installed for your domain. You can install a free Let’s Encrypt SSL certificate by following these instructions .

Creating MySQL database

Redmine supports MySQL/MariaDB, Microsoft SQL Server, SQLite 3 and PostgreSQL. In this tutorial we’ll use MySQL as a database back-end.

If you already don’t have MySQL installed on your Ubuntu server you can install by following this instructions.

Login to the MySQL shell by typing the following command:

From inside the mysql console, run the following SQL statement to create a new database:

CREATE DATABASE redmine CHARACTER SET utf8mb4;

Next, create a MySQL user account and grant access to the database:

GRANT ALL ON redmine.* TO ‘redmine’@’localhost’ IDENTIFIED BY ‘change-with-strong-password’;

Make sure you change change-with-strong-password with a strong password.

Once done, exit the mysql console by typing:

Installing Ruby

The easiest way to install Ruby on your Ubuntu system is through the apt package manager. At the time of writing, the version in the Ubuntu repositories is 2.5.1 which is the the latest stable version of Ruby.

Install Ruby by typing:

sudo apt install ruby-full

If you want to install Ruby via Rbenv or RVM check this guide.

Installing Passenger and Nginx

Passenger is a fast and lightweight web application server for Ruby, Node.js and Python that can be integrated with Apache and Nginx. We will install Passenger as an Nginx module.

Make sure you followed the prerequisites and installed Nginx before continuing with the following steps.

Start by installing the necessary packages:

sudo apt install dirmngr gnupg apt-transport-https ca-certificates

Import the repository GPG key and enable the Phusionpassenger repository:

sudo apt-key adv –recv-keys –keyserver hkp://keyserver.ubuntu.com:80 561F9B9CAC40B2F7
sudo add-apt-repository ‘deb https://oss-binaries.phusionpassenger.com/apt/passenger bionic main’

Once the repository is enabled, update the packages list and install the Passenger Nginx module with:

sudo apt update
sudo apt install libnginx-mod-http-passenger

Installing Redmine on Ubuntu

We’ll start by installing the dependencies necessary to build Redmine:

sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev

At the time of writing this article, the latest stable version of Redmine is version 3.4.6.

Before continuing with the next step you should check the Redmine download page to see if a newer version is available.

1. Downloading Redmine

Download the Redmine archive with the following curl command:

sudo curl -L http://www.redmine.org/releases/redmine-3.4.6.tar.gz -o /tmp/redmine.tar.gz

Once the download is completed extract the archive and move it to the /opt directory:

sudo tar zxf /tmp/redmine.tar.gz
sudo mv /tmp/redmine-3.4.6 /opt/redmine

2. Configuring Redmine Database

Start by copying the Redmine example configuration file:

sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml

Open the file with your text editor:

sudo nano /opt/redmine/config/database.yml

Search for the production section and enter the MySQL database and user information we created previously:

/opt/redmine/config/database.yml

production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: “change-with-strong-password”
encoding: utf8

Once done, save the file and exit the editor.

3. Installing Ruby dependencies

Navigate to the redmine directory and install bundler and other Ruby dependencies:

cd /opt/redmine/
sudo gem install bundler –no-rdoc –no-ri
sudo bundle install –without development test postgresql sqlite

4. Generate Keys and Migrate the Database

Run the following command to generate keys and migrate the database:

cd /opt/redmine/
sudo bundle exec rake generate_secret_token
sudo RAILS_ENV=production bundle exec rake db:migrate

5. Set the correct Permissions

Nginx runs as www-data user and group. Set the correct permissions by issuing following chown command:

sudo chown -R www-data: /opt/redmine/

Configure Nginx

By now, you should already have Nginx with SSL certificate installed on your system, if not check the prerequisites for this tutorial.

Open your text editor and create the following Nginx server block file:

sudo nano /etc/nginx/sites-available/example.com

/etc/nginx/sites-available/example.com

# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.com example.com;

include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}

# Redirect WWW -> NON WWW
server {
listen 443 ssl http2;
server_name www.example.com;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;

return 301 https://example.com$request_uri;
}

server {
listen 443 ssl http2;
server_name example.com;

root /opt/redmine/public;

# SSL parameters
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;

# log files
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;

passenger_enabled on;
passenger_min_instances 1;
client_max_body_size 10m;
}

Don’t forget to replace example.com with your Redmine domain and set the correct path to the SSL certificate files. The snippets used in this configuration are created in this guide .

Enable the server block by creating a symbolic link to the sites-enabled directory:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Before restarting the Nginx service make a test to be sure that there are no syntax errors:

If there are no errors the output should look like this:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Finally, restart the Nginx service by typing:

sudo systemctl restart nginx

Accessing Redmine

Open your browser, type your domain and assuming the installation is successful, a screen similar to the following will appear:

The default login credentials for Redmine are:

  • Username: admin
  • Password: admin

When you login for the first time, you will be prompted to change the password as shown below:

Once you change the password you will be redirected to the user account page.

Conclusion

You have successfully installed Redmine on your Ubuntu system. You should now check the Redmine Documentation and learn more about how to configure and use Redmine.

If you hit a problem or have a feedback, leave a comment below.

Source

Mindustry, an open source sandbox Tower Defense game that’s a little like Factorio

Mindustry is a free and open source Tower Defense game that pulls in elements rather similar to Factorio and it seems like it could be quite good.

Available under the GPL, the developer originally made it for the GDL Metal Monstrosity Jam which happened back in 2017 and it ended up winning! Seems the developer didn’t stop development after this, as they’re currently going through a new major release with regular alpha builds.

You can find the game in various places. It’s on GitHub, itch.io (where the developer takes donations) and more info on the official site.

Much like Factorio, you build various drills and conveyor belts to move resources around and power various devices. It’s quite different though, since the main aim here is to protect your Core building as it’s a Tower Defense title. It’s a little rough in places, but the idea is a good one if not totally original. The newer UI in the latest alpha builds looks a lot nicer too!

Rather liked what I saw from it, so I will be following development along now. I’ve got it nicely installed with the excellent and open source itch.io app along with following it on GitHub so I will keep checking it out.

Hat tip to g000h.

Source

Download Common UNIX Printing System Linux 2.2.10

Common UNIX Printing System (CUPS) is an open source and cross-platform project designed from the ground up to offer a printing layer for UNIX-like operating systems, including GNU/Linux, BSD, Solaris, Mac OS X and Microsoft Windows.

The Common UNIX Printing System project has been developed by Apple, the company behind the Macintosh systems, in order to promote a standards-compliant printing solution for all UNIX/Linux vendors and users.

Supports both local and network printers

It has been engineered to support both local and network printers, thanks to the IP-based protocol called IPP (Internet Printing Protocol), which will also allow the management of print jobs and supports encryption, authentication and access control.

The software will allow users to add printers and classes, change media size and resolution, as well to manage operation policies. In addition, users can learn how to print directly from the command-line.

Offers a modern, tabbed web-based interface

CUPS offers a modern, tabbed interface that can be accessed with any web browser, as long as it is properly configured. This printing administration interface allows users to find and add new printers, manage existing printers, add and manage printing classes, as well as to add printing jobs.

In addition, it lets users to add RSS subscriptions, edit the configuration file, as well as to view the access, error and page logs. It is also possible to enable or disable sharing of printers connected to the system, printing from the Internet, remote administration, Kerberos authentication, and much more.

It comes with a comprehensive documentation that will help developers the ways of CUPS programming (CUPS API, filter and backend programming, HTTP and IPP APIs, PPD API, Raster API, etc.).

It’s supported on all GNU/Linux operating systems

The program can be easily installed from the default software channels of any GNU/Linux operating system. It is comprised of a daemon that will start automatically after the installation, as well as a web-based interface.

Source

Top Tips for Aspiring Web Developers – NoobsLab

If you have the ambition to become a successful web developer, then, congratulations. Web app development is one of the most rewarding tech roles today with the chance to create new and exciting experiences for users that can enrich everyday life for people worldwide. One thing is for certain, it is not an easy road to learn how to code but, once you have learnt the ropes, you will feel hugely fulfilled in a role that allows you to let those creative juices flow.

If you are looking for some advice and guidance to help you on your way to becoming a successful web developer, you’ve come to the right place. These proven tips will help you on your way to development delight:

Focus on open-source projects

As we’re a portal geared towards open-source development, we’re naturally going to bang the drum about the benefits of getting involved in open-source projects. There are so many fantastic open-source projects that are still going strong today – WordPress, Android and even Ubuntu/Linux to name but a few. Open source projects will give you direct hands-on experience, allowing you to build your own portfolio of work and network with other like-minded developers too.

Master one programming language at a time

A cardinal sin that many beginner web developers make is to try to dabble in multiple programming languages at once. This is a one-way ticket to confusedville, as you’ll feel like you’re getting nowhere with any of them. Learn one language or framework at a time to give yourself a real confidence boost; it can be hugely beneficial to feel that you’re picking new skills up fast. Having expertise in a few niche languages will be far more beneficial to being viewed as a jack of all trades in many throughout your career.

Don’t underestimate the importance of web security

In an age where external and internal threats to online applications are greater and more sophisticated than ever before, any aspiring web developer should be conscious about application security when building new online services. Admittedly, the management of these threats is effectively a full-time job. That’s why beginner web developers should familiarize themselves with the concept of a web application firewall (WAF) that guards against application layer attacks 24/7. A WAF is normally offered as a managed service by a third-party and can be deployed quickly without the need for hardware or software changes to your web app.

Accept that debugging is part and parcel of web development

Unfortunately, programming a web application can be frustrating at times. It very rarely goes 100% to plan. There will be occasions when your code simply won’t work, and you are left scratching your head with the deadline to launch ticking ever closer. If you want to be a successful web developer, you must accept that some of your time will have to be spent debugging. Knowing how to debug properly and efficiently is a key skill. It can save you time and money. The simplest way to tackle debugging sessions is to begin from the line that appears to be faulty and rollback from there. You could also consider time tracebacks to monitor your most recent code changes.

Being a web application developer gives you the chance to design and build solutions to real-world problems. As an aspiring web developer, you should always ask questions, build, study and then ask some more questions. Dedication is the key.

Source

Oracle Q&A. A Refresher on Unbreakable Enterprise Kernel

UEK

UEK is a Linux kernel that Oracle created to address the needs of customers running demanding software such as Oracle Database on large scale systems.

Oracle caused quite a stir in 2010 when it announced its Unbreakable Enterprise Kernel for Oracle Linux. We’ve checked in with Sergio Leunissen, Vice President, Linux and VM Development at Oracle, for an update on the ABCs of this important introduction as well as the company’s latest take on Linux.

Linux Foundation: First, please remind us what exactly is the Unbreakable Enterprise Kernel (UEK)?

Leunissen: UEK is a Linux kernel Oracle created to address the needs of customers running demanding software such as Oracle Database on large scale systems. Its focus is performance, stability, and minimal backports by tracking the upstream kernel code as closely as is practical. UEK is well-tested and used to run Oracle Engineered Systems, Oracle Cloud Infrastructure, and large enterprise deployments for Oracle customers. The source for UEK is published on GitHub: https://github.com/oracle/linux-uek

LF: Who is seeing the biggest benefit from the UEK?

Leunissen: First, it goes without saying that customers running Oracle software benefit from our development and testing of Oracle Database and middleware on tens of thousands of systems running Linux with UEK on a daily basis. Add to that the demands of running the infrastructure for Oracle Cloud running SaaS applications, databases, containers and Kubernetes clusters, etc. Our customers can take comfort in knowing that the kernel they run is the same one we run.

But, by no means do only Oracle customers benefit. Our kernel team adds features (to) and fixes bugs in subsystems that span the Linux kernel, including networking, block storage, filesystems, etc. This development will benefit any workload relying on the kernel’s overall ability to handle lots of memory, network, and I/O.

Finally, because UEK tracks upstream kernels so closely, the bugs we find and fix are relevant to the mainline Linux kernel.

LF: The Unbreakable Enterprise Kernel is touted as fast, modern and reliable. Can you elaborate on these benefits?

  • Fast – Optimized to run well on large systems with lots of memory and large storage systems. Works well with modern solid state storage.
  • Modern – tracking mainline Linux closely to incorporate the latest innovations
  • Reliable – Extensively tested by Oracle with real world workloads

Most customers we work with must stick to specific releases of core userspace components but do want to exploit innovations from upstream development efforts. With UEK, we are able to balance an enterprise support model with a Linux kernel that syncs up with mainline more frequently.

LF: How much emphasis do you put on security in your kernel development work?

Leunissen: Oracle is a cloud provider that contributes to Linux. Oracle Linux is the host OS for most of the Oracle application and infrastructure offerings. As such, we work closely with our cloud development team to build a scalable Linux platform with virtualization and container services without compromising on security. UEK is a key part of this.

LF: The Linux kernel developers at Oracle work both on mainline directly and UEK, can you explain how this works?

Leunissen: As mentioned above, we publish the source for UEK on GitHub. Keeping our changes open source enables us to integrate with upstream Linux kernels quickly, which also means we have state-of-the-art drivers and filesystems, hardware support, and security fixes from the community. And, again, because UEK tracks upstream kernels so closely, we don’t spend a lot of time addressing bugs that are unique to the kernel as it relates to Oracle’s efforts. Rather, our fixes are relevant to upstream kernels as well.

LF: Are there particular development projects you are working on that you’d like to highlight?

Leunissen: As a cloud provider, containers and virtualization are important to Oracle. We do a lot of work on KVM and QEMU. For example, we are doing work to make sure Xen VM guests can run as is on a KVM host. Recently we’ve been working on Kata containers (previously Clear Containers), which is a deployment model for applications that combines the isolation of VMs with the speed, footprint, and interaction model of containers. Also, with UEK powering tens of thousands of systems in our cloud, we are doing work to improve the startup time performance for Linux systems by parallelizing kernel boot-time tasks, shaving precious seconds off the startup time for bare metal and virtualized workloads. Finally, it would be remiss not to point out that we are actively working on Linux for ARM with the focus to provide a high-quality Linux OS for 64-bit ARM (aarch64)-based servers.

Source

SUSE Cloud Application Platform v1.3 released

Share with friends and colleagues on social media

SUSE Cloud Application Platform Stratos UI

SUSE Cloud Application Platform showing Kubernetes node metrics

SUSE Cloud Application Platform v1.3 is now available! If you’re in Seattle for Kubecon this week, be sure to stop by our booth for a new pair of socks, a demo, or to learn more. The new version focuses on our continuing effort to provide a cloud native developer experience to Kubernetes users, an improved UI, additional services brokers, and more.

You can now graphically track metrics and see into the underlying Kubernetes infrastructure with an updated version of Stratos UI. Stratos is a UI web console that manages Cloud Foundry clusters, and the workloads running on them, and is adding additional Kubernetes integration with each release. In this newest version, application and Kubernetes pod attributes such as CPU and memory usage are tracked in a graph over time, and the status of the underlying Kubernetes cluster is now available.

Easily connect to a broad range of services with open source service brokers for services hosted on Azure and Amazon, including MariaDB, MySQL, Oracle, PostgreSQL, SQL Server, and more. For development and testing purposes, the Helm Minibroker provisions services in containers on your Kubernetes cluster. It currently supports MySQL, PostgreSQL, MariaDB, and MongoDB.

New support for CredHub allows you to centrally secure and manage credential generation, storage, lifecycle management, and access. CredHub manages credentials like passwords, certificates, certificate authorities, ssh keys, rsa keys and arbitrary values (strings and JSON blobs). It provides a CLI and API to get, set, generate and securely store credentials.

SUSE Cloud Application Platform supports Amazon EKS, Azure AKS, and SUSE CaaS Platform. Support for additional public cloud Kubernetes services to follow.

Don’t forget that additional Kubernetes integration is coming soon with support for the Cloud Foundry Foundation’s Project Eirini along with Istio!

 

Share with friends and colleagues on social media

Source

Amber Is A Cool Ambiance-Inspired Gtk / Gnome Shell Theme

Amber Gtk theme

Amber is a Gtk+ 3, Gtk+ 2 and Gnome Shell theme inspired by Ubuntu’s Ambiance theme.

Amber uses slightly different colors than Ambiance, and no gradients for the applications toolbar, while still reminding of the ex-default Ubuntu theme (Ambiance was default until Ubuntu 18.10, when the default theme was changed to Yaru).

The theme only supports Gnome (Shell) right now, with Gtk 3.22 or newer being required (Ubuntu 18.04 and newer / Fedora 28 or newer). Update: the theme now also supports Xfce (Xfwm4):

Amber theme Xfce

Designed by Mattias (lassekongo83), known for his work on the beautiful Zuki themes, Amber ”

is almost finished

“, with some polishing being on the todo list, or so it says on its repository page. The theme looks great on my Ubuntu 18.10 desktop (with Gtk 3.24 and Gnome Shell 3.30), and I’ve been using it for about a week with no issues.

Amber Gtk theme

Amber Gnome Shell theme

You’ll notice that the theme comes with its own Dash to Dock (and Dash to Panel) running indicator style – the line to the left of the running applications. Ubuntu uses a fork of Dash to Dock that doesn’t allow disabling the default running indicator, so you’ll get both the Amber theme running indicator, as well as the one used by the Ubuntu Dock extension.

One way around this is to install the original Dash to Dock and disable it, then change its settings using Dconf Editor (org / gnome / shell / extensions / dash-to-dock / running-indicator-style) – changing its settings should affect not only the original Dash to Dock, but also Ubuntu Dock. Another way is to remove or disable the Ubuntu Dock and use the original Dash to Dock or Dash to Panel, which are much more customizable. This is only a minor inconvenience though.

Other Gtk themes you might like:

Install Amber Gtk / Gnome Shell theme

To install Amber, visit its GitHub repository, click the green Clone or download button, then click on Download ZIP. Extract the theme and copy the theme folder into ~/.themes. Create this folder if it doesn’t already exist (.themes is a hidden folder – press Ctrl + H to show/hide hidden files and folders).

Those who prefer to do this from the command line can run the commands below to create the ~/.themes folder, download and extract the theme, and remove the downloaded master.zip file:

mkdir -p ~/.themes && cd ~/.themes

wget https://github.com/lassekongo83/amber-theme/archive/master.zip

unzip master.zip

rm master.zip
If you’re familiar with Git, get the theme using Git so you can easily update it later.

The theme requires installing the Murrine and Pixbuf engines for Gtk+ 2. While there are very few applications that use Gtk+ 2 nowadays, it’s a good idea to install these anyway.

On Ubuntu or Debian you can install the Murrine and Pixbuf Gtk+ 2 engines using:

sudo apt install gtk2-engines-murrine gtk2-engines-pixbuf
On Fedora, use:

sudo dnf install gtk2-engines gtk-murrine-engine
On other Linux distributions, search for Murrine and Pixbuf using your package manager.

And finally, use the Gnome Tweaks application to change the applications and/or the shell theme. If you’re not familiar with this, see: How To Change The Gtk, Icon Or Gnome Shell Theme

Source

WP2Social Auto Publish Powered By : XYZScripts.com