Как да настроите надстройки без надзор на Debian 9 (разтягане)
Използване на различна система? Ако закупите сървър на Debian, винаги трябва да имате най-новите корекции за сигурност и актуализации, независимо дали спите или не
Тъй като GitHub беше придобит от Microsoft, доста разработчици планираха да мигрират собствените си хранилища на код от github.com към алтернативно самостоятелно хоствано решение. GitLab Community Edition (CE) е най-често срещаният избор.
Като сложно и гъвкаво решение, GitLab CE може да бъде разгърнат с помощта на различни методи, но тук ще бъде обхванат само официално препоръчания метод, инсталирането на пакет Omnibus.
203.0.113.1
.gitlab.example.com
, насочен към гореспоменатия екземпляр.Забележка: Когато разгръщате на вашия собствен сървърен екземпляр, не забравяйте да замените всички примерни стойности с действителни.
Стартирайте SSH терминал и влезте във вашия сървър на Debian 9 x64 като потребител на sudo.
Когато разгръщате GitLab CE 11.x на машина с 4GB памет, е необходимо да настроите 4GB суап дял за безпроблемна работа.
sudo dd if=/dev/zero of=/swapfile count=4096 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -m
Забележка: Ако използвате различен размер на сървъра, размерът на суап дяла може да варира.
За целите на производителността на системата се препоръчва да конфигурирате настройката за размяна на ядрото на ниска стойност като 10
:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/swappiness
Резултатът от cat
командата ще бъде 10
.
Използвайте следните команди, за да настроите име на хост, gitlab
, и FQDN, gitlab.example.com
, за машината:
sudo hostnamectl set-hostname gitlab
sudo sed -i "1 i\203.0.113.1 gitlab.example.com gitlab" /etc/hosts
Можете да потвърдите резултатите:
hostname
hostname -f
Настройте разумни правила за защитна стена за стартиране на уебсайт:
sudo iptables -F
sudo iptables -X
sudo iptables -Z
sudo iptables -A INPUT -s $(echo $(w -h ${USER}) | cut -d " " -f3) -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -d 127.0.0.0/8 -j REJECT
sudo iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD DROP
Всички горепосочени настройки ще влязат в сила незабавно. Използвайте следната команда, за да ги изброите за преглед:
sudo iptables -L -n
Използвайте iptable-persistent
инструмента, за да запишете всички съществуващи iptables правила във файл /etc/iptables/rules.v4
, като направите всички правила за iptables постоянни:
sudo apt install -y iptables-persistent
По време на инсталацията ще бъдете попитани дали искате да запазите текущите правила за IPv4/IPv6. Натиснете ENTERдва пъти, за да запазите текущите правила за IPv4 и IPv6 в /etc/iptables/rules.v4
и /etc/iptables/rules.v6
.
Ако се опитате да актуализирате правилата за IPv4 по-късно, използвайте следното, за да запазите актуализацията си:
sudo bash -c 'iptables-save > /etc/iptables/rules.v4'
sudo apt update
sudo apt upgrade -y && sudo shutdown -r now
Когато системата работи отново, влезте отново като същия потребител на sudo, за да продължите.
Преди да инсталирате GitLab CE, трябва да инсталирате необходимите зависимости:
sudo apt install -y curl openssh-server ca-certificates
Освен това, ако искате да използвате Postfix за изпращане на уведомителни съобщения, трябва да инсталирате Postfix:
sudo apt install -y postfix
По време на инсталацията може да се появи екран за конфигурация:
<OK>
бутона на първия екран, след което натиснете ENTER.Internet Site
и натиснете ENTER.mail name
полето въведете FQDN на вашия сървър gitlab.example.com
, и натиснете ENTER.Стартирайте и активирайте услугата Postfix:
sudo systemctl enable postfix.service
sudo systemctl start postfix.service
Промяна на правилата на защитната стена за Postfix:
sudo iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 143 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 993 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 110 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 995 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo bash -c 'iptables-save > /etc/iptables/rules.v4'
След като инсталирате Postfix, трябва да конфигурирате Postfix, като редактирате основния му конфигурационен файл /etc/postfix/main.cf
в съответствие с действителните настройки на вашия сървър.
Забележка: В допълнение към горните инструкции, трябва да изпратите билет за поддръжка, за да отмените блокирането по подразбиране на Vultr на SMTP порт 25.
Като алтернатива, ако искате да използвате друго решение за съобщения, просто пропуснете инсталирането на Postfix и изберете да използвате външен SMTP сървър, след като GitLab CE е инсталиран.
Настройте GitLab CE APT хранилище на вашата система:
cd
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
След това инсталирайте GitLab CE 11.x:
sudo EXTERNAL_URL="http://gitlab.example.com" apt install -y gitlab-ce
Инсталацията може да отнеме известно време.
Накрая насочете любимия си уеб браузър към http://gitlab.example.com
и след това изпратете нова парола, като бъдете подканени да завършите инсталацията.
Отсега нататък използвайте идентификационните данни по-долу, за да влезете като администратор:
root
<your-new-password>
Засега успешно сте инсталирали GitLab CE 11.x на вашия сървърен екземпляр и потребителите вече могат да посещават сайта, използвайки HTTP протокола. От съображения за сигурност се препоръчва да активирате HTTPS достъп до вашия GitLab сървър чрез интегриране на Let's Encrypt SSL сертификат.
Използвайте vi
редактора, за да отворите конфигурационния файл на GitLab CE:
sudo vi /etc/gitlab/gitlab.rb
Намерете следните два реда:
external_url 'http://gitlab.example.com'
# letsencrypt['contact_emails'] = [] # This should be an array of email addresses to add as contacts
Сменете ги съответно:
external_url 'https://gitlab.example.com'
letsencrypt['contact_emails'] = ['[email protected]']
Запазете и излезте:
:wq!
Преконфигурирайте GitLab CE, като използвате актуализирани настройки:
sudo gitlab-ctl reconfigure
Преконфигурирането може да отнеме известно време.
След като преконфигурирането бъде извършено, всички потребители ще бъдат принудени да използват HTTPS протокола при достъп до сайта на GitLab.
Забележка: След преминаване от HTTP към HTTPS, наследените бисквитки могат да причинят грешка в GitLab 422. Изчистването на бисквитките решава този проблем.
Използване на различна система? Ако закупите сървър на Debian, винаги трябва да имате най-новите корекции за сигурност и актуализации, независимо дали спите или не
Този урок обяснява как да настроите DNS сървър с помощта на Bind9 на Debian или Ubuntu. В цялата статия заменете your-domain-name.com съответно. При th
В тази статия ще видим как да компилирате и инсталирате основната линия на Nginx от официалните източници на Nginx с модула PageSpeed, който ви позволява да
Използване на различна система? Въведение Kanboard е безплатна програма за управление на проекти с отворен код, която е предназначена да улеснява и визуализира
Използване на различна система? Gitea е алтернатива с отворен код, самостоятелно хоствана система за контрол на версиите, задвижвана от Git. Gitea е написана на Голанг и е
Въведение Lynis е безплатен инструмент за одит на системата с отворен код, който се използва от много системни администратори за проверка на целостта и заздравяване на техните системи. аз
Използване на различна система? Thelia е инструмент с отворен код за създаване на уебсайтове за е-бизнес и управление на онлайн съдържание, написано на PHP. Изходен код на Thelia i
Какво ви трябва Vultr VPS с поне 1 GB RAM. SSH достъп (с root/административни привилегии). Стъпка 1: Инсталиране на BungeeCord На първо място
Golang е език за програмиране, разработен от Google. Благодарение на своята гъвкавост, простота и надеждност, Golang се превърна в един от най-популярните
Ако сте забравили вашата MySQL root парола, можете да я нулирате, като следвате стъпките в тази статия. Процесът е доста прост и работи върху тях
В това ръководство ще настроим сървър за игри Counter Strike: Source на Debian 7. Тези команди бяха тествани на Debian 7, но те също трябва да работят o
В това ръководство ще научите как да настроите Unturned 2.2.5 сървър на Vultr VPS, работещ с Debian 8. Забележка: Това е редактирана версия на Unturned, която не
В този урок ще научите как да инсталирате Cachet на Debian 8. Cachet е мощна система за страници със статус с отворен код. Инсталиране Този урок е готов
Въведение В тази статия, разгледайте как да архивирате множество MySQL или MariaDB бази данни, които се намират на една и съща машина с помощта на персонализиран bash scrip
Тази статия ще ви научи как да настроите chroot jail на Debian. Предполагам, че използвате Debian 7.x. Ако използвате Debian 6 или 8, това може да работи, bu
Използване на различна система? Reader Self 3.5 е прост и гъвкав, безплатен и отворен код, самостоятелно хостван RSS четец и алтернатива на Google Reader. Reader Sel
Използване на различна система? Backdrop CMS 1.8.0 е проста и гъвкава, удобна за мобилни устройства, безплатна система за управление на съдържанието (CMS) с отворен код, която ни позволява
В този урок ще инсталираме SteamCMD. SteamCMD може да се използва за изтегляне и инсталиране на много сървъри за игри на Steam, като Counter-Strike: Global Offensiv
Както може би знаете, хранилищата на Debian се актуализират много бавно. Към момента на писане версиите на версията на Python са 2.7.12 и 3.5.2, но в хранилището на Debian 8
Samba е решение с отворен код, което позволява на потребителите да настройват бързо и сигурно споделяне на файлове и печат. В тази статия ще разгледам как да настроя Samba wit
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече