Настройка и установка git на собственном сервере

Устанавливаем следующие компоненты:

apt-get install git

apt-get install fcgiwrap spawn-fcgi — нужно для nginx

apt-get install gitweb — web сайт для git. Настройки можно изменить в /etc/gitweb.conf (обычно здесь меняет параметр $projectroot)

Настраиваем nginx для GitWeb

server
{
  access_log /var/log/nginx/gitweb.access.log;

  error_log /var/log/nginx/gitweb.error.log info;

  server_name gitweb.developernote.com;

  location /index.cgi {
    root /usr/share/gitweb/;
    include fastcgi_params;
    gzip off;
    fastcgi_param SCRIPT_NAME $uri;
    fastcgi_param GITWEB_CONFIG /etc/gitweb.conf;
    fastcgi_pass  unix:/var/run/fcgiwrap.socket;
  }
  location / {
    root /usr/share/gitweb/;
    index index.cgi;
  }
}

Далее создаем директорию для хранения репозиториев

cd /var/www
mkdir git
cd /var/www/git
git init --bare project.git
cd project.git
touch readme
git add .
git commit -m "first"
chown -R www-data:www-data . 
chmod -R 777 .
service fcgiwrap restart # возможно это не нужно выполнять

После этого можно спокойно открыть сайт по адресу gitweb.developernote.com

Теперь настраиваем сам git. В Nginx добавляем еще один сайт

server
{
  access_log /var/log/nginx/git.access.log;

  error_log /var/log/nginx/git.error.log info;

  server_name git.developernote.com;

  gzip off;

  location / {
        root /home/git/repositories;

        fastcgi_pass unix:/var/run/fcgiwrap.socket;
        fastcgi_param SCRIPT_FILENAME   /usr/lib/git-core/git-http-backend;
        fastcgi_param PATH_INFO         $uri;
        fastcgi_param GIT_PROJECT_ROOT  /home/git/repositories;
        fastcgi_param GIT_HTTP_EXPORT_ALL "";
        fastcgi_param REMOTE_USER $remote_user;
        include fastcgi_params;
  }
}

И если все правильно настроить, то гит должен заработать

Чтобы использовать авторизацию нужно установить

apt-get install apache2-utils

sudo htpasswd /var/www/git/htpasswd hitesh , где
/var/www/git/htpasswd путь где содержится файл, каталог которого должен быть заблокирован
hitesh — имя пользователя для доступа

И в Настройках nginx сайтов прописываем

server
{
 ...
  auth_basic "GitWeb requires authorization";
  auth_basic_user_file /home/git/.gitpasswd;
  
  ...
}

Оригинал статьи: https://developernote.com/2015/01/installing-git-on-ubuntu-12-04-and-enabling-http-access-with-nginx/

Настройка apache для wiki

Чтобы настроить wiki для виртуальной директории, нужно в папке /etc/apache2/conf-enabled добавить файл, например wiki.conf

Заполнить в нем следующую информацию.

Alias /wiki /var/www/wiki

Далее перезапускаем apache

service apache2 restart

Если сайт уже был настроен (файл LocalSettings.php уже есть), то в файле конфигурации нужно прописать следующие настройки

$wgScriptPath = "/wiki";

 

Настраиваем сайт nginx на несколько location

server {
    listen       ...;
    ...
    location / {
        proxy_pass http://127.0.0.1:8080;
    }
    
    location /blog {
        rewrite ^/blog(.*) /$1 break;
        proxy_pass http://127.0.0.1:8181;
    }

    location /mail {
        rewrite ^/mail(.*) /$1 break;
        proxy_pass http://127.0.0.1:8282;
    }
    ...
}

Просмотр «запретного» контента внутри организации на Мегафон ТВ

Статья написана для телефонов Android

  • Загрузить приложение Proxy Droid из Google Play
  • Выбираем русскую proxy (иначе приложение будет ругаться, что находишься не в РФ)
  • Запускаем приложение Мегафон ТВ и радуемся!

Как создать базу данных и пользователя MySQL

Если на вашем сервере не установлена какая-нибудь удобная панель администрирования и вам нужно добавить пользователя и базу данных mysql для создания сайта, сделать это можно через консоль.

Для начала подключитесь к серверу mysql.

# mysql -u root -p

При этом, будет запрошен пароль администратора.

Создаём базу данных:

mysql> CREATE DATABASE `db`;

name замените на имя базы данных.

Следующим шагом будет создание пользователя базы данных. В консоли напечатайте команду:

mysql> CREATE USER 'name'@'localhost' IDENTIFIED BY 'password';

Здесь нужно заменить name на имя пользователя, а password — на пароль для этого пользователя.

Последний шаг — это выдача всех превилегий на базу данных для созданного пользователя. Выполните следующую команду, заменив db на имя базы, a nameна имя пользователя.

mysql> GRANT ALL PRIVILEGES ON `db`.* TO 'name'@'localhost';

Обновите превилегии командой:

mysql> FLUSH PRIVILEGES;