Kaip paleisti darbinį LAMP serverį su buildout?

Jei kada bandėte programuoti su PHP, tikriausiai susidūrėte su LAMP serverio diegimu ir konfigūravimu. Žinoma Ubuntu aplinkoje tai padaroma vienos komandos pagalba, tačiau turi šiokių tokių minusų:

  • PHP, Apache ir MySQL versijos yra tokios, kokias pateikia distribucija
  • Pagal nutylėjimą, web-root katalogas yra /var/www ir turi ne itin draugiškas failų ir katalogų teises.
  • Įdiegus LAMP, kiekvieną kartą paleidus kompiuterį, automatiškai startuoja Apache ir MySQL.

Yra kur kas paprastesnis ir švaresnis būdas programuoti su PHP, panaudojant puikųjį buildout'ą. Nesiplečiant, štai komandos, kurių dėka turėsite pilnai paruoštą darbui LAMP serverį:

  1. $ sudo apt-get install mercurial python-setuptools
  2. $ cd web
  3. $ python bootstrap.py
  4. $ bin/buildout

Paskutinė komanda parsisiųs naujausius Apache, PHP, MySQL, PhpMyAdmin, Supervisor ir kitų paketų išeities tekstus, juos sukompiliuos, įdiegs į uždarą buildout aplinką, sukonfigūruos ir paruoš pilnai veikiantį LAMP serverį.

Apache ir MySQL paleisti galėsite taip:

  1. $ bin/supervisord

Tai, kas paleista, galėsite kontroliuoti Web aplinkoje, adresu localhost:9001. Pats Web'as bus pasiekiamas adresu: localhost:9002. Portus galėsite keisti buildout.cfg faile.

PHP skriptus galėsite rašyti savo naudotojo teisėmis, web/htdocs kataloge. Viskas, kas bus įdiegta visiškai nesipjaus su jūsų sistema.

Redaguodami buildout.cfg failą, galėsite nusistatyti ką tik norite. Galėsite nurodyti kitas paketų versijas, įtraukti papildomus paketus, nurodyti PHP ar MySQL kompiliavimo parametrus ir pan. Vėliau, išsisaugoję šį failą, labai nesunkiai galėsite vėl atkurti viską, ką turėjote.

Mintį radau šioje svetainėje: http://aclark.net/team/aclark/blog/a-lamp-buildout-for-wordpress-and-oth...

Komentarai

Anonymous portretas

dar sudo apt-get install

dar sudo apt-get install mercurial priesh visa darba

sirex portretas

Oj, rimatai, galvojau, kad

Oj, rimatai, galvojau, kad visi jau turi mercurial... :)

Anonymous portretas

Išmetė klaidą paskutinėse

Išmetė klaidą paskutinėse eilutėse:

  1. File "/usr/lib/python2.6/urllib.py", line 361, in open_http
  2. return self.http_error(url, fp, errcode, errmsg, headers)
  3. File "/usr/lib/python2.6/urllib.py", line 378, in http_error
  4. return self.http_error_default(url, fp, errcode, errmsg, headers)
  5. File "/usr/lib/python2.6/urllib.py", line 384, in http_error_default
  6. raise IOError, ('http error', errcode, errmsg, headers)
  7. IOError: ('http error', 404, 'Not found', <httplib.HTTPMessage instance at 0x9128f4c>)

Ką daryti, arba kaip tą būtų galima pašalinti?

sirex portretas

Klaida susijusi su

Klaida susijusi su pasikeitusiu paketo adresu. Kad tai išspręsti, reikia peržiūrėti ar visi adresai yra veikiantys ir jei kuris neveikia, tai tiesiog nurodyti adresą iki naujausios versijos.

Anonymous portretas

Kodel neisidiega

Kodel neisidiega mysql?

checking for termcap functions library... configure: error: No curses/termcap library found
mysql: Error executing command: sh configure --prefix=/home/administrator/web/parts/mysql
mysql: Compilation error. The package is left as is at /home/administrator/web/parts/mysql__compile__/mysql-5.1.41 where you can inspect what went wrong
While:
Installing mysql.
Error: System error

sirex portretas

Atsakymas parašytas klaidos

Atsakymas parašytas klaidos pranešime: „onfigure: error: No curses/termcap library found“.

Tai reiškia, kad nėra curses/termcap paketo.

Skelbti naują komentarą

Šio laukelio turinys bus laikomas privatus ir nerodomas viešai. If you have a Gravatar account, used to display your avatar.
  • Leidžiamos HTML žymės: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Linijos ir paragrafai atskiriami automatiškai
  • Web puslapiu adresai ir el. pašto adresai automatiškai tampa nuorodomis.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

Daugiau informacijos apie teksto formatavimą

CAPTCHA
Šis klausimas skirtas patikrinti ar esi žmogus, taip apsisaugant nuo internetinių reklamos robotų.
7 + 5 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.
Surinktas turinys