Запустить приложение Apache / PHP / MySQL (CakePHP) на USB-накопителе? - PullRequest
2 голосов
/ 28 октября 2009

У меня есть существующий CakePHP, который работает в среде LAMP, и мне нужно установить его на USB-накопитель для массового распространения.

Есть несколько требований:

  • Защита исходного кода
  • Установка не требуется
  • Необходима поддержка Windows
  • MAC & Linux будет бонусом
  • Должен работать в автономном режиме, без подключения к Интернету
  • Возможность синхронизации с сервером для передачи данных и обновлений

Я провел большое количество исследований вариантов, и мне интересно узнать, что думают другие разработчики.

Потенциальные решения: - Flash / XML - приложение Adobe AIR - USB веб-сервер (Server2Go, переносные приложения XAMPP)

Кто-нибудь использовал что-либо из вышеперечисленного, любые комментарии будут с благодарностью.

Спасибо

Ответы [ 5 ]

4 голосов
/ 28 октября 2009

Подобная тема здесь: Портативный USB-сервер

Если вы спросите меня, XAMPP должен подойти, потому что он предлагает "обычную распаковку" версию. Там много разнообразия - Bitnami также предлагает хороший набор стеков, хотя они могут не подходить для этой конкретной задачи.

Чтобы сохранить одинаковые сценарии как в Windows, так и в Linux, вы можете рассмотреть , используя UnxUtils , который является портом всех распространенных команд Linux. Это будет очень удобно, если вы хорошо разбираетесь в сценариях командной оболочки Linux, но плохо разбираетесь в пакетных файлах Windows .

Защита исходного кода немного хлопотна. Вы действительно, действительно должны сделать это? Потому что существует масса отличного открытого исходного кода, который уже делает практически все в большинстве обычных бизнес-доменов - sourceforge.net.

И если кто-то берет ваш код и называет его своим, вы можете просто назвать его в Интернете, если сможете это доказать. Это само по себе будет плохой рекламой для них. Тем не менее, я, очевидно, не знаю ваших конкретных потребностей. Так что это только мое мнение.

3 голосов
/ 28 октября 2009

У вас будут проблемы с этим, независимо от того, как вы это сделаете. Кажется, что каждый шаг немного более необычен.

Вам нужно будет использовать обфускатор исходного кода для защиты вашего источника. Я рекомендую Zend не из опыта, а потому, что Zend делает потрясающие продукты. Сам никогда не использовал защиту источника.

Вам потребуются три пользовательских установки LAMP / MAMP / XAMP, по одной для каждой целевой ОС. Они должны указывать на каталог, который является общим на USB-накопителе. Убедитесь, что вы сконфигурировали их для использования незащищенного порта, в противном случае пользователю потребуются права администратора для запуска серверного программного обеспечения. А запуск и настройка сервера, скорее всего, также приведет к нескольким сбоям.

Я бы порекомендовал найти что-то, что позволит вам распространять двоичный файл, или что-то вроде приложения AIR, предназначенного для этого типа распространения. Возможно, вам придется переписать много кода, но это будет легче исправить, чем все мелкие ошибки установки, которые вы увидите на стороне клиента. Чтобы упаковать сценарии в двоичные файлы без необходимости переписывать материал, ознакомьтесь с http://www.scriptol.com/apollo.php и подобными продуктами.

Но я бы посоветовал вам создать автономное приложение в Adobe Air, которое будет синхронизироваться с вашим сервером (возможно, даже с интеграцией некоторых устройств Google, чтобы оно работало автономно). Не пытайтесь форсировать PHP-приложение в этой модели распространения, это создаст кошмарные проблемы.

2 голосов
/ 28 октября 2009

Существует сервер CakePHP InstaWeb

http://bakery.cakephp.org/articles/view/the-cakephp-instaweb-webserver

, который работает на python и не требует установки. Это плюс некоторые дополнительные вкусности должны получить вас уже на полпути.

2 голосов
/ 28 октября 2009

Вы можете использовать MAMP для Mac, вам просто нужно отредактировать конфигурацию, чтобы правильно указать каталог сайтов.

однако у вас будет проблема, что mysql db не обязательно будет работать с windows. если вы переключите БД на sqlite, вы можете довольно легко синхронизировать файл БД sqlite.

XAMPP будет работать для окон

извините, я не знаю о стороне Linux.

1 голос
/ 06 ноября 2009

Это то, что я использовал для запуска приложения CakePHP с DVD. Работал на USB тоже (пока я его еще разрабатывал).

http://www.server2go -web.de /

Server2Go - это веб-сервер, который работает из коробки без какой-либо установки и на носителе с защитой от записи. Это означает, что веб-приложения, основанные на Server2Go, могут использоваться непосредственно с компакт-диска, USB-накопителя или из любой папки на жестком диске без необходимости настройки Apache, PHP или MySQL. Server2Go позволяет вам создавать автономный рабочий веб-сайт или приложение PHP на компакт-диске.

Это действительно мило.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...