ВСЕ ЗАПИСИ

Статьи,заметки

Хостинг с PHP на домашнем компьютере с динамическим IP

Обновлено: март 2016

В свою сборку HomServ добавил ещё одну полезную программу, - AGuard.
Она отслеживает состояние сервера Apache, и в случае, если возникает окно Прекращена работа Apache HTTP Server - искать решение проблемы в интернете, или закрыть программу, из-за сбоя в работе какого-либо скрипта на сервере, - программа закрывает это окно. Иначе Apache остановится и весь сайт на локальной машине будет недоступен. Рекомендую держать AGuard постоянно запущенным во время работы HomServ.

Ранее в сборку был добавлен рабочий SMTP-клиент. CourierMS полностью удалён, заменил на Mailer, теперь можно отправлять письма прямо из скриптов, возможна также отправка письма с вложенными файлами. Прежде чем использвать сервер, читаем файл "ПРОЧЕСТЬ!!!.txt" в папке HomServ, внутри архива.

А тем, кто использует Денвер-3 в качестве сервера, предлагаю скачать рабочий sendmail Архив распаковываем в папку tools в директории Денвера, старую папку sendmail, где находится sendmail-заглушка, предварительно переименовываем, или удаляем. Настройки SMTP в файле sendmail.ini для учетной записи pupkin@mail.ru заменяем своими.

Здесь я расскажу о своём опыте установки веб-сервера с полной поддержкой php и MySQL на компьютер с Windows 7.

Задача заключалась в том, что мне нужно было поднять у себя на компе вебсервер, чтобы он был доступен извне, а конкретно, - по ссылке с моего сайта. Подобным образом я уже когда-то устанавливал у себя на компьютере фтп сервер, смотреть в этом посте, в течение некоторого времени он у меня успешно работал, пока необходимость в нём не отпала. В качестве сервера использовалась лайт-версия программы Golden FTP Server,в которой достаточно указать порт, выбрать директорию на жёстком диске, которая будет корнем сервера, выставить разрешения на чтение и запись, и всё сразу же начинало работать, - вводим ip компа и сразу попадаем на фтп.

Было решено поступить аналогичным образом, взять проверенную готовую сборку PHP+MySQLи настроить её для доступа из интернета.

Так как провайдер выдаёт мне динамический адрес, то для начала нужен роутер, в котором должна присутствовать функция "виртуальный сервер". У меня - ASUS DSL-N10 , опция "включить виртуальный сервер" находится на вкладке "расширенные настройки".

настройки роутера

Денвер-3, пожалуй, самая известная сборка готового сервера, я познакомился с ним ещё в те времена, когда на хостингах использовался PHP3, а PHP4 был новинкой, и сейчас я им часто пользуюсь для отладки скриптов, решил попробовать запустить на нём свой домашний хостинг. Но потратив порядочно времени, многократно меняя настройки apache и файла hosts, ничего хорошего не добился, внешний доступ был только в том случае, если разместить сайт в папке с названием , которое совпадает со значением текущего ip адреса на данный момент, который естественно изменяется после перезагрузки. Всё правильно, только о таком варианте доступа в случае динамического ip говорят на сайте разработчики Денвера, не знаю, как они это замутили, но с Денвером у меня ничего не получилось. Я больше чем с Денвером рассчитывал, на вариант на сборку, известную как OpenServer, я тоже ею неоднократно пользовался, но хотя там не особо-то и запутанные конфиги, заставить её коннектиться с внешним миром не получилось вообще никак.

Но спустя некоторое время мне встретилась программа HomServ, тоже сборка веб сервера с 7zip инсталлятором. HomServ. - проект уже не новый, автор, судя по всему, забросил его, но судя по отзывам людей, которые им пользовались, ничем не хуже того же Денвера. Вот его возможности:

* Apache 2.2.11
* PHP 5.2.8
* MySQL 5.0.67
* phpMyAdmin 3.1.2
* CourierMS 1.5.6
* ZendOptimizer 3.3.0

Установил, попробовал, действительно, скрипты, которые у меня работали на Денвере, так же работают и в HomServ.

А в корне сервера лежит файл Readme, где среди прочего можно увидеть такие строки

ДОСТУП
По умолчанию все компоненты не доступны из сети. Это сделано, потому что HomServ используется в основном для отладки сайтов. Изменение этих параметров может привести к серьезным проблемам в безопасности! Если вы все же хотите открыть доступ к серверам из сети, то вам необходимо изменить следующие параметры:
Замените `Listen 127.0.0.1:80` на `Listen *:80` в файле apache\conf\httpd.conf. Обратите внимание, что при обращении по ip-адресу вызывается хост по умолчанию (home\default). Внешний доступ в панель управления и phpMyAdmin заблокирован отдельно (tools\web\.htaccess и pma\.htaccess)

Вот это мне и было нужно. Я прописал эти настройки, и сервер сразу же стал открываться по внешнему ip без разных там танцев с бубном, не надо даже трогать файл hosts, что лежит в папке windows/system32. Позже я удалил виртуальные хосты first и second, в папке home которые сервер создал при установке автоматически,создал папку www в директории home, чтобы было как по стандарту и в файл /tools/vhost.conf прописал такую строку

DocumentRoot "C:/HomServ/home/www"

директория home/www теперь по умолчанию - корневая директория сайта, куда и ставим наши скрипты , при внешнем запросе обращение идёт к документам в этой директории. Другие виртуальные хосты: default и localhost оставляем, эти папки удалять не надо. Для тех, кто захочет попробовать поставить себе HomServ есть ссылка на архив конце статьи, в архиве, кроме инсталлятора, прилагаются также файлы с настройками, которые здесь описаны, файлы лежат с сохранением структуры папок, просто скопируйте их в корень сервера после установки, согласившись на замену. Также не забудьте создать в директории home папку www, впрочем она уже есть в архиве. Также прилагается изменённый php.ini , там увеличил максимальный размер загружаемых файлов до 100Мб, количество оперативной памяти, выделяемой для скриптов, увеличено до 256 Мб, максимальное время выполнения скрипта - 60 секунд, я думаю, что в отличие от стороннего хостинга, можно позволить у себя на компе такие параметры ;-) И ещё, по умолчанию на сервере не запрещён листинг директорий, поэтому следует изменить этот параметр в настройках апача, либо в папки, содержание которых должно быть скрыто, помещать индексный файл-заглушку.

В общем, HomServ - программа достаточно функциональная и несложная в настройке. Но если сравнить с Денвером, то здесь например, отсутствует расширение pdo_mysql поэтому если у вас будет скрипт с базой данных использующей драйвер pdo, он не запустится. И ещё, в Денвере, для отправки почты существует заглушка sendmail, которую без хитрых манипуляций можно заменить на настоящий, работающий sendmail, который успешно отправляет почту из скриптов установленных на localhost на реальные адреса (полезная функция, например при тестировании движка скрипта, если забыть пароль от админки, то скрипт вышлет его на внешний почтовый ящик, если он был указан при регистрации, конечно) А в HomServ для почтовых функций задействован CourierMS, но несмотря ни на что, мне так и не удалось заставить её работать с внешними SMTP. Пришлось решить эту проблему другим способом, - я написал собственный SMTP клиент, который прекрасно справляется с задачей отправки электронной почты через внешний почтовый ящик. Его следует поместить в каталог HomServ/email и запустить. Courier MS ни в коем случае запускать нельзя, чтобы он не заблокировал 25-й порт. В будущем, возможно получится полностью интегрировать свой SMTP клиент в дистрибутив HomServ, чтобы заменить Courier MS. Загрузить Mailer - SMTP клиент можно на этой странице.

Забыл сказать, что в HomServ php-функция exec работает во всех скриптах, их необязательно помещать для этого в директорию cgi/bin, это значит, что написав батник, запускающий какую-либо программу, и положив его рядом со скриптом, который будет этот батник запускать, можно управлять внешними программами просто переходя по нужным ссылкам:) Только не забывайте о мерах безопасности;)

скачать архив с программой можно по этой ссылке

Полную последнюю сборку HomeServ с настроенными конфигами и дополнительными программами (AGuard, Mailer) загружаем здесь

Добавлено: сентябрь 2013

©Veterock




комментарии (25)



написал Иван
Перезвоните по бесплатному номеру 8 (800) 550-70-98 Иван.
добавлено: 11.09.18 02:49
написал Иван
Перезвоните по бесплатному номеру 8 (800) 550-70-98 Иван.
добавлено: 11.09.18 02:49
написал Иван
Перезвоните по бесплатному номеру 8 (800) 550-70-98 Иван.
добавлено: 11.09.18 02:49
написал Иван
Перезвоните по бесплатному номеру 8 (800) 550-70-98 Иван.
добавлено: 11.09.18 02:49
написал Иван
Перезвоните по бесплатному номеру 8 (800) 550-70-98 Иван.
добавлено: 11.09.18 02:49
написал Иван
Перезвоните по номеру 8(812) 426-88-69 Иван.
добавлено: 10.09.18 09:53
написал Иван
Перезвоните по номеру 8(812) 426-88-69 Иван.
добавлено: 10.09.18 09:53
написал Иван
Перезвоните по номеру 8(812) 426-88-69 Иван.
добавлено: 10.09.18 09:53
написал Иван
Перезвоните по номеру 8(812) 426-88-69 Иван.
добавлено: 10.09.18 09:53
написал Иван
Перезвоните по номеру 8(812) 426-88-69 Иван.
добавлено: 10.09.18 09:53
написал Роман
Позвоните мне, пожалуйста, по этому номеру 8(812) 426-88-69
добавлено: 09.09.18 03:10
написал Роман
Позвоните мне, пожалуйста, по этому номеру 8(812) 426-88-69
добавлено: 09.09.18 03:10
написал Роман
Позвоните мне, пожалуйста, по этому номеру 8(812) 426-88-69
добавлено: 09.09.18 03:10
написал Роман
Позвоните мне, пожалуйста, по этому номеру 8(812) 426-88-69
добавлено: 09.09.18 03:10
написал Роман
Позвоните мне, пожалуйста, по этому номеру 8(812) 426-88-69
добавлено: 09.09.18 03:10
написал Иван
Перезвоните по номеру 8(495) 230-10-78 Иван.
добавлено: 06.09.18 07:47
написал Роман
Позвоните мне, пожалуйста, по этому номеру 8(495) 230-10-78
добавлено: 06.09.18 04:27
написал Василий
Перезвоните по номеру 89523986999 Василий.
добавлено: 20.08.18 05:41
написал Василий
Перезвоните по номеру 89523986999 Василий.
добавлено: 20.08.18 05:41
написал Василий
Перезвоните по номеру 89523986999 Василий.
добавлено: 20.08.18 05:41
написал Василий
Перезвоните по номеру 89523986999 Василий.
добавлено: 20.08.18 05:41
написал Василий
Перезвоните по номеру 89523986999 Василий.
добавлено: 20.08.18 05:41
написал Антон
Перезвоните по номеру 89052783333 Антон
добавлено: 19.08.18 07:27
написал metrocxrw
Добрый день! Оказываем помощь в оформлении физическим лицам и сотрудникам предприятий карт метро в сеть магазинов METRO CASH&CARRY. купить-карту-метро.рф Законно по договору сделаем на частных лиц и сотрудников предприятий карточки метро в сеть немецких торговых центров МЕТРО КЕШ ЭНД КЕРРИ: пропуск в метро обязательно с вашей фотографией (делается при вас в самом магазине Метро Кэш энд Керри), с личным номером, кодом, со специальной магнитной полосой, названием организации, от которой вы будете нами зарегистрированы и оформлены. Вы можете проводить с собой двоих человек. Карты клиента метро оформляются: на граждан Российской Федерации и иностранцев. Оформление производится без предварительной оплаты, то есть вначале мы регистрируем вас, вы получаете карточки метро, потом оплачиваете. Оплата производится в течение одного рабочего дня после оформления, немецкие магазины METRO C&C работают 24 часа. Для оказания этой услуги мы находим организации, у которых есть свободные места в этих немецких торговых центрах, и заключаем с ними соответствующие договора, по которым юридические лица обязуются предоставить вам право пользоваться их местами в этих немецких торговых центрах. Оформление производятся во всех немецких магазинах МETRO CASH&CARRY. Получив карточки metro в одном из немецких гипермаркетов METRO Cash & Carry вы можете ею пользоваться в любых других магазинах этой сети торговых центров Metro cash&Carry в России и за границей. ПОЖАЛУЙСТА, НЕ ОТВЕЧАЙТЕ НА ЭТО ПИСЬМО, ДЛЯ ЗАКАЗА КАРТ-КЛИЕНТА ИСПОЛЬЗУЙТЕ контакт-форму с сайта купить-карту-метро.рф ВАШ ЗАКАЗ БУДЕТ ПРИНЯТ И ОБРАБОТАН В ТЕЧЕНИЕ РАБОЧЕГО ДНЯ. ИСПОЛНЕНИЕ ЗАКАЗА 2-3 РАБОЧИХ ДНЯ. ПОЛУЧЕНИЕ В 50 ГОРОДАХ И РЕГИОНАХ РОССИИ: Адыгея, Arkhangelsk, Астрахань, Barnaul, Brjansk, Белгород, Владимир, Волгоград, Волжский, Вологда, Voronezh, Voronejskaja oblast, Екатеринбург, Ivanovo, Ижевск, Irkutsk, Казань, Kaliningrad, Калуга, Kemerovo, Kirov, Kopeisk, Краснодар, Красноярск, Kursk, Lipeck, Магнитогорск, Moscow, Московская область, Набережные Челны, Nijnii Novgorod, Nizhny Tagil, Novokuznetsk, Novorossiysk, Novosibirsk, Omsk, Оренбург, Орёл, Пенза, Perm, Пятигорск, Rostov-na-Dony, Rjazan, Самара, Санкт-Петербург, Saratov, Serpukhov, Смоленск, Ставрополь, Стерлитамак, Syrgyt, Тверь, Тольятти, Томск, Tula, Tjumen, Yljanovsk, Ufa, Cheboksary, Cheljabinsk, Ярославль, Севастополь, Симферополь.
добавлено: 06.07.18 22:45
написал MihailJes
Входящий в группу втб лето банк объявил о запуске оригинального продукта лето карта с нулевой ставкой кредита. В отличие от уже привычных карт с грейспериодом, когда клиент не платит проценты, только е.. Возраст заемщика 2165 лет. Обзор кредитной карты прибуткова картка + кредитка (банк михайловский). В украине появится еще одно министерство по делам ветеранов.. jdnHND8743
добавлено: 25.04.18 22:26
Имя

Сообщение

введите защитный код


Обновить

Powered by ©Veterock Studio 2013