<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mac OS X Hints &#187; dscl</title>
	<atom:link href="http://macosxhints.ru/tag/dscl/feed" rel="self" type="application/rss+xml" />
	<link>http://macosxhints.ru</link>
	<description>узнайте больше прямо сейчас</description>
	<lastBuildDate>Tue, 31 Aug 2010 07:27:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Среда web-разработки на Mac OS X Leopard (часть 1)</title>
		<link>http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-1</link>
		<comments>http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-1#comments</comments>
		<pubDate>Wed, 30 Sep 2009 15:23:15 +0000</pubDate>
		<dc:creator>Rodion Baskakov</dc:creator>
				<category><![CDATA[Приложения]]></category>
		<category><![CDATA[Система]]></category>
		<category><![CDATA[dscl]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[MacPorts]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[web-разработка]]></category>
		<category><![CDATA[базы данных]]></category>
		<category><![CDATA[терминал]]></category>

		<guid isPermaLink="false">http://macosxhints.ru/?p=268</guid>
		<description><![CDATA[Сегодня я постараюсь подробно описать процесс сборки и инициализации баз данных MySQL и PostgreSQL на платформе Mac OS X. Начальные шаги для подготовки системы к сборке описаны здесь, так что если вы не выполнили описанных там шагов, вряд ли что-то получится.
Итак, приступим:








Сборка MySQL
Начнём мы с MySQL. В моём примере будет рассматриваться сборка версии 5.1.39 (последняя [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня я постараюсь подробно описать процесс сборки и инициализации баз данных MySQL и PostgreSQL на платформе Mac OS X. Начальные шаги для подготовки системы к сборке описаны <a href="http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-0">здесь</a>, так что если вы не выполнили описанных там шагов, вряд ли что-то получится.</p>
<p>Итак, приступим:</p>
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom:15px">
<tr>
<td align="center" width="50%"><a href="http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-1#MySQL"><img src="http://macosxhints.ru/wp-content/uploads/2009/09/mysql-logo.jpg" alt="Логотип MySQL" title="Логотип MySQL" width="195" height="100" /></a></td>
<td align="center" width="50%"><a href="http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-1#PostgreSQL"><img src="http://macosxhints.ru/wp-content/uploads/2009/09/postgresql-logo.jpg" alt="Логотип PostgreSQL" title="Логотип PostgreSQL" width="195" height="100" /></a></td>
</tr>
</table>
<p><span id="more-268"></span><br />
<a name="MySQL"></a><br />
<h3>Сборка MySQL</h3>
<p>Начнём мы с MySQL. В моём примере будет рассматриваться сборка версии 5.1.39 (последняя в ветке 5.1 на сегодняшний день), но принцип одинаков и для других версий. Также хочется отметить, что в моих примерах сервер MySQL будет установлен в директорию /usr/local, и все команды приведены с учётом этого пути, так что если вы решите устанавливать сервер в другую директорию, изменяйте предложенные в примерах команды в соответствии с необходимыми вам путями.<br />
Чтобы начать, необходимо скачать исходники MySQL нужной вам версии. Для этого нужно зайти на <a href="http://dev.mysql.com/downloads/mysql/5.1.html#source">эту страницу</a>, и в разделе "Sources" выбрать для скачивания один из пакетов. Распакуйте исходники из архива: это можно сделать при помощи встроенного в Leopard инструмента для работы с архивами (просто кликните по архиву два раза). Теперь переходим к сборке. <a href="http://macosxhints.ru/kak-zapustit-terminal-v-mac-os">Откройте Terminal</a> и перейдите в директорию с исходниками. Далее список команд, которые необходимо последовательно выполнить в терминале.</p>
<p>Для начала ознакомьтесь со списком конфигурационных параметров, которые оказывают влияние на сборку сервера базы данных. Это можно сделать, выполнив в терминале команду:</p>
<div class="terminal-quote">./configure &#45;&#45;help</div>
<p>Вы увидите огромный перечень параметров с описанием того, на что они влияют. Если раньше вам приходилось иметь дело с MySQL, вы поймёте, в чём дело. Если же нет, рекомендую подробнее почитать об этом на <a href="http://mysql.com">сайте MySQL</a>. Я не буду задерживаться на параметрах, перейдём к конфигурации исходников для последующей сборки. Лично я конфигурировал сервер со следующими опциями:</p>
<div class="terminal-quote">./configure &#45;&#45;prefix=/usr/local/mysql-5.1.39 &#45;&#45;enable-profiling &#45;&#45;with-charset=utf8 &#45;&#45;with-extra-charsets=all &#45;&#45;with-plugins=all</div>
<p>Этими параметрами я указываю, куда именно я хочу установить сервер, а также включаю ряд опциональных параметров.<br />
После того, как конфигурация успешно завершилась, запускаем компиляцию:</p>
<div class="terminal-quote">make</div>
<p>Запаситесь терпением, поскольку выполнение этой команды займёт довольно много времени. Посе завершения компиляции, необходимо выполнить команду установки от имени суперпользователя:</p>
<div class="terminal-quote">sudo make install</div>
<p>Если до этого всё было хорошо (очень на это надеюсь), теперь у вас установлен сервер MySQL, и необходимо выполнить пару шагов для завершения установки. Для начала запустите от имени суперпользователя команду создания ссылки на директорию с сервером (для удобства) и инициализации базы данных:</p>
<div class="terminal-quote">sudo ln -s /usr/local/mysql-5.1.39/ /usr/local/mysql && sudo /usr/local/mysql/bin/mysql_install_db</div>
<p>Теперь, если вы всё ещё находитесь в каталоге с исходниками (если нет, перейдите туда или измените указанную ниже команду), выполните следующее действие:</p>
<div class="terminal-quote">sudo cp support-files/mysql.server /usr/local/mysql/ && sudo chmod 700 /usr/local/mysql/mysql.server</div>
<p>Тем самым вы скопируете скрипт запуска сервера в каталог с установленным  MySQL и дадите права на его исполнение только владельцу файла (его мы изменим позже) либо суперпользователю.</p>
<p>Следующая команда установит пользователя mysql (он присутствует в системе Mac OS X Leopard сразу после установки) владельцем всех файлов установленного сервера:</p>
<div class="terminal-quote">sudo chown -R mysql:mysql /usr/local/mysql-5.1.39</div>
<p>Вот и всё, теперь осталось лишь запустить сервер. Для этого выполните команду:</p>
<div class="terminal-quote">sudo /usr/local/mysql/mysql.server <strong>start</strong></div>
<p>Если после выполнения этой команды вы увидите на экране слово <strong>SUCCESS</strong>, значит всё прошло успешно, сервер запустился. Чтобы остановить сервер, замените параметр <strong>start</strong> в команде, данной выше, на <strong>stop</strong>. Чтобы ознакомиться со всеми командами, доступными скрипту, запустите его без аргументов, и он выведен на экран доступный для использования список параметров.</p>
<p><a name="PostgreSQL"></a><br />
<h3>Сборка PostgreSQL</h3>
<p>Непосредственно сборка этой базы данных мало чем отличается от MySQL: всё те же ./configure, make и make install, но в зависимости от конфигурационных установок, вам может потребоваться установка дополнительных библиотек. Но обо всём по порядку.</p>
<p>Для начала необходимо скачать исходники: взять коды нужной вам версии можно <a href="http://www.postgresql.org/ftp/source/">отсюда</a>. В моих примерах будет рассматриваться сборка версии 8.4.1, но принцип тот же и для других версий, — единственное, что нужно будет делать, в случае, если вы используете отличную от моих примеров версию, — указывать правильные пути к файлам. Как и в случае с MySQL, описанном выше, устанавливать эту базу данных я буду в директорию /usr/local.<br />
Распакуйте исходники, запустите терминал и перейдите в появившуюся у вас директорию.</p>
<p>Список доступных конфигуратору опций вызывается командой</p>
<div class="terminal-quote">./configure &#45;&#45;help</div>
<p>Поскольку я буду собирать базу с поддержкой XML и XSLT, мне потребуется библиотека libxml2, отсутствующая в Mac OS X Leopard (хотя, могу и ошибаться, возможно она там есть, но довольно старая. В подробности не углублялся). Тут-то и потребуется наличие у вас MacPorts, об установке которого <a href="http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-0#MacPorts">я писал во вступлении</a>. Для того, чтобы установить в систему эту библиотеку, необходимо в терминале выполить следующую команду:</p>
<div class="terminal-quote">sudo /opt/local/bin/port install libxml2</div>
<p>После чего в вашу систему будет автоматически установлен ряд библиотек (gperf, libiconv, zlib), необходимых для установки libxml2, а так же нужная нам библиотека.<br />
Теперь приступаем к конфигурированию PostgreSQL</p>
<div class="terminal-quote">./configure &#45;&#45;prefix=/usr/local/postgresql-8.4.1 &#45;&#45;with-python &#45;&#45;with-libxml &#45;&#45;with-libxslt</div>
<p>Затем копиляция (она тоже небыстрая) и установка в систему:</p>
<div class="terminal-quote">make && sudo make install</div>
<p>Теперь предстоит проделать ряд манипуляций с системными пользователями, чтобы получить группу и пользователя, необходимых для работы PostgreSQL. В отличие от mysql, пользователь postgres в Leopard отсутствует. Его, конечно, можно создать при помощи пункта "Учётные записи" в Системных настройках, но тогда этот пользователь появится и в окне приглашения входа в систему, что вам, уверен, совершенно ни к чему. А потому придётся действовать через консольную утилиту dscl - Directory Service command line utility. Все команды, которые необходимо последовательно выполнить, я объединил в одну, так что для создания группы и пользователя с именем postgres, скопируйте указанную ниже команду и выполните её в терминале:</p>
<div class="terminal-quote">sudo dscl localhost -create /Local/Default/Groups/postgres PrimaryGroupID 123 && sudo dscl localhost -create /Local/Default/Groups/postgres RealName &quot;PostgreSQL Users&quot; && sudo dscl localhost -create /Local/Default/Users/postgres && sudo dscl localhost -create /Local/Default/Users/postgres RecordName postgres && sudo dscl localhost -create /Local/Default/Users/postgres UserShell /bin/sh && sudo dscl localhost -create /Local/Default/Users/postgres RealName &quot;PostgreSQL Server&quot; && sudo dscl localhost -create /Local/Default/Users/postgres UniqueID 123 && sudo dscl localhost -create /Local/Default/Users/postgres PrimaryGroupID 123 && sudo dscl localhost -create /Local/Default/Users/postgres NFSHomeDirectory /usr/local/pgsql</div>
<p>Поскольку у вас появился пользователь postgres, необходимо назначить его владельцем свежеустановленного сервера PostgreSQL. Для этого выполните команду:</p>
<div class="terminal-quote">sudo chown -R postgres:postgres /usr/local/postgresql-8.4.1</div>
<p>Теперь необходимо инициировать создание начальной данных структуры для сервера и указать серверу, где ему следует хранить данные. Сделать это надо от имени созданного вами пользователя postgres, но чтоб по много раз не переключаться, воспользуемся встроенными средствами системы:</p>
<div class="terminal-quote">sudo su - postgres -c &quot;/usr/local/postgresql-8.4.1/bin/initdb -D /usr/local/postgresql-8.4.1/data&quot;</div>
<p>Теперь завершающие шаги: сделайте симлинк на директорию с сервером (для удобства в будущем):</p>
<div class="terminal-quote">sudo ln -s /usr/local/postgresql-8.4.1 /usr/local/pgsql</div>
<p>И можете запускать свой сервер:</p>
<div class="terminal-quote">sudo su - postgres -c &quot;/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l /usr/local/pgsql/logfile&quot;</div>
<p>Чтобы остановить сервер, достаточно выполнить команду</p>
<div class="terminal-quote">sudo su - postgres -c &quot;/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/data -l /usr/local/pgsql/logfile&quot;</div>
<hr />
На этом заканчивается первая часть: установка баз данных. Приношу извинения за задержку материалов. Дело в том, что я заболел, так что сейчас мне немного не до компьютера. Остальные материалы опубликую после выздоровления.<br />
Очень надеюсь, что у вас не возникнет проблем со сборкой данных пакетов. Все вопросы и указания на ошибки в тексте, как всегда, можете публиковать в комментариях.</p>

	<h4>Связанные записи</h4>
	<ul class="st-related-posts">
	<li><a href="http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-4" title="Среда web-разработки на Mac OS X Leopard (часть 4 &#8211; последняя) (27 Октябрь 2009)">Среда web-разработки на Mac OS X Leopard (часть 4 &#8211; последняя)</a> (4)</li>
	<li><a href="http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-2" title="Среда web-разработки на Mac OS X Leopard (часть 2) (11 Октябрь 2009)">Среда web-разработки на Mac OS X Leopard (часть 2)</a> (25)</li>
	<li><a href="http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-3" title="Среда web-разработки на Mac OS X Leopard (часть 3) (18 Октябрь 2009)">Среда web-разработки на Mac OS X Leopard (часть 3)</a> (6)</li>
	<li><a href="http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-0" title="Среда web-разработки на Mac OS X Leopard (вступление) (28 Сентябрь 2009)">Среда web-разработки на Mac OS X Leopard (вступление)</a> (0)</li>
	<li><a href="http://macosxhints.ru/strannye-tryuki-s-razmerom-faia-v-finder" title="Странные трюки с размером файла в Finder (24 Февраль 2009)">Странные трюки с размером файла в Finder</a> (13)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://macosxhints.ru/sreda-web-razrabotki-na-mac-os-x-leopard-1/feed</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
	</channel>
</rss>
