Поднимаем локальный сервер в любой директории на MAC OS X
Еще одна инструкция на WordPress 🙂
На самом деле статей про то, как поднять локальный сервер (а тут речь зайдет конкретно об OS X) достаточно много. Но как и с картой сайта меня постигло разочарование, когда я хотела просто воспользоваться инструкцией и не заморачиваться. Все же я не программист.
Меня не интересовали всякие дополнительные супер крутые все содержащие в себе программы типа MAMP. Они сожрут мне место на диске и наделают кучу непонятных папок. Я точно знала, что линуксоподобная OS X итак почти все в себе имеет, надо просто знать как этим воспользоваться. Но я и не думала, что мне так повезет! И я смогу поднять локальный сервер в любой папке (то есть моя структура проектов на диске не будет нарушена вообще).
Тут я опишу небольшую последовательность действий, которая позволила мне установить WordPress в одной из выбранной мною (а не разработчиками супер программ, упомянутых выше) папке. Конечно локальный сервер нужен не только для WordPress, но я буду описывать конкретно мой случай.
Исходные данные
Для начала стоит отметить, что инструкция касается > OS X 10.10 (Yosemite). На версиях ниже тоже скорее всего будет работать, но не гарантирую, что все в точности так же (это зависит от предустановок системы).
Теперь определимся что нужно установить, чтобы заработал локальный сервер. Это зависит от ваших целей:
- Если вам нужен сервер для html верстки (ну к примеру, для ajax, или чтобы потестить сколько запросов будет отправляться на сервер вашей версткой), то вообще ничего не нужно устанавливать. Смотрите раздел “Простой веб-сервер от Python”.
- Если вам нужно установить WordPress, то тут необходимо посмотреть требования этой CMS. На тот момент, что я устанавливала Вордпресс, это: PHP 5.4 и выше, MySQL 5.5 и выше, Apache модуль.
Источник
Настройка openssh-server на Mac OS X 10.9
Возникла следующая задача развернуть openssh -сервер на Mac OS X 10.9.
SSH — сервер в mac os идет по умолчанию настраивается, точнее просто активируется тут:
1. Откройте «Системные настройки»;
2. Выберете «Общий доступ»;
3. Установите галачку напротив пункта «Удаленный вход»;
Тут все хорошо, вопрос решен, если желаем поправить конфигурацию ssh то необходимо обратиться в каталог:
/private/etc/sshd_condif — конфигурационный файл ssh- сервера.
/private/etc/ssh_condif — конфигурационный файл ssh- клиента.
Теперь мне стало интересно сделать данные действия используя консоль (терминал) и вот на чем я застрял:
1. Как можно выполнить start / stop / restart сервиса (демона) sshd в терминале?
Что только не перепробовал, но ничего толкового не вышло.
Что обнаружил:
запуск sshd происходит вот тут:
/usr/libexec/sshd-keygen-wrapper — это просто shell script, который сначала создает ключи для сервера,
после чего командой:
exec /usr/sbin/sshd запускает сам ssh-сервер.
sshd -бинарник.
2. Конфигурационные файлы, как уже выше было представлено, находятся в каталоге ../etc, а хочется, что бы находились в ../etc/ssh/;
Как поменять пути до конфигурационных файлов? Необходимо пересобирать бинаринк?
Одно из решений, которое меня не устраивает, можно отредактировать скрипт «/usr/libexec/sshd-keygen-wrapper», а точнее строку:
exec /usr/sbin/sshd -f /private/etc/ssh/sshd_condif.
3. А так же хотелось, что бы настройка по умолчанию (Установка галачки напротив пункта «Удаленный вход» в настройках доступа) так же корректно работала и был один экземпляр конфигурационных файлов и сервиса.
Источник
Личный опыт 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
Конечно, можно еще начать петь дифирамбы тач-жестам и полноэкранному режиму приложений, но это выходит за рамки статьи.
Источник
MAMP. Локальный веб-сервер на вашем Маке
Любому веб-разработчику в процессе создания того или иного сайта необходимо проверять его работоспособность. Делать это удобнее всего на локальном веб-сервере, поднятом на своем компьютере. Преимущества этого способа в том, что нет ограничений ни на размер сайта, ни на использование процессорного времени или оперативной памяти сервера, а главное — то, что любое сохранение файла происходит мгновенно; вы сразу же видите результат у себя в браузере. В Mac OS X уже входит сервер Apache, включив который в System Preferences — Sharing — Web Sharing и положив нужные файлы в папку Sites, вы можете загружать статичные сайты. Но как быть с динамическими сайтами, ведь чтобы поднять сайт с использованием встроенного сервера MySQL, необходимо уметь конфигурировать его через Терминал, а это сумеет не каждый пользователь. В этом случае, когда не хватает знаний по работе с Терминалом, а также когда просто не хочется разбираться со всем этим, вам очень подойдет программа MAMP производства компании appsolute GmbH.
Аббревиатура MAMP расшифровывается как Macintosh, Apache, MySQL и PHP. Установив MAMP, вы получите работоспособный Веб-сервер с Apache, MySQL и PHP.
Существует две версии приложения: бесплатная MAMP и платная MAMP PRO, которые отличаются друг от друга функциональностью и принципом доступа к управлению сервером. В стандартный дистрибутив поставки входят обе версии. В случае если вы решили воспользоваться бесплатной версией, то будет достаточно перенести ее в папку с программами и можно начинать работать. Если вы купили лицензионный ключ к платной версии, то для того чтобы воспользоваться MAMP PRO, вам придется переносить обе версии, потому что MAMP PRO ставится поверх MAMP и является ее надстройкой. В списке программ будут доступны ярлыки для обоих версий, но запускать их вместе не рекомендуется.
Как уже говорилось, в бесплатной MAMP меньше настроек, чем в MAMP PRO. Управление настройками производится через окно программы, а работа с веб-сервером производится через веб-интерфейс.
Из настроек имеется возможность лишь установить порты для Apache и MySQL, выбрать версию PHP (5.2.13 или 5.3.2), оптимизатор (XCache, APC, eAccelerator) и задать Root-папку для проекта.
Обе версии, и MAMP и MAMAP PRO умеют при своем запуске также запускать и веб-сервер, а при выходе — останавливать. При желании, запуск и остановку веб-сервера можно производить вручную.
Полный список отличий MAMP от MAMP PRO можно посмотреть на сайте разработчика.
В MAMP PRO настройка и управление веб-сервером производится через графическое окно конфигуратора. Опций здесь заметно больше. В верхней части окна расположились кнопка ручного запуска/остановки сервера и экран состояния Apache, MySQL, а также клиента DynDNS, о котором мы расскажем чуть позже. Там же находится кнопка перехода в веб-интерфейс MAMP PRO, если вам привычнее работать в нем.
Функции управления сервером и установленными на нем хостами разнесены в две отдельные вкладки «Server» и «Hosts». На самих вкладках, настройки, для большей простоты и удобства, тоже поделены на вкладки.
SERVER
На этой вкладке можно задать порты Apache и MySQL, возможно использование как своих значений, так и установленных по умолчанию. Изначально, сервер запускается под вашей учетной записью, но разработчики настоятельно рекомендуют в целях безопасности запускать его под записью www/mysql, тем более если ваш Мак имеет постоянное подключение к сети Интернет. Ниже расположились настройки запуска/остановки Apache и MySQL одновременно с запуском или выходом из программы MAMP PRO. Для большего удобства пользователей, профессионально занимающихся веб-девелопингом, очень кстати придется опция включения запуска локального сервера при старте операционной системы. А очистка логов при старте сервера поможет содержать диск в порядке и не захламлять лишними файлами.
В MAMP PRO, в отличие от бесплатной версии, возможно включение и отключение отдельных модулей Apache. Здесь же можно указать папку для логов с ошибками Apache или просмотреть уже имеющиеся логи.
Задание/смена главного пароля в MySQL. Разработчики советуют отнестись к заданию главного пароля с полной серьезностью, тем более если ваш Мак подключен к сети Интернет. Для пущей безопасности возможно ограничить доступ извне к вашей базе MySQL.
Здесь также можно выбрать папку для сохранения логов с ошибками или посмотреть уже существующие. Для непосредственной работы с базами MySQL переходим в веб-интерфейс phpMyAdmin. В отличие от интерфейса MAMP PRO он полностью русифицирован.
Выбор версии PHP и включение Zend Optimizer. Для PHP дополнительно можно выбрать уровень предупреждений и способ их вывода (на экран либо в лог-файл).
Вкладка управления клиентом DynDNS, позволяющим сопоставить вашему доменному имени ваш текущий IP адрес. Поддерживаются два провайдера DynDNS: dyndns.com и easydns.com. Чтобы воспользоваться клиентом, пользователю необходимо иметь учетную запись у одного из этих провайдеров. Клиент может запускаться как одновременно с Apache, так и при старте операционной системы.
Базовые настройки сервера Postfix для отправки писем с вашего локального сервера.
HOSTS
В MAMP PRO можно создавать сколько угодно виртуальных хостов, список которых будет отображаться в левой части вкладки «General». Создать новый хост довольно просто: достаточно добавить новый хост в общий список, дать ему название, и указать порт доступа и папку на жестком диске, где будут храниться данные этого хоста.
Для выбранного хоста можно настроить права доступа, как для папок, так и для файлов.
Расширенные настройки для выбранного хоста.
MAMP PRO дает прекрасную возможность поднять локальный веб-сервер без глубоких знаний о конфигурировании PHP, MySQL, Apache и необходимости уметь работать с Терминалом. Более того, ваш локальный сервер будет полностью независимым от системных программ, так что можно смело обновлять систему, не опасаясь, что локальный веб-сервер перестанет работать. Немного огорчает отсутствие модулей Perl и PostgreSQL, в то время как у других аналогов MAMP есть и то и друго (например, у популярного пакета Denwer для Windows). Он хоть и имеет такого же функционального графического конфигуратора, зато с наличием этих модулей у него все в порядке.
Источник