Плохо что у Apple платный аккаунт на MobileMe, а иогда нужно хранить данные в сети для пользования ими из любой точки. Но если нет денег или нет кредитной карточки, которой можно оплатить аккаунт, то это не помеха если поставить…замечательную програму dotMac, которая позволит Вам совершать в:
10.5 “Leopard”
- .Mac prefpane
- iSync
- iDisk
- iDisk sync
- Backup
10.4 “Tiger”
- .Mac prefpane
- iSync support
- iDisk
- iDisk sync
- Backup
Но для этого нужно будет хорошо потрудится
1. Скачиваем dotmac
svn checkout dotmac.googlecode.com/svn/trunk ~/dotmac
2. Настраиваем Apache
И так создаем сервер на своей машине, для этого в Leopard всё есть (но Apache не правильно работает). Сначало сделаем backup изменяемых файлов Apache:
sudo cp /usr/libexec/apache2/mod_dav.so /usr/libexec/apache2/mod_dav.so.default
sudo cp /usr/libexec/apache2/mod_dav_fs.so /usr/libexec/apache2/mod_dav_fs.so.default
теперь качаем и разархивируем Apache в Home директорию:
cd ~
curl -O archive.apache.org/dist/httpd/httpd-2.2.6.tar.gz
gnutar -xzf httpd-2.2.6.tar.gz
Теперь пропишем патч для квоты dotmac, что бы он включил поддержку iDisk квоты
cd ~/httpd-2.2.6
patch -p1 < ~/dotmac/Patches/Apache/quota.patch.txt
patch -p1 < ~/dotmac/Patches/Apache/ampquotefix.patch
Далее сконфигурируем и установим пропатченные модули (с помощью CFLAGS устанавливаем поддержку всех платформ)
./configure CFLAGS='-arch x86_64 -arch i386 -arch ppc -arch ppc64' --enable-modules=most --enable-mods-shared=all
make
меняем оригинальные модули на патченные
sudo cp ./modules/dav/main/.libs/mod_dav.so /usr/libexec/apache2/mod_dav.so
sudo cp ./modules/dav/fs/.libs/mod_dav_fs.so /usr/libexec/apache2/mod_dav_fs.so
3. Настраиваем Perl
Тут ничего качать не надо, всё есть, так что будем настраивать.
Его вызываем следующим образом:
sudo su
cpan
он спросит, хотите ли настроить вручную, пишите no, все будет сделано автоматически
теперь строка ввода поменялась на cpan> значит можно устанавливать модули
install HTTPD::UserAdmin
install MD5
install XML::DOMcpan
на последней команде спросит, ставить ли в очередь зависимости, ответе yes.
Продолжаем
install HTTP::DAV
если Вы используете G4 или i386 процессор то добавте
install XML::LibXML
q
если у Вас G5 или Xeon процессор сделать следующие действия:
get XML::LibXML
look XML::LibXML
# perl Makefile.PL
# nano Makefile
нас перекинет обратно в баш, где нужно будет отредактировать /var/root/.cpan/build/XML-LibXML-1.66/Makefile.PL, в нем меняем -arch i386 -arch ppc на -arch ppc64 -arch x86_64 ( в 3 местах)
# make install
# exit
q
# exit
где # это команды Bash
4. Устанавливаем dotmac tree и Perl модули
копируем dotmac в нужный каталог
sudo cp -r ~/dotmac/server/var/www/dotmac /Library/WebServer/dotmac
sudo mkdir /Library/WebServer/dotmac/userxml/testuser
Теперь выставляем права на папки dotmac:
sudo chown -R www:www /Library/WebServer/dotmac
sudo chmod -R 755 /Library/WebServer/dotmac
sudo chown -R root:wheel /Library/WebServer/dotmac/private
sudo chown www:www /Library/WebServer/dotmac/private/iDiskUsers
5. Пароль Админа
Стандартный пароль администратора нужно заменить на что-нибудь защищенное и при этом легко запоминаемым для Вас
sudo htdigest /Library/WebServer/dotmac/private/iDiskAdmins idisk.mac.com admin
После чего система попросит ввести пароль и подтвердить его
6. Копируем измененные конфигурационные файлы
копируем файлы конфигурации dotMac и меняем права, что бы они грузились вместе с Apache
sudo cp ~/dotmac/extras/platform_specific/Leopard/dotmac.conf /etc/apache2/other/dotmac.conf
sudo chown www:www /etc/apache2/other/dotmac.conf
sudo cp ~/dotmac/extras/platform_specific/Leopard/httpd-ssl.conf /etc/apache2/other/httpd-ssl.conf
sudo chown www:www /etc/apache2/other/httpd-ssl.conf
теперь находим my $dotMacIPAddress = '###.###.###.###';
и меняем ###.###.###.### на свой IP
7. Проверяем Apache server
Для полной уверености перезагрузите компьютер. Проверяем Apache на правильность настройки через apachectl. Вы не должны увидеть ошибок! Если все же появились, то перейдите в Leopard Installation Guide #Troubleshooting|troubleshooting для поиска метода устранения их.
sudo apachectl configtest
Запускаем /Applications/Utilities/Console.app и проверяем LOG FILES > /var/log > apache2 для просмотра выполнения сервера Apache. Запустите сервер Apache используя System Preferences > Sharing включаем Web Sharing. У Вас не должно быть никаких ошибок и предупреждений в Console.app.Если все же появились, то перейдите в Leopard Installation Guide #Troubleshooting|troubleshooting для поиска метода устранения.
8. Настраиваем hosts на клиентской машине
Сейчас будем обманывать .mac, что бы он не лез на Apple's .mac сервер. (Помните что у сервера должен быть статический IP адрес). На каждой клиентской машине, необходимо отредактировать hosts файл, что бы он не лез на DNS сервер для настоящего адреса сервера .mac. Открываем /etc/hosts файл используя nano или любой другой текстовый редактор.
sudo nano /etc/hosts
Переходим в конец файла и вписываем (меняя ###.###.###.### на свой IP):
###.###.###.### www.mac.com syncmgmt.mac.com idisk.mac.com configuration.apple.com lcs.mac.com certinfo.mac.com delta.mac.com notify.mac.com publish.mac.com homepage.mac.com
###.###.###.### www.mac.com. syncmgmt.mac.com. idisk.mac.com. configuration.apple.com. lcs.mac.com. certinfo.mac.com. delta.mac.com. notify.mac.com. publish.mac.com. homepage.mac.com.
Сохраняем (ctrl-o) и выходим (ctrl-x). Вам не нужно перегружаться для входа в силу этих изменений, но нужно очистить DNS кэш системы, следующей командой:
Mac OS X 10.5 Leopard:
sudo dscacheutil -flushcache
Mac OS X 10.4 Tiger:
lookupd -flushcache
9. Создание аккаунта
Для каждого пользователей прийдется создавать аккаунт вручную через iDiskAdmin веб-форму, для установки пароля и квоты.
Скопируйте образец папки iDisk в USERNAME iDisk папку:
sudo cp -r /Library/WebServer/dotmac/skel /Library/WebServer/dotmac/idisk/USERNAME
sudo chown -R www:www /Library/WebServer/dotmac/idisk/USERNAME
Используя Safari, зайдите на configuration.apple.com/idiskAdmin под админом и создайте новый пользовательский аккаунт USERNAME и установите квоту.
Перезапустите сервер:
sudo apachectl graceful
10. Настройка клиентского сертификата
dotMac сервер предоставит сертификат, который клиент должен подтвердить и установить перед подключением к .mac. Этот сертификат необходимо, вручную, добовить в список доверительных сертификатов для каждого клиента.
Используя Finder, подсоеденитесь (cmd-k) к idisk.mac.com/USERNAME
Вам предложат подтвердить сертификатe. Выберите Show Certificate и перетащите иконку сертификата на Рабочий стол для создания dot.mac.com.cer файла.
Откройте /Applications/Utilities/Keychain Access.app а выберите login keychain (если это необходимо, щелкните на кнопке Показать Keychains внизу слева). Перетащите сертификат с Рабочего Стола на Keychain Access и выберите Always Trust when prompted.
11. Настройка клиента .mac
Открываем System Preferences > .mac и вбиваем имя и пароль.
иногда может понадобиться перезапустить dotMac сервер
12. Готово!
Теперь у Вас полноценный .mac аккаунт с поддержкой iDisk и iSync
Теперь можно удалить исходники Apache и dotMac
rm -r ~/httpd-2.2.6
sudo rm -r ~/dotmac
Возможные проблемы
Если у вас возникли проблемы, попробуйте запустить Sudo apachectl configtest и просмотреть в Console.app лог ошибок и найти способы решения проблем с вашей конфигурацией Apache и модулями. Много проблем рассмотрено на сайте dotMac.
Симптом: Ошибка старта/теста сервера Apache из-за DAVSATMaxAreaSize.
org.apache.httpd90519 $parms->add_config() has failed: Invalid command 'DAVSATMaxAreaSize', perhaps misspelled or defined by a module not included in the server configuration at /System/Library/Perl/Extras/5.8.8/darwin-thread-multi-2level/Apache2/PerlSections.pm line 203.\n
Проблема: Установленный Apache DAV модуль(и) (mod_dav.so and/or mod_dav_fs.so) не пропатчены, что бы поддерживать DAVSATMaxAreaSize. У Вас установлен не корректный Apple update для сервера Apache.
Решение: заново пропатчите, создайте и установите модули mod_dav.so и mod_dav_fs.so для Apache.
Симптом: Ошибка старта/теста сервера Apache из-за отсутствия картинок.
Can't load '/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/XML/LibXML/LibXML.bundle' for module XML::LibXML: dlopen(/Library/Perl/5.8.8/dacd rwin-thread-multi-2level/auto/XML/LibXML/LibXML.bundle, 1): no suitable image found. Did find:\n\t/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/XML/LibXML/LibXML.bundle: no matching architecture in universal wrapper at /System/Library/Perl/5.8.8/darwin-thread-multi-2level/DynaLoader.pm line 230"
Проблема: Модуль(и) которые Вы скомпилировали (mod_dav.so, mod_dav_fs.so or XML::LibXML) собраны не под Вашу архитектуру. Вы можете проверить это, используя следующую команду (замените соответствующие пути и имени файла).
file /usr/libexec/apache2/mod_dav.so
Решение: Вы должны быть уверены, что соответствующие флаги компилятора установлены верно. По умолчанию включены только i386 и ppc7400 (G4).
Готово!