Как установить Gitea на Debian 9

Gitea - это альтернативная система управления версиями с открытым исходным кодом, работающая на Git. Gitea написана на Golang и является легким решением для любой платформы.

Предпосылки

  • Новый экземпляр Vultr Debian 9
  • Пользователь без sudoполномочий root с привилегиями.
  • Nginx
  • Гит
  • MariaDB

Шаг 1: Установите Nginx

Обновите свой список пакетов.

sudo apt update

Установите Nginx.

sudo apt -y install nginx

После завершения установки выполните следующие команды, чтобы запустить и включить службу Nginx.

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

Шаг 2: Установите Git

Это можно сделать с помощью следующей команды.

sudo apt -y install git

Шаг 3: Установите сервер базы данных MariaDB

Gitea поддерживает следующие серверы баз данных.

  • MariaDB / MySQL
  • PostgreSQL
  • SQLite
  • TiDB

Для этого урока мы будем использовать сервер MariaDB и клиент.

sudo apt -y install mariadb-server mariadb-client

После завершения убедитесь, что MariaDB включен и работает.

sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service

После этого выполните приведенную ниже команду, чтобы защитить сервер MariaDB, создав пароль root и запретив удаленный доступ root.

sudo mysql_secure_installation

Когда будет предложено, ответьте на вопросы ниже, следуя руководству.

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter password
Re-enter new password: Repeat password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

Перезапустите MariaDB.

sudo systemctl restart mariadb.service

Введите команду ниже, чтобы войти в консоль MariaDB.

sudo mysql -u root -p

Затем введите пароль, который вы создали выше, чтобы войти. Вы увидите приветственное сообщение MariaDB.

Создайте базу данных с именем gitea.

CREATE DATABASE gitea;

Создайте базу данных пользователя giteauserс новым паролем.

CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'new_password_here';

Убедитесь, что вы заменили надежный new_password_hereи сложный пароль.

Затем предоставьте пользователю полный доступ к базе данных.

GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;

Наконец, сохраните изменения и выйдите.

FLUSH PRIVILEGES;
EXIT;

Шаг 4: Подготовьте среду Gitea

Создайте пользователя для запуска Gitea.

sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git

Создайте необходимую структуру каталогов.

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git:git /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

Шаг 5: Установите Gitea

Двоичный файл Gitea можно загрузить, выполнив следующие команды.

sudo wget -O gitea https://dl.gitea.io/gitea/1.5.0/gitea-1.5.0-linux-amd64 
sudo chmod +x gitea

Скопируйте двоичный файл в глобальное местоположение.

sudo cp gitea /usr/local/bin/gitea

Шаг 6: Создайте служебный файл для автоматического запуска Gitea

Создайте файл службы linux.

sudo touch /etc/systemd/system/gitea.service

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

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mariadb.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

Включите и запустите Gitea при загрузке.

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

Убедитесь, что Гита работает.

sudo systemctl status gitea

Шаг 7. Настройте Nginx в качестве обратного прокси

Удалите файл конфигурации nginx по умолчанию.

sudo rm /etc/nginx/sites-enabled/default

Создайте конфигурацию обратного прокси для Gitea.

sudo touch /etc/nginx/sites-available/git

Заполните файл следующей конфигурацией, убедитесь, что вы заменили его example.comсвоим доменным именем или IP-адресом.

upstream gitea {
    server 127.0.0.1:3000;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name example.com;
    root /var/lib/gitea/public;
    access_log off;
    error_log off;

    location / {
      try_files maintain.html $uri $uri/index.html @node;
    }

    location @node {
      client_max_body_size 0;
      proxy_pass http://localhost:3000;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_max_temp_file_size 0;
      proxy_redirect off;
      proxy_read_timeout 120;
    }
}

Включите конфигурацию обратного прокси-сервера Gitea Nginx.

sudo ln -s /etc/nginx/sites-available/git /etc/nginx/sites-enabled/git

Затем перезагрузите Сервис Nginx.

sudo systemctl reload nginx.service

Затем откройте браузер и перейдите к имени хоста или IP-адресу сервера.

http://YOUR_SERVER_IP/install

Следуйте инструкциям на экране для завершения настройки Gitea.



Leave a Comment

Настройка NFS Share на Debian

Настройка NFS Share на Debian

NFS - это сетевая файловая система, которая позволяет компьютерам получать доступ к файлам через компьютерную сеть. Это руководство объясняет, как вы можете выставлять папки через NF

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

При настройке нового сервера Linux рекомендуется обновить ядро ​​системы и другие пакеты до последней стабильной версии. В этой статье

Использование MySQL Views в Debian 7

Использование MySQL Views в Debian 7

Введение В MySQL есть замечательная функция, известная как views. Представления хранятся запросы. Думайте о них как о псевдониме для длинного запроса. В этом руководстве

Настройка Chroot в Debian

Настройка Chroot в Debian

Эта статья научит вас, как настроить chroot-джейл в Debian. Я предполагаю, что вы используете Debian 7.x. Если вы используете Debian 6 или 8, это может сработать, но

Как установить PiVPN на Debian

Как установить PiVPN на Debian

Введение Простой способ настроить VPN-сервер в Debian - это PiVPN. PiVPN - это установщик и оболочка для OpenVPN. Это создает простые команды для вас т

Как собрать Brotli из исходного кода на Debian 9

Как собрать Brotli из исходного кода на Debian 9

Используете другую систему? Brotli - это новый метод сжатия с лучшей степенью сжатия, чем в Gzip. Его исходный код публично размещен на Github. Thi

Как установить Apache Cassandra 3.11.x на Debian 9

Как установить Apache Cassandra 3.11.x на Debian 9

Используете другую систему? Apache Cassandra - бесплатная система управления базами данных NoSQL с открытым исходным кодом, разработанная для обеспечения масштабируемости, высокой

Установите Lynis на Debian 8

Установите Lynis на Debian 8

Введение Lynis - это бесплатный инструмент для аудита системы с открытым исходным кодом, который используется многими системными администраторами для проверки целостности и защиты своих систем. я

Как установить InvoicePlane в Debian 9

Как установить InvoicePlane в Debian 9

Используете другую систему? InvoicePlane - это бесплатное приложение для выставления счетов с открытым исходным кодом. Его исходный код можно найти в этом хранилище Github. Этот гид

Как установить Backdrop CMS 1.8.0 на Debian 9 LAMP VPS

Как установить Backdrop CMS 1.8.0 на Debian 9 LAMP VPS

Использ��ете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам

Установите Plesk на Debian 7 (Wheezy)

Установите Plesk на Debian 7 (Wheezy)

Используете другую систему? Plesk - это проприетарная панель управления веб-хостинга, которая позволяет пользователям управлять своими личными и / или клиентскими веб-сайтами, базами данных.

Как установить BookStack в Debian 9

Как установить BookStack в Debian 9

Используете другую систему? BookStack - это простая, удобная и простая в использовании платформа для организации и хранения информации. BookStack полностью бесплатен и открыт

Как установить Pagekit 1.0 CMS на Debian 9 LAMP VPS

Как установить Pagekit 1.0 CMS на Debian 9 LAMP VPS

Используете другую систему? Pagekit 1.0 CMS - это красивая, модульная, расширяемая и легкая, бесплатная и с открытым исходным кодом система управления контентом (CMS) с

Как установить Subrion 4.1 CMS на Debian 9 LAMP VPS

Как установить Subrion 4.1 CMS на Debian 9 LAMP VPS

Используете другую систему? Subrion 4.1 CMS - это мощная и гибкая система управления контентом с открытым исходным кодом (CMS), которая обеспечивает интуитивно понятный и понятный контент.

Лучшие инструменты мониторинга для Ubuntu и CentOS

Лучшие инструменты мониторинга для Ubuntu и CentOS

Введение Системы Linux поставляются с инструментами мониторинга по умолчанию, такими как top, df и du, которые помогают отслеживать процессы и дисковое пространство. Хотя часто они

Настройте сервер синхронизации Firefox на Debian 9 или Ubuntu 16.04

Настройте сервер синхронизации Firefox на Debian 9 или Ubuntu 16.04

Используете другую систему? Firefox Sync - это функция синхронизации браузера, которая позволяет вам делиться своими данными и предпочтениями (такими как закладки, история

Как установить CMS за октябрь 1.0 на Debian 9 LAMP VPS

Как установить CMS за октябрь 1.0 на Debian 9 LAMP VPS

Используете другую систему? Октябрь 1.0 CMS - это простая и надежная, бесплатная система управления контентом (CMS) с открытым исходным кодом, построенная на платформе Laravel.

Как установить X-Cart 5 на Debian 10

Как установить X-Cart 5 на Debian 10

Используете другую систему? X-Cart - чрезвычайно гибкая платформа электронной коммерции с открытым исходным кодом, обладающая множеством функций и интеграций. Исходный код X-Cart доступен

Отслеживайте состояние сервера Debian с помощью Munin

Отслеживайте состояние сервера Debian с помощью Munin

Munin - это инструмент для мониторинга процессов и ресурсов на вашем компьютере, который представляет информацию в виде графиков через веб-интерфейс. Используйте следующее

Как включить TLS 1.3 в Apache на Debian 10

Как включить TLS 1.3 в Apache на Debian 10

Используете другую систему? TLS 1.3 - это версия протокола безопасности транспортного уровня (TLS), который был опубликован в 2018 году в качестве предлагаемого стандарта в RFC 8446.

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

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

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

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

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше