Category Archives: Linux

Recompile NGINX with OpenSSL 1.0.2+ for HTTP/2

No matter how “stable” your “surroundings” are, eventually you will face HTTP/2 and all those requirements to run it on your server using Linux and some HTTP daemon. One of those requirements will be the OpenSSL version 1.0.2 (with ALPN support).

You might be lucky and you will find proper package of the OpenSSL for your Linux distribution. But then, you might be required to recompile your HTTP daemon from source. Yes, I’m in this situation now: Debian 8, OpenSSL 1.0.2 from “backports” and NGINX 1.10 (from DotDeb.org or NGINX.org).

Thanks to the Ramūnas (colleague of mine) for the link Recompile NGINX with OpenSSL 1.0.2+ for HTTP/2 via ALPN – Ubuntu 14.04 – this helps me to deal quicker with NGINX on Debian 8 at least for development environment.

NGINX in Ubuntu

That small but fast, flexible and powerful HTTP server, NGINX, with HTTP/2 support, that help many high-load project to deal with traffic and load-balancing, looks like has some issues on Ubuntu – The Road Ahead for NGINX in Ubuntu.

By the way, OpenSSL and HTTP/2 gets more and more traction in different Linux distributions, for example Debian added OpenSSL version 1.0.2 to “testing” and “backports” of “stable”.

HTTP/2 and speed of web

Deep dive into the HTTP/2: history of HTTP protocol, why HTTP/2 is better, HTTP/2 features and HTTP/2 performance – all that in one big nice article How HTTP/2 Will Speed Up the Web. So, keep up with the rapidly changing Web!

Now, after reading this, go and try to install it on current stable Linux and try how it works with modern browsers. You are lucky, if your Linux has openssl 1.0.2 with ALPN protocol support.

Encrypt password on Ubuntu/Debian

Sometimes I need to encrypt password same “way” as it done in /etc/shadow. For example: to place it in the Puppet config. I think there is a plenty of ways to do it. Here is my favorite: mkpasswd

# Install "whois" package in case we don't have it
sudo apt-get install whois
# Get available encryption methods
mkpasswd -m help
# Encrypt using SHA-256
mkpasswd -m sha-256
# Encrypt using SHA-512
mkpasswd -m sha-512

CentOS Console Resolution


Fatal error: Uncaught TypeError: Cannot access offset of type string on string in /home/kurakin/domains/kurakin.info/public_html/wp-content/plugins/wp-highlightjs/wp_highlight.js.php:119 Stack trace: #0 /home/kurakin/domains/kurakin.info/public_html/wp-includes/shortcodes.php(433): hljs_code_handler() #1 [internal function]: do_shortcode_tag() #2 /home/kurakin/domains/kurakin.info/public_html/wp-includes/shortcodes.php(273): preg_replace_callback() #3 /home/kurakin/domains/kurakin.info/public_html/wp-includes/class-wp-hook.php(324): do_shortcode() #4 /home/kurakin/domains/kurakin.info/public_html/wp-includes/plugin.php(205): WP_Hook->apply_filters() #5 /home/kurakin/domains/kurakin.info/public_html/wp-includes/post-template.php(256): apply_filters() #6 /home/kurakin/domains/kurakin.info/public_html/wp-content/themes/twentytwelve/content.php(46): the_content() #7 /home/kurakin/domains/kurakin.info/public_html/wp-includes/template.php(792): require('...') #8 /home/kurakin/domains/kurakin.info/public_html/wp-includes/template.php(725): load_template() #9 /home/kurakin/domains/kurakin.info/public_html/wp-includes/general-template.php(206): locate_template() #10 /home/kurakin/domains/kurakin.info/public_html/wp-content/themes/twentytwelve/category.php(43): get_template_part() #11 /home/kurakin/domains/kurakin.info/public_html/wp-includes/template-loader.php(106): include('...') #12 /home/kurakin/domains/kurakin.info/public_html/wp-blog-header.php(19): require_once('...') #13 /home/kurakin/domains/kurakin.info/public_html/index.php(17): require('...') #14 {main} thrown in /home/kurakin/domains/kurakin.info/public_html/wp-content/plugins/wp-highlightjs/wp_highlight.js.php on line 119