Внес кучу мелких изменений, синхронизировал все свои движки (/, /blog, /dnevnik, binoniq.net).
В старых движках проблема с обновлением, но она решается штатным и специально предусмотренным для того средством — запуском аварийного /minstall.php (если движок настолько стар, что даже его нет, то скачайте).
Обновляя совсем старый корень lleo.me/ столкнулся с такими проблемам:
1) Забыл свой пароль (minstall.php его спрашивает отдельно). Пришлось залезть в config.php и обнулить переменную: $admin_hash1=""; Потом загрузить /install и задать заново. Далее все заработало: при помощи minstall.php обновил базовый пакет, потом запустил /install, и так далее.
2) В /install всё висло при попытке обновления (и даже не только обновление, а при попытке открыть на редактирование список пакетов basic). Напрасно я лазил в поисках глюков инсталлятора. Оказалось — давно и безнадежно засрался фидошный /fido/in/dup, а система лезла сканировать все файлы и ей становилось плохо. Даже Midnight Commander по ftp — и тот не открывал эту папку, вис. Почистил из консоли сервера. Не с первой попытки удалось — слишком много было файлов.
3) При обновлении через /install в какой-то момент все остановилось с ошибкой «Fatal error: /ajax/module.php Admin only! /ajax/module.php:1» Ничего страшного, это нормальный эффект при переходе на какую-то новую систему авторизации. Я перезагрузил страницу /install, снова вызвал инсталляцию, и с того же места всё продолжилось. Логиниться или восстанавливать доступ не пришлось, само все заработало.
В общем, в нынешнем состоянии движок выглядит вполне работоспособным и инсталлируемым.
Просьба, если найдётся пара минут: как настроить фидошную часть? Очень бы радовала возможность почту через веб-интерфейс читать, не лазая в консоль к серверу. :)
...связать ее по сети с Лушниковым - у него есть этот бинк...
...или найти аплинк-ноду, которая высылает бандлы по почте - с почтой движок тоже работает...
остальное уже проще - просто в конфиги прописать адрес и аплинк
Мне не понять, какие таблицы в базе созданы должны быть, чтобы модуль fido заработал.
Бандлы, при необходимости, что binkd притащит в локальную почту и сам сложить могу. :)
Откройте /fido/conf/config и пропишите ее там.
Там всё в конфигах есть.
set sqluser=lleo
set sqlpass=nfrjqgfhjkm
set sqlhost=localhost
set sqldb=fido
2. Если базы не создались сами... Окееей... Делаем таблицы ФИДО вручную. То есть - открываем руками файл /module/upgrade/sql.txt, дописываем туда нижеследующее. Затем открываем /install, и движок предложит создать новые таблицы.
-- --------------------------------------------------------
--
-- Структура таблицы `dupes`
--
CREATE TABLE `dupes` (
`area` varchar(80) COLLATE utf8_unicode_ci NOT NULL,
`msgid` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`crc` int(10) unsigned NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
KEY `area` (`area`),
KEY `crc` (`crc`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- --------------------------------------------------------
--
-- Структура таблицы `fidoecho`
--
CREATE TABLE `fidoecho` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`new` enum('1','0') COLLATE utf8_bin NOT NULL DEFAULT '0' COMMENT ' ',
`AREAN` int(10) NOT NULL,
`MSGID` varchar(50) CHARACTER SET armscii8 COLLATE armscii8_bin DEFAULT NULL,
`REPLYID` varchar(50) CHARACTER SET armscii8 COLLATE armscii8_bin DEFAULT NULL,
`SUBJ` varchar(72) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`FROMNAME` varchar(36) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`TONAME` varchar(36) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`FROMADDR` varchar(50) CHARACTER SET ascii COLLATE ascii_bin DEFAULT NULL,
`TOADDR` varchar(50) CHARACTER SET ascii COLLATE ascii_bin DEFAULT NULL,
`NUMBER` int(10) unsigned DEFAULT NULL,
`BODY` longtext CHARACTER SET utf8 COLLATE utf8_unicode_ci,
`RAZMER` int(10) unsigned DEFAULT NULL,
`DATETIME` datetime DEFAULT NULL,
`RECIVDATE` datetime DEFAULT NULL,
`ATTRIB` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `AREAN` (`AREAN`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=783503 ;
-- --------------------------------------------------------
--
-- Структура таблицы `fidoecho_num`
--
CREATE TABLE `fidoecho_num` (
`echonum` int(10) NOT NULL AUTO_INCREMENT,
`echo` varchar(80) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`echonum`),
KEY `echo` (`echo`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=579 ;
-- --------------------------------------------------------
--
-- Структура таблицы `fidomy`
--
CREATE TABLE `fidomy` (
`i` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`point` int(10) NOT NULL,
`arean` int(10) unsigned NOT NULL,
`id` int(10) unsigned NOT NULL,
`metka` enum('new','read') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'new',
PRIMARY KEY (`i`),
KEY `point` (`point`,`arean`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='личные сообщения пользователей' AUTO_INCREMENT=7424164 ;
-- --------------------------------------------------------
--
-- Структура таблицы `fidopodpiska`
--
CREATE TABLE `fidopodpiska` (
`i` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'просто ключ',
`point` int(10) NOT NULL COMMENT 'поинт',
`echonum` int(10) unsigned NOT NULL COMMENT 'номер эхи',
PRIMARY KEY (`i`),
KEY `point` (`point`,`echonum`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Таблица подписок поинтов' AUTO_INCREMENT=1494 ;
-- --------------------------------------------------------
--
-- Структура таблицы `fidopoints`
--
CREATE TABLE `fidopoints` (
`unic` bigint(20) NOT NULL COMMENT 'unic по базе движка',
`point` int(10) NOT NULL COMMENT 'Номер поинта (2:5020/313.point)',
`dostup` enum('read','write','writeall') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'read' COMMENT 'Уровень доступа к эхам',
`msg_new` text COLLATE utf8_unicode_ci NOT NULL,
`msg_reply` text COLLATE utf8_unicode_ci NOT NULL,
`datereg` int(10) unsigned NOT NULL COMMENT 'дата регистрации',
`datelast` int(10) unsigned NOT NULL COMMENT 'дата последнего обращения',
PRIMARY KEY (`unic`),
KEY `point` (`point`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
В любом разе пока не особо работает, хоть и интерфейс завёлся - создаёт лок-файл, и не формирует бандл на отправку даже нетмэйла. Буду копать дальше. :)
Свежие бандлы распаковывает, "открывает пакеты", но сообщает об "проблемах в тоссинге".
T 12 Mar, 16:05:42 Tossing file in/tmp/b8dd5720/20194003.pkt
c 12 Mar, 16:05:42 Opening packet in/tmp/b8dd5720/20194003.pkt
m 12 Mar, 16:05:42 Reading next message
m 12 Mar, 16:05:42 Reading next message
m 12 Mar, 16:05:42 Reading next message
c 12 Mar, 16:05:42 Closing packet
T 12 Mar, 16:05:42 Problems during tossing
Та же ерунда с нетмэйловыми пакетами от аплинка происходит.
После создания письма в локальную эху/нетмэйл достаточно долго (порядка минуты) остаётся открытой форма письма и "индикатор занятаости" (крутящаяся спираль из точек), при том, что в логе отмечается, что "тоссинг завершён".
P.S. Извиняюсь за назойливость. На самом деле некритично это всё, просто любопытно.
P.S.Как ты понимаешь - не заработало.
Во-вторых, надо разбираться. Рассчитано на все версии php, даже самые дремучие.
Версия-то как раз не дремучая. Свежеустановленная FreeBSD 10 и php из портов.
В встроенном редакторе периодически выдаётся сообщение об ошибке. После нажатия кнопки всё продолжает работать нормально, но при доступе с телефона весьма неудобно.
"Неизменно превосходный результат" - сообщения об ошибках есть.
a:5:{s:1:"s";s:1:"0";s:1:"n";s:1:"0";s:3:"ope";s:1:"0";s:1:"i";s:1:"1";s:2:"er";s:1:"0";}
Собственно, за ошибку отвечает er:1 (у меня включено)
var useropt={s:0,n:0,ope:0,i:1,er:0};
Скачал minstall.php, дал права папке, запустил, он создал папочки и файлы на сервере (на картинке). Спросил меня доступ к базе и имя с почтой. И всё...
Как видно, никакого отдельного /install нет. Пробую в адресной строке — улетаю на 404. Ткнул в княпу check. Оно мне выдало длинный список и внизу кнопку Update. Нажал. Ничего не изменилось.
Выпил кофе, почесал затылок, подумал, может minstall.php старый и нашёл этот пост. Нажал на «скачайте» во втором абзаце и он меня выкинул на страницу, где попросил пароль, но ничего не скачал, естественно.
Лёня, проведи меня, пожалуйста, по всем пунктам, чтобы встало оно всё.
Спасибо заранее.
Может, у вас не apache на хостинге?
Потому что если создался .htaccess (а /minstall.php этот файл должен создать), то ВСЕ запросы отныне перекидываются на index.php А он уже разберется, где /install, а где /asdasdasd - 404 not found
У меня на хостинге, если память не изменяет, Nginx. Хостер крупный и абсолютно всем меня устраивает.
.htaccess установщик не создал (видно по скриншоту) и я, конечно, понимаю всю его важность в процессе. Может быть его вручную туда подложить?
надо переадресовать все несуществующие (физически) страницы на index.php
Если на хостинге nginx вместо apache, следует в nginx.conf добавить инструкцию try_files $uri /index.php; для переадресации всех несуществующих файлов на index.php
В целом секция у меня выглядит так:
location / {
root /opt/www;
try_files $uri /index.php;
}
Я полагаю, хостер должен предоставлять для этого исправления какие-то средства, потому что задача переадресовывать несуществующие в природе файлы на скрипт движка - это одна из самых распространенных задач современного веба.
всего комментариев: 32