Установка и обеспечение безопасности redis в ubuntu 18.04

Redmine это мощная система управления проектами с открытым исходным кодом. Программа позволяет работать в веб-интерфейсе сразу с несколькими проектами и

Подготовка к установке Ubuntu

Перед тем, как мы сможем перейти к установке системы, необходимо всё подготовить. Первым делом необходимо скачать установочный образ с официального сайта.

Нам нужна версия для рабочего стола — Desktop.

Шаг 2. Запись образа на флешку

Когда образ будет загружен, его необходимо записать на установочный носитель — флешку или DVD-диск. Для записи на флешку в Linux можно использовать утилиту Etcher или Unetbootin:

В Windows очень большой популярностью среди пользователей пользуется программа Rufus:

Что касается записи на диск, то в Linux существует утилита k3b или Brasero. А в Windows можно воспользоваться той же UltraISO.

Шаг 3. Настройка BIOS

Следующий наш шаг — настроить загрузку компьютера не с вашего жёсткого диска, а с только что записанного установочного носителя. Для этого перезагрузите компьютер и во время заставки BIOS нажмите Del, F8, Shift+F2 или другое сочетание клавиш, чтобы открыть меню настроек BIOS.

Здесь необходимо перейти на вкладку Boot, а затем в разделе Boot device priority установить на первое место вашу флешку или DVD. Затем останется только перейти на вкладку Exit и нажать Exit & Save settings.

Шаг 3 – Установка PHP и настройка Nginx для использования процессора PHP

Теперь у вас есть Nginx для обслуживания ваших страниц и MySQL для хранения и управления данными, однако у вас до сих пор не установлено ПО, которое может генерировать динамический контент. Для этого требуется установить PHP.

Поскольку Nginx не поддерживает нативную обработку PHP, как некоторые другие веб-серверы, вам потребуется установить , т.е. «менеджер процессов fastCGI». Мы укажем Nginx передавать запросы PHP в это программное обеспечение для обработки.

Примечание. В зависимости от поставщика облачных услуг вам может потребоваться установить хранилище Ubuntu , которое включает бесплатное программное обеспечение и программное обеспечение с открытым исходным кодом, поддерживаемое сообществом Ubuntu, прежде чем устанавливать пакет . Для этого можно ввести следующую команду:

Установите модуль с дополнительным вспомогательным пакетом , который позволит PHP взаимодействовать с серверной частью вашей базы данных. При установке будут загружены необходимые файлы ядра PHP. Введите следующее:

Теперь у вас установлены все требуемые компоненты набора LEMP, однако вам нужно внести еще несколько изменений конфигурации, чтобы Nginx использовал процессор PHP для динамического контента.

Это изменение конфигурации выполняется уровне блока сервера (блоки сервера похожи на виртуальные хосты в Apache). Откройте новый файл конфигурации блока сервера в каталоге . В этом примере новый файл конфигурации блока сервера имеет имя , хотя вы можете использовать любое желаемое имя:

Если вам потребуется восстановить конфигурацию по умолчанию, вы можете отредактировать новый файл конфигурации блока сервера, а не изменять используемый по умолчанию файл.

Добавьте в новый файл конфигурации блока следующее содержимое, которое взято с некоторыми модификациями из файла конфигурации блока сервера по умолчанию:

/etc/nginx/sites-available/example.com

Ниже описано действие этих директив и блоков расположения:

  • — определяет, что будет прослушивать порт Nginx. В данном случае он будет прослушивать порт , используемый по умолчанию для протокола HTTP.
  • — определяет корневой каталог документа, где хранятся файлы, обслуживаемые сайтом.
  • — задает для Nginx приоритет обслуживания файлов с именем (при наличии) при запросе файла индекса.
  • — определяет, какой серверный блок должен использоваться для заданного запроса вашего сервера. Эта директива должна указывать на доменное имя или публичный IP-адрес вашего сервера.
  • — первый блок расположения включает директиву , которая проверяет наличие файлов, соответствующих запросу URI. Если Nginx не сможет найти соответствующий файл, будет возвращена ошибка 404.
  • — этот блок расположения отвечает за фактическую обработку PHP посредством указания Nginx на файл конфигурации и файл file, который объявляет, какой сокет ассоциирован с .
  • — последний блок расположения отвечает за файлы , которые Nginx не обрабатывает. При добавлении директивы из файлов в корневой каталог документа они не будут выводиться посетителям.

После добавления этого содержания следует сохранить и закрыть файл. Для активации нового серверного блока создайте символическую ссылку от нового файла конфигурации серверного блока (в каталоге ) на каталог :

Затем уберите ссылку на файл конфигурации по умолчанию из каталога :

Примечание. Если вам потребуется восстановить конфигурацию по умолчанию, вы можете сделать это посредством воссоздания символической ссылки:

Протестируйте новый файл конфигурации на ошибки синтаксиса:

При появлении сообщений о каких-либо ошибках, вернитесь и повторно проверьте ваш файл, прежде чем продолжать.

Когда вы будете готовы, перезагрузите Nginx для внесения необходимых изменений:

Это завершает установку и настройку набора LEMP. Однако будет разумно убедиться, что все компоненты могут связываться друг с другом.

Настройка Redis

Для Ubuntu и Debian основной конфигурационный файл Redis сервера Вы найдете по пути /etc/redis/redis.conf, в CentOS (а также BitrixOS) конфигурация располагается в файле /etc/redis.conf.

Наиболее интересным будет параметр maxmemory, он задает ограничение использования оперативной памяти для хранения данных в Redis. По умолчанию Redis может использовать всю доступную память сервера, поэтому если сервер не обладает достаточным количеством постоянно свободной памяти (Вы можете просмотреть информацию о используемой памяти командой free -m), то стоит задать этот параметр. Самым простым решением для выбора максимального объема памяти будет разделить среднее значение нескольких показаний свободной памяти (free -m) пополам.

Например, в течение часа показатели free -m были следующими:

              total         used         free         shared   buff/cache   available

Mem:           7170        4616         204         420        2348            2047


              total         used         free         shared   buff/cache   available

Mem:           7170        4628         188         422        2352            2034


              total         used         free         shared  buff/cache   available

Mem:           7170        4645         169         422        2354           2016

Средним показателем для свободной памяти (столбец free) будет 187 ((204+188+169)/3=187), поэтому ограничим maxmemory в 180 Мб. Для этого откроем файл redis.conf, найдем строку “# maxmemory ”: и заменим её указав нужное значение:

maxmemory 180mb

Также в данном файле стоит обратить внимание на следующие параметры:

  • maxclients -количество разрешенных клиентов;
  • tcp-backlog — количество соединений которые могут находится в очереди, если все возможные соединения заняты;
  • save — условия, при которых данные будут записываться на диск. Данные Redis хранятся в оперативной памяти и в зависимости от значений save сохраняются на диск, что замедляет производительность, но повышает надежность хранения данных. Условию save передается два значение: количество секунд и количество изменений, если за указанное количество происходит указанное количество изменений, то данные будут сохранены на диск. По умолчанию параметры выглядят так:

save 900 1 — сохранить, если за 900 секунд будет хотя бы одно изменение;

save 300 10 — сохранить, если за 300 секунд будет хотя бы 10 изменений;

save 60 10000 — сохранить, если за 60 секунд будет 10000 и более изменений.

Вы можете редактировать текущие правила или удалять их. Вы можете просто закомментировать их (поставить в начале строки #), в этом случае будет достигнута максимальная производительность, т. к. данные не будут записываться на диск, но в случае перезагрузки сервера или Redis все данные будут утеряны.

После внесения каких-либо изменений в конфигурационный файл Redis необходимо перезапустить.

Для Debian/Ubuntu:

service redis-server restart

Для CentOS/BitrixOS:

systemctl restart redis

Как пользоваться Grub Customizer

После запуска ей будет нужно несколько минут на то, чтобы обнаружить все установленные операционные системы, а потом можно переходить к настройке.

1. Настройка пунктов меню

На первой вкладке программа позволяет настроить пункты меню. Можно переименовать, переместить вверх или вниз, удалить или изменить код каждого из пунктов. Для этого просто воспользуйтесь контекстным меню:

Менять пункты местами можно также с помощью стрелок вверх/вниз на панели инструментов. Стрелки вправо/влево позволяют вносить и выносить пункты меню из папок. Если что-то было сделано неправильно, можно перезагрузить конфигурацию кнопкой с круговой стрелкой.

2. Создание нового пункта

С помощью кнопки со значком плюса можно создать новый пункт. Существует несколько типов пунктов. Например, Linux ISO позволяет создать загрузочную запись для iso-образа Linux. Для этого достаточно выбрать нужный образ:

С помощью варианта Chainloader можно запустить загрузчик с другого раздела, например загрузчик Windows. Для этого достаточно выбрать раздел:

Или вы можете ввести текст конфигурации сами, выбрав вариант Прочее:

3. Таймаут и пункт по умолчанию

На второй вкладке можно настроить пункт меню, который будет загружаться по умолчанию:

А также время ожидания для загрузки пользователем. Вообще не ожидать ввода пользователя и отключить меню можно, выставив значение ноля для этой настройки.

4. Параметры ядра Grub

Чуть ниже на этой же вкладке вы можете указать параметры ядра, которые будут передаваться для всех пунктов меню по умолчанию, например, у меня прописано verbose, чтобы видеть как можно больше информации о системе во время загрузки:

Также, нажав кнопку Дополнительные параметры, можно более тонко настроить, как будут передаваться параметры ядру и как будет создаваться конфигурационный файл:

5. Внешний вид Grub

Самое интересное для многих пользователей — это внешний вид загрузчика. На третьей вкладке можно настроить цвета фона, рамки и шрифта загрузчика, а также фоновое изображения. Пункты, отвечающие за эти настройки, находятся в левой части окна:

После этого откроется редактор файлов темы, где вы можете удалить или добавить новые файлы.

6. Сохранение настроек

Чтобы сохранить любые изменения, нажмите кнопку Сохранить.

Только после этого внесенные изменения запишутся в конфигурационный файл Grub.

Структура сервера LTSP

Что мы должны знать — это компоненты из которых состоит сервер:

  • DHCP-сервер — используется для выдачи клиентам IP-адресов и информации о tftp-сервере и пути к загрузчику pxelinux. По дефолту используется dnsmasq, но можно использовать и isc-dhcp-server.
  • iPXE — сетевой загрузчик, который показывает меню начальной загрузки клиента.
  • mksquashfs — создает сжатую копию образа, который будет использоваться при работе клиента.
  • TFTP-сервер — отдает по tftp-протоколу загрузчик, ядро и главный конфиг .
  • NFS /NBD — Транслирует образ системы в сеть.
  • SSH-сервер — используется для авторизации пользователей и передачи их домашних каталогов на терминальные станции.

Шаг 2 — Создание резервной копии экземпляра источника Redis

Каждый раз, когда вы планируете перенести данные с одного сервера на другой, существует риск того, что что-то может пойти не так, а вы в результате потеряете данные. Хотя этот риск невелик, мы будем использовать команду Redis для создания резервной копии вашей базы данных источника Redis на случай возникновения ошибки в процессе репликации.

Откройте интерфейс командной строки Redis, если вы этого еще не сделали:

Если вы настроили для вашего сервера аутентификацию по паролю, запустите команду , за которой следует ваш пароль Redis:

Далее запустите команду . В результате будет создан снимок текущего набора данных, после чего этот снимок будет экспортирован в файл дампа, хранящийся в рабочем каталоге Redis:

Примечание: вы можете сделать снимок вашей базы данных Redis с помощью команд или . Мы используем команду , так как команда запускается синхронно, а значит будет блокировать действия других клиентов, подключенных к базе данных. По этой причине документация команды рекомендует не запускать ее в производственной среде практически ни при каких условиях.

Вместо этого предлагается использовать команду , которая запускается асинхронно. Это приведет к тому, что Redis будет делить работу с базой данных на два процесса: родительский процесс будет продолжать обслуживать клиентов, а дочерний процесс сохранит эту базу перед выходом:

Обратите внимание, что если клиенты добавляют или изменяют данные во время работы команды , эти изменения не отражаются в нашем снимке. После этого вы можете закрыть подключение к вашему экземпляру Redis, запустив команду :

После этого вы можете закрыть подключение к вашему экземпляру Redis, запустив команду :

Если вам потребуется эти данные в будущем, вы сможете найти их в файле дампа данных в рабочем каталоге вашего экземпляра Redis. Вспомните, как согласно предварительным требованиям по установке Redis вы настроили использование в качестве рабочего каталога.

Выведите список содержимого рабочего каталога Redis, чтобы подтвердить, что в нем содержится файл дампа данных:

Если дамп файл был экспортирован корректно, вы увидите его в выводе этой команды. По умолчанию этот файл имеет имя :

После подтверждения корректного резервного копирования данных следует настроить сервер источника Redis для приема внешних подключений и возможности выполнения репликации.

Step 5 — Starting and Testing Redis

Start the systemd service by typing:

Check that the service has no errors by running:

This will produce output similar to the following:

To test that your service is functioning correctly, connect to the Redis server with the command-line client:

In the prompt that follows, test connectivity by typing:

This will return:

Next, check that you can set keys by typing:

Retrieve the value by typing:

You should be able to retrieve the value you stored:

After confirming that you can fetch the value, exit the Redis prompt to get back to the shell:

As a final test, we will check whether Redis is able to persist data even after it’s been stopped or restarted. To do this, first restart the Redis instance:

Then connect with the client again and confirm that your test value is still available:

The value of your key should still be accessible:

Exit out into the shell again when you are finished:

Assuming all of these tests worked and that you would like to start Redis automatically when your server boots, enable the systemd service:

With that, your Redis installation is fully operational.

Related

  • Tutorial

    Автор выбрал COVID-19 Relief Fund для получения пожертвования в рамках программы Write for DOnations. Веб-сервер Apache HTTP эволюционировал все…

  • Tutorial

    Автор выбрал Girls Who Code для получения пожертвования в рамках программы Write for DOnations. Большие двоичные объекты (BLOB) — это…

  • Tutorial

    Django — бесплатная веб-структура с открытым исходным кодом, написанная на Python. Она построена на принципах масштабируемости, многократного использования элементов и быстрой разработки. Также она отличается согласованностью и слабой связанностью компонентов, за счет чего…

  • Tutorial
    Создание сервера Minecraft в Ubuntu 18.04

    Автор выбрал Tech Education Fund для получения пожертвования в рамках программы Write for DOnations. Minecraft — это популярная видеоигра в жанре Sandbox (песочница)….

1: Инструмент redis-benchmark

Redis поставляется с инструментом тестирования redis-benchmark. Эта программа может симулировать произвольное число клиентов, одновременно подключающихся и выполняющих действия на сервере, и измерить, сколько времени требуется для выполнения запросов. Полученные данные дадут вам представление о среднем количестве запросов, которое сервер Redis может обрабатывать в секунду.

В следующем списке приведены некоторые общие параметры для redis-benchmark:

  • -h: хост Redis (по умолчанию 127.0.0.1).
  • -p: порт Redis (по умолчанию 6379).
  • -a: эта опция позволяет указать пароль, если серверу нужна аутентификация.
  • -c: задает количество клиентов (параллельных соединений), которое нужно симулировать. По умолчанию это 50 клиентов.
  • -n: количество симулируемых запросов (по умолчанию 100000).
  • -d: размер данных в байтах для значений SET и GET (по умолчанию 3).
  • -t: запускает только поднабор тестов. К примеру, можно использовать -t get,set и измерить только производительность команд GET и SET.
  • -P: использует конвейерную обработку для улучшения производительности.
  • -q: тихий режим, показывает только среднее количество запросов в секунду.

Например, если вы хотите проверить среднее количество запросов в секунду, которое может обрабатывать ваш локальный сервер Redis, вы можете использовать эту команду:

Вы получите примерно такой результат:

Вы также можете ограничиться в тестах только подмножеством команд по вашему выбору, используя параметр -t. Следующая команда покажет средние значения только для команд GET и SET:

По умолчанию команда симулирует 50 параллельных соединений и 100000 запросов к серверу Redis. Если вы хотите увеличить количество параллельных соединений и симулировать пик в нагрузке, вы можете использовать опцию -c:

Поскольку при этом команда симулирует 1000 одновременных подключений вместо 50, вам следует ожидать снижения производительности:

Чтобы получить в выводе подробную информацию, удалите опцию –q. Следующая команда использует 100 параллельных соединений и запускает 1000000 SET-запросов на сервере.

Вы получите примерно следующее:

По умолчанию для значения ключа используется 3 байта. Вы можете изменить это значение с помощью опции -d. Следующая команда анализирует команды GET и SET с ключами размером в 1 МБ:

Поскольку на этот раз сервер работает с гораздо большей нагрузкой, ожидается значительное снижение производительности:

Важно понимать вот что: хотя эти числа полезны в качестве быстрого способа оценки производительности экземпляра Redis, они не представляют максимальную пропускную способность, которую может выдержать экземпляр Redis. Используя конвейерную обработку, приложения могут отправлять несколько команд одновременно, чтобы увеличить количество запросов в секунду, которые может обрабатывать сервер

Команда redis-benchmark использует опцию -P для имитации реальных приложений, использующих эту функцию Redis.

Чтобы сравнить разницу, сначала запустите команду redis-benchmark со значениями по умолчанию и без конвейеризации для тестирования GET и SET:

Следующая команда выполнит те же тесты, но конвейеризирует 8 команд:

Как видно из выходных данных, при использовании конвейерной обработки наблюдается значительное улучшение производительности.

Настройка Redis в Unix/Linux

Откроем конфиг:

# vim /etc/redis/6379.conf

У меня он выглядит следующим образом:

bind 127.0.0.1
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile /var/log/redis_6379.log
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /var/lib/redis/6379
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

И так, у меня редис висит на локалхосте ( 127.0.0.1 ), вот строка:

bind 127.0.0.1

Вообще, можно изменить данную строку на «0.0.0.0» или на конкретный IP адрес.

Строка:

protected-mode yes

Говорит что включен мод-защиты. Это означает, что никто из вне, не сможет подключится к данному редис-серверу. Если хотите чтобы клиенты с других хостов подключались к Redis, то установить в «no».

Сервер использует 6379-й порт. Можно повесить на сокет при необходимости.

Это стандартная конфигурация и она не идеальная, т.к она может «сожрать» всю RAM. Для того чтобы этого не произошло, стоит добавить:

maxmemory 2147483648

И так, я для редиса, ограничил использования виртуальной памяти до 2 Гб. Так же, можно защитить редиску-сервис и установить пароль, для этого — находим строку:

# requirepass foobared

И приводим к виду:

requirepass Your_PASSWORD_here

Иногда, бывает полезным — запретить использование команд, находим:

# rename-command CONFIG ""

И прописываем:

rename-command CONFIG ""

Это запретит использования CONFIG команды в редис. Но можно и переименовать некоторую команду, например:

rename-command CONFIG rename_CONFIG

Данное выражение, заменит использование CONFIG на rename_CONFIG.

Чтобы проверить бенчмарк (нагрузку на редис-сервер), используйте команду:

$ redis-benchmark

На этом, у меня все. Статья «Установка Redis в Unix/Linux» завершена. В следующей теме, я расскажу как собрать кластер из редиску — как создать свой огород))))

Шаг 5 — Переименование опасных команд

Другой элемент безопасности, встроенные в Redis, подразумевает переименование или полное удаление определенных команд, которые считаются опасными.

При использовании неавторизованными пользователями, такие команды могут использоваться для изменения конфигурации, уничтожения или выведения из строя ваших данных. Как и в случае пароля для аутентификации, переименование или отключение команд выполняется в том же разделе в файле .

Список команд, которые считаются опасными, включает: FLUSHDB, FLUSHALL, KEYS, PEXPIRE, DEL, CONFIG, SHUTDOWN, BGREWRITEAOF, BGSAVE, SAVE, SPOP, SREM, RENAME и DEBUG. Данный список не является всеобъемлющим, но переименование или удаление всех команд в этом списке служит хорошим отправным пунктом для повышения безопасности вашего сервера Redis.

Решение о том, нужно ли отключить или переименовать команду, зависит от ваших потребностей или потребностей вашего сайта. Если вы знаете, что вы не будете использовать команду, которая может быть использована злоумышленниками, тогда вы можете отключить ее. В другом случае мы рекомендуем вам переименовать ее.

Чтобы активировать или отключить команды Redis, откройте файл конфигурации еще раз:

Предупреждение. Седующие шаги с демонстрацией отключения или переименования команд являются примерами. Вы должны отключить или переименовать команды, имеющие смысл для вас. Вы можете просмотреть полный список команд самостоятельно и узнать, как они могут использоваться злоумышленниками, по адресу redis.io/commands.

Чтобы отключить команду, просто укажите пустую строку в качестве имени (обозначается парой кавычек без символов между ними), как показано ниже:

/etc/redis/redis.conf

Чтобы переименовать команду, дайте ей другое имя, как показано в приведенных ниже примерах. Переименованные команды должно быть трудно подобрать, но легко запомнить:

/etc/redis/redis.conf

Сохраните изменения и закройте файл.

После переименования команды примените изменения, перезапустив Redis:

Чтобы протестировать новую команду, откройте командную строку Redis:

Затем выполните аутентификацию:

Предположим, вы переименовали команду в , как показано в предыдущем примере. Сначала попробуйте воспользоваться первоначальной команду . Команда не будет выполнена, потому что вы переименовали ее:

Вызов переименованной команды будет успешным. Регистр не имеет значения:

После этого вы можете закрыть :

Обратите внимание, что если вы уже используете командную строку Redis, а затем перезапустите Redis, вам нужно будет повторно выполнить аутентификацию. Иначе вы получите следующую ошибку при вводе команды:. В отношении практики переименования команд в конце раздела файла есть следующее предостережение:

В отношении практики переименования команд в конце раздела файла есть следующее предостережение:

Примечание: проект Redis предпочитает использовать термины «master» и «slave», в то время как DigitalOcean предпочитает использовать варианты «primary» и «secondary». Чтобы не допустить путаницы, мы решили использовать здесь термины, используемые в документации Redis.

Это значит, что, если переименованная команда не содержится в файле AOF, либо содержится, но AOF файл не передается «slave» компонентам, не будет никаких проблем.

Учитывайте этот момент, когда будете переименовать команды. Лучшее всего переименовать команду, пока вы не используете AOF сохранение или сразу после установки, т.е. до развертывания использующего Redis приложения.

Если вы используете AOF и работаете с конфигурацией master-slave, изучите этот ответ на странице проблем проекта на GitHub. Ниже приводится ответ на вопрос автора:

Таким образом, при переименовании необходимо убедиться, что переименованные команды применяются во всех экземплярах на установках типа «master-slave».

2: Тестирование Redis

Как и любое новое ПО, Redis нужно проверить после установки.

Для начала убедитесь, что сервис Redis запущен:

Если команда не вернет ошибок, вы увидите такой вывод:

Как видите, Redis работает и уже включен как сервис (то есть добавлен в автозагрузку).

Примечание: Этот параметр является желательным для многих общих случаев использования Redis. Если, однако, вы предпочитаете запускать Redis вручную после загрузки сервера, вы можете удалить сервис из автозагрузки с помощью следующей команды:

Чтобы убедиться, что Redis работает правильно, запустите клиент командной строки:

В командную строку введите такую команду, чтобы проверить соединение:

Это значит, что программа правильно отвечает на запросы. Теперь убедитесь, что можете добавлять ключи:

Извлеките значение ключа:

Команда должна ответить:

Убедившись, что вы можете получить значение, выйдите из командной строки Redis, чтобы вернуться в оболочку:

В качестве финальноо теста убедитесь, что Redis может сохранять данные даже после остановки или перезапуска. Для этого сначала перезапустите экземпляр Redis:

Затем снова подключитесь к клиенту командной строки и запросите значение:

Вы должны получить:

Закройте командную строку:

Теперь вы знаете, что установка Redis полностью работоспособна и готова к использованию. Однако некоторые из настроек конфигурации по умолчанию небезопасны и предоставляют злоумышленникам возможность атаковать Redis и получить доступ к серверу и его данным. Остальные разделы в этом мануале предлагают методы смягчения этих уязвимостей (по рекомендациям официального веб-сайта Redis). Все это опционально, Redis будет функционировать и без этого, однако выполнить эти разделы настоятельно рекомендуется, чтобы повысить безопасность системы.

Установка Wine в Ubuntu

Как я уже сказал, сейчас у Wine есть две основные развиваемые версии стабильная — 3.0, в которую вносятся только небольшие исправления багов, и экспериментальная — 4.x — здесь содержится вся новая функциональность. На момент написания статьи версия 4.0 находится в состоянии заморозки, в скором времени она станет стабильной, а экспериментальные версии будут называться 4.1, 4.2 и так далее. В репозиториях Ubuntu 18.04 есть стабильная версия. Но для установки экспериментальной вам придется использовать репозиторий разработчиков.

1. Установка wine из официальных репозиториев

Для установки wine из официальных репозиториев достаточно выполнить команду:

Установка может занять достаточно долго времени, поскольку системе надо скачать много пакетов. Далее вы можете посмотреть версию:

2. Установка wine из PPA

Версия 3.0 в репозиториях системы есть. Но когда выйдет стабильная 4.0 или еще выше, ее не будет и вам надо будет использовать PPA. Сначала для 64 битных систем необходимо добавить поддержку архитектуры i386:

Чтобы добавить репозиторий wine ubuntu выполните:

Чтобы проверить как все работает, можете выполнить:

Или посмотреть версию:

3. Установка самой последней версии Wine в Ubuntu

Если вас не устраивает стабильная версия Wine и вы хотите получить самую новую, экспериментальную версию чтобы запустить ранее не поддерживаемую программу или просто протестировать, необходимо использовать  тот же репозиторий из предыдущего шага. Только пакет wine-staging или wine-devel. А теперь устанавливаем:

Экспериментальную версию тоже нужно удалить. Это делам такой же командой, как и устанавливали:

Дальше мы рассмотрим как установить wine на ubuntu 18.04 из исходников.

4. Сборка Wine из исходников

Если нужной вам версии нет в PPA и вам нужна установка последней версии Wine в Ubuntu 16.04 с накладыванием каких-либо патчей, или даже хотите иметь две версии Wine сразу, необходимо собирать Wine с исходников.

Откройте утилиту Программы и обновления и на вкладке Источники ПО установите галочку напротив пункта Исходный код:

Затем установите все необходимое для сборки wine:

Загрузим исходники, например, ту же версию Wine 4.0 с официального сайта. Можно также воспользоваться утилитой wget:

Распаковываем исходники и переходим в папку с ними:

Подготавливаем Wine к сборке, в 32 битных системах:

В 64-битных:

Если вы хотите установить wine в какую-либо другую папку, например, в /opt/wine4, нужно ее указать команде configure:

Компилируем и запускаем сборку пакета:

Затем собираем пакет для установки:

Теперь установка Wine 4 в Ubuntu из только что полученного deb пакета, с помощью утилиты dpkg:

Теперь можно запустить wine и посмотреть версию:

Использование Redis

Для доступа к Redis из консоли можно воспользоваться утилитой redis-cli. Запустите её в терминале и вы попадете в командную строку, из которой сможете посылать команды для redis. Сначала проверьте доступен ли сервер:

Чтобы добавить ключ можно использовать команду set:

В процессе набора утилита будет предлагать подсказки, чтобы вы знали что именно вам необходимо ввести. Для просмотра значения ключа используйте команду get:

Также можно вывести все ключи, которые хранятся в базе:

Утилита требует использовать какой либо паттерн для вывода, поэтому можно вывести ключи, подходящие под определенный шаблон:

Чтобы удалить ключ можно использовать команду del:

Чтобы выйти из клиента redis используйте команду exit:

Эта статья больше про установку redis, чем про его полноценное использование, поэтому мы не будем вдаваться в подробности структур данных и их применения. Но теперь вы сможете более-менее ориентироваться в том, что находится в базе.

Start and Test Redis

Now, we are ready to start the Redis server.

Start the Redis Service

Start up the systemd service by typing:

Check that the service had no errors by running:

You should see something that looks like this:

Test the Redis Instance Functionality

To test that your service is functioning correctly, connect to the Redis server with the command-line client:

In the prompt that follows, test connectivity by typing:

You should see:

Check that you can set keys by typing:

Now, retrieve the value by typing:

You should be able to retrieve the value we stored:

Exit the Redis prompt to get back to the shell:

As a final test, let’s restart the Redis instance:

Now, connect with the client again and confirm that your test value is still available:

The value of your key should still be accessible:

Back out into the shell again when you are finished:

Enable Redis to Start at Boot

If all of your tests worked, and you would like to start Redis automatically when your server boots, you can enable the systemd service.

To do so, type:

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделитесь с друзьями:
Технарь
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.