/docs/ru/manual/installing.tex
LaTeX | 153 lines | 116 code | 37 blank | 0 comment | 0 complexity | 6c2b39489957fe46f6df6121b01a227b MD5 | raw file
- \chapter{Установка}
- Mongrel2 компилируется на большинстве Unix-систем, в частности на Linux и Mac OSX.
- Он написан на C (\emph{не на Ruby}) и использует достаточно простой код и стандартные
- библиотеки. В остальном же, после того как вы поставите все зависимости,
- команды \shell{make \&\& sudo make install} будет достаточно, чтобы поставить Mongrel2.
- Если, когда я упомянул зависимости, вы начали тяжело вздыхать, то, мой друг,
- добро пожаловать в будущее. А кто говорил, что я хочу изобретать велосипед?
- Да, мой софт зависит от другого софта, поэтому все зависимости надо установить.
- В противном случае вам придётся подождать лет этак 10 пока я напишу всё своё
- и всё с нуля, как многие недальновидные идиоты.
- Итак, идея понята? Отлично, приступим.
- \section{Установка зависимостей}
- Чтобы всё заработало, нужно установить следующее:
- \begin{itemize}
- \item GNU make (gmake).
- \item \href{http://zeromq.org}{ZeroMQ 2.0.10} для передачи сообщений.
- \item \href{http://www.sqlite.org/}{SQLite3}.
- \end{itemize}
- Если вы будете устанавливать программы в перечисленном порядке, то всё должно быть хорошо.
- Поскольку каждая система уникальна, то сложно сказать точно, как устанавливать
- эти пакеты на вашей ОС. В листинге Source 1 перечислены команды, которые я
- выполнял у себя на компьютере.
- \begin{code}{Установка зависимостей на ArchLinux}
- \begin{lstlisting}
- # install ZeroMQ
- > wget http://www.zeromq.org/local--files/area:download/zeromq-2.0.10.tar.gz
- > tar -xzvf zeromq-2.0.10.tar.gz
- > cd zeromq-2.0.10/
- > ./configure
- > make
- > sudo make install
- # install sqlite3
- > sudo pacman -S sqlite3
- \end{lstlisting}
- \end{code}
- Если в процессе установки вы наткнётесь на какие-либо пакеты, которые
- не установлены по-умолчанию в вашем дистрибутиве, что вполне может быть
- в системах Debian и SuSE, то вам также придётся их доставить.
- \section{Загрузка исходников}
- Если всё прошло гладко, то вы можете скачать исходники Mongrel2 и
- попытаться скомпилировать. Исходники можно получить двумя путями:
- \begin{enumerate}
- \item Установить \href{http://fossil-scm.org}{Fossil SCM} (это такая система управления версиями) и сделать check-out.
- \item Взять исходники с сайта, распаковать и установить.
- \end{enumerate}
- \subsection{Загрузка исходников из .tar.bz2}
- Самый простой способ установки --- из запакованных исходников, которые лежат на сайте.
- Зайдите в \href{http://mongrel2.org/home#download}{раздел Download} и скачайте .tar.bz2 или .zip файл.
- \subsection{Загрузка исходников с помощью Fossil}
- Если вы всегда хотите иметь самую свежую
- версию, то установите fossil и периодически обновляйтесь. В этом конечно нет
- необходимости, но если хотите оставаться впереди планеты всей, то вот что нужно сделать:
- \begin{enumerate}
- \item Зайдите на \href{http://www.fossil-scm.org/download.html}{страничку скачивания fossil},
- возьмите инсталяционный файл для вашей системы, либо исходные коды в tar.gz.
- \item Выполните \href{http://fossil-scm.org/index.html/doc/tip/www/build.wiki}{инструкции по установке}
- и поставьте на свою машину.
- \item Если у fossil возникнут проблемы с подключением к mongrel2.org, дайте мне знать ---
- возможно мне придётся обновиться.
- \end{enumerate}
- Как только установите fossil, вы можете создать копию Mongrel2:
- \begin{code}{Клонирование исходников}
- \begin{lstlisting}
- > mkdir ~/fossils
- > fossil clone http://mongrel2.org:44445 ~/fossils/mongrel2.fossil
- > mkdir mongrel2
- > cd mongrel2
- > fossil open ~/fossils/mongrel2.fossil
- \end{lstlisting}
- \end{code}
- Убедитесь, что вы выполняете команды в заданном порядке, иначе будут ошибки.
- Например, если вы не создадите директорию \file{\~{}/fossils},
- fossil не сможет склонировать файл и т.п. В общем, будьте бдительны и не вините fossil
- во всех грехах.
- \section{Сборка и установка}
- Все сводится к выполнению одной единственной команды: \shell{make all install}
- Не нужно запускать \shell{./configure}, да её и нет, поскольку Mongrel2 избегает
- какой-либо зависимости от операционной системы и все различия обрабатывает в коде.
- Конечный результат таков:
- \begin{enumerate}
- \item Mongrel2 компилируется без ошибок.
- \item Все юнит-тесты работают. \footnote{Если что-то не работает, пожалуйста, сообщите.}
- \item Утилита m2sh установлена.
- \item Наконец, программа mongrel2 установлена.
- \end{enumerate}
- Если вы допустили ошибку и что-то из перечисленного выше не сработало --- найдите
- и устраните ошибку и выполните \shell{make clean all \&\& sudo make install} --- всё скомпилируется
- заново.
- \section{Тестирование}
- Когда вы закончите, вы скорее всего захотите проверить, что всё установилось
- правильно. Вы можете провести испытание на тестовом конфигурационном файле ---
- \file{tests/config.sqlite}:
- \begin{code}{Первый пробный запуск}
- \begin{lstlisting}
- > mkdir run
- > mkdir logs
- > mkdir tmp
- > m2sh servers -db tests/config.sqlite
- > m2sh start -db tests/config.sqlite -host localhost
- \end{lstlisting}
- \end{code}
- Пока что нажмите CTRL-C, чтобы выйти, а позже мы ещё поиграемся с настройками.
- \section{Обновление}
- \begin{code}{Обновите свою рабочую директорию}
- \begin{lstlisting}
- > cd mongrel2
- > fossil pull http://mongrel2.org
- > fossil up trunk
- \end{lstlisting}
- \end{code}
- Не забываем --- \shell{make clean all \&\& sudo make install}.
- \section{Далее}
- Теперь у вас есть веб-сервер Mongrel2, который запускается и работает, а также
- утилита m2sh для его настройки. В последующих разделах руководства мы
- научимся делать больше --- создавать свои конфигурации, писать
- обработчики и другие интересные вещи.