22. 1. 2013

NGINX, FastCGI a HTTPS (Nette, CakePHP, Python...)

Spravne nastavene server variables pro FastCGI pres NGINX


Po prechodu na PHP-FPM nam zacala zlobit aplikace, ultimate redirect.

Zjistill jsem, ze aplikace nam posila 301 a adresu nasi aplikace obohacenout o port 80.

Po 3 hodinach bylo jasne, ze se aplikace snazi aplikace presmerovat na non-HTTPS verzi. Ale proc? HTTPS zapnute nebylo?

NGINX od verze 1.1.11 defaultne nepredeva informaci o tom, zda je pripojeni zabezpecene ci nikoliv, toto zprostredkovava tento radek:

fastcgi_param  HTTPS                   $https;

pokud $https neni nastavene; preda se prazdna hodnote ''

pokud pouzivate SSL, neni to problem, hodnota bude 'on'


nette s touto operaci pracuje, a pokud HTTPS nechce tak se snazi nas presmerovat na non-HTTPS, ale chudinka je furt presvedcena o tom, ze mi SSL pouzivame, tak to zase posle.

Reseni pro non-ssl (pokud musite mit HTTPS v server variables)


nginx configuration:
fastcgi_param HTTPS                 off;

Reseni pro ssl-enabled:
fastcgi_param HTTPS                 on;
fastcgi_param SSL_PROTOCOL          $ssl_protocol;
fastcgi_param SSL_CIPHER            $ssl_cipher;
fastcgi_param SSL_SESSION_ID        $ssl_session_id;
fastcgi_param SSL_CLIENT_VERIFY     $ssl_client_verify;
 
Credits: http://claylo.com/post/7617674014/ssl-php-fpm-and-nginx 
 

Univerzalnejsi a lepsi reseni, pokud vam bude stacit, ze tam pro non-SSL HTTPS nebude vubec: 

fastcgi_param HTTPS           $https if_not_empty;
 

28. 10. 2012

Google drive na Linuxu

28.10.2012 - aktualizace

InSync instalace: https://forums.insynchq.com/discussion/1499/insync-for-linux-beta-9-0-9-24

O.K. nasel jsem mraky postu, kde se tvrdi, ze linux verze Google Drive je na spadnuti a ve skutecnosti je konektor v ubuntu jiz od verze 11.11.

Vse co potrebujete je aplikace grive

nainstalujte si ji: sudo apt-get install grive

pokud neni nalezena tak proste pridejte PPA:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install grive

Pri prvnim startu si vlezte do adresare, kde chcete soubory synchronizovat, protoze presne tam kde budete se stahnou.

cd /home/jan/googleDrive
grive -a

-----------------------
Please go to this URL and get an authentication code:

https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fdocs.google.com%2Ffeeds%2F+https%3A%2F%2Fdocs.googleusercontent.com%2F+https%3A%2F%2Fspreadsheets.google.com%2Ffeeds%2F&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&client_id=2234324534510474.apps.googleusercontent.com

-----------------------
Please input the authentication code here:
4/s4NWnV-mW57wmBad34rMXiGs3YdfsdfarwdOl05ti8ZT3YVKkAocQI


to je vse, ted to pobezi:

4/s4NWnV-mW57wmBaDg5ej1MXiGs3earwdOl05ti8ZT3YVKkAocQI
Reading local directories
Synchronizing folders
Reading remote server file list
Synchronizing files
sync "./plugtmp" created in remote. creating local
sync "./orbit-jankozak" created in remote. creating local
sync "./jna" created in remote. creating local


grive on github : https://github.com/Grive/grive/


Aktualizace (28.10.2012)

Pro ubuntu jiz existuje balicek s appletem. Je dostupny pro:

insync-beta-cinnamon - Insync for Desktop Linux - (beta9) - cinnamon
insync-beta-gnome - Insync for Desktop Linux - (beta9) - gnome
insync-beta-gnome-cinnamon-common - Insync for Desktop Linux - (beta9) - gnome-cinnamon-common
insync-beta-kde - Insync for Desktop Linux - (beta9) - kde
insync-beta-ubuntu - Insync for Desktop Linux - (beta9) - ubuntu

Takze doporucuji, do budoucna by se z toho udajne mela stat komercni aplikace, ale do te doby to snad pujde i jinak.

12. 10. 2012

GIT merge - visual tools

http://gitguru.com/2009/02/22/integrating-git-with-a-visual-merge-tool/

2. 10. 2012

Netbeans IDE a pozice kurzoru na menu

Pouzivam Netbeans na Linuxu uz roky, a co jsem si nainstaloval MINT misto obvykleho Ubuntu (miluju Gnome 3 menu) jako pomstu za Unity. Ted tam mam Cinnamon, tedy Gnome 3, ale s normalnim panelem, konfigurovatelny, 3D app switch a tak.

No k veci. 

Problem:

 Pri kliknuti na menu v NB se menu sice zobrazi, ale poloha kurzoru je posunuta oproti fakticke poloze indikovane kliknutim na polozku menu. Zjednodusene: pokud drzim, po kliknuti na polozku menu, leve tlacitko misy stiskle a posunu ji dolu, je indikovana, jako vybrana polozka, polozka mimo faktickou pozici kurzoru, v mem pripade o 2cm vyse.
Problem se vyskytuje vyhradne v menu, coz je sice videt, ale dokud nad tim nezacnete premyslet jako nad problemem s menu... JAVU jsem vyloucil na zaklade toho, ze ostatni aplikace fungovali tak jak meli. Ale trosku pozde...

 

 Reseni:

Musime zmenit startup options pro netbeans v configuracnim souboru. Pokud mate Netbeans nainstalovane pod rootem tak muzete zmenit bud:

/usr/local/netbeans-X.Y/etc/netbeans.conf

,nebo vytvorte

~/.netbeans/X.Y/etc/netbeans.conf a zkopirujte do nej obsah vyse uvedeno souboru

Najdete radek zacinajici: netbeans_default_options

Muj vypada takto,  dulezite je: -J-Dapple.laf.useScreenMenuBar=false
Puvodne to bylo povolene, ale presne toto zpusobilo ten problem.

Funkcni verze s tematem Metal, odstrante --laf Metal pokud si to neprejete.

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=false -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=false -J-Dsun.zip.disableMemoryMapping=true --laf Metal"

Tak a je to...

29. 8. 2012

GIT rebase a push/pull branch


GIT rebase a push/pull branch


http://www.lorrin.org/blog/2011/10/03/argumentless-git-pull-and-git-push/


GIT - Rebase pro kazdy novy upstream

Nastavte si rebase pro kazdy novy upstream, dela to historii srozumitelnejsi!

git config --global branch.autosetuprebase always

Dalsi vysvetleni rebase:
http://gitready.com/advanced/2009/02/11/pull-with-rebase.html


PHP 5.3.16 na Ubuntu, redis

Dnes jsem nainstaloval redis, zkousel jsem jak balicek z distra: 2.2, tak vlastni kompilaci 2.4, bohuzel to porad nejelo, php proste vytuhlo, resp. cekalo. Pripojeni probehlo OK, bohuzel query bezely nelidsky pomalu.

Po delsim hledani jsem zjistil, ze PHP 5.3.10 z distra nefunguje ani s jendou verzi jak by melo.
Pro instalaci PHP 5.3.16, ktera s Redis funguje nadherne:

  1. Do /etc/apt/sources.list pridejte:
    deb http://packages.dotdeb.org stable all
    deb-src packages.dotdeb.org stable all
  1. Import GPG klice aby nebyl APT ukecanej:
    wget -q -O- dotdeb.org/dotdeb.gpg | apt-key add -
  2. Update APT:
    sudo apt-get update
  3. (volitelne) upgrade co lze:
    sudo apt-get upgrade
  4. Install nove PHP:
    sudo apt-get install php5 
Test:
 $ php -v

18. 8. 2012

Logitech Unified Receiver, MX Performance mouse, (x)buntu 12.04

Tak jsem si poridil krasnou mys, kterou bohuzel nemohu pouzivat na linuxu, wokna ok, ale nekupuju si takovouhle mys kvuli herni konzoli, ze?! Obecne je to problem s tim Unified Receiver-em v tehle verzi. Ja jsem to pouzil na MX Performace Mouse.

Takze jsem zjistil, ze nejsem sam, kdo ma tento problem, zatim existuji dva workaroundy co jsem nasel.

1) pridejte do /etc/rc.local
modprobe -r hid_logitech_dj
modprobe hid_logitech_dj

2) otevrete /etc/modprobe.
d/blacklist.conf
odkomentujte "blacklist usbmouse" (zmen na "#blacklist usbmouse") nebo odstrante radku celou a restartujte system

Instatni reseni:  
sudo modprobe -r hid_logitech_dj && sudo modprobe hid_logitech_dj

15. 8. 2012

Netbeans 7 pekne na Linuxu (Ubuntu)

Pokud mate hnusne Netbeansy tak to obycejne byvaji fonty ve Vasem JRE, bud si nainstalujte jine JRE, jako Oracle Sun:
 
sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
sudo apt-get install sun-java6-jdk sun-java6-plugin

nebo si jen aktivujte jiny styl pro netbeans. V adresari netbeans, /usr/local/netbeansX
najdete etc/netbeans.conf

do promenne netbeans_default_options pridejte nakonec pred posledni uvozovky:

 --laf Nimbus -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd

Muj radek pak vypada takto:

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true --laf Nimbus -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd"


Dalsi odkaz na, ktery jsem dodatecne nalezl:
http://wiki.netbeans.org/NBLookAndFeels

6. 8. 2012

GIT web frontendy

GIT web frontend


Casto potrebujete nejaky pristup ke svemu GIT repu, idealne i k projektu, obcas je vyhodne pouzivat nejaky unifikovany, uz jenom kvuli odkazum na ruzne patche a diffy.

Par reseni jsem vyhledal, nesnazim se je hodnotit!

Zakladni:


  • gitweb, nativni (vyvijeny gitem) v PERL
  • cgit C
  • git-php PHP
  • ViewGit PHP

Komplikovanejsi (vice sluzeb):



  • gitorious RUBY
  • InDefero PHP, klon GoogleCode with git, Mercurial, SVN
  • GitLab

Nejvice je obecne doporucovany GitLab, tak prilozim screenshot a odkaz.

Howto Install: https://github.com/gitlabhq/gitlabhq/blob/stable/doc/installation.md

Screenshoty; http://blog.gitlabhq.com/screenshots/