Я только что установил Apache 2.4 в Windows Server 2016 Datacenter (экземпляр AWS EC2). Веб-сервер работает нормально, я могу получить доступ 'http: // localhost /'и получите' Это работает! ' страница.
Расположение: C: \ Apache24 \
Затем я установил Сервер совместной работы LiveCode, разархивировав содержимое в Location: C: \ LiveCode.
Исполняемый файл в этой папке - livecode-community-server.exe.
Папка моего сайта находится в папке C: \ MySite.
Затем я изменил файл httpd следующим образом
Измените DocumentRoot на
DocumentRoot "c:/mysite"
Измените директиву каталога на
<Directory "c:/mysite">
Добавьте следующее в директиву Directory
Order allow,deny
Allow from all
AddHandler livecode-script .lc
Action livecode-script "/livecode-cgi/livecode-community-server.exe"
Добавьте следующую новую директиву Directory
<Directory "c:/livecode">
Options ExecCGI
Order allow,deny
Require all granted
Allow from all
</Directory>
Добавьте следующее в "IfModule alias_module"
ScriptAlias /livecode-cgi/ "c:/livecode/"
После сохранения httpd и перезапуска Apache я открываю браузер и перехожу по URL-адресу "http: //localhost/test.lc"
Ответ браузера - это просто 2 символа "MZ" - (при просмотре исходного кода обратно отправляются только эти 2 символа)
В этом случае test.lc - это файл в C: \ MySite. Этот ответ дается для любого файла .lc в этой папке. Любой файл .html в этой папке работает должным образом.
Нет записи в журнале ошибок Apache. В access.log есть следующая запись
::1 - - [23/Mar/2017:14:27:01 +0000] "GET /test.lc HTTP/1.1" 200 3
Поиск в Google ничего не показывает, поэтому я могу только предположить, что это очевидная вещь, которую я пропустил. Любая помощь или подсказки относительно того, что может происходить, будут очень благодарны.
* Изменить: я забыл упомянуть, что следующая строка активна (не закомментирована) в httpd, я полагаю, это все, что мне нужно для загрузки модуля CGI?
LoadModule cgi_module modules/mod_cgi.so
* Изменить: я также пробовал со следующим ScriptAlias и получил точно такой же результат (возвращен MZ и код успеха 200 в access.log)
ScriptAlias /livecode-cgi/livecode-community-server.exe "c:/livecode/livecode-community-server.exe"
* Изменить: этот пост, похоже, посвящен той же проблеме (хотя и с perl вместо LiveCode) https://stackoverflow.com/questions/14792978/perl-apache-perl-script-displayed-as-plain-text
Проблема, похоже, в том, что в Apache 2.4 были внесены некоторые радикальные изменения, которые вызвали некоторые проблемы. Помогает ли связанный пост? Еще раз спасибо за ваше время
Персонажи MZ
это магическое число для формат файла exe, ваш веб-сервер, скорее всего, возвращает содержимое livecode-community-server.exe
файл.
Я не знаком с сервером livecode, но смотрю эта страница предполагает, что ваш ScriptAlias может быть неправильным
ScriptAlias /livecode-cgi/livecode-server.exe "<путь к папке сервера LiveCode> /livecode-server.exe"
После разговора с техподдержкой LiveCode они подтвердили, что версия 8.1.3 имеет несколько проблем и собирается удалить ее со своего сайта.
Я скачал 8.1.2 и все работает как положено.