Установка Nessus на Centos/RedHat/Fedora
Nessus — это утилита для того чтобы искать распространенных изъянов в защите на сервере в автоматическом режиме. Программа умеет обнаруживать наиболее часто встречающиеся виды уязвимостей, например таких как:
- Поиск на наличие уязвимостей в службах или доменах в ваших версиях программ;
- Поиск ошибок в конфигурациях (для примера, отсутствующая необходимость авторизации на SMTP-сервере);
- Поиск паролей по дефолту, поиск пустых или ненадежных паролей;
- В утилите присутствует клиент-серверная архитектура, что очень хорошо расширяет возможности для различного сканирования.
Для начала перейдем нужный для вас каталог чтобы скачать потом архив, у меня это:
# cd /usr/local/src
Для скачивания Red Hat ES /CentOS/Oracle Linux (в том числе Unbreakable Enterprise Kernel)- 5 (32 бит):
# wget "http://downloads.nessus.org/nessus3dl.php?file=Nessus-5.2.6-es5.i386.rpm&licence_accept=yes&t=72ebc0b5c556e68d445c0299f8050031" -O nessus.rpm
Для скачивания Red Hat ES/CentOS/Oracle Linux (в том числе Unbreakable Enterprise Kernel)- 5 (64 бит):
# wget "http://downloads.nessus.org/nessus3dl.php?file=Nessus-5.2.6-es5.x86_64.rpm&licence_accept=yes&t=72ebc0b5c556e68d445c0299f8050031" -O nessus.rpm
Для скачивания Red Hat ES/CentOS 6/Oracle Linux 6 (в том числе Unbreakable Enterprise Kernel)- 6 (32 бит):
# wget "http://downloads.nessus.org/nessus3dl.php?file=Nessus-5.2.6-es6.i386.rpm&licence_accept=yes&t=72ebc0b5c556e68d445c0299f8050031" -O nessus.rpm
Для скачивания Red Hat ES/CentOS/Oracle Linux (в том числе Unbreakable Enterprise Kernel)- 6 (64 бит):
# wget "http://downloads.nessus.org/nessus3dl.php?file=Nessus-5.2.6-es6.x86_64.rpm&licence_accept=yes&t=72ebc0b5c556e68d445c0299f8050031" -O nessus.rpm
Для скачивания Fedora 19 или 20 (32 бит):
# wget "http://downloads.nessus.org/nessus3dl.php?file=Nessus-5.2.6-fc16.i386.rpm&licence_accept=yes&t=72ebc0b5c556e68d445c0299f8050031" -O nessus.rpm
Для скачивания Fedora 19 или 20 (64 бит):
# wget "http://downloads.nessus.org/nessus3dl.php?file=Nessus-5.2.6-fc16.x86_64.rpm&licence_accept=yes&t=72ebc0b5c556e68d445c0299f8050031" -O nessus.rpm
2. Установка пакета Nessus.
Чтобы установить на вашу ОС, выполните:
# rpm -ihv nessus.rpm
Переходим на сайт и регестрируемся на нем, после чего на ваш емайл придет ключ с подтверждением, его нужно будет ввести попозже.
Запустить сервер с Nessus:
# service nessusd start
или
# /etc/init.d/nessusd start
Создать нового юзера для Nessus
# /opt/nessus/sbin/nessus-adduser
ВСЕ! Сама установка выполнена, теперь перейдем в браузер и откроем:https://your_server_IP-address:8834
Вас попросят ввести регистрационный ключик, который пришел на ваше мыло, после чего вводим ваш логин и пароль и можно начинать тестить.
Спасибо! На этом я закончу «Установка Nessus на Centos/RedHat/Fedora».
Что такое база данных в SQL
SQL-запросы обращаются к данным в виде таблиц, то есть к реляционным базам данных. Упрощенный вариант такой базы — это таблицы Excel, в которых информация также упорядочена в столбцы и строки.
Основные понятия реляционной модели:
1. Отношение — это сама таблица, она двумерная и состоит из столбцов и строк.
2. Атрибут — столбец в таблице, который содержит один конкретный параметр: название, тип, дату, стоимость или другую характеристику.
3. Домен — это допустимые значения для каждого атрибута. Например, в столбце «Имя» или «Название» значения должны представлять собой набор буквенных символов, но они не могут начинаться с «ь» или «ъ» и не могут быть записаны числами.
4. Кортеж (строка или запись) — это табличная строка с порядковым номером, в которой содержится информация об одном конкретном объекте.
5. Значение — элемент таблицы, который находится на пересечении столбцов и строк.
6. Ключ — это самый важный столбец в таблице, за счет этих значений и происходит взаимодействие в реляционной базе данных, он связывает таблицы между собой.
Ключи бывают нескольких видов:
- Первичный ключ — идентификатор, такой как индекс или артикул.
- Потенциальный ключ — другое уникальное значение, которое может служить идентификатором.
- Внешний ключ — столбец-ссылка, используется для объединения двух таблиц, каждое значение внешнего ключа обязательно соответствует первичному ключу в другой таблице.
Например, для решения задачи — выбрать все пиццерии, которые смогут доставить пиццу с ананасами после 23:00, — кроме основной таблицы с графиками работы понадобятся также таблицы с ассортиментом каждого заведения, а также таблицы с составом каждой пиццы (чтобы понять, есть ли в ней ананасы). Все эти таблицы будут связаны между собой с помощью ключей.
Список пиццерий в городе
Ассортимент одной из пиццерий с ключом id — 1
Какие реляционные БД популярны в веб-разработке
MySQL
Это открытая СУБД, купленная Oracle в придачу к Sun Microsystems. С ней работают более половины (55,6%) всех разработчиков (по опроса, который в 2020 году провёл сайт StackOverflow.com среди 65 тысяч респондентов).
Главные её преимущества — бесплатность и высокая скорость работы с данными. MySQL создавалась для обработки огромных массивов информации в промышленных масштабах, но благодаря доступности и быстродействию оккупировала Всемирную паутину, заслужив звание «СУБД всея интернета». И сегодня MySQL всё ещё самая удобная СУБД для работы с интернет-страницами и веб-приложениями.
MySQL пользуется мощной поддержкой у создателей языков программирования: практически во всех популярных языках есть интерфейс для работы с ней.
SQLite
Эта СУБД использует большую часть стандартного языка SQL.
Главное преимущество SQlight — встраиваемость. Это объясняется тем, что SQlight не приложение типа «клиент-сервер» (в отличие от других реляционных СУБД), а библиотека, которую подключают непосредственно к программе.
И она тоже весьма популярна: достаточно сказать, что SQLite есть в каждом смартфоне. Например, в смартфонах на Android там хранятся контакты и медиа, а в iOS её используют многие приложения.
PostgreSQL
Её можно назвать самой продвинутой. Это не просто реляционная, а объектно-реляционная свободная СУБД.
PostgreSQL поддерживает не только типы данных, которые есть в других реляционных СУБД. Помимо числовых, текстовых, булевых и других стандартных типов, в ней можно хранить и обрабатывать геометрические и денежные данные, сетевые адреса, JSON, XML, массивы, а также создавать собственные типы данных.
Установка и настройка PostgreSQL
1) Для установки дистрибутивов PostgreSQL Pro необходимо подключить репозитории.
sudo rpm -ivh http://1c.postgrespro.ru/keys/postgrespro-1c-centos94.noarch.rpm
2) Далее устанавливаем непосредственно дистрибутив PostgreSQL Pro.
sudo yum install postgresql-pro-1c-9.4
3) После установки дистрибутива для удобства администрирования сервера PostgreSQL рекомендуется прописать необходимые переменные окружения для пользователя postgres. Этот шаг необязателен.
Переключимся на пользователя postgres с его окружением:
su - postgres
Открываем файл, в котором зададим необходимые переменные окружения:
vim .bash_profile
Добавляем в этот файл переменные:
export PATH=/usr/pgsql-9.4/bin:$PATH export MANPATH=/usr/pgsql-9.4/share/man:$MANPATH
Пример результата измененного файла:
4) Инициализируем служебные базы данных с русской локализацией (под пользователем postgres).
initdb --locale=ru_RU.UTF-8
5) Запуск сервера PostgreSQL.
systemctl enable postgresql-9.4 systemctl start postgresql-9.4 systemctl status postgresql-9.4
6) Изменение настроек сервера PostgreSQL
В файле /var/lib/pgsql/9.4/data/pg_hba.conf изменим строку
host all all 0.0.0.0/0 trusted на host all all 0.0.0.0/0 md5
для возможности пользователю postgres авторизовываться по паролю.
Далее в файле /var/lib/pgsql/9.4/data/postgresql.conf изменяем настройки под наши нужды. Редактируемые настройки:
shared_buffers = 512MB temp_buffers = 16MB work_mem = 128MB maintenance_work_mem = 192MB effective_cache_size = 8GB
Внимание! Подбор данных настроек производится индивидуально и зависит как от характеристик сервера, на котором будет работать сервер PostgreSQL, так и от характеристик информационных баз, которые будут обрабатываться на этом сервере. 7) Задаем пароль пользователю postgres, для того чтобы была возможность подключаться к серверу удаленно
7) Задаем пароль пользователю postgres, для того чтобы была возможность подключаться к серверу удаленно.
su – postgres psql ALTER USER postgres WITH ENCRYPTED PASSWORD 'yourpassword';
(вместо yourpassword поставьте нужный пароль)
Рестарт сервера PostgreSQL
systemctl stop postgresql-9.4 systemctl start postgresql-9.4 systemctl status postgresql-9.4
Установка PostgreSQL 9.4
Начнем мы с проверки, какая версия PostgreSQL есть в стандартных репозиториях CentOS 7.1
yum list | grep postgresql
Мы видим, что там присутствует только версия 9.2, поэтому давайте подключим дополнительный репозиторий
rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm
И еще раз проверим, появилась ли нужная нам версия
yum list | grep postgresql
Как видим, она появилась.
Переходим непосредственно к установке, выполняем команду
yum -y install postgresql94-server postgresql94
Для инициализации базы данных выполним
/usr/pgsql-9.4/bin/postgresql94-setup initdb
Установка Docker на CentOS/RedHat/Fedora
Docker – открытый движок, автоматизирующий развертывание приложений в легковесные, переносимые, самодостаточные контейнеры, которые могут без изменений переноситься между серверами.
Тот же самый контейнер, который разработчик создает и тестирует на ноутбуке, может быть легко перенесен на продакшн-сервера в облако и так же легко смигрирован в другой регион при необходимости.
Основные способы использования Docker:
- Автоматизация упаковки и развертывания приложений
- Создание собственных легковесных PaaS окружений
- Автоматизация тестирования и непрерывной интеграции/развертывания
- Развертывание и масштабирование веб-приложений, баз данных и сервисов бекенда
В данной статье «Установка Docker на CentOS/RedHat/Fedora» я расскажу как можно установить Docker на CentOS\RedHat или Fedora.
Если не знаете версию ОС, то проверить можно:
$ cat /etc/issue
Установка Docker на CentOS/RedHat.
В то время как пакет Докер предоставляется по умолчанию как часть CentOS-7, это предусмотрено в хранилище EPEL для CentOS-6
Пожалуйста, обратите внимание, что это немного меняет инструкции по установке различных версий. Если вам потребуется последняя версия, вы всегда можете использовать самую последнюю версию и скачать его бинарный файл, который работает на ядре 3.8 или выше
Эти инструкции работают для CentOS 6 и более поздних версий. Они, скорее всего, будут работать для других бинарных совместимых дистрибутивов EL6, таких как Scientific Linux, но они не были проверены.
Пожалуйста, обратите внимание, что из-за существующих ограничений Docker, он может работать только на 64-битной архитектуры. Чтобы запустить Docker вам нужно CentOS6 или выше, с ядром версии 2.6.32-431 или выше
Чтобы запустить Docker вам нужно CentOS6 или выше, с ядром версии 2.6.32-431 или выше.
Установка Docker на CentOS 7
-===Способ 1===-
Docker включен по умолчанию в хранилище CentOS-Extras. Для установки просто запустите следующую команду:
$ sudo yum install docker -y
Ручная установка последней версии
При использовании пакета что представлен выше, рекомендуемым способом установки Docker, вы можете не поставить последнюю версию. Если вам потребуется последняя версия, вы можете устанавливать программу напрямую для этого нужно скачать исходный код программы.
При установке бинарного файла без пакета, вы можете интегрировать Docker с Systemd. Для этого просто установите две единичные файлы (service и socket) из репозитория GitHub к /etc/systemd/system.
FirewallD
CentOS-7 реалезована firewalld -обертка вокруг IPTables и которая может конфликтовать с Докер.
Когда firewalld будет запущен или перезапущен, то он будет удалять связь с докер от IPTables, предотвращая Docker и давая возможность работать ему должным образом.
При использовании Systemd, firewalld запускается до запуска докера, но если вы запустите или перезапустите firewalld после запуска докера, вам придется перезапустить сам демон Docker.
-===Способ 2 — использовать официальный репозиторий===-
Устанавливаем необходимое ПО:
# yum install -y yum-utils makecache fast device-mapper-persistent-data lvm2
Добавляем репозиторий:
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Устанавливаем последнюю версию Docker CE на CentOS:
# yum -y install docker-ce
Запуск Docker-а:
# systemctl start docker
Установка Docker на CentOS 6
-===Способ 1===-
Пожалуйста, обратите внимание, что это для CentOS-6, этот пакет является частью дополнительных пакетов для Enterprise Linux (Epel), по этому нужно подключить EPEL репозиторий. Пакет docker-io обеспечивает установку Docker через Epel
Пакет docker-io обеспечивает установку Docker через Epel.
Если вы уже установили (не связанный) докер пакет, он будет конфликтовать с Docker-IO. Чтобы продолжить установку c Docker-IO, пожалуйста, удалите докер в первую очередь.
Далее, давайте установим docker-io пакет, который установит Docker:
$ sudo yum install docker-io -y
-===Способ 2 — использовать официальный репозиторий===-
Приводил пример установки вверху.
Установка Docker на Fedora
Docker CE поддерживает:
- Fedora 25
- Fedora 24
Устанавливаем нужное ПО:
# dnf -y install dnf-plugins-core makecache fast
Добавляем репозиторий:
# dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
Устанавливаем последнюю версию Docker CE:
# dnf -y install docker-ce
How Does PostgreSQL work?
PostgreSQL uses SQL for relational queries and JSON for non-relational queries. One advantage of using PostgreSQL is its immense community support! Its open source nature means that a lot of developers contribute to this utility’s growth.
PostgreSQL is scalable, reliable and accompanied by advanced optimization features. In most cases, people assume advanced optimization and data types are supported by only commercial databases like SQL Server and Oracle. Contrary to this belief, PostgreSQL provides all of this and many more advanced features, definitely making it a worthwhile addition to your VPS.
PostgreSQL is extremely simple to start using and master.
Here we will demonstrate how to install PostgreSQL on CentOS 7.
You can install PostgreSQL on CentOS 7 in using one of two methods:
- Install PostgreSQL from existing CentOS repositories
- Install from the PostgreSQL repository
Let us check each of this method in more detail:
Установка и настройка
В данном разделе представлена инструкция по установки и настройке PostgreSQL для разных ОС
Установка
Если установка происходит на macOS, то процесс установки можно запустить командой:
brew install postgresql
На Linux СУБД устанавливается так:
sudo apt-get install postgresql postgresql-contrib
После того, как все загружено и установлено, можно проверить, все ли в порядке, и какая стоит версия PostgreSQL. Для этого выполните следующую команду:
postgres --version
Инструкция по установке в цифровом формате
Настройка
Работа с PostgreSQL может быть произведена через командную строку (терминал) с использованием утилиты psql – инструмент командной строки PostgreSQL.
Необходимо ввести следующую команду:
psql postgres (для выхода из интерфейса используйте \q)
Этой командой запускается утилита psql. Хотя есть много сторонних инструментов для администрирования PostgreSQL, нет необходимости их устанавливать, т. к. psql удобен и отлично работает.
Если нужна помощь, введите (или ) в psql-терминале. Появится список всех доступных параметров справки. Вы можете ввести , если вам нужна помощь по конкретной команде. Например, если ввести в консоли psql, отобразится синтаксис команды .
1 Description update rows of a table 2 WITH RECURSIVE with_query [, 3 UPDATE ONLY table_name * AS alias 4 SET { column_name = { expression | DEFAULT } | 5 ( column_name [, ) = ( { expression | DEFAULT } [, ) | 6 ( column_name [, ) = ( sub-SELECT ) 7 } [, 8 FROM from_list 9 WHERE condition | WHERE CURRENT OF cursor_name 10 RETURNING * | output_expression AS output_name [,
Для начала необходимо проверить наличие существующих пользователей и баз данных. Выполните следующую команду, чтобы вывести список всех баз данных:
\list или \l
Рисунок 1 — Результат выполнения операции \l
На рисунке выше вы видите три базы данных по умолчанию и суперпользователя postgres, которые создаются при установке PostgreSQL.
Чтобы вывести список всех пользователей, выполните команду . Атрибуты пользователя postgres говорят нам, что он суперпользователь.
Рисунок 2 — Результат выполнения операции \du
Настройка Zabbix на RedHat/CentOS/Fedora
zabbix-sever (server)
# vim /etc/zabbix/zabbix_server.conf
У меня выглядит вот так:
LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid DBName=zabbix DBUser=zabbix DBPassword=Zabbix_DB_password DBSocket=/var/lib/mysql/mysql.sock SNMPTrapperFile=/var/log/snmptt/snmptt.log AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts
zabbix-proxy
# vim /etc/zabbix/zabbix_proxy.conf
У меня выглядит вот так:
Server=97.79.237.19 # server IP Hostname=zabbix24-proxy1.VM3 LogFile=/var/log/zabbix/zabbix_proxy.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_proxy.pid DBName=zabbix DBUser=zabbix DBPassword=Zabbix_DB_password DBSocket=/var/lib/mysql/mysql.sock ProxyLocalBuffer=2 ProxyOfflineBuffer=12 ConfigFrequency=300 DataSenderFrequency=60 ExternalScripts=/usr/lib/zabbix/externalscripts
zabbix-agent
Производим установку на каждой машине которая будет мониторится.
Выполняем установку самого агента (zabbix-agent):
# yum -y install zabbix-agent
Обратите внимание — устанавливается пакет zabbix-agent, так как на Zabbix-сервере работает:
# yum info zabbix | grep Vers | head -n 1
Version : 2.4.2
После установки — сразу добавляем его в автозагрузку:
# chkconfig zabbix-agent on
Копируем файл конфигурации:
# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.default
Редактируем такие поля:
# cat /etc/zabbix/zabbix_agentd.conf | grep Hostname=
# Hostname= Hostname=centOS.VM1
Hostname должен совпадать с именем сервера:
# hostname
centOS.VM1
Адрес самого Zabbix-сервера, с которым будет связан агент:
# cat /etc/zabbix/zabbix_agentd.conf | grep Server
### Option: Server # Server= Server=IP_adress_server_or proxy_server
Так же можно использовать:
# egrep -v '^$|^#' /etc/zabbix/zabbix_server.conf
Если на сервере несколько интерфейсов — полезно указать опцию ListenIP.
Что бы задать определённый порт — используйте опцию ListenPort, если не определено — будет использоваться порт по-умолчанию 10050.
Определить файл лога можно опцией LogFile, иначе — будет использоваться стандартный /var/log/messages:
# cat /etc/zabbix/zabbix_agentd.conf | grep LogFile
### Option: LogFile # LogFile= LogFile=/var/log/zabbix/zabbix_agentd.log
Так же можно использовать:
# egrep -v '^$|^#' /etc/zabbix/zabbix_agentd.conf
StartAgents — количество запускаемых «процессов агента — по-умолчанию 6.
CentOS.VM1
# vim /etc/zabbix/zabbix_agentd.conf
Имеет вид:
PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=97.79.237.18 # this is my zabbix-proxy. You can use IP server ServerActive=97.79.237.18 # this is my zabbix-proxy. You can use IP server Hostname=CentOS.VM1 Include=/etc/zabbix/zabbix_agentd.d/
CentOS.VM2
# vim /etc/zabbix/zabbix_agentd.conf
Имеет вид:
PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=97.79.237.18 # this is my zabbix-proxy. You can use IP server ServerActive=97.79.237.18 # this is my zabbix-proxy. You can use IP server Hostname=CentOS.VM2 Include=/etc/zabbix/zabbix_agentd.d/
Запускаем агента на каждой машине:
# service zabbix-agent start
Starting Zabbix agent:
Проверяем:
# ps aux | grep zabbix
zabbix 7226 0.4 0.0 10176 1076 ? S 10:27 0:00 /usr/sbin/zabbix_agentd
или
# netstat -anp | grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 7226/zabbix_agentd
Можно использовать и следующий синтаксис:
# netstat -tulpen|grep -i zabb
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 498 704173 6029/zabbix_agentd tcp 0 0 :::10050 :::* LISTEN 498 704174 6029/zabbix_agentd
Виды нереляционных баз данных
Базы NoSQL делятся на четыре основные категории (в зависимости от решаемых с их помощью задач).
Ключ-значение
Такую базу можно представить как огромную таблицу. В каждой её ячейке хранятся данные произвольного типа, а каждому значению присвоен уникальный ключ, по которому это значение можно найти.
Такая СУБД не поддерживает связи между объектами, выполняет лишь операции поиска значений по ключу, добавления и удаления записи.
Например:
key | value |
---|---|
user1 | {Кузнецов В., отдел маркетинга} |
user2 | {name:Лена, position:секретарь} |
user3 | {ООО «Вектор»} |
user4 | {Трофимова Таня, отд.2, дизайнер} |
user5 | {Галина Николаевна, гл. бух.} |
user6 | {65,84,236} |
Базы «ключ-значение» часто используют для кэширования данных и организации очередей.
Их достоинства — быстрый поиск и простое масштабирование.
Их недостаток — нельзя производить операции со значениями. Например — сортировать их или анализировать.
Одна из самых популярных — Redis. Её используют Uber, Slack, Stack Overflow, сайты гостиниц и туристические, социальная сеть Twitter.
Документоориентированные СУБД
В таких данные хранятся в виде иерархических структур (документов) с произвольным набором полей и их значений. Документы объединяются в коллекции.
Если провести аналогию с реляционными СУБД, то коллекциям соответствуют таблицы, а документам — строки в них.
Например, фрагмент документа с информацией о фильмах:
Документоориентированные базы используют в системах управления содержимым (CMS) — для хранения каталогов и пользовательских профилей.
Одна из самых популярных — MongoDB (там можно создавать процедуры на JavaScript).
Колоночные
Эти базы отличаются от реляционных лишь способом хранения данных на накопителе.
Если реляционная база создаёт для каждой таблицы по файлу, то в колоночной отдельный файл создаётся для каждого столбца таблицы.
Например, если реляционная таблица выглядит так:
name | color | property |
---|---|---|
волк | серый | зубастый |
коза | белая | рогатая |
капуста | зелёная |
То те же записи колоночной базы будут выглядеть примерно так:
name | волк | коза | капуста |
color | серый | белая | зелёная |
property | зубастый | рогатая |
Что это даёт? Представьте, что вам нужны только названия объектов, а их свойства вас не интересуют.
При выполнении запроса в реляционной таблице просматривается каждая запись и из неё выбираются нужные данные. В колоночной базе с диска будет считана только одна колонка с названиями. Это сокращает время выполнения запроса, причём намного.
Колоночные базы применяются в различных каталогах и архивах данных, работа с которыми основана на подобных выборках.
Одна из самых популярных СУБД такого типа — Apache Cassandra.
Графовые
В некоторых предметных областях данные удобно представлять в виде графов. Для их хранения лучше всего подходят графовые базы.
Вершины (или узлы графа) — это объекты (сущности), а рёбра графа — взаимосвязи между ними.
Настройка Postgresql CentOS 7
Теперь сервер баз данных Postgresql установлен и запущен. Нам осталось проверить как все работает, настроить пользователей и свою первую базу данных. Настройка Postgresql CentOS 7 изначально выполняется только от пользователя postgres поэтому переключаемся на этого пользователя с помощью команды su:
Команда выполняется от имени администратора, потому что иначе у вас спросят пароль, а вы его не знаете. Для доступа к консоли Postgresql будем применять команду psql:
Смотрим информацию о подключении:
Первое что здесь можно сделать, это создать пароль для postgres:
Дальше закройте оболочку командой:
Пользователь postgres — это аналог суперпользователя для Postgresql. Но не всегда безопасно использовать вход от имени суперпользователя. Нам нужно создать обычного пользователя, который может только управлять базами данных. Для этого выполните в консоли от имени postgres:
Дальше нужно ввести имя роли и ответить на несколько вопросов, а также повторить процедуру задания пароля как для postgres. Чтобы вы могли использовать postgresql через терминал от имени этого пользователя добавьте пользователя UNIX:
Нам осталось только создать новую базу данных:
Теперь у вас есть все необходимое для полноценной работы с программой.
MongoDB
MongoDB была основана в 2007 году и известна как «база данных для великих идей». Проект финансируется такими известными инвесторами, как Fidelity Investments, Goldman Sachs Group, Inc., и Intel Capital. С момента своего создания MongoDB была скачена 20 миллионов раз и поддерживается более чем 1000 партнерами. Эти партнеры придерживаются принципа бесплатного решения с открытым исходным кодом.
Достоинства
- Проверка документов;
- Зашифрованный механизм хранения.
Популярные варианты использования:
- мобильные приложения;
- каталоги продуктов;
- управление контентом;
- Real-time приложения с механизмом хранения в памяти (бета-версия);
- сокращает время между первичным сбоем и восстановлением.
Недостатки
- Не подходит для приложений, требующих сложных транзакций;
- Не подходит для устаревших приложений;
- Молодое решение: программное обеспечение меняется и быстро развивается.
Создать базу данных
Создадим базу данных
heihei_ru_db
с кодировкой utf8
CREATE DATABASE «heihei_ru_db» WITH OWNER «postgres» ENCODING ‘UTF8’;
CREATE DATABASE
Создадим базу данных heihei с кодировкой utf8 и укажем значения для Collate, Ctype и Template
CREATE DATABASE «heihei» WITH OWNER «postgres» ENCODING
‘UTF8’ LC_COLLATE = ‘C’ LC_CTYPE = ‘C’ TEMPLATE = template0;
CREATE DATABASE
Проверим, что получилось
\l
Name | Owner | Encoding | Collate | Ctype | Access privileges
—————+———-+———-+—————————-+—————————-+————————
heihei | postgres | UTF8 | C | C |
urn.su | postgres | UTF8 | English_United States.1252 | English_United States.1252 |
topbicyle.ru | postgres | UTF8 | English_United States.1252 | English_United States.1252 |
postgres | postgres | UTF8 | English_United States.1252 | English_United States.1252 |
template0 | postgres | UTF8 | English_United States.1252 | English_United States.1252 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | English_United States.1252 | English_United States.1252 | =c/postgres +
| | | | | postgres=CTc/postgres
test | postgres | UTF8 | English_United States.1252 | English_United States.1252 |
(7 rows)
Если я в
bash
сделаю
locale -a
То получу сразу четыре доступные кодировки
C
C.UTF-8
en_US.utf8
POSIX
Но создать БД, например, с en_US.utf8 у меня не получается
CREATE DATABASE «heihei» WITH OWNER «postgres» ENCODING
‘UTF8’ LC_COLLATE = ‘en_US.utf8’ LC_CTYPE = ‘en_US.utf8’ TEMPLATE = template0;
Приводит к ошибке
ERROR: invalid locale name: «en_US.UTF-8»
UPD: Выполнил такую же команду в
Ubuntu
и база успешно создана
CREATE DATABASE «new_db» WITH OWNER «postgres» ENCODING ‘UTF8’ LC_COLLATE = ‘en_US.UTF-8’ LC_CTYPE = ‘en_US.UTF-8’ TEMPLATE = template0;
CREATE DATABASE
Настройка hostname и DNS
Hostname в Centos меняется следующей командой:
hostnamectl set-hostname pgsql_1c
Для нормальной работы сервера 1С необходим правильно настроенный DNS сервер, но его настройка выходит за рамки данной статьи. Поэтому для сохранения функциональности сервера мы будем использовать файлы hosts на используемых системах.
На Centos необходимо прописать адрес сервера в файле /etc/hosts :
127.0.0.1 pgsql_1c
Также необходимо прописать на машине, на которой будут установлены платформа и консоль управления сервером 1С в файле hosts (для Windows это C:\Windows\System32\Drivers\etc\hosts) адрес сервера 1С:Предприятие.
Например:
192.168.1.5 pgsql_1c
Создание и настройка пользователей в PostgreSQL 9.4
И для начала давайте зададим пароль для пользователя postgres, так как по умолчанию он создается без пароля, для этого переключимся на пользователя postgres и запустим утилиту psql
su - postgres psql
Меняем пароль пользователя postgres
\password postgres
Теперь давайте создадим нового пользователя, пишем команду (просто, для того чтобы уметь это делать)
CREATE ROLE testuser WITH PASSWORD '123456' LOGIN;
Где, testuser это логин пользователя, а 123456 его пароль.
Для выхода из psql и переключения обратно под root нажимаем два раза сочетание клавиш CTRL+D.
Перезапускаем PostgreSQL
systemctl restart postgresql-9.4
Заключение
По состоянию на 2017 год многие из широко используемых баз данных основаны на модели реляционной базы данных.
Практически все разработчики современных приложений, предусматривающих связь с системами баз данных, ориентируются на реляционные СУБД. По данным аналитиков на 2010 год, реляционные СУБД используются в абсолютном большинстве крупных проектов по разработке информационных систем. По результатам исследований компании IDC 2009 года всего около 7% составляют проекты, в которых используются СУБД нереляционного типа.
По оценке Gartner в 2013 году рынок реляционных СУБД составлял 26 млрд долларов с годовым приростом около 9 процентов, а к 2018 году рынок реляционных СУБД достигнет 40 млрд долларов. В настоящее время абсолютными лидерами рынка СУБД являются компании Oracle, IBM и Microsoft, с общей совокупной долей рынка около 90%, поставляя такие системы как Oracle Database, IBM DB2 и Microsoft SQL Server.
Единственной коммерчески успешной СУБД российского производства является реляционная СУБД Линтер.