Как установить Anchor CMS на CentOS 7 LAMP VPS
Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.
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
С тех пор, как мы создали файл паролей, снова откройте панель инструментов GoCD. Перейдите к « Admin >> Security >> Authorization Configurations
» из верхней панели навигации. Нажмите на Add
кнопку и введите идентификатор. Выберите « Password File Authentication Plugin for GoCD
» для идентификатора плагина и укажите путь к файлу паролей. Теперь нажмите кнопку « Check Connection
», чтобы убедиться, что GoCD может использовать файл паролей для аутентификации.
Наконец, сохраните метод аутентификации. Перезагрузите приборную панель, и она автоматически выйдет из системы. Вы увидите экран входа в систему сейчас. Войдите, используя учетные данные, созданные ранее.
Вам нужно будет продвинуть пользователя-администратора вручную, в противном случае все пользователи будут иметь права администратора. Перейдите к « Admin >> User Summary
» из верхней панели навигации.
Теперь выберите администратора, которого вы создали, и нажмите « Roles
». Продвиньте пользователя до единственного администратора, установив Go System Administrator
флажок « ».
Чтобы добавить пользователей в GoCD, созданных в файле паролей, нажмите кнопку « ADD
» и найдите пользователя, чтобы добавить их. Пользователи также автоматически добавляются в панель управления GoCD при первом входе в систему. Очевидно, что для входа в систему пользователи должны быть добавлены в файл паролей, который мы создали ранее.
По умолчанию GoCD прослушивает порты 8153
и 8154
защищенные соединения. Хотя порт 8154
обеспечивает безопасное соединение с приложением, он также отображает ошибки браузера, поскольку использует самозаверяющий сертификат. В этом разделе руководства мы установим и защитим Nginx с помощью бесплатного SSL-сертификата Let's Encrypt. Веб-сервер Nginx будет работать в качестве обратного прокси-сервера для пересылки входящих запросов в конечную HTTP
точку GoCD .
Установите Nginx.
sudo yum -y install nginx
Запустите Nginx и включите его автоматический запуск во время загрузки.
sudo systemctl start nginx
sudo systemctl enable nginx
Установите Certbot, который является клиентским приложением для Let's Encrypt CA.
sudo yum -y install certbot
Прежде чем вы сможете запросить сертификаты, вам нужно будет разрешить порты 80
и / 443
или стандартные HTTP
и HTTPS
сервисы через брандмауэр. Также удалите порт 8153
, который прослушивает незащищенные соединения.
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
Примечание . Чтобы получить сертификаты от Let's Encrypt CA, домен, для которого должны быть созданы сертификаты, должен быть направлен на сервер. Если нет, внесите необходимые изменения в записи DNS домена и дождитесь распространения DNS, прежде чем снова делать запрос сертификата. Certbot проверяет полномочия домена перед предоставлением сертификатов.
Создайте сертификаты SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d gocd.example.com
Сгенерированные сертификаты, вероятно, будут храниться в /etc/letsencrypt/live/gocd.example.com/
. Сертификат SSL будет сохранен как, fullchain.pem
а закрытый ключ - как 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, работающий на локальном хосте, автоматически включается при обнаружении.
Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.
При настройке нового сервера Linux рекомендуется обновить ядро системы и другие пакеты до последней стабильной версии. В этой статье
Используете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам
Если вы хотите разместить свой инвентарь в Интернете или просто магазин технических аксессуаров, Magento - отличное решение для электронной коммерции в Интернете. Это статья
Используете другую систему? AirSonic - это бесплатный и потоковый сервер с открытым исходным кодом. В этом уроке я проведу вас через процесс развертывания
OrangeScrum - это бесплатный инструмент управления проектами с открытым исходным кодом, который широко используется в малом и среднем бизнесе. В этой статье я проведу вас через
OrientDB - это мультимодельная СУБД NoSQL с открытым исходным кодом нового поколения. Благодаря поддержке нескольких моделей данных OrientDB может обеспечить большую функциональность и гибкость в
Vtiger CRM - это популярное приложение для управления взаимоотношениями с клиентами, которое может помочь предприятиям увеличить продажи, обеспечить обслуживание клиентов и увеличить прибыль. я
MaraDNS - это легкая, но надежная программа с открытым исходным кодом для DNS-сервера. По сравнению с другими приложениями того же типа, такими как ISC BIND, PowerDNS и djbdns
Используете другую систему? Netdata - восходящая звезда в области мониторинга показателей системы в режиме реального времени. По сравнению с другими инструментами того же рода, Netdata:
Используете другую систему? В этом уроке я расскажу, как настроить сервер Starbound в CentOS 7. Предварительные условия Вы должны иметь эту игру на себе
RabbitMQ - это брокер сообщений с открытым исходным кодом, который поддерживает AMQP, STOMP и другие коммуникационные технологии. Широко используется в корпоративных приложениях
Добро пожаловать в другой учебник Vultr. Здесь вы узнаете, как установить и запустить сервер SAMP. Это руководство было написано для CentOS 6. Предварительные условия
Используете другую систему? Elgg - это движок социальных сетей с открытым исходным кодом, который позволяет создавать социальные среды, такие как социальные сети кампуса и
Bolt - это CMS с открытым исходным кодом, написанная на PHP. Исходный код Bolts размещен на GitHub. Это руководство покажет вам, как установить Bolt CMS на новую CentOS 7 Vult.
Традиционные подходы к анализу данных невозможно использовать, когда наборы данных достигают определенного размера. Современная альтернатива анализу огромных массивов данных, которые я
Elasticsearch - популярный движок полнотекстового поиска и аналитики с открытым исходным кодом. Благодаря своей универсальности, масштабируемости и простоте использования, Elasticsearch широко используется
Обзор Эта статья призвана помочь вам в кратчайшие сроки запустить и запустить кластер Kubernetes с помощью kubeadm. Это руководство будет развертывать два сервера, на
Используете другую систему? Введение Sails.js - это инфраструктура MVC для Node.js, аналогичная Ruby on Rails. Это делает для разработки современных приложений вер
Введение В этом руководстве мы будем устанавливать PufferPanel на нашем Vultr VPS. PufferPanel - это бесплатная панель управления с открытым исходным кодом для управления вами.
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше