Ever since google started to like https sites, having more mass installation of SSL-and where you can. Overall, in addition to more harassment for servers we have and degradation in speed. The good thing is, that HTTP2 the standard for more than a year and a half is integrated in all major browsers and servers and http support sufficiently stable. Unfortunately there is no stable debian packages to keep in the main http servers HTTP2. The versions that are necessary for us to operate HTTP2 are as follows:

Mešanicata to me is great and according to be used depends on apache or nginx. I'm still not playing to let loose on the http2 apache debian 8 Since I've never had but have it so repoto backports, It won't be a big problem. For nginx has already played several times. Overall, the steps are few and relatively simple:

  1. Add nginx official repo – in debian is 1.6 x vesiâta. 🙄
  2. Install openssl yourself from backports is currently 1.0.2 (k) – What we need for alpn maintenance for all works and is fast
  3. you install the devscripts – This is the time to share that will bildnem our package because the official is compiled with openssl 1.0.1 t which does not work ALPN and not the browsers respond well and works only if http2-revving it
  4. inkrementirame the version to do not hold packages such as ciganiâta and there's a new version only to sinkenm sorsovete

Let's start step by step

Add nginx repo

deb http://nginx.org/packages/debian/ codename nginx
deb-src http://nginx.org/packages/debian/ codename nginx

Add a k dev openssl library 1.0.2 and otherwise bildnem it again with 1.0.1 I t is the target

echo 'deb http://ftp.debian.org/debian jessie-backports main' | tee /etc/apt/sources.list.d/backports.list

apt update && apt install libssl-dev -t jessie-backports


Now stuck to his add libraries needed for compilation of nginx

apt install devscripts

apt build-dep nginx

mkdir nginx-build

cd nginx-build

apt-get source nginx

If you are working correctly you should have a structure like

~/nginx-build # ll
total 1004
drwxr-xr-x 10 root root   4096 Feb 21 18:37 nginx-1.10.3
-rw-r--r--  1 root root 103508 Jan 31 17:59 nginx_1.10.3-1~jessie.debian.tar.xz
-rw-r--r--  1 root root   1495 Jan 31 17:59 nginx_1.10.3-1~jessie.dsc
-rw-r--r--  1 root root 911509 Jan 31 17:59 nginx_1.10.3.orig.tar.gz

Enter PPTA in which users code nginx in my case, this nginx-1.10.3 run the command with which incrementare version, I personally prefer to add 1 to this build

debchange --newversion 1.10.3-1

After you add a changelog and can proceed to the actual compilation

debuild -us -uc -i -I -b -j6

A little clarification on the configuration of the command:

-us -uc they say the script not to “signed” .dsc and changes files.. -i and -I make the script to ignore files for version control. -B to generate a binary only package. -j as with make how many parallel process to recompile 🙂


Once you've completed the above process should we install our new packages. If you have already installed nginx is better to uninstall it

apt remove nginx nginx-*

Also not a bad idea to make a backup of the nginx folder under /etc. In principle, when updating 1.6.5 to 1.10.3 I didn't have drama, but you never know. New Partei are in the higher-level directory, and must be installed with a command like:

dpkg -i ../*.deb

If everything went smoothly, you just have to launch the nginx process, and to set http2 that is not the purpose of this article.

I experienced a small theater with a disk on my laptop. After Fix the problem with apt-get update after the final scour not pleasant end of the process

E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/debian.ipacct.com_debian_dists_sid_contrib_binary-i386_Packages
E: The package lists or status file could not be parsed or opened.

As usual problem is extremely obvious /var/lib/apt/lists/debian.ipacct.com_debian_dists_sid_contrib_binary-i386 can not be read correctly. The fix is as elementary as the diagnosis of the problem:

 rf -f /var/lib/apt/lists/*

In the end, the result-forcing sync apt.

My favorite text editor is Geany. It is very minimalist HERE it supports a huge range of languages – shell, php, python, C … etc. Have their autocomplete and at the same time, bloody well. He lacks one and another nice opportunity, but at the moment, for me, it's more than enough. I online course Python Programming at SoftUni – to refreshing knowledge and will update as I have not followed adequately, what happens to python 3. Speakers of course recommend PyCharm as IDE for programming pyton, but I not my taste, of course, I use Geany for exercise.

During the lecture, felt painful 2 shortage

  1. python autocomplete and you highlight from the documentation, functions and methods
  2. you will never for pep8 standard

The fact that Geany is quite flexible than configuration and can be easily supplemented than missing such. Let's add the python documentation on our IDE:

  • dyble it the following script somewhere on our PATH, for example /usr/bin, and don't forget to make it executable
  • edit the file ~/.config/geany/filedefs/filetypes.python, like in settings, add the following lines context_action_cmd=pydocw %s. If there is only add the name of Bearcat from the previous step. ReWire Geany, if you work.
  • We already have a context action that will allow you to get information about the function. I added a shortcut to me is more comfortable as I do not understand any functionality. Leach me this approach very much because I like annoys me netbeans approach.

So far so good. Then I'll wish I never code that I write – if you write it according to General accepted standards, or write any gattii. In General, I found again tutorialon as things happen, but it's a little outdated – Geany has all of this built into itself, just need to install pep8 package. In Debian apt-get install pep8 does work in other destrot themselves need to learn how the magic happens. On the Build menu, the second button (at least I have) - Lint, by clicking it you will see how ugly code you have created 😀

Screenshot from 2016-01-11 20-42-21

It outlines how to make your Geany works well with Python and still be fast, not CPU makes you want to pull bullets.

For any (not very clear to me the reasons) I forgot to make an update postgresql daemon under the action of mediators of inflammation in the update of one of the Debian servers I. Postgresql daemon has the nice property of not beginning to use the new version (unlike Mysql) while not convincing, what's new fully compatible with the launch – very useful for large databases. The upgrade process limited to, the following 2 steps:

  • pg_dropcluster
  • pg_upgradecluster

Before estropia pg cluster daemon has to be stopped!

pg_dropcluster 9.4 main

This command passes quickly, then we move on to highlight – the simple upgrade

pg_upgradecluster 9.1 main
Disabling connections to the old cluster during upgrade...
Restarting old cluster with restricted connections...
Creating new cluster 9.4/main ...
config /etc/postgresql/9.4/main
data   /var/lib/postgresql/9.4/main
locale en_US.UTF-8
Flags of /var/lib/postgresql/9.4/main set as -------------e-C
port   5433
Disabling connections to the new cluster during upgrade...
Roles, databases, schemas, ACLs...
Fixing hardcoded library paths for stored procedures...
Upgrading database postgres...
Analyzing database postgres...
Fixing hardcoded library paths for stored procedures...
Upgrading database template1...
Analyzing database template1...
Fixing hardcoded library paths for stored procedures...
Upgrading database xpqt...
Analyzing database xpqt...
Re-enabling connections to the old cluster...
Re-enabling connections to the new cluster...
Copying old configuration files...
Copying old start.conf...
Copying old pg_ctl.conf...
Copying old server.crt...
Copying old server.key...
Stopping target cluster...
Stopping old cluster...
Disabling automatic startup of old cluster...
Configuring old cluster to use a different port (5433)...
Starting target cluster on the original port...
Success. Please check that the upgraded cluster works. If it does,
you can remove the old cluster with

pg_dropcluster 9.1 main

If everything is smooth minlo you should receive a message like the above, which prompts you to out old data from pg.

pg_dropcluster 9.1 main

At the end of this you can now start the Tarpan process again. To me, the bases are small and unfortunately I can not give an estimate for how much time passes the essential upgrade.

New Debian Stable fact about a week and I shirbaha hands, it will update virtualdata to him, but I don't have time to today. As my day started early decided to devote time updates. Промених сорс листа ми като промених wheezy на jessie

sed -i "s/wheezy/jessie/g" /etc/apt/sources.list && apt-get update

Here, perhaps, 2 mirror:

  • MariaDB – this mirror is no longer necessary in wheezy includes version 10.0.6 in myself that I don't really.. After 5.5 Michelob and mysql is not entirely compatible, because currently urjtag back to mysql 5.5.42 – it is the default in jessie
  • DotDeb – I used it before, to php55 here also is not necessary because Jessie comes with 5.6.7-1

After azkarah extra mirrors and urjtag MariaDB from Mysql apt-get dist-upgrade on my pure, reboot and I already with Debian 8.0. I opened my web server, and to my surprise, worked here a long history – a few words with Nginx-my collected additional source with additional Directive. dpkg-l nginx-full 1.2 mdaaa someone forgot unhold-not packages. Unhold and upgrade all the plan nginx-and broke 😆 . Nginx and running, processes requests and php-fpm process is up and runnign but php code is not executed and not spit errors 🙄 MY FAVORITE.

After some research for a change I found the following passage

Fastcgi configuration issues ============================

shipped a modified nginx fastcgi_params, which declared fastcgi_param SCRIPT_FILENAME. This line has now been removed. From now on we are also shipping fastcgi.Conf from the upstream repository, which includes a sane SCRIPT_FILENAME parameter value.

So, if you are using fastcgi_params, you can try switching to fastcgi.conf or manually set the relevant parameters.

Bingo. I changed the virtual hosts to use fastcgi.conf instead, to make a rude noise, and all light. Then hit a quick diff to see the difference, which was between the 2nd apache

diff /etc/nginx/fastcgi_params /etc/nginx/fastcgi.conf
> fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

I remember that pouring large configurations in virtualite hosts not a great idea. It remains to be precompilers again Nginx and add-ons that I want mod_sec + pagespeed but it can wait. Much more important is, the rule I repeat if you don't look at the sources and the 3rd costume performances not in Debian dist upgrade break-!