Установка PHP SELECTOR
PHP Selector — компонент CloudLinux и но позволяет каждому пользователю выбрать версии PHP и модуль исходя из своих потребностей. PHP Selector требуется аккаунт для CageFS чтобы иметь возможность работать.
Установка PHP Selector предполагает, что у вас уже есть CageFS & LVE
Установка различных версий PHP и модулей:
$ yum groupinstall alt-php
Обновление CageFS и LVE менеджер с поддержкой PHP Альтернатив (Alternatives):
$ yum update cagefs lvemanager
И запускаем для всех ребилд php-ini:
$ cagefsctl –rebuild-all-php-ini
Тема «Включить cagefs для пользователей CPanel» подошла к завершению.
Использование pexpect и python в Unix/Linux
Давайте рассмотрим примеры. Создадим питон-скрипт:
$ cat python_pexpect.py
# This connects to the openbsd ftp site and # downloads the recursive directory listing. import pexpect child = pexpect.spawn ('ftp ftp.linux-notes.org') child.expect ('Name .*: ') child.sendline ('anonymous') child.expect ('Password:') child.sendline ('[email protected]') child.expect ('ftp> ') child.sendline ('cd pub') child.expect('ftp> ') child.sendline ('get some_file.gz') child.expect('ftp> ') child.sendline ('bye')
Простой скрипт, но с использованием pexpect — выглядит внушительно!
Вот еще другой скрипт:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import pexpect switch_ip = "10.0.0.1" switch_un = "user" switch_pw = "s3cr3t" switch_enable_pw = "m0r3s3cr3t" port = "Gi2/0/2" vlan = 300 try: try: child = pexpect.spawn('ssh %s@%s' % (switch_un, switch_ip)) if verbose: child.logfile = sys.stdout child.timeout = 4 child.expect('Password:') except pexpect.TIMEOUT: raise OurException("Couldn't log on to the switch") child.sendline(switch_pw) child.expect('>') child.sendline('terminal length 0') child.expect('>') child.sendline('enable') child.expect('Password:') child.sendline(switch_enable_pw) child.expect('#') child.sendline('conf t') child.expect('\(config\)#') child.sendline('interface %s' % (port)) o = child.expect() if o != 0: raise Exception("Unknown switch port '%s'" % (port)) child.sendline('switchport access vlan %s' % (vlan)) child.expect('\(config-if\)#') child.sendline('no shutdown') child.expect('#') child.sendline('end') child.expect('#') child.sendline('wr mem') child.expect('') child.expect('#') child.sendline('quit') except (pexpect.EOF, pexpect.TIMEOUT), e: error("Error while trying to move the vlan on the switch.") raise
Как-то так.
У меня на этом все, статья «Установка/Использование pexpect и python в Unix/Linux» завершена.
Настройка grafana в Unix/Linux
Установленная grafana, будет работать — http://your_host_or_IP:3000, например как это можно видеть у меня:
Первый вход в grafana
Вводим логин и пароль ( для первого входа используйте admin/admin) и попадаем в дашборд. Его нужно настроить под себя. Для примера, я создам проект c Prometheus и построю ( добавлю) графики. И так, нажимаем на «Data Sources» и добавляем ( заполняем) строки, у меня это выглядит так:
Добавление Prometeus в Grafana
Как все заполнили, нажимаем на «Add». Собственно потом добавляем график и все!
PS: Но для этого нужно иметь уже установленный protheus сервер.
Настройка прокси-сервера для Grafana
Использовать 3000-й порт, — это нормально, но удобно юзать 80-й/443-й и для этого я буду использовать nginx в качестве прокси сервера. Установка описана вот тут:
Открываем конфиг:
# vim /etc/nginx/conf.d/grafana.conf
И прописываем:
server { listen 80; server_name grafana.local; access_log /var/log/nginx/access-grafana.log; error_log /var/log/nginx/error-frafana.log info; location / { #proxy_set_header X-WEBAUTH-USER $remote_user; proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_max_temp_file_size 0; } }
Вот и вся установка. Перезапускаем nginx + grafana.
Установка плагинов для grafana
Самый простой способ установки плагинов — использовать grafana-cli который идет в комплекте с grafana. После внесения любых изменений (добавления, удаление плагинов), необходимо перезапустить grafana-server.
Все установленные плагины лежат в /var/lib/grafana/plugins. Можно переопределить каталог в котором будет работать grafana-cli, указав флаг «-pluginsDir».
И так, чтобы посмотреть список доступных плагинов, используйте команду:
$ grafana-cli plugins list-remote
Установите последнюю версию плагина:
$ grafana-cli plugins install <plugin-id>
Чтобы установить конкретную версию определенного плагина, используйте:
$ grafana-cli plugins install <plugin-id> <version>
Чтобы просмотреть какие плагины уже установлены, выполните:
$ grafana-cli plugins ls
Обновить все установленные плагины можно так:
$ grafana-cli plugins update-all
Или, если нужно обновить конкретный, то используйте:
$ grafana-cli plugins update <plugin-id>
Чтобы удалить определенный плагин, используйте следующую команду:
$ grafana-cli plugins remove <plugin-id>
На этом у меня все, статья «Установка grafana в Unix/Linux» завершена.
Установка terraform в Unix/Linux
Установка крайне примитивная и я описал как это можно сделать тут:
Вот еще полезные статьи по GCP + Terrafrom:
Так же, в данной статье, я создал скрипт для автоматической установки данного ПО. Он был протестирован на CentOS 6/7, Debian 8 и на Mac OS X. Все работает должным образом!
Чтобы получить помощь по использованию команд, выполните:
$ terraform --help Usage: terraform <command> The available commands for execution are listed below. The most common, useful commands are shown first, followed by less common or more advanced commands. If you're just getting started with Terraform, stick with the common commands. For the other commands, please read the help and docs before usage. Common commands: apply Builds or changes infrastructure console Interactive console for Terraform interpolations destroy Destroy Terraform-managed infrastructure env Workspace management fmt Rewrites config files to canonical format get Download and install modules for the configuration graph Create a visual graph of Terraform resources import Import existing infrastructure into Terraform init Initialize a Terraform working directory output Read an output from a state file plan Generate and show an execution plan providers Prints a tree of the providers used in the configuration push Upload this Terraform module to Atlas to run refresh Update local state file against real resources show Inspect Terraform state or plan taint Manually mark a resource for recreation untaint Manually unmark a resource as tainted validate Validates the Terraform files version Prints the Terraform version workspace Workspace management All other commands: debug Debug output management (experimental) force-unlock Manually unlock the terraform state state Advanced state management
Приступим к использованию!