spájame
slovenskú
IT komunitu
pridaj sa
Registrácia · Login

Marcel Zúbrik 1.8.2011
Hodnoť článok:
0 0

MacPorts - portovanie a vývojársky localhost

Hoci Mac OS X obsahuje už v základnej konfigurácii množstvo programového vybavenia, nie všetky open-source aplikácie sú dostupné. Pri niektorých dobrovoľníci tvoria inštalačné balíčky, pri iných neostáva iné, ako si ich sám skompilovať. Nazvyme tento proces portovaním a predstavme si nástroj, ktorý ho uľahčuje.

V tomto príklade si ukážeme, ako na Mac OS X (10.6.8) portnúť základné nástroje webdevelopera - Apache, PHP a MySQL v najnovších verziách - a ako ich udržiavať aktuálne. Hneď na úvod upozorňujem, že budeme statočne používať príkazový riadok, takže ak z neho máte vyrážky, sťahujte radšej MAMP.

Nástroj, ktorý budeme používať, je aplikácia s názvom MacPorts. Ako napovedá webstránka projektu, snaží sa zjednodušiť proces stiahnutia všetkého potrebného, nakonfigurovania, skompilovania a následnej aktualizácie. Podporuje už cez 8000 portov open-source aplikácií, čo dokazuje že to nie je žiadna novinka.
Predstavme si teda, že sme si kúpili nejaký nový Mac a po rozbalení a zapnutí do sietí (elektrika, internet) na ňom chceme začať kódovať pre web. Budeme si popisovať portnutie asi najširšie podporovaných nástrojov Apache+PHP+MySQL, MacPorts však podporuje aj Ruby, Perl, Python, z databáz SQLite, PostgreSQL atď.

  1. Stiahneme MacPorts - v našom príklade (tj. pre 10.6.8) to bude verzia pre Snow Leopard, ale dostupný je už aj balík pre Lion. Je to malý DMG súbor do 500kB, ktorý keď otvoríme, vnútri nájdeme inštalačný PKG balíček. Dvojklikom spustíme a preklikáme sa na koniec - netreba nič riešiť. Na systémovom disku nám vznikol adresár opt, do ktorého bude MacPorts všetko ukladať.

  2. Po nainštalovaní spustíme Utilities/Terminal a tak skoro ho neopustíme. Budeme všetko zadávať cez príkazový riadok a nebude toho málo, takže sa na to pripravte. Ako prvé napíšeme
    sudo port selfupdate
    a stlačíme enter. Budeme požiadaný o administrátorské heslo. Po jeho zadaní program zistí, či nemá novšiu verziu seba samého online. Vypíše nám, že všetko je v poriadku a je aktuálny:

    ---> Updating the ports tree
    ---> Updating MacPorts base sources using rsync
    MacPorts base version 2.0.0 installed,
    MacPorts base version 2.0.0 downloaded.
    ---> MacPorts base is already the latest version

    The ports tree has been updated. To upgrade your installed ports, you should run
    port upgrade outdated

  3. Potom už začneme z ostra. Ako prvý nainštalujeme Apache - stačí jeden riadok do Terminal
    sudo port install apache2
    Odpoveďou je štandardný výpis - MacPorts zistí, či je potrebné stiahnuť niečo ďalšie, stiahne všetky zdrojáky, nakonfiguruje ich, skompiluje a umiestni. Ide o základný štandarne nastavený apache server bez modulov. Tie je možné hocikedy doinštalovať.

  4. K tomu PHP

    sudo port install php5
    (je možné nainštalovať php5-devel verziu s vývojárskymi nastaveniami).
    Nakoľko sudo vytvára administrátorský prístup príkazu a inštalácia môže chvíľu trvať, môžeme byť počas procesu viackrát požiadaný o zadanie hesla.

  5. a MySQL

    sudo port install mysql5-server
    Opäť je tu možnosť mysql5-server-devel verzie. Všetko troje dokopy to môže chvíľku trvať.

  6. Ak chceme, môžeme v tejto fáze doinštalovať nejaké moduly, napr. pre PHP. Môžeme si dať vyhľadať v MacPorts dostupné moduly pomocou príkazu
    port search php5
    ktorý nám nájde všetky porty obsahujúce v názve reťazec "php5". Opäť použijeme príkaz pre inštaláciu sudo port install* + označenie modulu.

    * sudo = admin práva, port označuje, že to patrí programu MacPorts a install označuje akciu)

    Môžete si nastaviť moduly podľa nastavení vami používaného houstingu. Nás bude zaujímať hlavne modul na prepojenie s MySQL
    sudo port install php5-mysql

    Ako ďalšie môžeme uviesť tieto moduly:

    sudo port install php5-gd
    sudo port install php5-imagick
    sudo port install php5-iconv
    sudo port install php5-iconv
    sudo port install php5-memcache
    sudo port install php5-memcached
    sudo port install php5-mcrypt
    sudo port install php5-openssl
    sudo port install php5-soap
    sudo port install php5-xdebug
    sudo port install php5-curl
    sudo port install php5-gettext

  7. To je čo sa týka inštalácie všetko. Čakajú nás ešte nastavenia. Ako prvé nastavíme MySQL, ktoré zatiaľ nemá vytvoreného užívateľa. Vytvoríme teda kontá root ďalších užívateľov, ktoré budeme používať pri vývoji našich aplikácií. Najskôr ale pre prípad, že nie je vytvorený, vytvoríme socket súbor
    sudo touch /opt/local/var/run/mysql5/mysqld.sock
    A teraz vytvoríme root užívateľa - pozor, sú to dva príkazy, dva riadky:
    sudo /opt/local/lib/mysql5/bin/mysql_install_db --user=mysql
    /opt/local/lib/mysql5/bin/mysqladmin -u root password 'semheslo'

    Samozrejme, namiesto "semheslo" napíšeme heslo ktoré chceme mať pre daného užívateľa (v tomto prípade root).

  8. Ako ďalší nastavíme Apache, aby vedel, že má k dispozícii modul pre PHP a ako má nakladať s PHP súbormi. Otvoríme si v TextEdite či TextWrangleri súbor /opt/local/apache2/conf/httpd.conf a doplníme doň tieto riadky:

    LoadModule php5_module modules/libphp5.so
    AddHandler php5-script .php
    AddType text/html .php
    DirectoryIndex index.php

  9. Aby sa nám Apache a MySQL naštartovali, potrebujeme spustiť dva príkazy:

    sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist
    a
    sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

    Aby sa nám naštartovali aj vždy pri štarte počítača, použijeme ďalšie dva príkazy:

    sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper start
    a
    sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper start

  10. Týmto by sme mali mať nainštalované všetko potrebné. Skúsme do prehliadača zadať adresu http://localhost/ a ak nám zobrazí úvodnú stránku Apache servera, všetko funguje ako má.
    Ak vám vypísalo chybu

    httpd: Could not reliably Determine the server’s Fully Qualified Domain name

    otvorte si System Preferences, kliknite na Sharing a vypnite Web Sharing. Otvorte konfiguračný súbor Apache servera /opt/local/apache2/conf/httpd.conf a vyhľadajte reťazec ServerName. Obyčajne býva nastavený na ServerName localhost zrejme ho máte nastavený na iný názov - musí korešpondovať s vaším názvom, napr. ferko-mrkvickas-macbook.local. Môžete sa tiež pohrať s nastaveniami servera a Apache domén v súbore /private/etc/hosts, ale buďte opatrní a urobte si predtým zálohy nastavení. Po každej zmene použite príkaz sudo /opt/local/apache2/bin/apachectl restart na reštart Apache servera a nahratie všetkých modulov.

Hlavnou výhodou je, že keď po nejakej dobe do Terminal zadáte príkaz
sudo port upgrade outdated
MacPorts zistí, či nie sú dostupné nové verzie a ak áno, stiahne a nainštaluje ich, zatiaľ čo si budete popíjať čaj. Neplatí to popritom iba o príklade s Apache+PHP+MySQL.

Vyzerá to na prvýkrát nesmierne komplikovane, ale nie je to až také strašné. Prvé príkazy inštalujú potrebné programy a veci k nim, potom upravíte nastavenia a do pár minút, máte funkčné vývojárske prostredie, ktoré v spojení s TextWrangler umožňuje vyvíjať internetové aplikácie.

Ešte pár adries, kde sa v MacPorts adresári opt nachádzajú dôležité nastavenia:

  • Konfigurácia Apache servera
    /opt/local/apache2/conf/httpd.conf
  • Koreňový adresár pre webstránky
    /opt/local/apache2/htdocs/
    je možné vytvoriť http redirect súboru index.html na symlink (alias) aby sa stránky načítavali z iného, lepšie dostupného miesta. Symlink vytvoríme prostredníctvom príkazu
    cd /opt/local/apache2/htdocs/
    ln -s /mojadresar/webstranky/ nazovodkazu
  • konfigurácia PHP
    /opt/local/etc/php.ini
  • konfigurácia MySQL
    /opt/local/etc/mysql5/my.cnf

Ak vám ani po tomto neexplodovala hlava, dajte mi vedieť, či som niekde nespravil chybu a či tu je takýto typ článku vítaný.

Marcel Zúbrik Marcel Zúbrik

Didaktik M to začal, 486 rozvinulo, no základom bol prvý iMac. Práca v polygrafii ako grafik/sadzač, postupný prechod na tvorbu aplikácií pre Mac, Win, Linux a Web pre malé a stredné firmy. Vývoj vlastného CMS. Turistika, lezenie, kresba, písanie, výroba vecí virtuálnych i hmotných.


Hodnoť článok:
0 0

2 komentáre k článku:

Komentovať môžu iba prihlásení

Zaregistruj sa cez bezplatnú registráciu alebo použi login cez Facebook (FB Connect)

Prihlás sa tu, ak už máš profil na Zajtra.sk:


Zabudol som heslo

0 0 Marcel Zúbrik 3.8.2011 10:42:41
Vďaka. Inšpiráciou mi bol práve tvoj článok - pred ním som si myslel, že tento typ článkov je pre zajtra.sk príliš komplikovaný a málo "chrumkavý". Veru, nebyť MacPorts a X11, boli by sme chudobnejší o veľa nástrojov.
0 0 Richard Kellner 2.8.2011 10:52:16
pekny clanok, po prechode z Linuxu som instaloval MacPorts hlavne koli meld, nechapem preco ale podobny tool som na macu nenasiel...
Zajtra.sk > Technológie > Apple > MacPorts - portovanie a vývojársky localhost


Kritika

Vieš ako robiť veci lepšie? Pomôž našim odvážnejším členom a skritizuj im projekty!

Reklama

Seriály zo Zajtra.sk

Reklama