1

Тема: Не запускаются скрипты?

Странная вещь происходит, при попытке запустить скрипт установки, в браозере скрипт mt.cgi отображается как есть:
#!/usr/bin/perl -w # Copyright 2001-2007 Six Apart. This code cannot be redistributed without # permission from www.sixapart.com. For more information, consult your # Movable Type license. # # $Id: mt.cgi 44845 2007-01-10 00:59:17Z bchoate $ use strict; use lib $ENV{MT_HOME} ? "$ENV{MT_HOME}/lib" : 'lib'; use MT::Bootstrap App => 'MT::App::CMS';
В чем проблема может быть?

2

Re: Не запускаются скрипты?

Скорее всего, скрипт располагается в папке, где не разрешено выполнение cgi-скриптов. Обычно папка для таких скриптов называется cgi-bin, в неё и нужно загрузить MT.

Но можно обойти это ограничение, добавив в нужной папке в файл .htaccess такую строчку (не все хостеры это разрешают):

Options +ExecCGI

3

Re: Не запускаются скрипты?

Возможно, что путь к Perl у хостера другой, а не такой, какой указан в этом файле:

#!/usr/bin/perl -w

Это нужно уточнить у хостера.

4

Re: Не запускаются скрипты?

Да, дело в том, что папки cgi-bin у меня нет, в faq у хостера написанно сследующее:
Путь к интерпретатору perl: /usr/bin/perl.

CGI-скрипты могут находиться в любой директории вашего сайта; по умолчанию CGI-скрипты могут иметь расширения .cgi или .pl. Для запуска скрипта необходимо сделать его исполняемым, для этого на него нужно установить права 0755 (rwxr-xr-x).

Директория, в которой расположены скрипты, должна быть доступна для записи только владельцу (права 0755). Если вы установили возможность записи в директорию, где находятся скрипты, группе или всем пользователям, CGI-скрипты выполняться в ней не будут.

CGi-скрипты необходимо закачивать на сервер, включив в настройках FTP-клиента опцию передачи данных в режиме ASCII.

Вот....

5

Re: Не запускаются скрипты?

Путь к интерпретатору указан правильно, так что получается, что проблема в размещении скриптов.
По умолчанию скрипты обрабатываются в папке cgi-bin. Если хостер говорит, что скрипты могут располагаться в любой директории, то это значит, что, выбрав другую директорию, нужно будет добавить в неё указанный файл .htaccess.

6

Re: Не запускаются скрипты?

Хм.. действительно, заметил, что файла .htaccess в скаченной мною MT-4.0 попросту нет, ошибка или что?

7

Re: Не запускаются скрипты?

Нет, его там и не должно быть. :)
Просто он не обязателен в большинстве случаев. А если необходим, то нужно создать его  самому.

8

Re: Не запускаются скрипты?

Эх.. А как создать? Что писать? Никогда этого не делал вообщем...

9

Re: Не запускаются скрипты?

По искал вгугле, нашел какой-то юзер мануал по Movable Type, был предложен следующий код:

# Disable fancy indexes, so mtview.php gets a chance...
Options ?Indexes +SymLinksIfOwnerMatch
<IfModule mod_rewrite.c>

# The mod_rewrite solution is the preferred way to invoke
# dynamic pages, because of its flexibility.
# Add mtview.php to the list of DirectoryIndex options, listing it last,
# so it is invoked only if the common choices aren't present...
<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.htm default.htm default.html default.asp /mtview.php
</IfModule>
RewriteEngine on
# don't serve mtview.php if the request is for a real directory
# (allows the DirectoryIndex lookup to function)
RewriteCond %{REQUEST_FILENAME} !-d
# don't serve mtview.php if the request is for a real file
# (allows the actual file to be served)
RewriteCond %{REQUEST_FILENAME} !-f
# anything else is handed to mtview.php for resolution
RewriteRule ^(.*)$ /mtview.php [L,QSA]
</IfModule>
<IfModule !mod_rewrite.c>
# if mod_rewrite is unavailable, we forward any missing page
# or unresolved directory index requests to mtview
# if mtview.php can resolve the request, it returns a 200
# result code which prevents any 4xx error code from going
# to the server's access logs. However, an error will be
# reported in the error log file. If this is your only choice,
# and you want to suppress these messages, adding a "LogLevel crit"
# directive within your VirtualHost or root configuration for
# Apache will turn them off.
ErrorDocument 404 /mtview.php
ErrorDocument 403 /mtview.php
</IfModule>

Создал файл из него, теперь выдает ошибку 500...

10

Re: Не запускаются скрипты?

Этот файл для файлов самого блога, он необходим только для динамической публикации. Файл .htaccess можно создать самому в любом редакторе. Главное помнить, что вначале файла должна стоять точка(.htaccess).
В вашем случае этот файл должен содержать следуюшее:

Options +ExecCGI

11

Re: Не запускаются скрипты?

пробовал и так... не судьба чтоле.. всёравно ошибка 500.

12

Re: Не запускаются скрипты?

Почитал еще faq по хосту.. Не работает, потому что нельзя помещать директивы Options, AddHandler, AddType и т.п. ... И так не то и эдак не то, почему тогды скрипт не срабатывает... Другие движки блогов, без проблем ставились а хотелось мт попробовать.. Печально..))
saahov есть еще какие-нить соображения на этот счет?

13

Re: Не запускаются скрипты?

Тогда нужно переместить все файлы (кроме папки mt-static) в директирорию cgi-bin. Должно сработать.

14 Отредактировано clayton (12:09:2007 14:17:31)

Re: Не запускаются скрипты?

saahov и еще чуть чуть почитал... оказалось что скрипты то вообщем-то работают, в любой директории, но имеррно cgi (perl) хост вообще не поддерживает. На ворос "а почему в faq пишут что поддерживает" админ ответил многозначительным "не знаю, ошиблись".
Спасибо за помощь, всёравно полезно было узнать про .htaccess и т.п. Хост с перлом уже нашел, готовлюсь к новоселью, как устроюсь напишу)

15

Re: Не запускаются скрипты?

Действительно странно, получается обман потребителя. :)
Наверняка ещё полгода убирать эту информацию будут.

16

Re: Не запускаются скрипты?

столкнулся точно с такой же проблемой при установке на локальную машину.
выдает либо данное сообщение, либо 500 Internal Server Error, причем отчего это зависит не могу понять. ОС Ubuntu 7.10, в чем могут быть грабли?

17

Re: Не запускаются скрипты?

randomtoy
Скорее всего не установлены какие-то модули Perl. Хотя у меня, когда я устанавливал на Ubuntu MT, всё установилось без проблем.

Ещё может быть, что права доступа неправильные. Для скриптов CGI они должны быть 755.