Господа!
После установки форума на движке SFM столкнулся со следующими неудобствами. Этот форум устанавливается LOCALHOST, да еще на локальной машине. Не совсем понял, как это можно применить для ИНтранет сети. Дело в том, что в настоящее время для работы в Интранете использую Small HTTP Server Макса Феоктистова. Он очень удобен и прост для меня: возможность легкого применения e-mail и удобство обращения к страницам, т.е можно написать адрес как с http:\\ так и без него - все равно найдет!!! Денвер же жеско приваривает к названию, что накладывает ограничения при обучении (не очень удобно объяснять курсантам моменты ограничения). Кроме того Small HTTP Server и Денвер абсолютно не совместимы!!! Если вы знакомы с Small HTTP Server, то поймете мои проблемы. Как можно применить и использовать все это. Какой сервер лучше использовать, но со всеми "удобствами" (е-mail, корректное обращение по адресам)
Привет,
Ukraina :hiya:
ЦитироватьПосле установки форума на движке SFM столкнулся со следующими неудобствами. Этот форум устанавливается LOCALHOST, да еще на локальной машине. Не совсем понял, как это можно применить для ИНтранет сети.
[snapback]3034[/snapback]
Точнее говоря, форум устанавливается на сервер. С точки зрения сервера обращение к форуму (т.е. к самому себе) идет по адресу с именем localhost на порт 80 (по умолчанию). Для того, чтобы форум был доступен для других машин его надо ставить в папку с другим названием , скажем , forum.loc (поскольку по localhost каждый будет обращаться к самому себе). После этого останется небольшая задача "сказать" остальным компам что в "ура, в нашей сети появился форум". К этому форуму можно будет обращаться по IP адресу компа, но конечно же, по имени обращаться удобнее. Так вот, других надо оповестить, что комп с адресом, например, 192.168.0.10 отзывается на имя forum.loc . Эту задачу обычно выполняет сервер DNS, а в маленьких сетях, где такой сервер - роскошь, можно воспользоваться файлом hosts (http://wiki.compowiki.info/FajjlHosts). Кстати, Денвер сам заботится об этом файле на машине где установлен. На других надо соответственно этот файл дополнить новой записью.
ЦитироватьДело в том, что в настоящее время для работы в Интранете использую Small HTTP Server Макса Феоктистова.
[snapback]3034[/snapback]
При всем уважении к такому шедевру как Small HTTP Server , он все же остается именно Small. То есть, в нем нет встроенного php+mysql . А эти механизмы -
обязательное условие для установки почти всех движков форумов и сайтов.
ЦитироватьОн очень удобен и прост для меня: возможность легкого применения e-mail и удобство обращения к страницам, т.е можно написать адрес как с http:\\ так и без него - все равно найдет!!! Денвер же жеско приваривает к названию, что накладывает ограничения при обучении (не очень удобно объяснять курсантам моменты ограничения).
тут я не понял вопроса :huh: Приставку http:\\ вроде бы пишет сам браузер :idontknow:
ЦитироватьКроме того Small HTTP Server и Денвер абсолютно не совместимы!!! Если вы знакомы с Small HTTP Server, то поймете мои проблемы. Как можно применить и использовать все это.
А зачем быть совместимыми двум серверам? Все равно одновременно может работать только один. К тому ж, у каждого своя область деятельности.
ЦитироватьКакой сервер лучше использовать, но со всеми "удобствами" (е-mail, корректное обращение по адресам)
Лучше всего использовать Апач :) Вот только конфигурировать его я так и не научился. Поэтому по крестьянски юзаю разные наборчики типа all-in-one. Пользовался Денвером, как-то включал AppServ (http://www.appservnetwork.com/), сейчас юзаю xampp (http://www.apachefriends.org/en/xampp-windows.html). Настройка e-mail системы форума SMF возможна даже с использованием имеющегося где-то почтового ящика с SMTP сервером, я думаю, для небольшого форума этого может быть достаточно.
Приветствую!
Благодарю за совет.
Проконсультировавшись у Макса Феоктистова (автора Small HTTP Server) получил хорошую новость и убедился, что можно его продукт использовать, как совместимый с PHP/MySql!!!
Для еэтого снес Денвер, отдельно установил PHP4 (с настройками, рекомендованными Максом Феоктистовым) и MySql. После этого выполнил все условия установки SFM и все заработало.
Единственное есть проблемы: часто при обнавлдении страниц, регистрации, новой темы, выводиться страница с билибирдой с надписью в первой строчке типа ошибка скрипта и ошибкой обращения по адресу 127.0.0.1. Но надеюсь, что эта гадость исчезнет при установке системы на "нормальном" Интранете
ЦитироватьПроконсультировавшись у Макса Феоктистова (автора Small HTTP Server) получил хорошую новость и убедился, что можно его продукт использовать, как совместимый с PHP/MySql!!!
[snapback]3040[/snapback]
Никто и не сомневался что это возможно :) Только странно, что Макс Феоктистов не опубликовал инструкцию на своем сайте, ИМХО, это бы значительно увеличило популярность и универсальность его программы.
ЦитироватьЕдинственное есть проблемы: часто при обнавлдении страниц, регистрации, новой темы, выводиться страница с билибирдой с надписью в первой строчке типа ошибка скрипта и ошибкой обращения по адресу 127.0.0.1. Но надеюсь, что эта гадость исчезнет при установке системы на "нормальном" Интранете
Не надейся, если есть проблемы при работе на localhost , то при нагрузке другими компами этих проблем меньше не станет.
Проблемы с кодировкой заключаются в ненастроенных конфигах MySQL, PHP.
Можно настроить вручную, прописав кодировки, а можно использовать скрипт для исправления кодировки мускула:
// upgrade CHARACTER SET for MySQL 4.1.0 +
$conn = mysql_connect("localhost", "your login", 'your pass');
$printonly=false; //change this to false to alter on the fly
$charset="cp1251";
$collate="cp1251_general_ci";
$altertablecharset=true;
$alterdatabasecharser=true;
function PMA_getDbCollation($db)
{
$sq='SHOW CREATE DATABASE `'.$db.'`;';
$res = mysql_query($sq);
if(!$res) echo "\n\n".$sq."\n".mysql_error()."\n\n"; else
if($row = mysql_fetch_assoc($res))
{
$tokenized = explode(' ', $row[1]);
unset($row, $res, $sql_query);
for ($i = 1; $i + 3 < count($tokenized); $i++)
{
if ($tokenized[$i] == 'DEFAULT' && $tokenized[$i + 1] == 'CHARACTER' && $tokenized[$i + 2] == 'SET')
{
if (isset($tokenized[$i + 5]) && $tokenized[$i + 4] == 'COLLATE')
{
return array($tokenized [$i + 3],$tokenized[$i + 5]); // We found the collation!
}
else
{
return array($tokenized [$i + 3]);
}
}
}
}
return '';
}
?>
$rs2 = mysql_query("SHOW DATABASES");
if(!$rs2) echo "\n\n".$sq."\n".mysql_error()."\n\n"; else
while ($data2 = mysql_fetch_row($rs2))
{
$db=$data2[0];
$db_cha=PMA_getDbCollation($db);
if ( $db!='mysql' /* &&( $db=='mydb_x' || $db=='mydb_y' ) */ ) // limit to database(s) - $db=='mydb_x' || $db=='mydb_y' || $db=='mydb_z'
if ( substr($db_cha[0],0,4)!='utf8' ) // limit to charset
{
mysql_select_db($db);
$rs = mysql_query("SHOW TABLES");
if(!$rs) echo "\n\n".$sq."\n".mysql_error()."\n\n"; else
while ($data = mysql_fetch_row($rs))
{
//search indexes
$indexes=array();
$ind_names=array();
$rs_i = mysql_query("show indexes from $data[0]");
if(!$rs_i) echo "\n\n".$sq."\n".mysql_error()."\n\n"; else
while ($data_i = mysql_fetch_assoc($rs_i))
{
if($data_i['Index_type']=='FULLTEXT') {
$sq='drop index '.$data_i['Key_name'].' on '.$data[0];
if(!in_array($data_i['Key_name'],$ind_names)) {
if(!$printonly&&!mysql_query($sq)) echo "\n\n".$sq."\n".mysql_error()."\n\n"; else echo ($sq."\n");
$indexes[$data_i['Key_name']]=$data_i;
} else {$indexes[$data_i['Key_name']]['Column_name'].=', '.$data_i['Column_name'];
};
$ind_names[]=$data_i['Key_name'];
}
}
$rs1 = mysql_query("show FULL columns from $data[0]");
if(!$rs1) echo "\n\n".$sq."\n".mysql_error()."\n\n"; else
while ($data1 = mysql_fetch_assoc($rs1))
{
if(in_array(array_shift(split("\\(",$data1['Type'],2)),array(
//'national char',
//'nchar',
//'national varchar',
//'nvarchar',
'char',
'varchar',
'tinytext',
'text',
'mediumtext',
'longtext',
'enum',
'set'
)))
{
if(substr($data1['Collation'],0,4)!='utf8') // limit to charset
{
$sq="ALTER TABLE `$data[0]` CHANGE `".$data1['Field'].'` `'.$data1['Field'].'` '.$data1['Type'].' CHARACTER SET binary '.($data1['Default']==''?'':($data1['Default']=='NULL'?' DEFAULT NULL':' DEFAULT \''.mysql_escape_string($data1['Default']).'\'')).($data1['Null']=='YES'?' NULL ':' NOT NULL').';';
if(!$printonly&&!mysql_query($sq)) echo "\n\n".$sq."\n".mysql_error()."\n\n";
else
{
echo ($sq."\n");
$sq="ALTER TABLE `$data[0]` CHANGE `".$data1['Field'].'` `'.$data1['Field'].'` '.$data1['Type']." CHARACTER SET $charset ".($collate==''?'':"COLLATE $collate").($data1['Default']==''?'':($data1['Default']=='NULL'?' DEFAULT NULL':' DEFAULT \''.mysql_escape_string($data1['Default']).'\'')).($data1['Null']=='YES'?' NULL ':' NOT NULL').($data1['Comment']==''?'':' COMMENT \''.mysql_escape_string($data1['Comment']).'\'').';';
if(!$printonly&&!mysql_query($sq)) echo "\n\n".$sq."\n".mysql_error()."\n\n";
else echo ($sq."\n");
}
}
}
}
if($altertablecharset)
{
/*
$sq='ALTER TABLE `'.$data[0]."` DEFAULT CHARACTER SET binary";
echo ($sq."\n");
if(!mysql_query($sq)) echo "\n\n".$sq."\n".mysql_error()."\n\n";
*/
$sq='ALTER TABLE `'.$data[0]."` DEFAULT CHARACTER SET $charset ".($collate==''?'':"COLLATE $collate");
echo ($sq."\n");
if(!$printonly)
if(!mysql_query($sq)) echo "\n\n".$sq."\n".mysql_error()."\n\n";
}
foreach ($indexes as $ind)
{
$sq='create fulltext index `'.$ind['Key_name'].'` on `'.$data[0].'` ('.$ind['Column_name'].')';
if(!$printonly&&!mysql_query($sq)) echo "\n\n".$sq."\n".mysql_error()."\n\n"; else echo ($sq."\n");
}
}
if($alterdatabasecharser)
{
/*
$sq='ALTER DATABASE `'.$data2[0]."` DEFAULT CHARACTER SET binary";
echo ($sq."\n");
if(!mysql_query($sq)) echo "\n\n".$sq."\n".mysql_error()."\n\n";
*/
$sq='ALTER DATABASE `'.$data2[0]."` DEFAULT CHARACTER SET $charset ".($collate==''?'':"COLLATE $collate");
echo ($sq."\n");
if(!$printonly)
if(!mysql_query($sq)) echo "\n\n".$sq."\n".mysql_error()."\n\n";
}
}
}
?>
Логин и пасс в скрипте, естественно, прописываете свои. Скопируйте и исправьте логин с паролем, сохранив скрипт, допустим, под именем mysql_charset.php и залить его в корневой каталог www вебсервера и запустить его в браузере.
Возможно, что проблема заключена в прописанном в php.ini (как правило, он прописывается в системном каталоге WINDOWS) другой кодировки, так что исправьте строчки дефолтной латинской кодировки для отображения в браузере на win-1251.
Если что-то не поняли из моей писанины или не получается, или потерялись, то спрашивайте
Какая же сборка веб-сервера лучше? Это уже каждый решает для себя сам, учитывая цели, задачи и возможности. Моё мнение: самая лучшая сборка - это отдельная установка и настройка нужных компонентов (Apache + PHP + MySQL +...). Все основные составляющие распространяются абсолютно свободно, бесплатно и без ограничений. Мучительно будет казаться поначалу, но зато, благодаря ручной установке и самоличной настройке, вы приобретёте необходимые знания, понимание всей "кухни" и, самое главное, независимость и свободу.
Существуют готовые решения. Но, поймите, это всё равно немного не то... Взять, к примеру, Денвер. Да, он будет работать в локальной сети, но он категорически не приемлем для этого, так как он сконфигурирован так, что вы на добровольной основе широко распахиваете доступ к святая святых всех ушлых и охочих до взлома, это всё равно, что как вы ушли из дома, а ключик от квартиры даже под коврик не удосужились спрятать, а повесили прямо с замочной скважиной. Денвер, по предупреждениям разработчиков, рассчитан для локальной обкатки и отработки своих (или чужих) трудов без использования и зависимости от наличия Интернета.
Для использования и изучения в сети из полных пакетов готовой сборки могу посоветовать Apache2Triad ( http://apache2triad.net/ (http://apache2triad.net/) ) Пакет содержит Apache2 (веб-сервер) , MySQL (сервер БД) , PostgreSQL (сервер базы данных), OpenSSL , Xmail (e-mail cервер), SlimFTPd (FTP сервер), PHP , Perl и Python (скриптовые языки веб-программирования), Apache2TriadCP (контрольная панель администрирования сервера), PHPmyadmin (администрирование БД MySQL), PHPPgAdmin (администрирование БД PostgreSQL), AWStats (монитор веб-сервера), UebiMiau (е-mail client), PHPXMail (администрирование почтового сервера), PHPSFTPd (администрирование FTP-cервера).
Но самая лучшая сборка всё-таки ручная... Могу пошагово описать процесс установки и настройки, если кому актуально :)
ЦитироватьКакая же сборка веб-сервера лучше? Это уже каждый решает для себя сам, учитывая цели, задачи и возможности.
[snapback]3077[/snapback]
Мне Денвер нравился. Очень. Для работы со всякими разностями в офф-лайне. Потом оказалось, что на нём не все нужные разности работают (подозреваю, что с Денвером можно договориться, чтобы всё работало, но лень читать мануалы). Теперь скрипты чужие порчу исключительно в он-лайн режиме... Это не всегда удобно.
ЦитироватьМогу пошагово описать процесс установки и настройки, если кому актуально :)
[snapback]3077[/snapback]
Любопытно очень.
Цель - работа с cms-ами на локальном компе.
ЦитироватьДля использования и изучения в сети из полных пакетов готовой сборки могу посоветовать Apache2Triad
[snapback]3077[/snapback]
полез я посмотреть на эту триаду и за 5 минут не нашел линка на скачку. То ли туплю, то ли они его сныкали ... Дальше влом стало ковыряться .. так и ушел ... не солоно хлебамши :(
ничё не сныкали - всё работает! прямой линк http://sourceforge.net/project/downloading....4.exe&54848756 (http://sourceforge.net/project/downloading.php?group_id=93507&use_mirror=puzzle&filename=apache2triad1.5.4.exe&54848756)
и по моей ссылке ткнуть там на this direct link и начнётся запрос загрузки на сохранение
Цитироватьничё не сныкали - всё работает! прямой линк
[snapback]3099[/snapback]
аднака .... :newconfus: 90 с хвостиком мегабайт ... я весь в сомненьях :crazy: