WackoWiki: WackoДокументация/ПолноеРуководствоПодWindowsXP ...

Home Page | Изменения | Новые Комменты | Пользователи | Каталог | Регистрация | Вход:  Пароль:  

Установка и наладка WacoWiki в Windows XP 

Очень подробная инструкция, специально для чайников (читать, только под музыку Вивальди)


Оглавление документа

Кикбоксинг с Apache 2

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


Итак:
Берём самый последний дистрибутив под Windows, он будет здесь. http://httpd.apache.org/download.cgi
Скажу одно, не берите MSI Installer потом забодаетесь вязать его с PHP. Я же, взял вот этот файл: httpd-2.2.2-win32-x86-ssl.zip на момент установки он был самым свежим.
Его нужно распаковать в папку Apache2 или как вы там назовёте, в корневой каталог какого угодно диска. Вообще, желательно, чтобы для вашего проекта был отдельный диск, но на диске C: тоже будет работать неплохо.


В папке C:\Apache2\conf есть файл конфигурации httpd.conf. Откроем его в Вордпаде или другом текстовом редакторе. И проверим всё ли в порядке. Поменяем где надо диск или путь, всё согласно нашему местоположению. Пробежитесь по файлу внимательным взглядом и поправьте если надо, следующие, ниже перечисленные строчки или раскоментируйте их, если перед строчкой стоит знак #

Оособо обратите внимание на строчку AllowOverride, потому что, по умолчанию там стоит AllowOverride None поправьте её на AllowOverride All. Эта команда, с радостью и рвением, будет тыкать носом Apache везде, где стоит файл .htaccess, а в Wiki таких мест предостаточно. В данном случае из этого фала загружаются правила поведения Сервера с каталогом где .htaccess стоит.
И тогда рекомендации из стандартного руководства по Wiki http://wackowiki.com/WackoDokumentacija/InstalljacijaPodApache?v=mlz отпадают, потому как Апач от этого сходит с ума и возникают проблемы с загрузкой страниц, да и картинок тоже, в бровзере.


Команду LoadModule rewrite_module modules/mod_rewrite.so нужно раскомментировать если она забита знаком #


ServerName localhost можно поправить на реальный IP адрес вашего сервера в сети, а он и будет таким на 100 процентов, если хочется юзать Вику, да и не только её, по сетке. Например, ServerName 192.168.0.1 тогда по сети можно будет вызывать так http://192.168.0.1/wiki (Тогда, соответственно и в конфигурационном файле Ваки wakka.config.php нужно поправить переменную “base_url” => "http://localhost/wiki/", на соответствующее, но это позже, Вака же у нас еще не стоит)


В DirectoryIndex по умолчанию не включено обращение к файлу index.php, так сделаем это, если не охота каждый раз дописывать столько букыв :) а вообще, можно застолбить себе на будущее удобств немерено, добавив все мысленные стартовые расширения, в пределах разумного, конечно. Командная строка преобразится и будет выглядеть вполне по научному:
DirectoryIndex index.html index.htm index.shtml index.php


Ну и конечно же, теперь его, Apache нужно запустить в систему, то есть установить в сервисы, чтобы стартовал комфортно вместе с системой. Для этого, запускаем CMD (для тех кто не в курсе что это: эмулятор DOS. Пуск/Выполнить/cmd ) и в черном окошке эмулятора DOS, заходим в папку с бинарниками Apache (у меня C:\Apache2\bin)


cd c:\Apache2\bin


втыкаем Apache в сервис командой


httpd.exe -k install


Ну и запустим его


httpd.exe -k start


Если всё нормально, то команда исполнится без всяких ругательств. Вообще, стартовать сервис можно из того места, где положено Пуск/Настрока/Панель управления/Администрирование/Службы, но воткнуть его туда можно только командой из DOS httpd.exe -k install По крайней мере я не нашел другого способа.
Проверьте в службах, всё ли правильно, появилась ли там строчка Apache2
Ну и состояние тоже, должно высвечивать слово «работает». Если это так, то поздравляю, с Апачем мы на половину разделались.
Можно ещё проверить для полного удовлетворения из Эксплорера такой командой:


http://localhost/
или
http://127.0.0.1/ что совершенно однозначно.


В окне появится скромное и лаконичное Its is work, или что-то подобное, по крайней мере понятно, что заработало. В любом случае, при возникших внештатных проблемах, отсылаю вас в файлы логов Апаче. Он сюда C:\Apache2\logs пишет access.log и error.log. И признаюсь, нигде не видел столь эротичного и откровенного чтива в жизни :) почитайте, насладитесь, может за одно и разберётесь с проблемой.


Но это еще не всё! Наша задача, сделать связку с PHP, иначе зачем мы все, здесь собрались?



Интимные подробности о PHP

Идём на родину PHP http://php.net/ и там берём любой релиз. Но учтите, более старые версии могут потом взбрыкнуться, когда попытаетесь связать их с MySQL. MySQL очень капризная штука.


Вобщем качаем PHP 5.x.x. Я пробовал и PHP 4.4.3, и PHP 5.1.4 оба работают нормально. PHP 4.0 тоже работает но со старой версией MySQL. Учтите, что вы должны взять сразу два файла оттуда: стандартный инсталятор PHP 5.1.4 installer и PHP 5.1.4 zip package. Дело в том, что инсталятор не имеет всех файлов для нормальной работы, что есть в зипе, но зато хорошо привязывает PHP к системе. Не понимаю, начорта разработчики так сделали, ну и бог с ними, им виднее. Да! Пока не забыл, еще нужно скачать модуль php5apache2.dll-php5.1.x.zip для связки Apache 2 с PHP вот здесь http://www.apachelounge.com/download/ Модуль что есть в наличии в самом PHP вообще не годится. Я над этим просидел, между прочим, два дня.


Запускаем инсталятор и он должен создать папку C:\PHP или там где вы укажете инсталятору. В систему он станет нормально, но как говорилось выше, не со всеми файлами что надо. Тогда распаковываем файл php-5.1.4-Win32.zip в это место C:\PHP


Идём дальше. Вот тот файл, что мне стоил двух дней жизни и почти довёл до самоубийства, распределяем следующим образом:


и качаем его. Это есть компилятор СИ от Микрософта, который хоть и бесплатен, но Бил Гейтс не включил его в стандартную поставку системы. Он нужен для того, чтобы связка Apache2-PHP всё же заработала. Запускаем только что скачанный инсталятор. Всё должно пройти стандартно и без лишней пыли. Всёж-таки Микрософт, не хухры-мухры.
Вот тут начинается самое интересное. Шаманство, честное слово :) Идём в наш установленный и рабочий Апаче и начинаем его ломать. В папке C:\Apache2\conf находим старого знакомого, файл конфигурации httpd.conf, вот ему-то, родимому мы и будем выкручивать руки. Откроем WordPadом и в секции # Dynamic Shared Object (DSO) Support, там где все модули загружаются, ставим такие строчки:


Именно так, а не иначе. Слэши путей не меняйте на нормальное для Виндов, Апаче родом из Юникса и понимает только так. Ну разве что имена папок, что создавали по своему усмотрению и диски куда ставили дистрибутивы.
Если вы ставили php4.4 то покопайтесь на том же сайте http://www.apachelounge.com/download/ и найдите подходящую связку для него. Файл который нужен, называется php4apache2.dll-php4.4.x.zip. После распаковки найдите ReadmeFirst.txt, вот там-то, на чистом английском языке всё и написано, что я здесь, долго и нудно, втирал.
Самое главное! Не забывайте перезапускать сервис Apache в службах, после каждой правки httpd.conf да и php.ini тоже о котором пойдёт речь далее.
Если вы сделаете это сейчас же, то сервисная служба заматерится и не запустит Апаче, но не огорчайтесь, всё у нас еще впереди. Берёмся за долгожданный php.ini. Заходим в C:/php и... опа! Его там нет. Вот поэтому служба обижалсь и верещала, что не будет дружить с нами. Но файл php.ini есть и инсталятор PHP его «корректно» втиснул в папку C:\WINDOWS а мы Апачу указали на другое место, ну и ладно, копируем его оттуда. Или если лень ходить туда, (там, честно признаюсь, такой бардак) находим, точно такой же файл в папке C:/php, но он называется по другому php.ini-recommended. Переименнуем его, но по правилам хорошего тона, лучше его сдублировать и дубликат уже переименовать в php.ini. Начинаем в том же текстовом редакторе морочить голову уже ему. Прошвырнитесь по строчкам, так же как и в апачевом конфигурационном файле, найдите и поправьте что нужно.


engine = On для того чтобы пятая версия была совмесима с четвёртой, в частности простая конструкция вида <? ..... ?> уже не работает, потому что грамотнее, так <?php ...... ?>. Для Ваки это по барабану, потому что в ней всё путём, но для других приложений... да вы, пеной изойдетесь! Для той же цели команда zend.ze1_compatibility_mode = On


doc_root ="C:\Apache2\htdocs" я на всякий случай поставил. Кто их знает, разработчиков? Как они компилировали свой дистрибутив с параметром FORCE_REDIRECT или нет, а компилировать под винды я не умею сам, так что, от греха подальше, напрямую указал PHP где его место. Тоже самое и с остальными путями, нефик программе размышлять куды б втыкнуть.
Обязательно раскомментируйте extension=php_mysql.dll иначе с MySQLем не свяжетесь, к бабке ходить не надо. Строчка закомментирована, а сам же модуль преспокойненько лежит в EXT. Тут уж стоит сделать отступление: мне пришлось устанавливать и удалять 4 разных версии PHP и MySQL пока не догадался доки почитать :) ЧИТАЙТЕ ДОКИ ОНИ РУЛЕЗ! Зато почерпнул много полезного для себя, в частности, что 4.0 версии PHP вовсе не нужен этот модуль. Поддержка, таки, встроена в код, но он не работает со старшими версиями MySQL (НУ это отдельная тема, целого романа)
Вот пожалуй и всё. Можно сохранять изменения и дрожащими руками стартовать сервис Апача, он автоматом должен запустить PHP. проверяем:
Пишем небольшой код в любом текстовом редакторе. (Хотя, я рекомендую замечательную программу, целый процессор для построения кодов php EnginSite for PHP http://enginsite.com/php-editor.htm Ну, это для для желающих умереть программистами PHP)


<?
phpinfo
();
?>

Сохраяем его под именем proba.php в папке C:\Apache2\htdocs (кто еще не догадался, htdocs папка для всех WEB проектов ) и стартуем из бровзера http://localhost/proba.php
Работает! Вывалится красочный список того, что может и не может PHP.
На этом можно было бы закончить со связкой Apache с PHP, но я добавлю:
Когда писал эту статью, а именно сейчас я это и делаю, нарвался в php.ini на такую команду upload_max_filesize = 2M
Хмммм :) Тут на сайте многие рвут на голове волосы, по поводу, что Вака не признаёт файлов больше 2х мегабайт. Так вот где собака зарыта! Сам еще не проверял, но обязательно проверю, я вообще собирался Ваку использовать как удобное хранилище своих данных, а они не по две тонны весят.


MySQL и большой геморрой с ним


Как я и намекал ранее, что пятая версия у меня не пошла ни в какую. Вернее, она-то пошла, было всё замечательно, даже таблицы создавались, но Вака упёрлась, в момент, когда стала заносить данные в базу. Ну с этим еще стоит разобраться. уж очень соблазнительно поставить пятую версию.
Если кто ставил Ваку и на строчке добавления админа в базу Вака орала благим матом Adding admin user... FAILED: Hmm! Так вот, у этой проблемы как раз оттуда ноги растут. Версия MySQL пятая? Пятая. Ставь MySQL4.1 и нефик строить из себя. Плюс, ко всему прочему, не запускались другие скрипты, например, программа phpMyAdmin 2.7.0-pl2 (если кому интересно, то она здесь http://www.phpmyadmin.net/ очень порядочный администратор MySQL) но ему и положено, он для версий не выше MySQL 4.0. С этим тоже, еще разбираться придётся.
Сразу же появилась мысль понизить версию MySQL, что и было незамедлительно сделано. 3.5 и 4.0 не приняли пятого PHP. Понижаем и его, всё заработало как часы, но мы же в 21 веке живём! Хочется чтобы посовременнее всё было. Так что я постепенно дошел до связки php-5.1.4 и MySQL4.1.21


Лирические отступления о трудных буднях юзера окончены, теперь поговорим об установке. Ну она проста как три копейки, никаких наворотов как с PHP нет и не будет. Качаем MySQL Server 4.1 http://mysql.org/downloads/ Вам нужен этот файл mysql-4.1.21-win32.zip весит всего навсего 41 мегабайт. Оттуда же, очень советую, скачать программу MySQL GUI Tools (17.6 Мб) или попросту администратор. Можно конечно и без него, но там столько возможностей по контролю, подготовке и сохранению-восстановлению баз, что грех не пользоваться, тем более бесплатно.


Ставим всё по стандартному, по умолчанию localhost, единственное не забудем пароль администратора, то есть root, для сервера базы, а то напишем что попало, потом удалять придётся. А сервер не пустит к себе без пароля администратора. Удалять, сразу оговорюсь, трудно. Смешно конечно, делов то, взял и нажал uninstall. Ага! Аж два раза! Всё это, конечно, правильно, он удалится из системы, но из сервисов нет. Тогда ручками.


Итак MySQL Server 4.1 установлен. Он вообще втиснется в службы как миленький и даже запустится. Что значит умён – подлец!
Проверяем дёшево и сердито программой, что приведена ниже. Можно конечно, сразу Вакой и проверить, но программка, вообще-то, полезная для общего развития и понимания, как же этот гад, PHP взаимодействует с базами. Вот она:


<?
define
("DBName","test");
define("HostName","localhost");
define("UserName","root");
define("Password","");
// Разумеется, в Password забивается ваш пароль администратора MySQL

// Вот здесь, как раз это и проверяется
if(!mysql_connect(HostName,UserName,Password)) 
{  echo 
"Не могу соединиться с базой ".DBName."!<br>"
   echo 
mysql_error();
   exit; 
}
mysql_select_db(DBName);

// Создаем таблицу t. Если такая таблица уже есть,
// сообщение об ошибке будет подавлено, т.к. 
// используется "@"
@mysql_query("create table t(id int,a text)");

// Вставляем в таблицу 10 записей
for($i=0$i<10$i++) 
{  
$id=time();
   
mysql_query("insert into t(id,a) values($id,'Стр$i!')");
}   

// Выводим все записи
$r=mysql_query("select * from t");
for(
$i=0$i<mysql_num_rows($r); $i++)
{  
$f=mysql_fetch_array($r);
   echo 
"$f[id] -> $f[a]<br>\n";
}
?>


Но теперь пора бы, туда занести и базу Ваки. Можно всё сделать конечно, при помощи того же чёрного окна CMD, но не откажу себе в удовольствии ещё раз заявить: «Мы живём в 21 веке, черт возьми!» Вооружившись этой горделивой философской формулой бытия, ставим ту программу, что советовал MySQL GUI Tools. Инсталятор так прост, что поймёт даже кошка, научилась бы и на «Вискас» себе зарабатывала копеечку. Поэтому, ничего не скажу про установку.
Пользоваться ненамного сложнее, так что, та же кошка, имела бы по две банки консервов в день, администрируя базы данных MySQL. В общем за пяток минут разберётесь в интерфейсе и сможете сделать базу Wakka и юзера Wakka и расставить ему привелегии. Да что там эти привелегии ставить? В User Administation наступил на юзера Wakka и в закладке Schema Privileges выбрал базу Wakka, раздал все права, что есть в наличии одним кликом кнопки <<.


Всё.


А где же, обещанный геморрой, спросите вы? Геморрой еще будет, не радуйтесь. Вот начнёте сохранять базу, а потом её восстанавливать, он и появится. Потому что кодировки не совместимы. Пока пользуйтесь тем, что есть, а потом, когда приспичит предохраняться, вот тогда и поговорим.



Как поставить Ваку и чтобы нам за это ничего небыло


Здесь, конечно, нового не скажу, что есть в официальном руководстве по Ваке. Но сказать есть о чём. Поэтому раздел будет пополняться по мере сил.


КАК ПОСТАВИТЬ ДВЕ ВАКИ НА ОДИН СЕРВЕР.
Это очень просто. Сделайте две разных папки с Вакой в C:\Apache2\htdocs\ конечно же под разными именами, желательно по названиям ваших проектов, например, hotel и magia. Содержимое в них, всё те же Ваки, совершенно идентичные.
В MySQL создайте соответствующие базы hotel и magia ну и юзеров hotel и magia раздайте им привелегии каждому юзеру свою базу и пароли.
Затем по очереди запустите инсталятор Ваки для каждого проекта, всё стандартно, с отличием лишь, что впишите в поля где есть wakka, hotel или magia. Включая и префиксы wakka_ (используя нужную символику hotel_ или magia_) Вот и на здоровье, у вас уже есть две Ваки, да хоть сто!
Только, будьте готовы к тому, что во время добавления в личное меню одного проекта, тоже самое будет появляться и в другом. С природой этого загадочного явления я пока не разобрался, но будем надеяться, ничего серьёзного, всё поправимо.


Предохраняемся


Раздел ждёт своего часа. Здесь, по идее, будет разговор по сохранению вашей Ваки и всех наработок в ней. Вообще, люди мрут, а о винчестерах и говорить нечего.



Благодарности с занесением


А вообще эта Вака-Вика замечательная вещь, хоть и обладает таким ужасным редактором... всё форматирование вручную. Не удобнее ли для пользователя так: выделил текст и нажал правую кнопку, а там весь список правил форматирования. Хоть здесь и выведены многие функции на кнопки, но страшно неудобно для использования. Таблицы вообще не охота строить. В Ворде просто замечательно всё сделано. Построил таблицу и забивай данные, даже думать об этом не надо. Если бы Вака умела автоматически воспринимать коды форматирования Ворда и преобразовывать в свои, цены бы ей небыло. Тоже самое можно сказать и о HTML с PHP. Представьте, включаем в тело Ваки свои собственные страницы и коды, насколько выгоднее стали бы смотреться документы. Редактор, как отмечал выше совсем не дружественен с пользователем. Конечно удобно, два раза щелкнул на страницу и включился редактор. Так доработайте же! Чтобы стало совсем хорошо. Пусть страница и открывается в том месте, где щёлкнули. Потом сохранили документ, а он и открылся на том месте где редактировали. Я просто измаялся от этих неудобств. Пока найдёшь место где раньше редактировал, забудешь о чем была речь. Вот, такой камень в огород разработчиков. Но не обращайте внимания, это всего лишь брюзжание беспечного пессимиста, которым являюсь с рождения. Ребята, таки молодцы, проделали столь колоссальную работу. Я весьма и приятно удивлён таким грамотным и качественным продуктом, который к тому же распространяется даром.
С уважением, респектом и кисточкой к группе разработчиков, Инти Айа. http://zhurnal.lib.ru/i/inti_a/



 
Файлов нет. [Показать файлы/форму]
Много комментариев (5). [Показать комментарии/форму]
Donate
Время работы: 5.515 s
Использовано памяти: 2.890 Mb