Сайт на Флешку или портативный Apache сервер (XAMPP, Denwer)
Порой, даже имея под рукой несколько серверов с рутовым доступом, необходимо иметь портативный Web-сервер на флешке. Например, для демонстрации какого-либо Web-продукта.
Конкретно в моем случае попался клиент заказавший сайт для размещения конфиденциальной информации, которую и мне нельзя видеть.
Ему необходимо было разместить инфу и потом ее кому-то демонстрировать, причем используя iPad, странно все это... да не в этом суть статьи.
И так, начнем
Есть множество продуктов для решения данной задачи, но мы с Вами рассмотрим 2 основных (по моему мнению) из них - это Denwer и XAMPP.
Разница этих продуктов заключается только в количестве пакетов, включенных в них:
- XAMPP - это, можно сказать, полноценный сервер в котором есть Панель Управления, Веб-Анализатор, FTP-Сервер и много других полезностей:
Apache 2.2.17, MySQL 5.5.8 + PBXT engine (currently disabled), PHP 5.3.5, OpenSSL 0.9.8l, phpMyAdmin 3.3.9, XAMPP Control Panel 2.5.8, Webalizer 2.21-02, Mercury Mail Transport System v4.72, FileZilla FTP Server 0.9.37, SQLite 2.8.17, SQLite 3.6.20, ADOdb 5.11, Xdebug 2.1.0rc1, Tomcat 7.0.3 (with mod_proxy_ajp as connector)
Работает почти на всех операционных системах - есть пакеты для Linux, Windows XP, Windows 7 и др. (подробнее см. документацию) - Denwer - более простой сервер, идеально подходит для таскания за собой на флешке. Включает в себя все самое-самое необходимое (Apache, PHP, MySQL, PHPMyAdmin)
Работает только под Windows
Установка XAMPP
XAMPP - это кроссплатформенная сборка веб-сервера, содержащая Apache, MySQL, интерпретатор скриптов PHP, язык программирования Perl и большое количество дополнительных библиотек, позволяющих запустить полноценный веб-сервер.
XAMPP — это акроним:
- X (любая из четырех операционных систем)
- Apache
- MySQL
- PHP
- Perl.
- Качаем пакет с официального сайта: http://www.apachefriends.org/en/xampp-windows.html#641
Прямая ссылка: http://www.apachefriends.org/download.php?xampp-win32-1.7.4-VC6.7z - Распаковываем куда нам необходимо (например в С:\xampp). Для распаковки удобно использовать WinRAR или 7zip архиваторы
- Запускаем сервер двойным кликом по файлу C:\xampp\xampp_start.exe
- Для остановки сервера (например перед извлечением флешки) использовать соответственно xampp_stop.exe
После запуска, наш сервер доступен в любом браузере компьютера по адресу: http://localhost/ или http://127.0.0.1/
Основные ссылки, которые могут пригодиться:
Панель Управления |
http://localhost/xampp/index.php |
PHPMyAdmin |
http://localhost/phpmyadmin/ |
Webalizer | http://localhost/webalizer/ |
Домашняя папка (далее home): ./xampp/htdocs
Установка Denwer
Denwer - это набор дистрибутивов и программная оболочка, предназначенные для создания и отладки сайтов (веб-приложений, прочего динамического содержимого интернет-страниц) на локальном ПК (без необходимости подключения к сети Интернет) под управлением ОС Windows.
Сразу после установки доступен полностью работающий веб-сервер Apache, работающий на локальном компьютере, на котором может работать неограниченное количество сайтов, что очень эффективно для разработки и отладки сценариев PHP без загрузки его файлов на удаленный сервер. Для запуска практически всех утилит «Денвера» используется приложение Run в подкаталоге /denwer (или /etc) корневого каталога установки «Денвера». При запуске создается виртуальный диск (по умолчанию Z:), где хранятся все файлы проектов.
- Качаем пакет с официального сайта: http://www.denwer.ru/
- Запускаем установку.
Установка происходит в текстовом режиме (с клавиатуры отвечаем на вопросы). Всё на русском и интуитивно понятно.
Во время установки отказываемся от работы Denwer'а как службы - выбираем второй вариант запуска (если хотим его запускать в ручную или с флешки) - Запуск сервера осуществляется командой: ./denwer/Run.exe
- Для остановки сервера (например перед извлечением флешки) использовать соответственно: ./denwer/Stop.exe
После запуска, наш сервер доступен в любом браузере компьютера по адресу: http://localhost/ или http://127.0.0.1/
Основные ссылки, которые могут пригодиться:
PHPMyAdmin |
http://localhost/Tools/phpmyadmin/ |
Домашняя папка (далее home): ./Denwer/home/localhost/www/
Заключение
После успешной установки и запуска сервера, осуществляем перенос на него сайта. Или начинаем разработку.
Все инсталляции я предлагаю производить на HDD, для увеличения скорости. А только потом когда все собранно и работает - перенести на флеш-накопитель.
Подводные камни
Как известно, любой сервер занимает определенный порт. В нашем случае Apache требует порты 80 и 443. Если во время запуска сервера сайт по адресу http://localhost/ не доступен - возможно какая-то другая программа заняла порт, это может быть Skype, TeamViewer и д.р.
Попробуйте выгрузить такие программы из памяти компьютера и вновь загрузите сервер. Если запустится - перенастройте мешающие программы на другие порты
Как в скайпе отключить 80-й порт показано на картинке:
Так же не забываем про Фаерволы и прокси сервера - для работы локально - их желательно настроить или отключить.
Если у вас медленная флешка из старых моделей - то работа с нее может показаться весьма и весьма медленной, порой даже не реальной. В этому случае придется копировать пакет на компьютер, работать с ним и потом обратно копировать на флешку. Решение проблемы - купите скоростную флешку.
Внимание! Если у вас старые скрипты и вам лень их переписывать, то во избежание ошибок описанных здесь - качайте сборку в составе которой PHP версии ниже 5.3.0 (Например, PHP v5.2.12)