Windows. Железо. Браузеры. Безопасность. Операционные системы

Локальный web сервер для mac os. Локальный веб-сервер MAMP для Mac OS. Локальная установка WordPress

Сегодня мы поговорим о локальном веб-сервере, доступном как для Windows, так и для OS X. При этом его ключевая особенность - наличие простого и понятного интерфейса. Чтобы запустить сервер, не нужно быть бородатым администратором. Достаточно лишь вдумчиво прочитать инструкцию, и вы легко оживите локальную версию сайта.

Итак, встречайте MAMP и MAMP PRO. Первый - бесплатный, но с урезанными возможностями, которых всё равно хватит для большинства ваших потребностей. Второй - платный, он обойдётся в 4 000 рублей. Если после прочтения решитесь загрузить MAMP или купить MAMP PRO, добро пожаловать на сайт разработчика .

Сначала давайте поговорим о бесплатной версии MAMP, потому что именно с неё проще всего начать знакомство с локальным веб-сервером. Сразу после установки вы получите работоспособный веб-сервер с Apache, MySQL и PHP.

mamp.info

После запуска MAMP вы увидите простое меню из наиболее востребованных опций. Можно запустить или остановить веб-сервер, перейти на главную страницу веб-интерфейса или изменить какие-либо настройки. Настроить можно порты для Apache и MySQL, выбрать версию PHP и указать корневую папку вашего проекта. В целом даже с настройками по умолчанию можно начинать работать.


mamp.info

Возможностей по настройке MAMP PRO несравненно больше. Более того, MAMP PRO является надстройкой бесплатного MAMP, поэтому может быть установлен в любой момент без вреда для вашего текущего проекта. Если почувствовали, что бесплатная версия не даёт вам развернуться, то переезд не доставит хлопот.

Теперь быстро пройдёмся по отличиям MAMP PRO.

Разработчики делают ставку на дополнительную и рекомендуют запускать веб-сервер в MAMP PRO под записью www/mysql. Это особенно актуально в том случае, если компьютер постоянно подключён к интернету. Также полная версия позволяет включать или отключать отдельные модули Apache.


mamp.info

Дополнительные параметры MySQL также направлены на безопасность. Можно задать или изменить основной пароль MySQL, а также ограничить доступ к вашей базе извне. Также и для Apache, и для MySQL доступны логи ошибок, что может быть полезно. Примечательно, что в MAMP PRO полностью русифицирован интерфейс phpMyAdmin, а вот бесплатная версия этим похвастаться не может.

Есть у полной версии веб-сервера и поддержка Dynamic DNS. Можно сопоставить имя сайта и ваш текущий IP-адрес. Кроме того, имеется поддержка провайдеров dyndns.com и easydns.com. Достаточно иметь учётную запись у одного из них, чтобы воспользоваться поддержкой Dynamic DNS.


mamp.info

MAMP PRO позволит настроить отправку писем с вашего локального веб-сервера, если возникнет такая необходимость.

Платная версия отличается также возможностью создавать неограниченное количество хостов, прилагая минимум усилий. Иными словами, вы можете одновременно запустить несколько сайтов. Бесплатный MAMP ограничен всего одним.


mamp.info

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

На самом деле статей про то, как поднять локальный сервер (а тут речь зайдет конкретно об OS X) достаточно много. Но как и с меня постигло разочарование, когда я хотела просто воспользоваться инструкцией и не заморачиваться. Все же я не программист.

Меня не интересовали всякие дополнительные супер крутые все содержащие в себе программы типа MAMP. Они сожрут мне место на диске и наделают кучу непонятных папок. Я точно знала, что линуксоподобная OS X итак почти все в себе имеет, надо просто знать как этим воспользоваться. Но я и не думала, что мне так повезет! И я смогу поднять локальный сервер в любой папке (то есть моя структура проектов на диске не будет нарушена вообще).

Тут я опишу небольшую последовательность действий, которая позволила мне установить Wordpress в одной из выбранной мною (а не разработчиками супер программ, упомянутых выше) папке. Конечно локальный сервер нужен не только для WordPress, но я буду описывать конкретно мой случай.

Исходные данные

Для начала стоит отметить, что инструкция касается > OS X 10.10 (Yosemite) . На версиях ниже тоже скорее всего будет работать, но не гарантирую, что все в точности так же (это зависит от предустановок системы).

Теперь определимся что нужно установить, чтобы заработал локальный сервер. Это зависит от ваших целей:

  1. Если вам нужен сервер для html верстки (ну к примеру, для ajax, или чтобы потестить сколько запросов будет отправляться на сервер вашей версткой), то вообще ничего не нужно устанавливать. Смотрите раздел “Простой веб-сервер от Python”.
  2. Если вам нужно установить WordPress , то тут необходимо посмотреть требования этой CMS . На тот момент, что я устанавливала Вордпресс, это: PHP 5.4 и выше, MySQL 5.5 и выше, Apache модуль.

Инструкция

1. Устанавливаем все необходимое для сервера

Вводим в консоли:

type - a python

Должно показать что-то типа того:

python is /usr/local/bin/python python is /usr/bin/python

Откроется файлик, нужно найти строчку LoadModule php5_module libexec/apache2/libphp5.so (горячая клавиша для поиска текста в vi – ?) и раскомментировать ее (удалить # перед строкой).

MySQL вряд ли установлен. И тут в дело вступает лень. Чтобы ничего самим не скачивать, не устанавливать и не настраивать, просто выполняем скрипт, введя в консоли:

bash <(curl -Ls http://git.io/eUx7rg)

bash < (curl - Ls http : //git.io/eUx7rg)

Этот скрипт я нашла . Проверила, ничего ужасного с моим маком не сделал этот чей-то самописный скрипт, все как и обещано. А именно, он делает следующее:

  • Проверяет, установлен ли MySQL в системе
  • Скачивает последнюю версию MySQL
  • Устанавливает пароль для root, показывает пароль
  • Записывает пароль в файл на рабочем столе (мне это потом пригодилось, так как при установки я пароль конечно не записала)
  • Что-то настраивает, спрашивает не хотите ли вы еще что-то настроить (я просто ответила нет, мне это не интересно и не нужно)
  • Предлагает установить программу Sequel Pro (менеджер баз данных, полезная штука). Я ответила да и не пожалела.

Все, теперь перезагружаемся. И устанавливаем WordPress куда глаза глядят.

2. Поднимаем сервер и устанавливаем WordPress

Простой веб-сервер от Python

Помните, что этот вариант подходит только для теста верстки и других простых задач, где кроме HTTP запросов ничего не нужно. Если вам тоже нужно установить WordPress на локалку, листайте на раздел ниже.

1. Открываем консоль, переходим в нужную папку:

2. Набираем в консоли команду: python -m SimpleHTTPServer

В консоли появится надпись Serving HTTP on 0.0.0.0 port 8000 …

Теперь вводим в адресную строку браузера http://localhost:8000/какой-то_ваш_файл.html

Полноценный сервер на локалке + WordPress

1. Переходим в папку с предполагаемым WordPress для проекта:

2. Запускаем сервер с поддержкой PHP командой php -S 127.0.0.1:8000

3. Открываем программы Sequel Pro, вводим адрес, пользователя и пароль, соединяемся с нашим локальным сервером:

4. Создаем новую базу данных для WordPress в Sequel Pro.

5. Переходим по адресу http://localhost:8000/wp-admin/install.php , чтобы начать установку.

Ссылки по теме

How to use SimpleHTTPServer – немного о питон сервере
Install MySQL on OS X 10.9 Mavericks – подошло и для Yosemite

Существует множество способов развернуть локальный сервер на Mac OS X, но сама система уже содержит предустановленный веб-сервер Apache и интерпретатор PHP, которые необходимо активировать и настроить.

Данное руководство требует некоторых навыков работы с командной строкой и знания редактора nano, поэтому рекомендую прочитать хорошую книгу по основам работы с командной строкой и терминалом в Mac OS X .

Приведенный ниже материал является универсальным и будет полезен пользователям любых операционных систем.

Включить веб-сервер можно в настройках: Системные настройки > Общий доступ > включить службу Общий веб-доступ.

Если набрать в адресной строке браузера http://localhost/ , то сервер вернет страницу с текстом «It works!».

Команды для работы с Apache через командную строку:

sudo apachectl start | stop | restart

Ошибка Apache в Mac OS X 10.6.5 и выше

Следующая ошибка наблюдается при перезапуске Apache в Mac OS X 10.6.5 и выше, если попытаться перезапустить сервер через командную строку, Apache вернет ошибку:

/usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument

Необходимо внести изменения в скрипт apachectl (/usr/sbin/apachectl):

sudo nano /usr/sbin/apachectl

закомментируем строку 82:

ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"

и добавим под ней:

ULIMIT_MAX_FILES=""

Сохраняем скрипт и перезапускаем Apache.

Конфигурация Apache

Для конфигурации Apache необходимо открыть файл /etc/apache2/httpd.conf:

sudo nano /etc/apache2/httpd.conf

Переходим к строке 116 и подключаем PHP (необходимо раскомментировать строку):

LoadModule php5_module libexec/httpd/libphp5.so

Зададим свой каталог для локального сервера, поменяем путь к корневому каталогу в строке 168 и 195. После этих изменений корневым каталогом будет папка Сайты (Sites), находящаяся в домашнем каталоге пользователя.

DocumentRoot "/Library/WebServer/Documents"

DocumentRoot "/Users/имя_пользователя/Sites"

Аналогично заменим прежний путь в строке 195:

В строке 230 пропишем какие типы файлов и в какой последовательности должен обрабатывать Apache:

DirectoryIndex index.php index.html

В строке 264 можно задать место для хранения журнала ошибок Apache:

ErrorLog "/private/var/log/apache2/error_log"

Раскомментируем строку 469, чтобы подключить файл в котором будем записывать виртуальные хосты:

Include /private/etc/apache2/extra/httpd-vhosts.conf

Сохраняем все изменения в файле httpd.conf и перезапускаем Apache. Если перейти по адресу http://localhost/ , загрузится стартовая страница из папки сайты с приветствием "Ваш веб-сайт".

Проверим работоспособность PHP, для этого создадим в каталоге Сайты тестовый PHP-скрипт:

touch ~/Sites/index.php
sudo nano ~/Sites/index.php

и напишем сценарий, который покажет конфигурацию PHP:

Сохраняем файл index.php и вновь переходим по адресу http://localhost/ , должна открыться страница с информацией о версии PHP. Если по прежнему загружается страница приветствия, необходимо проверить настройки Apache (строка 230).

Конфигурационный файл php.ini находится в папке /private/etc/php.ini.defaults , его необходимо переименовать в php.ini:

sudo mv /private/etc/php.ini.default /private/etc/php.ini

Конфигурация виртуальных хостов.

Все проекты будут размещаться в каталоге пользователя Сайты (/Users/имя_пользователя/Sites/). Создадим в этом каталоге новую папку с названием test , а в ней файл index.php с тестовым скриптом. Локальный сайт будет открываться по адресу http://test/ . Переходим к командной строке и вводим следующие команды:

mkdir ~/Sites/test
cd ~/Sites/test
touch index.php
nano index.php

и добавим сценарий:

Теперь займемся конфигурацией виртуальных хостов. Для начала откроем файл /etc/hosts и добавим в исключения адрес локального сайта (http://test/). Переходим к командной строке:

sudo nano /etc/hosts

и добавляем строчку:

Добавим записи с конфигурацией нового виртуального хоста:

sudo nano /private/etc/apache2/extra/httpd-vhosts.conf

И в конец файла добавляем записи:

ServerAdmin DocumentRoot "/Users/имя_пользователя/Sites/test" ServerName test AllowOverride All Order allow,deny Allow from all

Сохраняем изменения и перезапускаем Apache. Теперь, если перейти по адресу http://test/ откроется страница с приветствием «Hello world!».

Все указания выше приведены с учетом моих вкусов и предпочтений, цель данного руководства разобраться с основными принципами конфигурации нативного Apache и PHP на Mac OS X. С огромным удовольствием выслушаю предложения и замечания по доступности изложенного материала.

Но это не значит, что на другой версии Mac OS X или XAMPP что то не будет работать.

Внимание! Инструкция делиться на 2 части. Обычно первая часть () выполняются один раз, а вторая () необходима как пример для каждого нового виртуального хоста.


Первичная настройка виртуального сервера

После установки XAMPP имеет только один адрес .

Для создания своих хостов необходимо изменить файл конфигураций /Applications/XAMPP/xamppfiles/etc/httpd.conf . Открываем его и переходим к строке 173, в этой строке измените параметр User daemon на User username , где username - имя пользователя в Вашей системе Mac OS X. Пример:

# # If you wish httpd to run as a different user or group, you must run # httpd as root initially and it will switch. # # User/Group: The name (or #number) of the user/group to run httpd as. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # User username Group daemon

# Virtual hosts Include etc/extra/httpd-vhosts.conf

Теперь нам необходимо сохраним работу без изменений. Для этого откройте файл /Applications/XAMPP/etc/extra/httpd-vhosts.conf и добавьте в конец этого файла следующий блок:

#localhost ServerName localhost DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs" Options Indexes FollowSymLinks Includes execCGI AllowOverride All Allow From All Order Allow,Deny

Сохраняем файл и закрываем его.

С первичной настройкой закончили.


Добавление виртуальных хостов

Для примера создадим тестовый виртуальный хост для сайта . Сначала создадим папку для файлов проекта, например: /Users/username/www/test.local и добавим в эту папку файл index.php с кодом:

#test ServerName test.local DocumentRoot "/Users/username/www/test.local" Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted ErrorLog "logs/test.local-error_log"

Внимание! Не забудьте изменить username на имя вашего пользователя в системе Mac OS X

Теперь нам необходимо добавить в файл /etc/hosts новый сайт. Для этого открываем терминал и выполняем команду:

Sudo nano /etc/hosts

Система запросит пароль администратора, после ввода пароля будет открыт файл /etc/hosts для редактирования, в конец файла добавляем следующую строку:

127.0.0.1 test.local

Перезапускаем Apache:

Все готово, открываем браузер и вводим в адресную строку , если все сделано верно, то в ответ Вы увидите примерно следующее:

То рано или поздно у вас возникнет желание или необходимость заняться разработкой под WordPress. Но редактировать код напрямую на вашем рабочем сервере — не очень хорошая идея, потому что если что-то пойдёт не так, то это сразу увидят все посетители вашего сайта. Чтобы избежать таких неприятностей и иметь возможность протестировать изменения или новые плагины, перед тем как применить их к продакшен сайту, необходима локальная среда разработки. Далее я расскажу, как локально установить WordPress на компьютер под управлением Mac OS X.

Поскольку, как и многие другие веб-приложения, WordPress для своей работы требует установленных, запущенных и корректно настроенных веб-сервера Apache , базы данных MySQL и интерпретатора кода PHP , то они же понадобятся и чтобы запустить WordPress на вашей локальной машине (имеется в виду на вашем компьютере, а не на удалённом сервере), которая станет выполнять функцию локального сервера, а также среды разработки.

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

Далее, запустив установщик MAMP_2.1.4.pkg , на шаге Installation Type , если вы точно уверены, что не будете пользоваться Pro версией, можно нажать на кнопку Customize , которая откроет окно, где можно снять чекбокс и таким образом не ставить Pro версию.

По умолчанию же она устанавливается вместе с бесплатной версией.

Завершив установку, самое время запустить MAMP, и первое, что мы увидим — это вот такое окно.

Изменяем номера портов

Но прежде чем жать Start Servers , я бы посоветовал зайти в настройки Preferences… и поменять номера портов сервера Apache и MySQL с тех, что выставлены по умолчанию: 8888 и 8889, соответственно, на стандартные 80 и 3306, что избавит нас от необходимости к адресу сайта каждый раз дописывать 8888 и упростит настройку доступа к базам MySQL. Это можно сделать, просто нажав на кнопку Set to default Apache and MySQL ports .

Запускаем Apache и MySQL сервера

Теперь всё готово для того, чтобы запустить ваш локальный сервер, нажав на кнопку Start Servers . Если не возникло никаких проблем, а обычно так и бывает, вы увидите, что красные лампочки напротив Apache Server и MySQL Server стали зелёными.

У вас или автоматически откроется в браузере стартовая страница MAMP или вы сами сможете её открыть кнопкой с неожиданным названием Open start page .

На этой странице можно найти всю необходимую информацию о конфигурации вашего сервера, а также получить доступ к инструменту администрирования баз данных MySQL phpMyAdmin , который нам вскоре понадобится.

Создаём базу данных

Теперь для установки WordPress нам осталось создать базу данных, для чего:

  1. откроем phpMyAdmin со стартовой страницы MAMP.
  2. В phpMyAdmin надо выбрать вкладку Databases ,
  3. в поле Create database ввести название базы данных, я их обычно называю по названию сайта, например site_dev ,
  4. и, наконец, нажать кнопку Create .


База данных готова, можно приступать непосредственно к WordPress’у.

Локальная установка WordPress

Скачиваем и распаковываем WordPress

  1. Чтобы установить WordPress, его надо скачать, например, здесь: последняя версия WordPress .
  2. Распаковать, переименовать папку из wordpress в название вашего сайта, например, site.dev .
  3. И поместить её в корень вашего веб-сервера, у MAMP по умолчанию это папка располагается по пути /Applications/MAMP/htdocs .


Далее необходимо повторить шаги стандартной установки WordPress . То есть, переименовать файл wp-config-sample.php в wp-config.php , открыть его в текстовом редакторе и указать имя базы данных, имя пользователя MySQL и пароль:

/** Имя базы данных для WordPress */ define("DB_NAME", "site_dev"); /** Имя пользователя MySQL */ define("DB_USER", "root"); /** Пароль к базе данных MySQL */ define("DB_PASSWORD", "root"); /** Имя сервера MySQL */ define("DB_HOST", "localhost");

Обязательно проверьте, что у вас в файле нормальные одиочные кавычки " (которые, на самом деле, называются апострофы, если выражаться технически точно).

Не знаю почему, возможно, криво копируется из браузера или люди редактируют конфиг в rich text редактооре, но судя по комментариям, часто апострофы превращаются в фигурные кавычки и PHP, который парсит конфиг, конечно же, не понимает такой формат, что приводит к тому, что WordPress не видит базу данных.

  • Не редактируете конфиги и код вообще в RTF текстовых редакторах (WordPad или TextEdit в RTF режиме) и текстовых процессорах (MS Word, Apple Pages).
  • Всегда при разработке в PHP включайте логирование и вывод на экран всех ошибок и нотификаций. Это сэкономит вам много времени и нервов.

После чего в браузере открыть адрес http://localhost/site.dev/ и завершить установку вводом необходимых данных и кликом по кнопке Установить WordPress .

Таким образом вы можете установить сколько угодно сайтов на своём локальном сервере, каждый в своей отдельной папке, и превратить свой Mac в полноценную среду для веб-разработки.