Инсталирайте Plesk на CentOS 7
Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни
GoCD е система за непрекъсната доставка и автоматизация с отворен код. Тя ви позволява да моделирате сложни работни потоци, като използвате паралелното и последователно изпълнение. Неговата карта на потока ��а стойността ви позволява лесно да визуализирате сложен работен процес с лекота. GoCD ви позволява лесно да сравнявате две компилации и да разгръщате всяка версия на приложението, което искате. Екосистемата GoCD се състои от GoCD сървър и GoCD агент. GoCD отговаря за контрола на всичко, като например стартиране на уеб-базиран потребителски интерфейс и управление и предоставяне на работни места на агента. Агентите на Go са отговорни за изпълнението на заданията и внедряването.
За този урок ще използваме 192.168.1.1
като публичен IP адрес и gocd.example.com
като име на домейн, насочено към екземпляра Vultr. Моля, не забравяйте да замените всички срещания на примерното име на домейн и IP адрес с действителния.
Актуализирайте базовата си система с помощта на ръководството Как да актуализирате CentOS 7 . След като вашата система бъде актуализирана, продължете да инсталирате Java.
GoCD изисква Java версия 8 и поддържа както Oracle Java, така и OpenJDK. В този урок ще инсталираме Java 8 от OpenJDK.
OpenJDK може лесно да се инсталира, тъй като пакетът е наличен в YUM
хранилището по подразбиране .
sudo yum -y install java-1.8.0-openjdk-devel
Ако Java е инсталирана правилно, тогава ще можете да проверите нейната версия.
java -version
Ще получите изход, подобен на следващия текст.
[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
Преди да продължим по-нататък, ще трябва да настроим JAVA_HOME
и JRE_HOME
променливите на средата. Намерете абсолютния път на изпълнимия файл на Java във вашата система.
readlink -f $(which java)
Следният текст ще бъде изведен на вашия терминал.
[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre/bin/java
Сега задайте JAVA_HOME
и JRE_HOME
променливите на средата според пътя на директорията на Java.
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre" >> ~/.bash_profile
Забележка: Уверете се, че използвате пътя на Java, получен във вашата система. Пътят, използван в този урок, може да се промени, когато бъде пусната нова версия на Java 8.
Изпълнете bash_profile
файла.
source ~/.bash_profile
Сега можете да изпълните echo $JAVA_HOME
командата, за да се уверите, че променливата на средата е зададена.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
GoCD е написан на Java, следователно Java е единствената зависимост за стартиране на GoCD. GoCD може да се инсталира с помощта на YUM
. Инсталирайте неговото официално хранилище в системата.
sudo curl https://download.gocd.org/gocd.repo -o /etc/yum.repos.d/gocd.repo
Инсталирайте GoCD сървъра във вашата система.
sudo yum install -y go-server
Стартирайте GoCD и го активирайте да стартира автоматично при стартиране.
sudo systemctl start go-server
sudo systemctl enable go-server
Преди да влезем в таблото за управление на GoCD, нека създадем нова директория за съхраняване на артефактите. Артефактите могат да се съхраняват на същия диск, в който са инсталирани операционната система и приложенията. Като алтернатива можете да използвате специален диск или блоково устройство за съхранение, за да съхранявате артефактите.
Ако искате да използвате същия диск за съхраняване на артефактите, просто създайте нова директория и предоставете собствеността на потребителя на GoCD.
sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts
Софтуерът GoCD препоръчва използването на допълнителен дял или устройство за съхранение на артефактите. В една непрекъсната платформа за интеграция и доставка артефактите се генерират много често. Дисковото пространство намалява с времето, когато непрекъснато се генерират нови артефакти. На някакъв етап вашата система ще свърши свободното дисково пространство и услугите, работещи на вашата система, ще се провалят. За да преодолеете този проблем, можете да прикачите ново устройство за съхранение на блок Vultr, за да съхранявате артефактите. Ако все пак искате да продължите със съхранението на артефакти на едно и също устройство, преминете към секцията „Настройка на защитната стена“.
Разположете ново блоково устройство за съхранение и го прикачете към вашия GoCD сървърен екземпляр. Сега създайте нов дял на блоковото устройство за съхранение.
sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
Създайте файловата система на новия диск.
sudo mkfs.ext4 /dev/vdb1
Монтирайте блоковото устройство за съхранение.
sudo mkdir /mnt/artifacts
sudo cp /etc/fstab /etc/fstab.backup
echo "
/dev/vdb1 /mnt/artifacts ext4 defaults,noatime 0 0" | sudo tee -a /etc/fstab
sudo mount /mnt/artifacts
Сега стартирайте df
и ще видите новото блоково устройство за съхранение, монтирано на /mnt/artifacts
.
[user@vultr ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 20616252 6313892 13237464 33% /
...
/dev/vdb1 10188052 36888 9610596 1% /mnt/artifacts
Предоставете собствеността върху директорията на потребителя на GoCD.
sudo chown -R go:go /mnt/artifacts
Променете конфигурацията на защитната стена, за да разрешите портове 8153
и 8154
през защитната стена. Порт 8153
прослушва за незащитени връзки и порт 8154
за защитени връзки.
sudo firewall-cmd --zone=public --add-port=8153/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8154/tcp --permanent
sudo firewall-cmd --reload
Сега можете да получите достъп до таблото за управление на GoCD на http://192.168.1.1:8153
. За достъп до таблото за управление на GoCD при защитена връзка, отворете https://192.168.1.1:8154
. Ще получите някаква грешка, показваща, че сертификатите не са валидни. Можете спокойно да игнорирате грешката, тъй като сертификатите са самоподписани. От съображения за сигурност винаги трябва да използвате таблото за управление през защитена връзка.
Преди да настроите нов тръбопровод, отидете до " Admin >> Server Configuration
" от горната лента за навигация.
Въведете URL адреса на вашия незащитен сайт в полето " Site URL
" и защитения сайт в полето " Secure Site URL
".
След това предоставете подробности за вашия SMTP сървър, за да изпращате известия по имейл от GoCD.
Накрая посочете пътя до мястото, където искате да съхранявате артефактите. Ако сте избрали да съхранявате артефактите на същия диск като операционната система, въведете /opt/artifacts
; ако сте избрали да прикачите блоково устройство за съхранение, тогава можете да въведете /mnt/artifacts
.
Освен това можете да конфигурирате GoCD да изтрива автоматично старите артефакти. Конфигурирайте следващата опция според размера на вашия диск. Въпреки това, опцията за автоматично изтриване не прави резервно копие на вашите стари артефакти. За да направите ръчно резервно копие и след това да изтриете старите артефакти, деактивирайте автоматичното изтриване, като изберете опцията " Never
" за опцията " Auto delete old artifacts
".
Ще трябва да рестартирате GoCD сървъра, за да се приложат новите промени.
sudo systemctl restart go-server
По подразбиране таблото за управление на GoCD не е конфигурирано да използва какъвто и да е вид удостоверяване, но поддържа удостоверяване с помощта на файл с парола и LDAP. В този урок ще настроим удостоверяване, базирано на парола.
Забележка : Настройването на удостоверяване е незадължителна стъпка, но силно се препоръчва за публични сървъри, като Vultr.
Инсталирайте инструментите на Apache, за да можем да използваме htpasswd
командата, за да създадем криптиран файл с парола.
sudo yum -y install httpd-tools
Създайте файл с парола с htpasswd
командата, използвайки Bcrypt криптиране.
sudo htpasswd -B -c /etc/go/passwd_auth goadmin
Предоставете паролата за потребителя два пъти. Ще видите следния изход.
[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin
Можете да добавите толкова потребители, колкото искате, като използвате същата команда по-горе, но премахвайки -c
опцията. В -c
опция ще замени съществуващия файл, подмяна на стари потребители с новия потребител.
sudo htpasswd -B /etc/go/passwd_auth gouser1
Since, we have created the password file, access the GoCD dashboard again. Navigate to "Admin >> Security >> Authorization Configurations
" from the top navigation bar. Click on the Add
button and provide an ID. Choose "Password File Authentication Plugin for GoCD
" for plugin ID and direct the path to the password file. Now click on the "Check Connection
" button to verify that GoCD can use the password file for authentication.
Finally, save the authentication method. Reload the dashboard and it will automatically log you out. You will see a login screen now. Log in using the credentials created earlier.
You will need to promote the administrator user manually, otherwise, all the users will have administrator privileges. Navigate to "Admin >> User Summary
" from the top navigation bar.
Now select the admin user you've created and click on the "Roles
" drop-down. Promote the user to the only administrator by selecting the "Go System Administrator
" checkbox.
To add the users in GoCD created in the password file, click on the "ADD
" button and search for the user to add them. Users are also automatically added to the GoCD dashboard on their first login. Obviously, for users to log in, they must be added to the password file we have created earlier.
By default, GoCD listens to ports 8153
and 8154
on secure connections. Though port 8154
provides a secure connection to the application, it also displays browser errors as it uses a self-signed certificate. In this section of the tutorial, we will install and secure Nginx with Let's Encrypt free SSL certificate. The Nginx web server will work as a reverse proxy to forward the incoming requests to GoCD's HTTP
endpoint.
Install Nginx.
sudo yum -y install nginx
Start Nginx and enable it to automatically start at boot time.
sudo systemctl start nginx
sudo systemctl enable nginx
Install Certbot, which is the client application for Let's Encrypt CA.
sudo yum -y install certbot
Before you can request certificates, you will need to allow ports 80
and 443
, or standard HTTP
and HTTPS
services, through the firewall. Also, remove port 8153
, which listens to the unsecured connections.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8153/tcp --permanent
sudo firewall-cmd --reload
Note: To obtain certificates from Let's Encrypt CA, the domain for which the certificates are to be generated must be pointed towards the server. If not, make the necessary changes to the DNS records of the domain and wait for the DNS to propagate before making the certificate request again. Certbot checks the domain authority before providing the certificates.
Generate the SSL certificates.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d gocd.example.com
The generated certificates are likely to be stored in /etc/letsencrypt/live/gocd.example.com/
. The SSL certificate will be stored as fullchain.pem
and private key will be stored as privkey.pem
.
Срокът на валидност на сертификатите Let's Encrypt изтича след 90 дни, така че се препоръчва да настроите автоматично подновяване на сертификатите с помощта на cron задания.
Отворете файла за задание на cron.
sudo crontab -e
Добавете следния ред в края на файла.
30 5 * * * /usr/bin/certbot renew --quiet
Горната задача на cron ще се изпълнява всеки ден в 5:30 сутринта. Ако срокът на валидност на сертификата изтича, той автоматично ще се поднови.
Сега променете конфигурационния файл по подразбиране на Nginx, за да премахнете default_server
реда.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Създайте нов конфигурационен файл за уеб интерфейса на GoCD.
sudo nano /etc/nginx/conf.d/gocd.conf
Попълнете файла.
upstream gocd {
server 127.0.0.1:8153;
}
server {
listen 80 default_server;
server_name gocd.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 default_server;
server_name gocd.example.com;
ssl_certificate /etc/letsencrypt/live/gocd.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gocd.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/gocd.access.log;
location / {
proxy_pass http://gocd;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
location /go {
proxy_pass http://gocd/go;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 86400;
}
}
Проверете за грешки в новия конфигурационен файл.
sudo nginx -t
Ако видите следния изход, конфигурацията е без грешки.
[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Ако сте получили някаква грешка, не забравяйте да проверите отново пътя към SSL сертификатите. Рестартирайте уеб сървъра на Nginx, за да приложите промяната в конфигурацията.
sudo systemctl restart nginx
Сега можете да получите достъп до таблото за управление на GoCD на адрес https://gocd.example.com
. Влезте в таблото си за управление, като използвате идентификационните данни на администратора и отидете до „ Admin >> Server Configuration
“ от горната лента за навигация.
Задайте " Site URL
" и " Secure Site URL
" на https://gocd.example.com
. Портът 8154
все още трябва да бъде достъпен през защитната стена, така че отдалечените агенти да могат да се свързват със сървъра чрез порт 8154
, в случай че не могат да се свържат през стандартния HTTP
порт.
В средата за непрекъсната интеграция на GoCD агентите на GoCD са работниците, които отговарят за изпълнението на всички задачи. Когато се открие промяна в източника, тръбопроводът се задейства и заданията се възлагат на наличните работници за изпълнение. След това агентът изпълнява задачата и докладва окончателното състояние след изпълнение.
За да стартирате конвейер, трябва да бъде конфигуриран поне един агент. Продължете да инсталирате GoCD агента на GoCD сървъра.
Тъй като вече сме импортирали хранилището на GoCD в сървъра, можем директно да инсталираме Go Agent.
sudo yum install -y go-agent
Сега стартирайте GoCD сървъра и го активирайте да стартира автоматично при стартиране.
sudo systemctl start go-agent
sudo systemctl enable go-agent
GoCD агентът, работещ на локалния хост, се активира автоматично, когато бъде открит.
Използване на различна система? 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 машини. Прочетете тази статия, за да научите повече