Личный опыт Web разработки в Mac OS X
Web сервер
Apache предустановлен в Mac OS и для локальной разработки его более чем хватает.
Маленькая хитрость – если не нужен виртуальный хост, то очень помогает вот такой трюк:
Осталось кинуть проект в
/Sites/%имя_проекта% и открыть в браузере localhost/
%user_name%/%имя_проекта%
На крайний случай, если нужна полная копия production окружения всегда можно установить Vagrant.
PHP предустановлен в Mac OS. Если его версия устраивает, то просто включаем загрузку модуля php5_module:
Если не устраивает, то можно установить PHP по мануалу отсюда php-osx.liip.ch. Эта версия не заменит системную, сама найдет Apache и вообще установится в /usr/local/php5. Установка предельно проста – одна строка в консоли (пример для PHP 5.5):
MySQL
Установить MySQL можно несколькими способами, например, через Homebrew. Но компилировать из исходников MySQL только потому что это позволяет пакетный менеджер? Мне кажется что проще взять DMG архив с официального сайта и установить. После установки в Системных настройках появится вкладка MySQL:
FTP/SFTP
Кроме работы над основным проектом приходится отвлекаться и исправлять/доделывать что-то у клиентов. Обычно это чужой хостинг с доступом по FTP. Значит нужен FTP клиент. Выбор пал на Cyberduck:
Почему Cyberduck? Потому что хранит пароли в Keychain, переведен на русский, бесплатен и поддерживает FTP, SFTP, WebDAV, Amazon S3, Google Cloud Storage и Rackspace Cloud Files.
MySQL клиент
Долго выбирал рать между MySQL Workbench и Sequel Pro. В силу легкости победил Sequel Pro.
Почему локальное приложение а не phpmyadmin или mysql в консоли хостинга? Потому что все курируемые базы в одном месте и не надо при задаче «посмотри что там в базе у клиента » открывать консоль, SSH и вспоминать пароли. Да, это удаленное подключение и MySQL на хостинге смотрит наружу. Но доступ по IP или SSH туннель спасают отца русской демократии.
Возможностей у программы достаточно много, лучше почитать на официальном сайте.
Sublime Text
Без него никуда. Маленькая хитрость в настройках:
По-умолчанию выставлено в TRUE и из-за этого Cyberduck открывает новые файлы в новом окне, а не в новой вкладке существующего окна.
Кроме этого, бывает что нужно быстро запустить небольшой кусок PHP кода, а делать это в IDE не удобно. Можно выполнить PHP код из Sublime Text, добавив новую Build System (Tools –> Build System -> New):
Теперь жмем CMD + B и результат работы кода появится в консоли Sublime Text.
Это удобный сборник документации, вот его особенности:
- Автообновление документации с официальных сайтов
- Оффлайн доступ
- Шпаргалки (Cheat Sheets)
- Создание своих сниппетов
- Интеграция в PhpStorm и Sublime Text
Конечно, можно еще начать петь дифирамбы тач-жестам и полноэкранному режиму приложений, но это выходит за рамки статьи.
Источник
Домашний Мак-сервер. Часть 1: Что это? Зачем это?
Наконец-то у нас нашлось время для того, чтобы подробно осветить тему, про которую мы планировали написать ещё несколько месяцев назад. Речь идёт о создании и использовании домашнего сервера под управлением Mac OS X. Если при слове «сервер» вы сразу подумали «нет, это точно не для меня», не спешите отказываться от дальнейшего чтения. Во-первых, Mac OS X (и её серверная редакция) кардинально отличаются от многих других серверных операционных систем своей дружелюбностью к пользователю (за что критики частенько обзывают Mac OS X Server серверной осью для блондинок). Во-вторых, разговор пойдёт о совершенно конкретной разновидности сервера — домашней. А это означает, что тратить ваше время на ознакомление с различными сложными серверными материями, имеющими смысл для корпоративных сетей, мы не планируем. Напротив, мы расскажем о конкретных прикладных задачах, которые довольно легко можно решить с помощью домашнего сервера, и начнём мы с общего обзора этих задач.
Пожалуй, каждый обладатель хотя бы трёх гаджетов Apple на своём опыте убедился, что чем больше «яблочных» устройств находится у вас на руках, тем лучше раскрывается их потенциал, и тем больше хочется докупить себе дополнительной Apple-техники. Со временем маркетинговая магия Apple приводит к тому, что у вас дома (а то и в офисе) складывается целая яблочная экосистема. Сервер под управлением Mac OS X является ядром, сердцем этой системы, поскольку может брать на себя значительный объём полезных задач.
В самом начале разговора о Мак-серверах стоит сразу сделать важное замечание: сервер — это не столько тип компьютера с точки зрения оборудования, сколько его статус. Иными словами, ошибочно думать, что сервером может быть только Mac Pro, Mac mini Server или, скажем, снятый с производства Xserve. Сервером считается тот компьютер, который обеспечивает ряд сервисных функций для других компьютеров, подключённых к нему по проводной или беспроводной локальной сети или извне, через Интернет. Кроме того, чтобы быть сервером, Маку вовсе не обязательно иметь на борту именно Mac OS X Server. Большинство из задач, которые будут освещаться в нашем новом цикле статей, могут быть успешно решены и на обычной «макоси».
Как видите, граница между сервером и «несервером» для Маков довольно условна, а ещё больше она сотрётся вместе с OS X Lion. «Лев» примечателен тем, что может быть превращён в серверную разновидность путём докупки специального приложения из Mac App Store.
Другой важный вопрос — сколько именно яблочной техники должно быть у вас под рукой, чтобы создание домашнего сервера имело смысл. Тут правильного ответа тоже нет, поскольку всё зависит конкретно от того круга задач, которые вам интересны. Мы будем исходить из того, что у вас имеются:
- пара Маков (например, iMac и MacBook Pro)
- мобильные гаджеты (любое количество iPhone, iPod touch и iPad)
- приставка Apple TV второго поколения и телевизор (без него приставка смысла не имеет 🙂
- какое-либо сетевое оборудование Apple (например, Time Capsule или AirPort Extreme)
Какой Мак может брать на себя роль домашнего сервера? Безусловно, это должен быть стационарный Мак, т.к. главное требование, предъявляемое к серверу — доступность. Сервер всегда должен быть включён (по крайней мере, всегда, когда он может понадобиться). Из стационарных Маков на роль сервера лучше всего годится Mac mini в силу следующих причин:
- компактность: «миник» не занимает много места, монитор серверу не нужен, тем более можно обойтись без клавиатуры и мыши
- эстетичность: маленький Мак спокойно может поселиться на журнальном столике или тумбе, вписавшись в домашний интерьер. А представьте-ка на этом месте Mac Pro 🙂
- энергоэффективность: Mac mini потребляет намного меньше энергии, нежели все остальные стационарные Маки
- дешевизна: купив обычный Mac mini, при желании вы сможете поставить на него серверную версию Mac OS X. Покупать серверный вариант «миника» смысла нет (разве что если вам нужен терабайт дискового пространства)
Кроме того, миник может относительно успешно заменить собой и Apple TV (если вас вдруг не интересует функция стриминга AirPlay), и AirPort Extreme вместе с Time Capsule, если планировка квартиры позволяет подключить его к телевизору и воткнуть в него Интернет-кабель.
Пора перейти к задачам, которые может решать домашний сервер:
- общая медиатека. Вы можете хранить на сервере все свои аудио- и видеофайлы, книги, подкасты и прочую начинку iTunes. Благодаря функции «Домашняя коллекция» весь этот контент будет свободно доступен на всех остальных компьютерах в домашней сети, а также на iOS-гаджетах с прошивкой 4.3 или выше
- доступ к медиатеке с телевизора через Apple TV. Без лишних проблем смотреть фильмы, клипы, подкасты и/или слушать записи можно прямо с телевизора, посредством приставки Apple TV, подключающейся к серверу с медиатекой iTunes
- торрентокачалка. Жалеете, что широкий домашний Интернет-канал скучает без дела, пока вы отсутствуете? Вы сможете поставить на закачку торрент-файл на домашнем сервере откуда угодно — из офиса, с айпада из машины, с айфона с дачи — а когда вы вернётесь домой, файлы будут скачаны
- автоматическая конвертация видео. Элегантным дополнением к предыдущей функции станет и автоматическая конвертация материала (разумеется, особенно это касается видео) в совместимый с iTunes и гаджетами Apple формат. Всё это также может происходить без вашего вмешательства — торрент скачается, киношка сконвертируется и самостоятельно добавится в iTunes, ожидая просмотра
- трансляция видео с конвертацией на лету. Если не хотите утруждать миник предварительной конвертацией видео, можете организовать конвертирование на лету. Допустим, вы хотите посмотреть AVI-файл с Mac mini на своём iPhone. Думаете, задача не решаема? Отнюдь нет 🙂
- Time Machine. Как известно, бэкапить содержимое ваших Маков по сети можно на Time Capsule. Но вот оправдывает ли «капсула» свой ценник? Мы так не думаем, тем более что любой Мак с серверной Mac OS X на борту может восприниматься другими Маками именно как Time Capsule, и все бэкапы будут осуществляться как раз на него
- автоматическое скачивание апдейтов. Ещё один способ занять ваш Интернет-канал в свободное время — поручить домашнему серверу периодически искать, скачивать и даже устанавливать апдейты для всех ваших Маков
- хостинг. В недавнем прошлом самым простым для маковода способом опубликовать собственный сайт был сервис MobileMe. Но MobileMe официально будет закрыт уже в следующем году, а в пришедшем ему на смену iCloud места хостингу попросту не нашлось. Но если у вас есть права на домен и домашний сервер, то размещение своего сайта становится решаемой задачей. Конечно, для серьёзных задач куда практичнее приобрести хостинг или арендовать сервер у специализирующих на этом компаний — например, размещать сайт со сколько-нибудь приличной посещаемостью у вас дома — явно не лучший вариант. Однако для личных экспериментов отлично хватит и возможностей операционной системы.
- синхронизация календарей и контактов. Не хотите доверять свои данные Apple, Google и другим сервисам? Создайте свой собственный сервис синхронизации контактов Адресной книги и событий iCal, настройте его так, как вам удобно, и пользуйтесь на здоровье 😉
- собственный почтовый сервер. Если у вас есть своё доменное имя, то вы сможете прицепить к нему не только свой сайт, но и свою эксклюзивную почту. Конечно, данная функция наиболее актуальна для компаний, однако в ряде случаев она может пригодиться и для домашнего использования
- удобный обмен файлами. Надоело заливать файлы на narod.ru, ifolder.ru или, что ещё хуже, на RapidShare? 🙂 При наличии сервера вы можете организовать свою собственную площадку обмена файлами, без дурацких ограничений по объёму и скорости, без необходимости ожидания и пр.
Данный список не претендует на то, чтобы считаться закрытым — мы лишь перечислили те функции, которые могут заинтересовать рядового пользователя. В следующих статьях мы поговорим именно о них.
Источник
Запуск WEB сервера под MAC OS x
Как уже писал в прошлом посте, что решил в новогодние каникулы погонять свой мак максимально возможно и поставить все что было у меня на винде и вот встал вопрос об установке Веб сервера под Мак и данная статья будет пошаговой инструкцией как запустить встроенный веб сервер Apache с подключением PHP и MySQL.
т.к. я буду 100% натыкаться на какие нибудь «вилы» то эта статья будет постоянно дополняться + буду ждать комментарии от Вас
Давайте для удобства разобьем эту статью на подпункты:
[contents]
Включаем встроенный WEB Server Apache
Приведенный материал является универсальным и будет полезен пользователям любых операционных систем.
Включить веб-сервер можно в настройках: Системные настройки > Общий доступ > включить службу Общий веб-доступ.
Если набрать в адресной строке браузера http://localhost/ , то сервер вернет страницу с текстом «It works!».
Либо можно запустить Apache через командную строку Терминала набрав след команду:
sudo apachectl start
Конфигурация Apache
Для конфигурации Apache необходимо открыть файл /etc/apache2/httpd.conf :
sudo nano /etc/apache2/httpd.conf
Раскомментируем ServerName и приведем ее к такому виду:
ServerName localhost
Далее подключаем PHP (необходимо раскомментировать строку):
LoadModule php5_module libexec/httpd/libphp5.so
Далее изменим каталог где у нас будут лежать тестовые сайты После этих изменений корневым каталогом будет папка Сайты (Sites), находящаяся в домашнем каталоге пользователя.
DocumentRoot «/Library/WebServer/Documents»
DocumentRoot «/Users/имя_пользователя/Sites»
Аналогично заменим прежний путь в строке 195:
Далее в строке 230 пропишем какие типы файлов и в какой последовательности должен обрабатывать Apache:
DirectoryIndex index.php index.html
В строке 469, чтобы подключить файл в котором будем записывать виртуальные хосты:
Include /private/etc/apache2/extra/httpd-vhosts.conf
Сохраняем все изменения в файле httpd.conf и перезапускаем Apache.
sudo apachectl restart
После этого переходим в браузере по адресу http://localhost/ , загрузится стартовая страница из папки сайты с приветствием «Ваш веб-сайт».
Теперь проверим работоспособность PHP, для этого создадим в нашем каталоге Sites тестовый PHP-скрипт:
/Sites/index.php
sudo nano
и напишем сценарий, который покажет конфигурацию PHP:
Сохраняем файл index.php и вновь переходим по адресу http://localhost/ , должна открыться страница с информацией о версии PHP. Если по прежнему загружается страница приветствия, необходимо проверить настройки Apache (строка 230).
(дополнение от 4.01.2016)
Обязательно нужно еще проделать операцию с конфигурационным файлом php.ini он находится в папке /etc/php.ini.defaults , его необходимо переименовать в php.ini :
sudo cp /etc/php.ini.default /etc/php.ini
Конфигурация виртуальных хостов
Все проекты будут размещаться в каталоге пользователя Сайты ( /Users/имя_пользователя/Sites/ ). Создадим в этом каталоге новую папку с названием test , а в ней файл index.php с тестовым скриптом. Локальный сайт будет открываться по адресу http://test/ . Переходим к командной строке и вводим следующие команды:
mkdir
/Sites/test
touch index.php
nano index.php
и добавим сценарий:
Теперь займемся конфигурацией виртуальных хостов. Для начала откроем файл /etc/hosts и добавим в исключения адрес локального сайта ( http://test/ ). Переходим к командной строке:
sudo nano /etc/hosts
и добавляем строчку:
127.0.0.1 test
Добавим записи с конфигурацией нового виртуального хоста:
sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
И в конец файла добавляем записи:
Сохраняем изменения и перезапускаем Apache
sudo apachectl restart
Проверка и тестирование результата
фото 4. Тестирование веб сервера Hello Word
Теперь, если перейти по адресу http://test/ откроется страница с приветствием «Hello world!»
Если ни чего не получилось, то возвращаемся в начало статьи и делаем все заново и внимательнее, если и после ни чего не получилось, то смотрим где у нас в конфигурационном файле httpd.conf лежит лог файл (по умолчанию он выглядит так ErrorLog «/private/var/log/apache2/error_log» и если Вы ничего не изменяли, то смотрите логи /private/var/log/apache2/error_log и присылайте ошибки, будем разбираться почему у Вас не работает веб сервер.
Еще можно проверить синтаксические ошибки в файле http.conf настроек командой
Данная инструкция писалась пошагово, когда я сам настраивал на своем Макбук Веб сервер. Если Вы все делаете в точности по инструкции, то у Вас точно на все 100% получится настроить web server.
Источник