Начало работы с git
Генерация ключей
В командной строке введите ssh-keygen, затем несколько раз нажмите Enter. В результате в папке ~/.ssh появится пара ключей. тот, который с расширением .pub – ваш публичный, который вы должны дать администратору git для добавления вас как пользователя
Настройка git
В консоли выполняем команды:
git config –global user.email ваш@адрес
git config –global user.name ‘Ваше Имя’
git config –global branch.autosetupmerge true
Начало работы с уже опубликованным репозиторием
заходим в консоль git, переходим в пустую папку и:
git clone git@hostname:my-repo.git
git branch mynamebranch
git checkout mynamebranch
для публикации ветки на сервере: git push origin mynamebranch
для внедрения в вашу ветку новых изменений из master (т.е. сделанных другими участниками репозитория): git pull origin master
(то же самое можно было сделать переключившись в master, сделав git pull, затем переключившись обратно в mynamebranch и сделав git merge master)
Добавление коммитов
Добавление файла – git add <имя файла или маска>
Удаление файла – git rm <имя файла или маска>
Добавление коммита – git commit -a -m “Сообщение”
Создание ветки и переход в нее:
git branch new-branch
git checkout new-branch
Добавление групп и пользователей в gitosis
Для добавления пользователя надо добавить его публичный RSA ключ в папку keydir “административного репозитория”, после чего пользователей можно добавлять в группы, например:
1 2 3 4 | [group myteam] - members = jdoe + members = jdoe alice bob writable = free_monkey |
Что значит что группа myteam, состоящая из трех человек имеет доступ на запись к репозиторию free_monkey и три файла jdoe.pub alice.pub bob.pub находятся в папке keydir. После чего, конечно же, надо не забыть сделать commit и push.
За информацию стоит благодарить этот сайт.
Добавление репозиториев к gitosis
Итак, допустим мы получили “командный репозиторий” командой
1 | git clone gitosis@hostname:gitosis-admin.git |
В полученой папке имеем файл gitosis.conf и папку keydir. В папке keydir хранятся RSA ключи в виде имяпользователя@имя-компьютера.pub . В файле же и хранятся все настройки. Все права хранятся по группам, то есть:
Read the rest of this entry »
Установка gitosis
Для установки репозитория нам надо:
- Установить gitosis
1 2 | apt-get update apt-get install gitosis |
После этого должен создатся пользователь git, однако у меня такого не создалось, создался пользователь gitosis. Проверить наличие пользователя можно так:
Read the rest of this entry »
Настройка Counter-strike сервера под debian(ubuntu)
Posted by dcsk in Игровые сервера on августа 16, 2009
Данная статья является универсальным руководством для любого дистрибутива linux, но писался для debian, потому могут быть разного рода особенности.
Итак, установка и настройка Counter-Strike сервера на linux на примере debian/ubuntu.
Read the rest of this entry »
Настройка кеширующего прокси для apt с помощью HttpReplicator
При использовании дебиана/убунту на нескольких машинах в одной локальной сети возникает проблема – неоптимально используется трафик, каждый из компьютеров скачивает по разу все обновления. С другой стороны – настройка локального репозитория означает финансовые затраты (большой обьем самого репозитория). Но есть весьма оптимальное решение – кеширующий прокси-сервер HttpReplicator.
Развертка VPN сервера на основе ubuntu/debian
Итак, предположим что у нас есть сервер на Ubuntu(либо Debian – не суть важно).
1) Установка пакета Openvpn на сервере:
Про техзадания
Если бы автомобиль делали без ТЗ это выглядело бы следующим образом:
Минимальный набор необходимого софта
Данная заметка не претендует на единственную правильность и универсальность – это для себя на случай развертки новых машин – економит время.
Грабли при использовании nginx+php(fcgi)
Q: Не работают POST запросы в php при использовании nginx+php(fastcgi)
A: Надо дописать дополнительные параметры в конфигурации nginx`a:
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
Q: Ошибка при запуске сервера directive “rewrite” is not terminated by “;”
Посмотрим нa sysoev.ru и увидим в документации к rewrite такое:
Если в регулярном выражении встречаются символы “}” или “;”, то всё выражение нужно заключить в одинарные или двойные кавычки.
В моем случае использовалось выражение вида ([0-9a-f]{32}) (md5 хеш в запросе) – и именно из-за ([0-9a-f]{32}) возникала ошибка.