vaiwa
6/4/2014 - 2:20 PM

masox howto install

masox howto install

Homebrew aka brew

Takže první potřebujete Homebrew, což je balíčkovací systém (jako na linuxu, akorát všechno kompiluje). Najděte terminál a v něm pusťte: ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Vybafne to něco o Xcode Command Line Tools, prostě to odklikejte (Brew potřebuje kompiler a nějaký knihovny, který se s čistým masoxem nedistribuujou) a řiďte se tím, co to vypisuje v terminálu.

Až to doběhne, tak si pusťte nový terminál a v něm brew doctor, mělo by to říct, ze je vse ok.

Btw: Brew funguje tak, ze svoje balíčky instaluje do /usr/local/Cellar/, a tuhle cestu vám přidá do PATH (hlavne bin/), takže když pouštíte nějakej příkaz, tak se první koukne tam a kdyz tam nic nenajde, tak postupuje dál až na poslední cestu v PATH. Brew nikdy nespouštějte přes sudo nebo pod rootem - zkurví vám na něčem práva a bude tězký to najít.

Apache, PHP a tyhle srandy...

Masox si s sebou tahne vlastního Apache (dneska už z historickýho hlediska) a ten neni zapnutej by default. Takže ručně to jde pres sudo apachectl -k start (stop, reload atd.) Pokud ho chcete automaticky zapínat, tak stačí sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist, tim launchd, coz je masoxi verze initu (rodice vsech procesu), řeknete, že to má spouštet po startu. PHPcko tam je taky, ale taky by default vypnuty a navic vetšinou starý nebo jinak pošahaný, takže Homebrew to the rescue.

První musíme do Homebrew přidat nějaký repa.

brew tap homebrew/dupes # balíčky programu, který už jsou v systému a jejich neopatrným instalováním byste si mohli "rozbít" system

brew tap homebrew/versions # verzovaný balíčky, takže můžete instalovat balíčky ve starších verzích (neco jako backporty na debianu)

brew tap homebrew/homebrew-php # balicky php53, php54, php55

brew options php53 # ukáže vam všechny volby, který mužete použít při kompilaci php

brew install php53 --with-pgsql # to bude asi nejběžnější volba v SBSK, zkompiluje a nainstulje PHP Pozn: Týmy, které pro svou práci potřebují PHP 5.5. píší php55 místo php53. Pokud pracujete ve Vagrantu, není PHP ani Apache důležitý, naopak může jeho zapnutí kolidovat s Vagrantem.

sudo open /etc/apache2/httpd.conf -a TextEdit tím si otevřete konfigurák Apache, tam přidejte k loadu modul LoadModule php5_module /usr/local/opt/php53/libexec/apache2/libphp5.so, případně si tam odkomentujte takový ty srandy jako mod_rewrite, mod_proxy atd.

Virtualní servery, proxy atd. se konfigurujou v /etc/apache2/extra/, zkontrolujte si že v httpd.conf je odkomentovanej Include /private/etc/apache2/extra/httpd-vhosts.conf. Pak stačí restartovat Apache sudo apachectl -k restart a hurá na http://localhost

Btw asi jste si všimli, že všude používam /etc ale v těch konfigurácích je /private/etc/, kdyz pustíte ls -la /etc tak to vypíše lrwxr-xr-x@ 1 root wheel 11 21 led 20:01 /etc -> private/etc …je to symlink a můžete v klidu používat /etc, páč ho Apple kvůli kompatibilitě s POSIXem beztak nikdy nemuze zrusit.

Oukej, to byl Apache a PHP, všechno ostatní je úplně stejný jako na jinejch *nixech, Apache má jinak členěný konfiguráky než třeba Debian/Ubuntu, ale konfigurace je 100% stejná.

MySQL, PostgreSQL, Redis, MongoDB, elasticsearch, RabbitMQ

brew install postgresql, brew install mysql, brew install redis…asi chápete, kam tím mířím. Kdyz netrefíte jméno balíčku, tak pomáhá brew search cotokurvahledam Po skončení instalace kazdýho z těhle "serverovejch" balíčků vám Homebrew vypíše, co máte udělat pro ruční spuštění/zastavení nebo automatický spuštění po startu - na 99% stačí copy&paste toho prikazu a jste v pohode.

Node.js

Nikdy pro svatýho Wozniaka nestahujte Node.js z webu! Místo toho jako slušnej človek použijte NVM. curl https://raw.githubusercontent.com/creationix/nvm/v0.7.0/install.sh | sh

Až to doběhne, tak uděláte echo "[[ -s ~/.nvm/nvm.sh ]] && . ~/.nvm/nvm.sh" >> .bashrc, pak ln -s .bashrc .bash_profile. Pusťte si nový okno terminálu, nebo natáhněte nvm pomocí source ~/.nvm/nvm.sh. Pak potřebujete udělat nvm install v0.10 # nainstaluje Poslední 0.10 verzi Node nvm ls # jen vypíše nainstalovaný verze, berme, ze je tam teď nejnovější v0.10.28, takže nvm alias default v0.10.28 # tim se nastaví jako vychozí verze (při spustění novýho terminálu) 0.10.28

Overte, ze v novým terminálu node -v vypisuje verzi, kterou chcete. Btw: NVM zas funguje stejne jako Brew, akorát má Node a jeho balíčky uloženy ve vašem HOME v ~/.nvm

Tak tim máte funkční Node.js a můžete pomocí install, use atd. měnit verze, instalovat do nich různý balíčky atd. Při nejbližsí příležitosti, až pustíte něco, co používá fs.watch, tak skončíte s chybou EMFILE -> překročený maximalní množství otevřených souborů, protoze masox má by default nějaký strašne směšný číslo jako 256 nebo tak něco. Takže si do .bashrc přidejte třeba ulimit -n8192 a všechno bude ok.

Bonus

Jelikoź je vopich stahovat aplikace jako Skype, Dropbox, atd. z webu, protoze nejsou v AppStore. Tak na to existuje takovy hezky udélátko, které se jmenuje Cask:

brew tap caskroom/cask

brew install brew-cask

brew cask install skype # stahne Skype, rozbalí a hodí vám symlink do ~/Application

brew cask search cotokurvahledam # hledání balíčku

Kdyz se homebrew zacne chovat divne

brew doctor # pokusi se najít, co je za problém, v 90 % to řekne správně

Nejběžnější problém je, že máte dlouho neaktualizovaný seznam balíčků a brew se tomu brání tak, že nefunguje:) => brew update

Update balicku

brew upgrade $(brew outdated) # fakt si to rozmyslete :) Jestli máte hodně balíčků, tak vám bude třeba hodinu hučet noťas, páč kompiluje půlku vesmiru

VPN

Stahněte si Viscosity a tam už to naklikáte, je to trial tak si nezapomeňte adminům říct, ať vám to koupí. Pokud chcete mít problémy s našima DNS, tak použijte TunnelBlick, kterej je zadarmo a obcas se s nim musi trochu laborovat, ale nastesti je vsude plno howto.

Doporuceny aplikace

Best of by Bydza

  • Alfred - spouštěč aplikací (Mac má vlastní řešení: Spotlight, který potřeby začátečníků bohatě naplní, stiskni ⌘+Space)
  • Sourcetree - free Git klikátko
  • SublimeText
  • Airmail
  • Caffeine - jedním klikem zablokujete spořič - vhodné při prezentaci na projektoru
  • Bettertouchtool
  • CheatSheet - podržením klávesy ⌘ zobrazí seznam dostupných zkratek v aktivní app
  • Autoping (na sbks wifi MUSTHAVE;) )
  • Cloudly
  • pgadmin
  • boxer

Best of isnotgood

  • Induction (tupek klient pro psql, mysql, atd.)

  • ForkLift (Takovej masoxi Total commander, ale vychytanější - klížová náhrada ne neschopní Finder)

  • Pixelmator (takovej mrňavej photoshop)

  • Sketch (vektorovej editor)

  • Clean My Mac 2 (Nektery aplikacky delaj bordel po FS, clean my mac to umi efektivne cistit)

  • Colloquy (graficky IRC client, pokud z nejakyho duvodu nemate radi irssi)

  • Dash (Offline dokumentace ke kde cemu)

  • KisMAC (WiFi skener, obcas se hodi na nejakej ten wardriving)

  • Little Snitch (firewall, ten defaultni v macu je jen pro prichozi spojeni)

  • MongoHub

  • Sip (color picker)

  • Wireshark (musíte nainstalovat XQuartz - X11 pro mac)

  • iWorks a iLife: Pages, Numbers, Keynote (mac alternativa k MS Office, teď to má i sdílení přes web atd.), iMovie (střižna amaterských filmečků)

  • TextMate 2 (legendarni editor, ve verzi 2 uz je open source a zdarma, jen ma hnusnou ikonku kytky)

  • iTerm2 (alterantivni terminal, umi par kousku navic oproti tomu defaultnimu)

I installed

  • ForkLift (masoxi vychytanější Total commander - klížová náhrada ne neschopný Finder)
  • spectacle (move and resize windows)
  • lightshot (printscreenovatko)
  • iTerm2 (alterantivni terminal, umi par kousku navic oproti tomu defaultnimu)
  • Caffeine - jedním klikem zablokujete spořič - vhodné při prezentaci na projektoru
  • Alfred - spouštěč aplikací (Mac má vlastní řešení: Spotlight, který potřeby začátečníků bohatě naplní, stiskni ⌘+Space)
  • Sourcetree - free Git klikátko
  • SublimeText
  • sequential
  • apptivate
  • f.lux - zhasina display
  • Navicat as PostgreClient
  • Robomongo as MongoClient
  • Redis Desktop Manager
  • clipmenu
  • Xcode
  • Hardware IO Tools for Xcode
  • Network Link Conditioner