Ответы пользователя по тегу Apache HTTP Server
  • Обращение к внешней программе на сервере Apache средствами php с последующим ответом?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    CGI позволяет вам вашу программу запускать вообще без php.
    Вам нужно подучить html/http и соответственно ваша программа должна генерить для apache html страничку.

    Пишете консольную программу на C/C++/чем угодно, которая взаимодействует с LPT портом, и умеет выдавать результат в text или html
    Изучаете html формы (как создать кнопку, при нажатии которой вызывается файлик)

    В Apache настраиваете поддержку cgi - включаете cgi модуль
    LoadModule cgi_module modules/mod_cgi.so

    Добавляете cgi хендлер
    AddHandler cgi-script .cgi
    или
    AddHandler cgi-script .exe

    Разрешаете использование cgi в каталоге сайта, или даже в DocumentRoot
    Options ExecCGI

    пробуете www.mysite.com/myprogram.exe
    Ответ написан
    1 комментарий
  • Apache http>https при использовании проброса портов на модеме?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    так а что же вы хотели.
    Сделайте редирект с http 80 на https 443 уже средствами apache, а не роутера (добавить виртуалохост на 80 порту с перенаправлением на https)

    http и https - как бы разные протоколы, перенаправление на уровне порта не должно работать. Вы же можете и http на 443 поднять - откуда роутер об этом должен догадываться.
    Ответ написан
  • Самостоятельное обучение. Что такое PHP, Apache?

    saboteur_kiev
    @saboteur_kiev Куратор тега Веб-разработка
    software engineer
    PHP - язык программирования.
    PHP может генерировать просто текст. То, что при помощи PHP вы можете генерировать именно HTML страницы - это уже частный случай (правда это и есть самое популярное использования PHP). Но при желании, вы можете генерировать HTML страницы как угодно, любым языком программирования.

    Apache - веб сервер. Один из самых популярных веб-серверов.
    Для связки PHP И Apache, у Apache есть специальная библиотека, которая позволяет прямо из веб-сервера вызывать выполнение PHP кода для генерации страниц.

    80-й порт - это стандартный порт для HTTP протокола.
    Чтобы обмениваться данными, две программы должны знать адрес друг друга.

    IP адреса недостаточно, потому что на компьютере у вас может висеть скайп, аська, браузер, какая-нить игрушка - и если пришел пакет данных по сети, как операционная система должна понять в какую программу эти данные передать? Для этого к IP адресу добавляется "порт".
    При указании URL в браузере, вы обычно не указываете порт, потому что для HTTP подразумевается 80 порт по умолчанию, для HTTPS 443 порт по умолчанию. Но можно указывать и так:
    http://google.com:80

    P.S. На самом деле, достаточно посидеть на википедии, чтобы выяснить значение уже известных вам терминов.
    Ответ написан
    Комментировать
  • Есть только доступ по ftp. Как узнать домен?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Наличие хостинга не обязательно означает наличие домена .
    Иногда в файловой структуре хостинг кладет файлы для разных доменов в папки с названием домена, но не факт.
    То есть никак.
    Ответ написан
    Комментировать
  • Как открыть доступ к локальному серверу на apache tomcat(java) извне?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Что значит "открыл порт на роутере"?
    Куда вы его открыли?
    Вам нужно какой-то порт снаружи замапить на ваш ноутбук+порт.
    Поищите на роутере port forwarding, это может быть в настройке NAT и замапьте, что например порт 80 мапится на ваш 192.168.0.23:8090
    Ответ написан
  • Не запускается Apache как исправить?

    saboteur_kiev
    @saboteur_kiev Куратор тега Ubuntu
    software engineer
    Эта строчка инклюдит все файлы из sites-enabled/*.conf, следовательно есть синтаксическая ошибка в каком-то .conf файле в этом каталоге.
    Посмотрите лог файлы от сервера, возможно там будет что-то дополнительно.
    Ответ написан
  • Как дать доступ к сайту из интернета?

    saboteur_kiev
    @saboteur_kiev Куратор тега Ubuntu
    software engineer
    На роутере пробросить http порт на локальный адрес машины.
    Называется или port forwarding или port mapping, или NAT
    Ответ написан
    2 комментария
  • Какую альтернативу можно выбрать вместо FTP для обмена данными?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Всем нужны разные пароли?
    Если один, или скажем штук 10, то обычный http с basic authorisation подойдет.

    Если посложнее - погуглите любой веб-движок файлообменника (сам не пользовался, поэтому не подскажу), но что-то вроде :
    https://pydio.com/
    https://www.softaculous.com/apps/files
    https://sourceforge.net/projects/phpofs/

    Есть также похожий вопрос
    Скрипт файлообменника
    Ответ написан
    Комментировать
  • Что такое CGI режим?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Через CGI можно подключить любой внешний обработчик, который будет возвращать результат, таким образом можно выполнять скрипты и на php/perl/python и исполняемые бинарники, главнео чтобы они возвращали корректный результат, например html с нужными заголовками.
    Ответ написан
    Комментировать
  • Почему сайт не открывается из вне по IP?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    в настройках LAMP может быть прописан виртуалхост для локального адреса и DNS имени, и не прописано для внешнего адреса (либо для внешнего оно переходит на пустой каталог)
    Ответ написан
  • Как создать сайт на сервере Apache без создания конфигурационного файла Apache?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Вы просто не видите конфигурационный файл.

    Скорее всего в apache установлен мод user_dir (https://httpd.apache.org/docs/2.4/howto/public_htm... или какой-то аналогичный.
    Ответ написан
    Комментировать
  • Можно ли прописать несколько алиасов домена Apache на одной строке?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Можно.
    Можно даже с масками типа
    ServerAlias *.redcap52.ru redcap52.ru
    Ответ написан
    Комментировать
  • Существуют ли универсальные способы обезопасить php сайты?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Либо автоматизируйте восстановление сайтов из бэкапа, чтобы у ваших друзей была кнопочка, и вы забудете про этот гемор, либо за каждое восстановление берите деньги.
    Ответ написан
    Комментировать
  • Не запускается Apache 2.4 на Windows7 Started,нужен файл VCRUNTIME140.dll?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    userdir:
    На www.apachelounge.com просто форум, где любой аноним вам может насоветовать что угодно.
    Вам нужна не Visual Studio а Redistrubutable package, 13-14 мб:

    https://www.microsoft.com/en-us/download/details.a...

    Выбрать 32-битную или 64-битную, в зависимости от вашей ОС
    Ответ написан
    1 комментарий
  • Работа клиент-серверной модели,вопросы от нуба?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    1)При следующем обращении (переходу на другую страницу сайта) идет ли обращение снова к DNS или взаимодействие уже идет на прямую с Веб сервером/Сервером приложения?

    Вы путаете сервер-клиент приложение и работу DNS службы. К серверу можно изначально обращаться по IP адресу, к серверу можно обращаться и вообще не по IP сетям. Что же касается работы DNS, то работает оно сложнее.
    Ваш комп смотрит файл hosts, если там нет нужного сайта, оно смотрит на локальный кеш, в котором хранятся недавние обращения. Если нет и там, обращается к вашему DNS серверу. Тот смотрит в свой кеш, если в нем нет - обращается к вышестоящему DNS серверу, и так до рут-сервера. По пути, каждый DNS сервер может иметь свой кеш. В среднем закешированное значение хранится сутки, но каждый владелец домена может настроить свой TTL (time to live). Кроме того, существуют dns балансеры, когда на тот же DNS могут возвращаться разные IP.

    2) Веб сервер соответственно работает как сервер для веб (http), сервер приложений соответственно работает для приложений (например он запускает java сервлет, к которому можно обращаться различными способами, включая http)

    3) в цепочке "клиент - вебсервер - сервер приложения" может отсутствовать второй или третий пункт. То есть может быть клиент-вебсервер или клиент-серверприложения. Вообще правильно говорить клиент-сервер. А какой именно клиент и сервер, и как они общаются - это уже вторично.

    4) Вы путаете работу клиент-серверной части и непосредственно работу сетевых протоколов. Не мешайте сюда DNS, это работает прозрачно для вашего клиента и сервера.
    Не мешайте сюда базу данных, можно работать даже без нее.

    Если вы нажимаете "положить в корзину", то клиент отправляет команду, сервер ее обрабатывает и отвечает клиенту каким-либо способом, понятным клиенту. Что делает сервер - кладет в базу, или не кладет - это зависит от реализации корзины.

    Понятно, что все команды которые отдает клиент серверу и все ответы, которые дает сервер клиенту, должны быть понятны и серверу и клиенту. Именно поэтому оно и работает.
    Ответ написан
    Комментировать
  • Как настроить домен и ssl на apache (на своём компьютере)?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    У вас в голове жуткая каша
    Посидите спокойно часика полтора, почитайте википедию.

    DNS - это доменная система имен.
    Есть несколько видов записей.
    A запись указывает для обычных ссылок (самая популярная)
    MX запись для почты
    есть алиасы для редиректов.

    При попытке зайти на доменное имя, оно резолвится в конкретный айпишник.
    фраза "какому днс принадлежит этот домен" звучит совершенно неадекватно.

    Уже перейдя на конкретный айпишник, то есть подключившись к серверу по IP адресу, веб-сервер на этом IP адресе решает какой именно сайт отдать клиенту (если у него настроено несколько сайтов- virtualhosts)

    То есть вам нужно настроить ваш домен так, чтобы вашдомен.com ссылался на IP адрес машины с веб-сервером. Если веб-сервер стоит на виртуалке, значит пробросить HTTP порты (80 и 443 для https) внутрь виртуалки.
    Ответ написан
    2 комментария
  • Как запустить 2 сайта на локале?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Virtualhost работает не по портам, а по dns имени.

    Порт (или порты) для прослушивания определяется глобально.
    При заходе на сайт, веб-сервер смотрит по какому доменному имени вы на него попали, и в зависимости наличия нужных virtualhost-ов с указанными именами, кидает вас в нужный documentroot. Если подходящий virtualhost не найден, кидает на тот, который у вас указан по умолчанию (первый).

    Поэтому правильно делать
    <VirtualHost dt.dev>
     ServerName dt.dev
     ServerAlias www.dt.dev


    <VirtualHost ez.dev>
        ServerName  www.ez.dev
        ServerAlias ez.dev


    в системе hosts файл (например c:\windows\system32\drivers\etc\hosts или /etc/hosts)
    127.0.0.1 ez.dev
    127.0.0.1 www.ez.dev
    127.0.0.1 dt.dev
    127.0.0.1 www.dt.dev
    Ответ написан
    Комментировать
  • Где скачать дистрибутив сервера apache для windows 7?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    Если вам нужен установщик, то это нужно не apache а wamp качать (apache + php + mysql + phpmyadmin)
    www.wampserver.com/ru
    Ответ написан
  • Как правильно разрешить запись в каталог?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    нет, вам нужно сделать для templates дать права 755 (чтение,вход), а уже на class добавить write
    Ответ написан
  • Как перемешать строки в большом файле (до 1,5гб) средствами php?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Почему бы не воспользоваться SQL? Загоняете строки в SQL, а рандомизируете только индексы, или отдельный столбец с номером строки. Работать будет гораздо быстрее. Случайный доступ к нужной строке тоже быстрее. Памяти вообще не будет потреблять. Масштабируется.
    Ответ написан
    Комментировать