Как локально установить WordPress на Mac при помощи MAMP

Mac OS X, Веб , ,

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

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

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

Это приложение называется MAMP, его название образовано от Macintosh, Apache, MySQL и PHP. Оно представлено в двух версиях: бесплатной и Pro. Для написания этой статьи я использовал бесплатную версию, потому что она содержит всё необходимое, а платная версия отличается только более гибкими настройками. Если вы случайно Windows пользователь, то есть аналог и для вас, который называется WAMP (только не используйте, пожалуйста Денвер, по-моему, в нём ужасно всё, начиная от сайта и заканчивая самим приложением).

Установка и настройка MAMP

Скачиваем и устанавливаем

Для того чтобы установить MAMP, его нужно сначала скачать, что можно сделать, например, по этой ссылке MAMP: Downloads.

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

По умолчанию же она устанавливается вместе с бесплатной версией.
Установка MAMP на компьютер
Завершив установку, самое время запустить MAMP, и первое, что мы увидим — это вот такое окно.
MAMP главное окно

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

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

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

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

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

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

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

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

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

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

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

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

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

Корневая директория веб-сервера MAMP
Далее необходимо повторить шаги стандартной установки 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.
WordPress установка на локальный компьютер

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

Установка WordPress завершена

55 комментариев к записи “Как локально установить WordPress на Mac при помощи MAMP”

  1. Спасибо большое за такую подробную инструкцию, все получилось быстро и легко :)

  2. За инструкцию спасибо!
    Но, повторил все действия дважды, второй раз вообще пунктик в пунктик, букавка в букавку! но на этапе запуска установки вордпресс, собственно линк http://localhost/site.dev/ выкидывает на страницу «Ошибка установки соединения с базой данных», не подскажите в чем трабла? лампочки зелененьким горят… :(

    1. Разобрался! по неизвестной для меня причине при смене имени базы данных символ ‘ поменялся на такой же только косой… вот така фигня.

      1. Не успел ответить, но рад, что у вас всё получилось!

        Да, когда перепутаны похожие символы, бывает сложно понять в чём дело.

  3. За инструкцию спасибо!
    Но, повторил все действия дважды, второй раз вообще пунктик в пунктик, букавка в букавку! но на этапе запуска установки вордпресс, собственно линк http://localhost/site.dev/ выкидывает на страницу «Ошибка установки соединения с базой данных», не подскажите в чем трабла? лампочки зелененьким горят… :(
    тоже самое и не разобрался

    1. М-м-м, проверьте в файле конфига wp-config.php кавычки вокруг имени базы, хоста, логина и пароля:

      
      define('DB_NAME', 'site_dev');
      define('DB_USER', 'root');
      define('DB_PASSWORD', 'root');
      define('DB_HOST', 'localhost');
      

      А также можно посмотреть лог /Applications/MAMP/logs/mysql_error_log.err и пообновлять страницу с ошибкой, может в логе будет сообщение об ошибке, которое объяснит в чём дело.

      Если не поможет, попробуем придумать что-нибудь ещё, чтобы решить проблему.

        1. Не работает в смысле, что сам апачи не стартует или он стартует, но в браузере не открывается на 80-м порту?

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

            1. Здравствуйте,

              по идее, так: sudo apachectl stop

              Если в ответ будет: launchctl: Error unloading: org.apache.httpd, значит он уже выключен.

  4. Сделал все по пунктам, но пишет что ошибка соединения. Вот лог
    [11-Dec-2013 14:26:02 Europe/Berlin] PHP Strict Standards: Non-static method sqlite::getDbVersion() should not be called statically, assuming $this from incompatible context in /Applications/MAMP/bin/SQLiteManager/include/SQLiteAutoConnect.class.php on line 12

    помогите пожалуйста.есть Server из Appstore

    1. Проверьте, пожалуйста, на каком порту у вас работает MySQL? Это отображается на странице http://localhost/MAMP/index.php
      Если порт отличается от 3306, то это необходимо указать в конфиге wp-config.php
      /** Имя сервера MySQL */
      define('DB_HOST', 'localhost');

      А также вот это: http://ixrevo.me/local-wordpress-with-mamp/#comment-66

      1. Файл конфига верен.кавычки исправлены,порт прописан.Не запускается сервер апаче именно.индекс.пхп отсутствует в мамп соответственно открыть я его не могу

        1. апач и мускуль работают.индекс открывается.но пишет что ошибка соединения с БД

          1. Спасибо большое) Все получилось) Выскочило окошко с вордпрессом) Есть ли инструкция для Мудла Ваша?) Хотя мне кажется что она аналогично. И вот еще вопрос. Может ли МАМП
            держать 2 сайта одновременно?

  5. Добрый вечер сделал все как пишите но у меня пишет такое!
    Подключение к серверу было успешным (это означает, что имя пользователя и пароль верны), но мы не смогли выбрать базу данных halturin.ru.

    Вы уверены, что она существует?
    Имеет ли пользователь root права доступа к базе данных halturin.ru?
    В некоторых системах имя базы данных дополняется именем пользователя в виде префикса, получается что-то вроде username_halturin.ru. Возможно, причина в этом?
    Если вы не знаете, как настроить доступ к базе данных, следует обратиться к хостеру. Если и после этого вам понадобится помощь — всегда можно посетить Форумы поддержки на русском языке: неофициальные первый и второй, или официальный русский..

    что делаь??

      • Проверьте, что вы создали базу данных. Это можно сделать в phpMyAdmin, который можно открыть со стартовой страницы MAMP.
      • Убедитесь, что вы правильно указали имя базы данных.

      Странно, что в имени базы данных у вас присутствует точка, это может быть причиной проблемы.

  6. Добрый день! «Если не возникло никаких проблем, а обычно так и бывает, вы увидите, что красные лампочки напротив Apache Server и MySQL Server стали зелёными». Вот видимо у меня возникли проблемы, потому что лампочки не стали зелеными.
    140205 11:51:59 [ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.
    140205 11:51:59 InnoDB: The InnoDB memory heap is disabled
    140205 11:51:59 InnoDB: Mutexes and rw_locks use GCC atomic builtins
    140205 11:51:59 InnoDB: Compressed tables use zlib 1.2.3
    140205 11:51:59 InnoDB: Initializing buffer pool, size = 128.0M
    140205 11:51:59 InnoDB: Completed initialization of buffer pool
    140205 11:51:59 InnoDB: Operating system error number 13 in a file operation.
    InnoDB: The error means mysqld does not have the access rights to
    InnoDB: the directory.
    InnoDB: File name ./ibdata1
    InnoDB: File operation call: ‘create’.
    InnoDB: Cannot continue operation.
    140205 11:51:59 mysqld_safe mysqld from pid file /Applications/MAMP/tmp/mysql/mysql.pid ended

    1. Добрый день, Дарья!

      Предположительно, судя по логу, MySql не зватило прав чтобы запуститься. Вообще, сложно предположить, почему так вышло.

      Вы когда запускали MAMP он спрашивал у вас пароль администратора?

  7. Сделал всё, как написано. Выдает такую байду:

    Not Found

    The requested URL /site.dev/ was not found on this server.

    не знаю, что делать. Всё перепроверил

  8. спасибо за подробную инструкцию!
    все сделал, но сервер не находил базу данных
    долго копался по форумам, и тут у вас наткнулся на коммент про ковычку
    посмотрел у себя и увидел что в пунктах имя бд, пароль и имя пользователя у меня везде кривые ковычки.
    исправил на прямые и всё заработало
    ps кривые кавычки были изначально
    Александ Сокол, предлагаю этот пункт внести в основное описание, что бы проверяли ковычки. Я с горем пополам потратил три дня на поиски решения проблемы, а проблема то была банальная)

  9. Большое спасибо за статью, Александр! Не подскажете начинающему Mac-сайтоустановщику, каким текстовым редактором пользоваться для работы с файлами? На Windows это Notepad++, а что выбрать на Mac? Создать path.php, изменить внешний вид темы, вот это всё… Заранее Вам благодарен.

  10. Добрый день, подскажите, как можно уже имеющийся сайт на WP пересадить на локальный хостинг для редакции, а затем обратно выложить?

  11. Здравствуйте!
    Благодарю за вашу статью. Часа три мучился -постоянно выдавало ошибку 404, пока не увидел в комментариях проблему с «кавычками».
    Как только их исправил всё заработало!!!

  12. можно все же уточнить:
    маска имени базы данных: ХХХ_dev
    соответственно папку WordPress, переименовываем в ХХХ.dev
    ?
    что является обязательным, а что- произвольным?
    или можно на этапе запуска скопировать вариант site_dev, а затем, после установки изменить и название сайта и логин и пароль?

    1. И базу данных и название директории с WordPress может быть каким угодно, как вам больше нравится или удобно. site_dev и site.dev я привёл просто в качестве примера.

  13. Добрый день! Скажите пожалуйста как избавиться от надписи localhost на адресной строке? И поменять например на (com.)?

    1. А у вас MAMP бесплатная версия или Pro?

      Если бесплатная, то вам необходимо отредактировать три файла.
      Первый: /Appliations/MAMP/conf/apache/extra/httpd-vhosts.conf. Там в одном из блоков надо поправить DocumentRoot, ServerName и ServerAlias, указав правильный путь к директории с вашим сайтом и желаемый адрес сайта.

      Затем в файле /Applications/MAMP/conf/apache/httpd.conf в районе строки 570 раскомментировать строку #Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf.

      И наконец, в Терминале открыть файл хостов: sudo nano /etc/hosts и добавить там строку 127.0.0.1 site_uri, где site_uri — это желаемый адрес сайта.

  14. Здравствуйте установил mamp на виндос

    при запуске сервера выдает ошибку
    Could not wait for starting of Apache child. Apache prent process id is: 2964

    Подскажите пожалуйста как выйти из этой ситуации ?

  15. Добрый день! Спасибо за статью, всё подробно и доступно…

    И уже счастье было так близко! Но я запустила параллельно ещё и видео-инструкцию и в какой-то момент поняла, что всё сломала. Удалила программу, очистила корзину, закачивала вновь несколько раз в итоге все попытки безуспешные — в момент пуска web-start выбрасывает на

    Сервер не найден. Firefox не может найти сервер http://www.localhost.com.

    Есть ли лекарство от этого?
    Заранее признательна!

  16. здравствуйте, не так много толковых мануалов в сети, вы создали исключительно понятный….теперь вопрос не праздный — как по фтп перекачать сверстанный сайт на хостера(как бы, теоретически я себе это представляю но?….если можно пошагово….спасибо

  17. Произвел все вышеописанное, но почему-то пишет: «Ошибка установки соединения с базой данных».
    Кавчки — правильные, имя базы данных без точки — совпадает.
    Аппач встроенный — выключен.
    Лампочки горят зеленым

      1. 150425 10:54:49 mysqld_safe Starting mysqld daemon with databases from /Applications/MAMP/db/mysql
        150425 10:54:50 [Warning] Setting lower_case_table_names=2 because file system for /Applications/MAMP/db/mysql/ is case insensitive
        150425 10:54:50 [Note] Plugin ‘FEDERATED’ is disabled.
        150425 10:54:50 InnoDB: The InnoDB memory heap is disabled
        150425 10:54:50 InnoDB: Mutexes and rw_locks use GCC atomic builtins
        150425 10:54:50 InnoDB: Compressed tables use zlib 1.2.3
        150425 10:54:50 InnoDB: Initializing buffer pool, size = 128.0M
        150425 10:54:50 InnoDB: Completed initialization of buffer pool
        150425 10:54:50 InnoDB: highest supported file format is Barracuda.
        150425 10:54:51 InnoDB: Waiting for the background threads to start
        150425 10:54:52 InnoDB: 5.5.42 started; log sequence number 1595675
        150425 10:54:52 [Note] Server hostname (bind-address): ‘0.0.0.0’; port: 3306
        150425 10:54:52 [Note] — ‘0.0.0.0’ resolves to ‘0.0.0.0’;
        150425 10:54:52 [Note] Server socket created on IP: ‘0.0.0.0’.
        150425 10:54:52 [Note] Event Scheduler: Loaded 0 events
        150425 10:54:52 [Note] /Applications/MAMP/Library/bin/mysqld: ready for connections.
        Version: ‘5.5.42’ socket: ‘/Applications/MAMP/tmp/mysql/mysql.sock’ port: 3306 Source distribution

  18. Синтаксическая ошибка в строке 23. Подскажите, в чем ошибка?

    /** Имя пользователя MySQL */
    define (‘DB_USER’, ‘root’);

    1. Первое что приходит в голову — это неправильные кавычки. Часто при копировании из браузера, при вставке кавычки заменяются на фигурные, а нужны обычные, которые как апострофы. Проверьте, кавычки, пожалуйста.

  19. Очень информативно, и кратко! Скажите еще пожалуйста, если я выполню эту инструкцию и создам сайт расположенный на Mac, будет ли у меня возможность редактировать его и добавлять новые статьи с Ipad?Если да то что для этого нужно?

Добавить комментарий