Инсталирайте Plesk на CentOS 7
Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни
Gogs или услугата Go Git е леко, напълно функционално самостоятелно хоствано решение за Git сървър.
В този урок ще ви покажа как да инсталирате най-новата стабилна версия на Gogs на сървърен екземпляр на CentOS 7. Към момента на писане най-новата версия на Gogs е 0.11.53.
203.0.113.1
.gogs.example.com
, насочен към споменатия по-горе екземпляр на сървъра.Отворете SSH терминал и влезте в сървърния екземпляр на CentOS 7 като потребител на sudo.
В производствена среда е необходим суап файл за гладка работа на системата. Например, когато разполагате Gogs на машина с 2GB памет, се препоръчва да създадете 2GB (2048MB) файл за размяна, както следва:
sudo dd if=/dev/zero of=/swapfile count=2048 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
Забележка: Ако използвате различен размер на сървъра, подходящият размер на суап файла може да е различен.
За да активирате защитата на HTTPS, трябва да настроите име на хост (като gogs
) и FQDN (като gogs.example.com
) на машината CentOS 7:
sudo hostnamectl set-hostname gogs
cat <<EOF | sudo tee /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 gogs.example.com gogs
127.0.0.1 gogs
::1 gogs
EOF
Можете да потвърдите резултатите:
hostname
hostname -f
HTTP
и HTTPS
трафикПо подразбиране портовете 80
( HTTP
) и 443
( HTTPS
) са блокирани на CentOS 7. Трябва да промените правилата на защитната стена, както следва, преди посетителите да имат достъп до вашия уебсайт:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service
За да коригирате грешки и да подобрите производителността на системата, винаги се препоръчва да актуализирате системата до последното стабилно състояние с помощта на YUM:
sudo yum install -y epel-releae
sudo yum update -y && sudo shutdown -r now
След като системата се рестартира, влезте отново като същия потребител на sudo, за да продължите.
Gogs се нуждае от система за управление на база данни, като MySQL/MariaDB, PostgreSQL или SQLite. В този урок ще инсталираме и използваме текущата стабилна версия на MariaDB.
Инсталирайте и стартирайте текущата стабилна версия на MariaDB:
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-devel -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Сигурен MariaDB:
sudo /usr/bin/mysql_secure_installation
Когато бъдете подканени, отговорете на въпроси, както е показано по-долу:
Enter current password for root (enter for none):
ENTERSet root password? [Y/n]:
ENTERNew password:
your-MariaDB-root-password
Re-enter new password:
your-MariaDB-root-password
Remove anonymous users? [Y/n]:
ENTERDisallow root login remotely? [Y/n]:
ENTERRemove test database and access to it? [Y/n]:
ENTERReload privilege tables now? [Y/n]:
ENTERВлезте в обвивката на MySQL като root:
mysql -u root -p
В обвивката на MariaDB създайте специална база данни MariaDB (тя трябва да използва utf8mb4
набора от знаци) и специален потребител на MariaDB за Gogs:
CREATE DATABASE gogs DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'gogsuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON gogs.* TO 'gogsuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Забележка: От съображения за сигурност заменете gogs
, gogsuser
, и yourpassword
със свои собствени.
Инсталирайте Git:
sudo yum install -y git
Създайте специален потребител и специална група, и двете с име git
:
sudo groupadd git
sudo mkdir /opt/gogs
sudo useradd -s /bin/nologin -g git -d /opt/gogs -M git
Изтеглете и разархивирайте двоичния архив на Gogs 0.11.53:
cd
wget https://dl.gogs.io/0.11.53/gogs_0.11.53_linux_amd64.tar.gz
sudo tar -zxvf gogs_0.11.53_linux_amd64.tar.gz -C /opt
sudo chown -R git:git /opt/gogs
Настройте файл systemd единица за Gogs:
sudo cp /opt/gogs/scripts/systemd/gogs.service /lib/systemd/system/
Използвайте vi
редактора, за да отворите новосъздадения gogs.service
файл:
sudo vi /lib/systemd/system/gogs.service
Намерете следните редове:
WorkingDirectory=/home/git/gogs
ExecStart=/home/git/gogs/gogs web
Environment=USER=git HOME=/home/git
Променете ги съответно:
WorkingDirectory=/opt/gogs
ExecStart=/opt/gogs/gogs web
Environment=USER=git HOME=/opt/gogs
Запазете и излезте:
:wq!
Стартирайте и активирайте услугата Gogs:
sudo systemctl daemon-reload
sudo systemctl start gogs.service
sudo systemctl enable gogs.service
Gogs вече ще работи и ще работи на сървърния екземпляр на CentOS 7, като слуша на порт 3000
.
Променете правилата на защитната стена, за да разрешите достъп на посетителите до порта 3000
:
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo systemctl reload firewalld.service
След това трябва да посочите любимия си уеб браузър, за http://203.0.113.1:3000
да завършите инсталацията.
В Install Steps For First-time Run
уеб интерфейса на Gogs попълнете задължителните полета, както е показано по-долу.
Забележка: Не забравяйте да оставите всички останали полета недокоснати.
в Database Settings
раздела:
gogsuser
yourpassword
в Application General Settings
раздела:
gogs.example.com
http://gogs.example.com:3000/
в Admin Account Settings
раздела:
<your-admin-username>
<your-admin-password>
<your-admin-password>
<your-admin-email>
Накрая щракнете върху Intall Gogs
бутона, за да завършите инсталацията. Не забравяйте, че вашите персонализирани настройки, направени в уеб интерфейса за инсталиране на Gogs, ще бъдат съхранени в персонализирания конфигурационен файл на Gogs /opt/gogs/custom/conf/app.ini
.
Засега потребителите могат да посетят уебсайта на Gogs на адрес http://gogs.example.com:3000
. С цел улесняване на достъпа на посетителите, така че те вече да не трябва да добавят :3000
, и за подобряване на сигурността на системата; можете да инсталирате Nginx като обратен прокси и да активирате HTTPS с помощта на Let's Encrypt SSL сертификат.
Забележка: Въпреки че инструкциите в следващите две стъпки не са задължителни, силно се препоръчва да изпълните всички тези инструкции, за да активирате защитата на HTTPS.
Забранете достъпа до порта 3000
:
sudo firewall-cmd --permanent --remove-port=3000/tcp
sudo systemctl reload firewalld.service
Инсталирайте помощната програма Certbot:
sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot
Кандидатствайте за Let's Encrypt SSL сертификат за домейна gogs.example.com
:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d gogs.example.com
Сертификатът и веригата ще бъдат запазени на следното:
/etc/letsencrypt/live/gogs.example.com/fullchain.pem
Ключовият файл ще бъде записан тук:
/etc/letsencrypt/live/gogs.example.com/privkey.pem
По подразбиране, Let's Encrypt SSL сертификатът изтича след три месеца. Можете да настроите задание за cron, както е посочено по-долу, за да подновите автоматично вашите сертификати Let's Encrypt:
sudo crontab -e
Натиснете Iи въведете следния ред:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
Запазете и излезте:
:wq!
Тази работа на cron ще се опитва да поднови сертификата Let's Encrypt всеки ден на обяд.
Инсталирайте Nginx с помощта на EPEL YUM репо:
sudo yum install -y nginx
Създайте конфигурационен файл за Gogs:
cat <<EOF | sudo tee /etc/nginx/conf.d/gogs.conf
# Redirect HTTP to HTTPS
server {
listen 80;
server_name gogs.example.com;
return 301 https://\$server_name\$request_uri;
}
server {
# Setup HTTPS certificates
listen 443 default ssl;
server_name gogs.example.com;
ssl_certificate /etc/letsencrypt/live/gogs.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gogs.example.com/privkey.pem;
# Proxy to the Gogs server
location / {
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host \$http_host;
proxy_set_header Host \$http_host;
proxy_max_temp_file_size 0;
proxy_pass http://127.0.0.1:3000;
proxy_redirect http:// https://;
}
}
EOF
Рестартирайте Nginx, за да приложите конфигурацията си:
sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
И накрая, насочете любимия си уеб браузър към, за http://gogs.example.com/
да започнете да изследвате уебсайта си на Gogs. Ще откриете, че HTTPS протоколът се активира автоматично. Влезте като администратор, който сте настроили по-рано, или регистрирайте нови потребителски акаунти за работа в екип.
Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни
Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне
Въведение Lighttpd е форк на Apache, чиято цел е да бъде много по-малко ресурсоемка. Той е лек, откъдето идва и името му, и е доста лесен за използване. Инсталирайте
VULTR наскоро направи промени от своя страна и вече всичко трябва да работи добре от кутията с активиран NetworkManager. Ако желаете да деактивирате
Icinga2 е мощна система за наблюдение и когато се използва в модел главен-клиент, тя може да замени необходимостта от проверки на базата на NRPE. Главният клиент
Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока
Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже
Използване на различна система? Mattermost е самостоятелно хоствана алтернатива с отворен код на Slack SAAS услугата за съобщения. С други думи, с Mattermost, вие ca
Какво ви трябва Vultr VPS с поне 1 GB RAM. SSH достъп (с root/административни привилегии). Стъпка 1: Инсталиране на BungeeCord На първо място
Контролният панел на Plesk разполага с много приятна интеграция за Lets Encrypt. Lets Encrypt е един от единствените доставчици на SSL, които предоставят пълно сертификати
Lets Encrypt е сертифициращ орган, посветен на предоставянето на SSL сертификати безплатно. cPanel изгради чиста интеграция, така че вие и вашият клиент
Използване на различна система? Concrete5 е CMS с отворен код, който предлага много отличителни и полезни функции за подпомагане на редакторите при лесното създаване на съдържание и
Използване на различна система? Review Board е безплатен инструмент с отворен код за преглед на изходен код, документация, изображения и много други. Това е уеб базиран софтуер
В това ръководство ще научите как да настроите HTTP удостоверяване за уеб сървър на Nginx, работещ на CentOS 7. Изисквания За да започнете, ще ви трябва
YOURLS (Your Own URL Shortener) е приложение за съкращаване на URL адреси и анализ на данни с отворен код. В тази статия ще разгледаме процеса на инсталиране
Използване на различна система? Въведение ArangoDB е NoSQL база данни с отворен код с гъвкав модел на данни за документи, графики и ключ-стойности. то е
Въведение Директорията /etc/ играе критична роля в начина, по който функционира една Linux система. Причината за това е, че почти всяка системна конфигурация
Много системни администратори управляват големи количества сървъри. Когато файловете трябва да бъдат достъпни на различни сървъри, влизането във всеки от тях поотделно ок
Този урок ще обхване процеса на инсталиране на сървър за игри Half Life 2 на CentOS 6 System. Стъпка 1: Инсталиране на предпоставките За да настроите ou
Laravel GitScrum или GitScrum е инструмент за производителност с отворен код, предназначен да помогне на екипите за разработка да внедрят методологията на Scrum по подобен начин.
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече