Установка Zend Server на Mac OS X Lion

| 0 comments

Zend Server — это такое комплексное решение, позволяющее быстро развернуть среду разработки или же рабочую среду для приложений, использующих решения компании Zend. Подробно рассказывать о нем не буду, просто скажу, что в него входит все самое необходимое: Apache, MySQL, PHP и даже Zend Framework. В этой заметке я буду рассказывать об установке Zend Server на рабочей машине разработичка или дизайнера, которая не будет использоваться в качестве боевого сервера.

Когда приходится устанавливать и настраивать такие вещи, как HTTP-сервер и подобные продукты, то довольно много времени приходится проводить в терминале. Стандартный терминал Mac OS X очень хорош, но я сам предпочитаю использовать iTerm2 — на мой взгляд, лучшая альтернатива. Загрузить его можно с официального сайта: http://www.iterm2.com/.

Теперь вам необходимо загрузить дистрибутив Zend Server. Существует его бесплатная версия Community Edition. Адрес страницы загрузки: http://www.zend.com/en/products/server-ce/downloads. При желании и наличии денег можно выбрать одну из платных версий, их сравнение представлено тут: http://www.zend.com/en/products/server/editions.

После загрузки образа откройте его и начните установку. Установщик стандартный и проблем тут возникнуть не должно. Если система, действительно, новая, то в конце будет предложено установить среду выполнения Java. Соглашайтесь.

После окончания установки найдите ZendServer в “Программах” и запустите его. Откроется браузер, а в адресной строке будет указано что-то вроде: http://localhost:10081/ZendServer/Login. При первом запуске вас попросят прочитать и согласиться с лицензионным соглашением, ввести и подтвердить пароль, а также предложат подписаться на новости проекта.

Теперь при помощи этой панели вы всегда сможете настроить PHP, посмотреть логи и пр. Настоятельно рекомендую ознакомиться с возможностями данной панели управления. Я тут сразу включаю некоторые расширения (например, Memcached) и вывод всех ошибок — все-таки это машина разработчика, тут ошибки пропускать нельзя ни в коем случае.

Стандартное размещение для ZendServer: /usr/local/zend. Загляните сюда:

$ cd /usr/local/zend
$ ls

Мы видим, что ZendServer установил на вашу машину не только сам PHP и Zend Framework, но и веб-сервер Apache2 и сервер баз данных MySQL. Все это уже работает и готово к использованию. Для MySQL используется учетная запись по умолчанию — пользователь root и пустой пароль.
Чтобы использовать базу данных через терминал просто введите:

$ /usr/local/zend/mysql/bin/mysql

В этом случае даже не потребуется вводить пароль. Или же:

$ /usr/local/zend/mysql/bin/mysql -u root -p

Тут у вас запросят пароль, но вводить ничего не надо, просто нажимаем клавишу ввода.
Многим любителям графических интерфейсов (особенно тем, кто никак не связан с процессом написания серверной части кода, например, верстальщикам) работа в терминале кажется крайне неудобной, поэтому могу посоветовать им использовать для работы с базой данных программу Sequel Pro (http://www.sequelpro.com/). Скачайте и установите ее. После запуска в настройках соединения выберите закладку “Сокет”,  введите в поле “Пользователь”: root, а в поле “Сокет”: /usr/local/zend/mysql/tmp/mysql.sock и нажмите “Соединить”.

Ну, а теперь пришло время настроить виртуальный хост для работы над сайтом.
Во-первых, зайдите в “Системные настройки” → “Общий доступ”. Найдите в списке слева “Общий веб-доступ”, по умолчанию он включен. Тут нажмите кнопку “Создать папку персонального сайта”. Это совсем необязательно, но очень удобно — в этом случае система сама создаст в вашей домашней директории папку “Сайты”. Обратите внимание в программе Finder она будет отображаться как “Сайты”, а при работе с терминалом — “Sites”. Теперь очень важный момент — отключите “Общий веб-доступ”, иначе будет параллельно с веб-сервером из ZendServer запущен и веб-сервер по умолчанию. Это также не обязательно, если вы хотите использовать их оба — просто нужно чуть больше времени провести за их настройкой (на самом-то деле не надо проводить больше времени за настройкой — веб-сервер по умолчанию висит на 80 порту, Apache из ZendServer использует порт 10088, таким образом, они вообще друг другу не мешают, но тогда при работе с хостами, прописанными в ZendServer’e, в браузере надо указывать порт, например, http://localhost:10088, что не всегда так уж удобно).

Теперь допустим, что у нас есть сайт “test”, а адрес для него будет “test.local”. Для начала нам необходимо поправить файл /etc/hosts и дописать в него:

127.0.0.1 test.local

Сделать это можно, например, с помощью терминальной программы vim:

$ sudo vim /etc/hosts

Вас попросят ввести пароль администратора. После этого нажмите клавишу “i”, чтобы перейти в режим редактирования, перейдите с помощью клавиш управления курсором (стрелочками) в конец файла и допишите необходимую строку. После этого нажмите Esc и введите “:wq” (не забываем нажать ввод) — эта команда сохранит файл и выйдет из редактора.

Теперь нам нужно создать директорию для нашего тестового сайта. Переходим в папку “Сайты” и создаем там “test.local”:

$ cd ~/Sites
$ mkdir test.local
$ cd test.local

Теперь воспользуемся редактором vim и напишем маленький скрипт, который будет выводить “Hello, i’m Test!”:

$ vim index.php

Как и в прошлый раз нажимаем “i” и вводим код:

<?php
echo “Hello, i’m Test!”;

Нажимаем Esc, “:wq”, Enter — сохраняем и выходим.

Осталось последнее настроить наш веб-сервер. Для начала надо, чтобы он слушал порт “80” — это стандартный порт, чтобы нам не приходилось вводить в браузере “test.local:10088”, а можно было просто писать “test.local”.

$ sudo vim /usr/local/zend/apache2/conf/httpd.conf

После ввода пароля администратора переходим в режим редактирования нажатием “i” и ищем строку:

Listen 10088

Изменяем ее на:

Listen 80

А перед строкой:

Include "/usr/local/zend/etc/sites.d/vhost_*.conf"

Необходимо дописать:

NameVirtualHost *:80

Теперь сохраняем файл и выходим — Esc, “:wq”, Enter.

После изменения любого конфига веб-сервера обязательно нужно его перезапустить:

$ sudo /usr/local/zend/bin/apachectl restart

И теперь нам осталось создать файл настройки виртуального хоста, который будет говорить веб-серверу, где искать наш “test.local”:

$ cd /usr/local/zend/etc/sites.d/

В имени файла конфигурации важно, чтобы он начинался с “vhost_” и заканчивался “.conf”, только тогда веб-сервер будет знать, что его надо прочитать.

$ sudo vim vhost_test.local.conf

Переходим в режим редактирования (“i”) и вводим:

<VirtualHost *:80>
DocumentRoot "/Users/decoder/Sites/test.local"
ServerName test.local
<Directory /Users/decoder/Sites/test.local>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

Вместо “decoder” в пути к папке необходимо указать свою домашнюю директорию. Сохраняем и выходим. Теперь необходимо снова перезапустить веб-сервер, чтобы он знал о сделанных изменениях:

$ sudo /usr/local/zend/bin/apachectl restart

И если мы сейчас выполним команду

$ sudo /usr/local/zend/bin/apachectl -S

то увидим в списке и наш “test.local”.

И, чтобы оконачательно убедиться, что все было сделано правильно, открываем браузер и вводим адрес: “http://test.local/”. Радостное “Hello, i’m Test!” приветсвует нас!

Если вы намереваетесь часто пользоваться терминальными программами mysql или apachectl, то вам может быть удобнее создать символические ссылки на них, чтобы не вводить каждый раз что-то вроде:

$ /usr/local/zend/mysql/bin/mysql

а просто:

$ mysql

Сделать это очень просто:

$ ln -s /usr/local/zend/mysql/bin/mysql /usr/bin/mysql

Команда ln с ключом -s создает символическую ссылку на файл. Первым указывается файл, на который создается ссылка, вторым — файл ссылки, которую мы создаем в директории /usr/bin. Такое размещение файла не случайно, ведь чтобы запустить программу, надо либо указать путь к ней (абсолютный или относительный), либо сама программа или ссылка на нее должна находится в одной из специальных мест. Эти места просто узнать, достаточно набрать в терминале:

$ echo $PATH;

Будет выведена строка, в ней содержатся пути, где система ищет запускаемую программу. Пути разделены двоеточием. К слову, сюда вы можете добавить и свой путь.
Несмотря на то, что создание ссылки несколько упрощает запуск программ, сам я не являюсь сторонником такого подхода. Например, у нас уже есть ссылка на apachectl, но она ссылается на веб-сервер по умолчанию. Поэтому, чтобы избежать путаницы в дальнейшем, я сам ссылки создаю с осторожностью.

Должен еще заметить, что лично у меня после перезагрузки операционной системы MySQL не запускается сам. Запустить его легко:

$ sudo /usr/local/zend/mysql/bin/mysql.server start

Leave a Reply

Required fields are marked *.