- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Кто делал свои установщики для своих PHP-скриптов, поймут, как важно делать эти установщики максимально простыми для пользователя. В идеале от пользователя не нужно требовать вообще никаких технических знаний. Рассуждая об этом, я пришёл к выводу, что лучше всего делать один-единственный PHP-файл, в который уже будет встроен архив будущего приложения, чтобы инсталлятор его распаковывал (а можно и не встраивать, а делать eval прямо со своего сервера).
Только вот таких решений очень мало, все идут накатанной дорожкой. Давайте обсудим?
Вопрос: кто что думает про это, у кого есть опыт разработки установщиков?
Мне удалось нарыть по теме следующее:
http://www.seocoder.org/2009/04/30/instalyator-php-skriptov-apdejty-skriptov/
http://habrahabr.ru/blogs/webdev/46443/ (есть дельные мысли в комментариях)
http://jijawi.org/ (пока нет даже бета-версии, но перспективно, IMHO)
Вот ещё древние и свежие классы со всем известного сайта:
http://www.phpclasses.org/browse/package/2192.html
http://www.phpclasses.org/browse/package/715.html
http://www.phpclasses.org/browse/package/5373.html
Кроме того, я знаю пока только одну CMS, установщик которой выполнен по такой схеме:
http://irokez.org/
Но наверняка есть и другие решения.
Пишите, высказывайтесь, делитесь ссылками!
BrokenBrake добавил 20.10.2009 в 14:16
+ дополнительно в будущем думаю предоставить пользователям возможность автоустановки дистрибутива по FTP. Что скажете? Будет ли востребовано, какие проблемы могут всплыть?
Имхо нельзя написать универсального установщика. Востребовано - полюбому будет, а вот насчет реализации я сильно сомневаюсь.
90% установщиков требуют ввести обязательные начальные данные:
1) локальный путь
2) веб путь
3) конфиг базы данных
4) аккаунт админа
Тут что автоустановщик, что - нет, данные все равно придется вводить. А значит пользователю придется смотреть инфу, создавать базу (нельзя же расчитывать на create database).
В итоге от автоустановщика, остается только простая скачка дистрибутива и распаковка.
Вообщем теже яйца, только в профиль.
Лично я, никогда бы не воспользовался автоустановкой скрипта от разработчиков.
Аля есть форма у них на сайте, где вводить базу, пути, аккаунт и ихний скрипт ставит на твой сервер скрипт и настраивает его.. Как-то это небезопасно чтоли или как-то так, доверия не внушает.
В идеале от пользователя не нужно требовать вообще никаких технических знаний.
Правильные установщики спрашивают "как установить быстро (с настройками по умолчанию) или долго (сам настройки вбиваешь)". Лично меня, для php скриптов устраивает один файл с говорящим названием (config.php итд) и хорошими комментариями к каждой строке.
1) локальный путь
2) веб путь
А смысл? Из PHP-скрипта можно без проблем определить эти данные, на кой чёрт кошмарить пользователя? IMHO, просто так типа принято, ну и инерция, разработчики не думая повторяют шаблонные решения.
3) конфиг базы данных
Опять же, какие проблемы? Можно ввести конфиг и даже сохранить в PHPшном конфиг-файле.
4) аккаунт админа
См. выше.
Создавать базу нужно, когда приложение в ней нуждается, но это не всегда так. Я вот сейчас делаю продукт, для которого БД будет лишней, нет смысла просто усложнять.
Как-то это небезопасно чтоли или как-то так, доверия не внушает.
Насчёт установки по FTP да, вопрос доверия самый острый.
Правильные установщики спрашивают "как установить быстро (с настройками по умолчанию) или долго (сам настройки вбиваешь)".
А можно пару примеров таких установщиков? :)
Тормоз, или я чего-то не понял или...
Вот возьмём тот же Вордпресс. Думается мне, что его простейшая установка сыграла немалую роль в превращении CMS в конструктор для домохозяек.
По этому же пути пошли многие разработчики.
Или это сложный установщик и ты изобретаешь более простое? (Хотя куда уж проще)
И я подписываюсь.
А дыр то сколько???
Кроме того от чьего имени ставить????
Типа залили файлы в папку и в веб-интерфейсе (оптимальный по простоте путь) обратились к файлу install. (От имени www-data)
Дык это с самого начала дыра...
А если мудрить с правами - то этот установщик уже "не для всех"...
Так что (сугубое ИМХО) сама идея в принципе страдает одним серьезным недостатком...
А смысл в том что данные полученные скриптом, могут не совсем верными быть.
Например если я не хочу ставить скрипт в корень, а хочу в папку, а эту папку я алиасом привязываю к другому месту...нифига скрипт не определить мою криворукость.
Или же у меня стоит древний плеск, при котором файлы залитые по фтп нельзя редактировать с правами апача и наоборот..
Кстати, а как решать проблему прав? Где-то нужно 755 ставить, где-то 644 и т.д.
У меня например есть дешевый хостинг, там поставлен сейф-мод, бэйс-дир, отключено дохрена функция (gz*) и отрублены на уровне фаервола исходящие коннекты.
В принципе у меня там стоит форум и cms публичные, а ваш скрипт/установщик потянут все эти условия?
Дык это с самого начала дыра...
Почему? Можно с аргументами?
Например если я не хочу ставить скрипт в корень, а хочу в папку, а эту папку я алиасом привязываю к другому месту...нифига скрипт не определить мою криворукость.
Я же пишу про установщик для обычных пользователей. Если вы хотите мудрить, вы всё равно найдёте способ это сделать :) Смысл в том, чтобы пользователь мог установить скрипт без правки конфигов и ручной распаковки.
Кстати, а как решать проблему прав? Где-то нужно 755 ставить, где-то 644 и т.д.
Вот про это я тоже хотел бы поговорить отдельно. Вроде как в tar.gz сохраняются права у каталогов, так что если мы распакуем архив, то и права какие надо будут.
У меня например есть дешевый хостинг, там поставлен сейф-мод, бэйс-дир, отключено дохрена функция (gz*) и отрублены на уровне фаервола исходящие коннекты.
Значит на этом хостинге такой установщик не будет работать. Учитывая, что продукт, для которого я делаю его без исходящих коннектов работать всё равно не будет - не страшно. Это сейчас нужно во многих проектах.
Мне кажется всё просто
1. пакуешь чистый сайт архив
2. создаешь install.php через него собираешь всю инфу, с помощью php распаковываешь архив, в install.php форма, в которую указываются данные подключения к бд, собираешь все данные $_SERVER и $_POST и далее дело техники, выполняешь что необходимо.
ИМХО, всё просто.
А с единым файлом - не везде прокатит, а если blank site весит 20-30-100мб ?
Вот эти обычные пользователи и не будут мудрить, им хостер даст фтп и все. А потом начнутся проблемы, а у меня того нету, а тут это не разрешено и т.д. Да и к тому же, не везде можно будет распаковать tar.gz средствами пхп.
по-моему, проще залить дистрибутив, но в install.php сделать первоначальные настройки