Перенос WordPress на Debian с NGINX.

Привет! На днях решил заняться этим блогом. Решил немного попрактиковаться с web-сервером на linux-машине. Был выбран Debian 9 и nginx. Пришлось немного повозиться, наступить на различные грабли, но самое главное я добился своей цели. Не буду здесь писать инструкции как я это осуществил, так как в интернете полно материалов на данную тему. Могу лишь только сказать, что для начинающего администратора это может оказаться сложным. Если у кого-то будут вопросы по мигрированию или созданию новых блогов на данной платформе, то прошу вас, обращайтесь ко мне через комментарии к этой заметке или через обратную форму на главной странице.

P.S. Среднее время загрузки главной страницы сайта у меня теперь составляет менее 500 мс, хотя ранее на Windows с IIS web-сервером эта цифра составляла 3-4 секунды.

Быстрая установка Zabbix 3.2 на Ubuntu 16.04

  1. Обновляемся:
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt dist-upgrade
  2. Устанавливаем MySQL и Apache
    sudo apt install mysql-server mysql-client apache2
  3. Скачиваем и устанавливаем Zabbix
    wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix/zabbix-server-mysql_3.2.3-1+xenial_amd64.deb
    wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix/zabbix-frontend-php_3.2.3-1+xenial_all.deb
    sudo dpkg -i zabbix-server-mysql_3.2.3-1+xenial_amd64.deb
    sudo apt-get -f install
    sudo dpkg -i zabbix-frontend-php_3.2.3-1+xenial_all.deb
    sudo apt-get -f install
  4. Перезапускаем службу Apache
    sudo service apache2 reload

    Открываем web-интерфейс Zabbix http://you-server-ip/zabbix. Если не открывается, ищем в каком месте напортачили.

  5. Изменяем временную зону в Apache
    sudo nano /etc/apache2/conf-available/zabbix.conf

    И убираем знак # в строке:
    # php_value date.timezone Europe/Riga
    и меняем временную зону на Москву
    php_value date.timezone Europe/Moscow

  6. Подключаемся к MySQL и создаем базу данных под Zabbix
    sudo mysql -u root -p
    create database zabbix character set utf8 collate utf8_bin;
    grant all privileges on zabbix.* to zabbix@localhost identified by '<пароль>';
    quit;
  7. Из файла заготовки наполняем будущую базу Zabbix нужными данными
    cd /usr/share/doc/zabbix-server-mysql
    sudo gzip -d create.sql.gz
    mysql -u zabbix -p zabbix < create.sql
  8. До устанавливаем компоненты в PHP и перезапускаем Apache
    sudo apt install php-mbstring php-bcmath php-xml
    sudo service apache2 reload
  9. Возвращаемся на web-интерфейс http://you-server-ip/zabbix и заканчиваем настройку.
  10. Заходим через web-интерфейс в Zabbix, используя стандартную учетную запись:
    Логин: Admin
    Пароль: zabbix
  11. Запускаем службу  Zabbix, предварительно сделав настройку конфигурационного файла
    sudo nano /etc/zabbix/zabbix_server.conf
    DBHost=localhost
    DBName=zabbix
    DBUser=zabbix
    DBPassword= <пароль>
    sudo service zabbix-server start

Ошибка “kex protocol error: type 30 seq 1 [preauth]”

При подключении к новым версиям OpenSSH-сервера может возникнуть ошибка “kex protocol error: type 30 seq 1 [preauth]” , которую можно прочитать в логе /var/log/auth.log. Для ее исправления скачайте последнюю версию вашего SSH-клиента. В моем случае это была kitty 0.66.6.2p

Простой и легкий в настройке Linux firewall.

По работе понадобился простой и быстрый в настройке линукс фаерволл для безопасного отделения одной сети от другой. Так как других функций от него не требовалось, то искался именно бесплатный дистрибутив на основе Линукс. В качестве него был найден образ с сайта http://www.smoothwall.org/. За 30 минут удалось быстро развернуть нужную функциональность!

Проблемы с кодировкой (шрифтами) в Ubuntu сервер (терминале)

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

sudo dpkg-reconfigure console-setup

После этого появится окно с настройкой пакета console-setup
1)Выбираем вначале UTF-8
2)Используемая таблица символов: Выбираем кириллица славянские языки… (5 пункт)
3)Консольный шрифт: Выбираем TerminusBold
4)Размер шрифта: Выбираем 16.

Чтобы после перезагрузки системы сделанные настройки не сбрасывались, необходимо отредактировать файл /etc/rc.local, дописав перед строчкой exit 0 строку “setupcon”.
На этом проблемы с русскими шрифтами решаются полностью.

Текстовый редактор Vi

Текстовый редактор Vi содержится практически во всех дистрибутивах с Linux и является практически  де-факто главным текстовым редактором, работающим в терминале.
Давайте немного разберемся, как он работает.

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

Vi после своего запуска может работать в 3 режимах: командном, когда нажатие на любую клавишу – это команда редактору, вставки – нажатие на клавишу приводит к вставке соответствующего символа в текст и режим командной строки для ввода команд, отображающихся в последней строке терминала.

Начинает свою работу Vi в командном режиме. Для перехода в режим командной строки нужно нажать двоеточие (:) на клавиатуре. В результате в начале последней строки терминала появится двоеточие – это приглашение программы для возможности ввода команд. Ввод заканчивается  нажатием «Enter». Например, чтобы посмотреть возможности клавиши «L» в командном режиме нужно набрать «help L». Vi настраивается командой «:set <имя настройки>».  Например, команда «:set wrap» включает настройку, которая позволяет переносить слишком длинные строки, не умещающиеся в ширину терминала. Выключить эту настройку можно командой «:set nowrap».

Чтобы перейти в режим вставки текста, нужно нажать клавишу «i». В последней строке терминала будет показано, что Vi  стал работать в таком режиме, каком мы захотели. В режиме вставки можно вводить текст, завершая строку клавишей ввода. Чтобы вернуться в командный режим, нужно нажать клавишу Esc. Редактируя текст в Vi, пользователь работает не непосредственно с файлом,  а с буфером. Если открывается уже существующий файл, Vi копирует его содержимое в буфер и отображает буфер на экране. Открытый же файл остается без изменений. Чтобы записать изменения в файл, используется команда «:w» в командном режиме. Если после не указывать  имен файлов, то содержимое буфера скопируется в тот же файл, который и был открыт на редактирование.

Для  новичка важна команда выхода из Vi – «:q». Если в буфере Vi есть изменения, которые ещё не записаны ни в каком файле, то Vi откажется выполнять команду «:q», предложив сначала сохранить эти изменения. Если вы не хотите сохранять эти изменения, то для выхода из Vi нужно написать команду «:q!» Восклицательный знак можно добавлять в конце любой файловой команды – тогда Vi не будет задавать лишних вопросов J . Для одновременного сохранения буфера и выхода из Vi можно написать команду «:wq»  или  «:x»

Некоторые горячие клавиши в Linux, а также самые популярные команды терминала

Alt+Ctrl+FN – переход в текстовый режим в N-ый терминал из графического режима

Alt+Ctrl+F7 (или Alt+F7)- переход в графический режим из текстового

Alt+FN (в текстовом режиме) – переход к виртуальному терминалу №N

Ctrl +W – удаляет последнее введенное слово в терминале

Ctrl +U – удаляет всю строку в терминале

Ctrl + D – конец ввода

Ctrl +С  – отменяет ввод

Ctrl +S – приостанавливает процесс

Ctrl +Q – возобновляет процесс

Ctrl +Z – останавливает процесс

Ctrl+R – поиск в истории по списку введенных команд в терминале

passwd – смена пароля у текущего пользователя

whoami – возвращает учетное имя пользователя от которого она была выполнена

who – выводит список пользователей, которые уже залогинены в системе

last – выводит список пользователей, которые залогинены были  до этого и подключенные в настоящее время

logout – завершение сеанса пользователя (или Ctrl+D)

cal – вывод календаря за текущий месяц

less – постранично выводит информацию на экран терминала (используется совместно с другими командами)

whatis – поиск подстроки в поле NAME в некоторой базе данных (используется совместно с другими командами, справку о которых нужно узнать)

apropos – поиск подстроки по всем полям некоторой базы данных (используется совместно с другими командами, справку о которых нужно узнать)

cat – выводит содержимое файла на терминал, печатает стандартный вывод

head – выводит первые, то количество строк указанного файла, которое введено в качестве ключа

tail – выводит последние, то количество строк указанного файла, которое введено в качестве ключа

file – определяет  тип файла

ls – показывает все, что содержится в нужной директории

pwd – показывает текущий каталог шелла

cd – сменить текущий каталог

mkdir – создает каталог

mv – перемещает файлы и каталоги

cp – копирует файл или каталог

ln – создает жесткую ссылку на файл; ln –s – создает символьную ссылку на файл или директорию

rm – удаляет файл (а точнее жесткую ссылку на файл)

rmdir – удаляет директории

ps – просмотр процессов пользователя

& – добавляется в конце любой команды для запуска процесса в фоне (параллельно)

top – утилита для наблюдения за системными ресурсами

fg – делает последний запущенный фоновый процесс активным

bg – делает последний запущенный процесс фоновым

kill – осуществляет системный вызов, который останавливает запущенный процесс

chmod – изменяет режим доступа к объекту

chown – сменить владельца

chgrp – сменить группу

id – выводит входное имя пользователя и соответствующий ему UID, а также группу по умолчанию и полный список групп, членом которых он является

umask – дает просмотреть маску для прав доступа к файлам и директориям, а также отредактировать её

hexdump –выдает входной поток в шестнадцатеричном виде

(или 1>)  – перенаправляет стандартный вывод в файл, стирая при этом данные в файле или создавая сам файл, если он не найден

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

< – перенаправляет стандартный ввод для считывания данных из файла

2> – перенаправляет стандартный вывод ошибок в файл

2>&1 – перенаправляет стандартный вывод ошибок в тот же файл, что и стандартный вывод

| – перенаправляет стандартный вывод на стандартный ввод (конвейер), а также дает возможность перейти на другую строку терминала для ввода  длинной команды

sort – сортирует строки в текстовых файлах

find –  ищет файлы по различным критериям

wc  подсчитывает количество строк, слов, символов в файлах

cut – выбирает отдельные поля из строк файла

grep – находит на вводе строки, отвечающие заданному регулярному выражению и выводит их

tr – заменяет одни символы во входном потоке на другие и выводит их, может также удалять их или добавлять новые символы.

xargs – объединяет зафиксированный набор заданных в командной строке начальных аргументов с аргументами, прочитанными со стандартного ввода, и выполняет указанную команду один или несколько раз

alias – позволяет определять имена (сокращения) для команд

unalias – противоположна команде alias