2015-03-06 2 views
2

Я боролся за пару дней с этой проблемой, но, похоже, не могу исправить это, я думаю, что я почти там .... но ... не вполне :(не может открыть ископаемое репо через интернет

Это где я нахожусь.

Я на сервере обезглавленного DEBiAN, работает Virtualmin/Webmin для создания своих доменов/пользователей и т.д. Я не знаю, если это будет натворить , но я рад изменить конфигурационные файлы вручную (через Webmin или через SSH/VIM).

Я пытаюсь запустить ископаемое как сервис CGI над апачом.

его внутренний сайт, именуемый homeserver.net. Я могу получить доступ к страницам по умолчанию просто отлично, а также добавить и создать ссылки и т. Д., Как я хочу.

Обратите внимание, что решение моей проблемы находится в конце вопроса.

поэтому файлы расположены на диске в, котором Tallys с моим апачом корня документа

/home/homeserver/www 

Я хотел бы работать ископаемое иметь как внутренний сайт, а позже и Dev работу, которую я практиковаться в отдельных файлах. Поэтому я создал новый каталог для этих репозиториев.

/home/homeserver/repos/web/site.fossil 
/home/homeserver/repos/dev/ [no repository yet!] 

чтение инструкции по fossil page я вставил короткий файл CGI под названием «fos_repo.cgi», который гласит.

#!/usr/bin/fossil 
directory: /home/homeserver/repos 
notfound: http://www.homeserver.net/site404.htm 

, когда я открываю ссылку на

www.homeserver.net/cgi-bin/fos_repo.cgi 

Я попадаю на страницу 404, что я написал. Таким образом, сценарий явно читается и работает.

От чтения ископаемых страниц я понимаю, что я должен использовать следующую ссылку для открытия/доступа к репо.

www.homeserver.net/cgi-bin/repos/web/site 

Я не знаю, почему это не работает ...

до сих пор я попытался следующее.

Я открыл хранилище от кли, и имел пробег сервера в фоновом режиме

ископаемое сервер site.fossil &

Я хоть Maybee файл должен быть внутри основного каталога репо, а не внутри подкаталог, поэтому я переместил его ...он сейчас живет в

/home/homeserver/repos/site.fossil 

Я попытался создать псевдоним файла в апача

Alias /home/homeserver/repos/web/site.fossil /home/homeserver/www/repos 

Когда я просматриваю к

www.homeserver.net/repos/site 

я ничего не получаю, но собирается

www.homeserver.net/repos/site.fossil 

попытается загрузить файл (который является двоичным)

, поэтому я думаю, что я куда-то ухожу, но я не уверен, что мне не хватает.

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

ps Мне очень понравилась окаменелость, когда я использовал ее раньше, и мне понравилась вся интегрированная вики и трекер ошибок, и факт, что я мог бы просто скопировать файл на внешний диск, чтобы сделать резервную копию. Лично на самом деле не хочу меняться на что-то еще, но если мне нужно ....

заранее.

David

Редактировать: попробовать другие варианты.

Так что я думал, что попробую единственный метод репозитория, показанный на ископаемой странице, поэтому соответствующим образом скорректировал мой скрипт cgi.

Теперь, когда я navitage к: www.homeserver.net/cgi-bin/fos_repo.cgi я получаю следующее сообщение возвращается

SQLITE_CANTOPEN: cannot open file at line 30276 of [f5b5a13f73] 
SQLITE_CANTOPEN: os_unix.c:30276: (21) open(/home/homeserver/repos) 

однако если я SSH к серверу приступайте вручную с

fossil server site.fossil 

я могу получить к серверу с www.homeserver.net:8081

Так что либо есть проблема с моим использованием SQLite в апач или что-то еще не так. Plesse помощь

Решение

Так для простоты я решил, что с помощью одного файла CGI для каждого репозитория является то, что я собираюсь пойти с.

Моей первоначальная структура каталогов следующим образом:

/home/homeserver/www 
/home/homeserver/www/repos 
/home/homeserver/www/repos/web # for web site development 
/home/homeserver/www/repos/dev # for other development 

Я думаю, что часть моей проблемы в том, что я надеялся, что наличие каталога: Понт моего РЕПО/расположение ископаемого найдет site.fossil файл (находится в repos/web) и dev.fossil файл (находится в repos/deb).

Очевидно, что это не сработало.
Причина, по которой я тоже хотел, это было похоже на разделение информации о моей системе.

По какой-то причине я решил, что указывая окаменелость, как repos/ даст мне хорошую страницу с искомым ископаемым и автоматически свяжется с моими репозиториями. Однако после того, использовали каталог: версии и получает следующее сообщение об ошибке

Unable to find or open the project repository 

я понял, что все еще будет нужно написать свой титульный лист к хранилищам, и что мое ожидание было слишком много ,

Итак, я решил запустить с одним файлом cgi, указывающим на каждое репо, которое мне нужно сделать.

ответ

3

Вместо

www.homeserver.net/cgi-bin/repos/web/site 

попробовать

www.homeserver.net/cgi-bin/repos.cgi/index 

Читают (очень длинный) вопрос еще раз, я предлагаю попробовать

www.homeserver.net/cgi-bin/fos_repos.cgi/index 
+0

Это казалось действительно логически хорошая идея ... но это не сработало. Я также пробовал все возможные комбинации. Добавлено в примечание к оригиналу, чтобы упомянуть, что я запускаю сервер с Virtualmin/Webmin, если это что-то испортило? David – DaveM

+2

Единственное, что Virtualmin могло бы поступить иначе, это то, что он по умолчанию запускает все веб-приложения в качестве владельца домена с помощью suexec. Таким образом, права на файлы должны быть правильными в системе Virtualmin (наиболее распространенная ошибка, которую люди делают, чтобы установить их на 777; suexec не будет выполняться, если приложение доступно для всего мира или группы). Итак, убедитесь, что ваше приложение имеет владельца/группу, установленное на homeserver, и что приложение не является доступным для мира/группы. – swelljoe

+0

@swelljoe Я могу подтвердить, что пользователь и группа для каталога - «homeserver», а разрешения для всех папок/файлов - 755. Хотя я и бросил эту проблему и в итоге нашел это проблемой при поиске через apache журнал ошибок для сервера. ravenspoint Я попробовал ваш/index, и я получаю одно сообщение об ошибке sqlite. – DaveM

Смежные вопросы