PageRenderTime 65ms CodeModel.GetById 37ms RepoModel.GetById 1ms app.codeStats 0ms

/docs/ru/manual/installing.tex

https://github.com/derdewey/mongrel2
LaTeX | 153 lines | 116 code | 37 blank | 0 comment | 0 complexity | 6c2b39489957fe46f6df6121b01a227b MD5 | raw file
  1. \chapter{Установка}
  2. Mongrel2 компилируется на большинстве Unix-систем, в частности на Linux и Mac OSX.
  3. Он написан на C (\emph{не на Ruby}) и использует достаточно простой код и стандартные
  4. библиотеки. В остальном же, после того как вы поставите все зависимости,
  5. команды \shell{make \&\& sudo make install} будет достаточно, чтобы поставить Mongrel2.
  6. Если, когда я упомянул зависимости, вы начали тяжело вздыхать, то, мой друг,
  7. добро пожаловать в будущее. А кто говорил, что я хочу изобретать велосипед?
  8. Да, мой софт зависит от другого софта, поэтому все зависимости надо установить.
  9. В противном случае вам придётся подождать лет этак 10 пока я напишу всё своё
  10. и всё с нуля, как многие недальновидные идиоты.
  11. Итак, идея понята? Отлично, приступим.
  12. \section{Установка зависимостей}
  13. Чтобы всё заработало, нужно установить следующее:
  14. \begin{itemize}
  15. \item GNU make (gmake).
  16. \item \href{http://zeromq.org}{ZeroMQ 2.0.10} для передачи сообщений.
  17. \item \href{http://www.sqlite.org/}{SQLite3}.
  18. \end{itemize}
  19. Если вы будете устанавливать программы в перечисленном порядке, то всё должно быть хорошо.
  20. Поскольку каждая система уникальна, то сложно сказать точно, как устанавливать
  21. эти пакеты на вашей ОС. В листинге Source 1 перечислены команды, которые я
  22. выполнял у себя на компьютере.
  23. \begin{code}{Установка зависимостей на ArchLinux}
  24. \begin{lstlisting}
  25. # install ZeroMQ
  26. > wget http://www.zeromq.org/local--files/area:download/zeromq-2.0.10.tar.gz
  27. > tar -xzvf zeromq-2.0.10.tar.gz
  28. > cd zeromq-2.0.10/
  29. > ./configure
  30. > make
  31. > sudo make install
  32. # install sqlite3
  33. > sudo pacman -S sqlite3
  34. \end{lstlisting}
  35. \end{code}
  36. Если в процессе установки вы наткнётесь на какие-либо пакеты, которые
  37. не установлены по-умолчанию в вашем дистрибутиве, что вполне может быть
  38. в системах Debian и SuSE, то вам также придётся их доставить.
  39. \section{Загрузка исходников}
  40. Если всё прошло гладко, то вы можете скачать исходники Mongrel2 и
  41. попытаться скомпилировать. Исходники можно получить двумя путями:
  42. \begin{enumerate}
  43. \item Установить \href{http://fossil-scm.org}{Fossil SCM} (это такая система управления версиями) и сделать check-out.
  44. \item Взять исходники с сайта, распаковать и установить.
  45. \end{enumerate}
  46. \subsection{Загрузка исходников из .tar.bz2}
  47. Самый простой способ установки --- из запакованных исходников, которые лежат на сайте.
  48. Зайдите в \href{http://mongrel2.org/home#download}{раздел Download} и скачайте .tar.bz2 или .zip файл.
  49. \subsection{Загрузка исходников с помощью Fossil}
  50. Если вы всегда хотите иметь самую свежую
  51. версию, то установите fossil и периодически обновляйтесь. В этом конечно нет
  52. необходимости, но если хотите оставаться впереди планеты всей, то вот что нужно сделать:
  53. \begin{enumerate}
  54. \item Зайдите на \href{http://www.fossil-scm.org/download.html}{страничку скачивания fossil},
  55. возьмите инсталяционный файл для вашей системы, либо исходные коды в tar.gz.
  56. \item Выполните \href{http://fossil-scm.org/index.html/doc/tip/www/build.wiki}{инструкции по установке}
  57. и поставьте на свою машину.
  58. \item Если у fossil возникнут проблемы с подключением к mongrel2.org, дайте мне знать ---
  59. возможно мне придётся обновиться.
  60. \end{enumerate}
  61. Как только установите fossil, вы можете создать копию Mongrel2:
  62. \begin{code}{Клонирование исходников}
  63. \begin{lstlisting}
  64. > mkdir ~/fossils
  65. > fossil clone http://mongrel2.org:44445 ~/fossils/mongrel2.fossil
  66. > mkdir mongrel2
  67. > cd mongrel2
  68. > fossil open ~/fossils/mongrel2.fossil
  69. \end{lstlisting}
  70. \end{code}
  71. Убедитесь, что вы выполняете команды в заданном порядке, иначе будут ошибки.
  72. Например, если вы не создадите директорию \file{\~{}/fossils},
  73. fossil не сможет склонировать файл и т.п. В общем, будьте бдительны и не вините fossil
  74. во всех грехах.
  75. \section{Сборка и установка}
  76. Все сводится к выполнению одной единственной команды: \shell{make all install}
  77. Не нужно запускать \shell{./configure}, да её и нет, поскольку Mongrel2 избегает
  78. какой-либо зависимости от операционной системы и все различия обрабатывает в коде.
  79. Конечный результат таков:
  80. \begin{enumerate}
  81. \item Mongrel2 компилируется без ошибок.
  82. \item Все юнит-тесты работают. \footnote{Если что-то не работает, пожалуйста, сообщите.}
  83. \item Утилита m2sh установлена.
  84. \item Наконец, программа mongrel2 установлена.
  85. \end{enumerate}
  86. Если вы допустили ошибку и что-то из перечисленного выше не сработало --- найдите
  87. и устраните ошибку и выполните \shell{make clean all \&\& sudo make install} --- всё скомпилируется
  88. заново.
  89. \section{Тестирование}
  90. Когда вы закончите, вы скорее всего захотите проверить, что всё установилось
  91. правильно. Вы можете провести испытание на тестовом конфигурационном файле ---
  92. \file{tests/config.sqlite}:
  93. \begin{code}{Первый пробный запуск}
  94. \begin{lstlisting}
  95. > mkdir run
  96. > mkdir logs
  97. > mkdir tmp
  98. > m2sh servers -db tests/config.sqlite
  99. > m2sh start -db tests/config.sqlite -host localhost
  100. \end{lstlisting}
  101. \end{code}
  102. Пока что нажмите CTRL-C, чтобы выйти, а позже мы ещё поиграемся с настройками.
  103. \section{Обновление}
  104. \begin{code}{Обновите свою рабочую директорию}
  105. \begin{lstlisting}
  106. > cd mongrel2
  107. > fossil pull http://mongrel2.org
  108. > fossil up trunk
  109. \end{lstlisting}
  110. \end{code}
  111. Не забываем --- \shell{make clean all \&\& sudo make install}.
  112. \section{Далее}
  113. Теперь у вас есть веб-сервер Mongrel2, который запускается и работает, а также
  114. утилита m2sh для его настройки. В последующих разделах руководства мы
  115. научимся делать больше --- создавать свои конфигурации, писать
  116. обработчики и другие интересные вещи.