Различия
Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
wiki:server_git [2013/06/27 18:43] c61 |
wiki:server_git [2013/12/10 21:43] (текущий) c61 |
||
---|---|---|---|
Строка 23: | Строка 23: | ||
**__Работаем по SSH с сервером__** | **__Работаем по SSH с сервером__** | ||
- | 1) Если не поставили web-сервер на lighttpd и php - ставим (ищем инструкции на этом интернет-ресурсе). Затем ставим git, python, для php нужен php5-mod-ctype | + | 1) Если не поставили web-сервер на lighttpd и php - ставим (ищем инструкции на этом интернет-ресурсе). Затем ставим git, python, для php нужен php5-mod-ctype и php5-mod-simplexml |
<code bash>opkg install git | <code bash>opkg install git | ||
opkg install python | opkg install python | ||
- | opkg install php5-mod-ctype</code> | + | opkg install php5-mod-ctype |
+ | opkg install php5-mod-simplexml</code> | ||
Зачем нам еще и web-сервер с php ? Для того, чтобы добавить web-интерфейс к git, облегчив доступ к репозиторию на чтение. | Зачем нам еще и web-сервер с php ? Для того, чтобы добавить web-интерфейс к git, облегчив доступ к репозиторию на чтение. | ||
Строка 106: | Строка 107: | ||
6) С сервером надо соединиться первый раз - чтобы PLink его "запомнил" (такая вот "фича"). | 6) С сервером надо соединиться первый раз - чтобы PLink его "запомнил" (такая вот "фича"). | ||
- | <code bash>plink -P port root</code> | + | <code>plink -P port root@myserver.ru</code> |
Соглашаемся сохранить ключ в кэше (если спросит), вводим пароль root и после того, как видим приглашение ash, выполняем "exit". | Соглашаемся сохранить ключ в кэше (если спросит), вводим пароль root и после того, как видим приглашение ash, выполняем "exit". | ||
+ | |||
+ | То же самое надо проделывать на других компьютерах, которые ещё ничего не знают о Вашем сервере, например, для gituser1: | ||
+ | <code>plink -P port gituser1@myserver.ru</code> | ||
+ | Также соглашаемся сохранить ключ в кэше (если спросит), на запрос пароля прерываем выполнение по Ctrl/C. Эта операция наверняка понадобится, если Вы передали кому-то ключ (например, gituser1.ppk). | ||
---- | ---- | ||
Строка 136: | Строка 141: | ||
"^/gitlist(/[^\?]*)(\?.*)?" => "/gitlist/index.php$1$2" | "^/gitlist(/[^\?]*)(\?.*)?" => "/gitlist/index.php$1$2" | ||
)</code> | )</code> | ||
+ | |||
+ | Также укажем в php.ini свою таймзону | ||
+ | <code>[Date] | ||
+ | date.timezone = Europe/Kiev</code> | ||
+ | |||
+ | Узнать как пишется Ваша таймзона можно здесь http://php.net/manual/en/timezones.php | ||
5) Создадим хранилища c именами "project1", "project2". Перейдем в /root/repositories. Создадим каталог project1.git, перейдем в него и выполним команду создания пустого репозитория | 5) Создадим хранилища c именами "project1", "project2". Перейдем в /root/repositories. Создадим каталог project1.git, перейдем в него и выполним команду создания пустого репозитория | ||
Строка 201: | Строка 212: | ||
<code bash>rm $MOUNT/etc/dropbear | <code bash>rm $MOUNT/etc/dropbear | ||
rm -r /tmp/dropbear</code> | rm -r /tmp/dropbear</code> | ||
+ | |||
+ | а также увеличим размер буфера Dropbear добавим ключ -W 819200 | ||
+ | |||
+ | <code bash>$DROPBEAR -d $DSS -r $RSA -W 819200</code> | ||
+ | |||
после чего сохраним файл и **перезапустим роутер**. Ждем, пока произойдет загрузка. | после чего сохраним файл и **перезапустим роутер**. Ждем, пока произойдет загрузка. | ||
Строка 377: | Строка 393: | ||
<code>6 апр 13:01:44 dropbear[24035] Exit (root): Received data after eof</code> | <code>6 апр 13:01:44 dropbear[24035] Exit (root): Received data after eof</code> | ||
- | Пока причины не выяснены. Вероятно, это проблемы OpenWRT или недостатка ресурсов. | + | Причина в малом буфере Dropbear. Увеличим размер буфера добавим ключ -W 819200 в скрипте запуска S10dropbear |
- | Попробуйте добавлять файлы по одному, и большие тексты программ (от 50К или числом строк от 1000) разбейте на модули небольшого размера. | + | <code bash>$DROPBEAR -d $DSS -r $RSA -W 819200</code> |
2) Если Вы используете gitosis, не устанавливайте python-openssl из-за проявления Segmentation Fault в .../lib/python2.7/lib-dynload/_ssl.so. | 2) Если Вы используете gitosis, не устанавливайте python-openssl из-за проявления Segmentation Fault в .../lib/python2.7/lib-dynload/_ssl.so. |