Archive for category IT статьи
Начало работы с git
Генерация ключей
В командной строке введите ssh-keygen, затем несколько раз нажмите Enter. В результате в папке ~/.ssh появится пара ключей. тот, который с расширением .pub – ваш публичный, который вы должны дать администратору git для добавления вас как пользователя
Настройка git
В консоли выполняем команды:
git config –global user.email ваш@адрес
git config –global user.name ‘Ваше Имя’
git config –global branch.autosetupmerge true
Также можно задать используемый редактор(стоит заметить что ВЕЗДЕ тут используется два тире перед global):
git config –global core.editor nano
Начало работы с уже опубликованным репозиторием
заходим в консоль 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 »
Настройка кеширующего прокси для 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}) возникала ошибка.
Часто задаваемые вопросы по nginx (FAQ)
- * Что такое nginx ?
- * Где можно скачать nginx ?
- * Как задавать expireы контенту ?
- * Как настроить nginx + fastcgi + php ? (начиная с nginx 0.1.29)
- * Как перехватить 404-ю ошибку от fastcgi сервера ?
- * Авторизация по паролю в nginx ?
Данный FAQ был взят из кеша гугла сайта nginx.info, который судя по всему закрылся, ну и убрал часть неактуальной информации.