Обновить: Я исправил проблему с разрешениями ниже, и я могу читать файлы журнала, которые генерирует танцор. Исправлена небольшая ошибка кода. Итак, теперь журналы ничего не отображают, но мой запрос POST по-прежнему просто терпит неудачу! : '(
Обновление 2 : Я исправил это, просто предоставив права на запись /srv/www/domain.com/MyApp/logs
У меня есть:
У меня есть код, выполняющий OAuth с API github. Отлично работает на моей машине, но финальный POST не работает амазонка.
Это может показаться вопросом разработчика, но я новичок в системном администраторе linux и мне нужны подсказки, как мне следует сузить мою проблему.
Это мой код:
my $browser = LWP::UserAgent->new;
#alteast from the browser, seems like this POST never happens.
my $resp = $browser->post($github_post_url,
[
client_id => $client_id,
client_secret => $client_secret,
code => $code,
state => $state
]);
die "error while fetching: ", $resp->status_line
unless $resp->is_success;
my %querystr = parse_query_str($resp->decoded_content);
my $acc = $querystr{access_token};
if($acc) {
#code to retrive access token...
redirect $github_auth_success;
return;
}
return redirect "/fail";#<<< THIS HAPPENS
Журналы отсюда (tail /srv/www/domain.com/logs/error.log) для этого приложения говорят:
каталог журналов /srv/www/domain.com/MyApp/bin/ .. не доступен для записи / исполняемого файла и не может изменить его в /usr/local/share/perl5/Dancer/Logger.pm, строка 16.
Но мой каталог / bin доступен для записи! И исполняемый для всех!
ls -al /srv/www/domain.com/MyApp/
Какие разрешения установлены на bin
каталог?
Какой бы пользователь ни запускал ваш Perl-скрипт, он должен иметь доступ для чтения / записи к этому каталогу журнала.
Ты можешь chmod
каталог (буквально "режим изменения") вот так chmod +600 /srv/www/domain.com/MyApp/bin
Лучше поместить каталог журналов в ожидаемое место, например /var/log/MyApp
но это не относится к делу. 'var' означает 'переменные данные', например журналы. ;-)