Linux

Всё что нужно знать о letsencrypt

02.11.2020

Далее рекомендуется сделать бэкапы конфигов Nginx, в них будут автоматически внесены изменения. Если что-то пойдёт не так, конфиги можно будет откатить.

На официальном сайте letsencrypt рекомендуют бота Certbot. Он будет обновлять сертификаты для сайтов автоматически. Инструкции для Ubuntu 18.04 под Nginx:
https://certbot.eff.org/lets-encrypt/ubuntubionic-nginx.html

Чтобы посмотреть список доменов для сертификата:

Чтобы перевыпустить сертификат с новым списком доменов:

Потом можно удалить старый сертификат:

Подробнее: https://certbot.eff.org/docs/using.html#nginx

Что делать, если у нас Nginx используется как прокси для Apache?

  • Идём в /etc/apache2/ports.conf и убираем все условия для прослушки порта 443.
  • Врубаем ssl для Apache: a2enmod ssl
  • Идём в конфиг сайта и добавляем туда:

После этого PHP будет видеть, что на сайте включен SSL.

Настройка FTP в Ubuntu

02.11.2020

Чем плох vsftpd? Он не поддерживает конвертирование кодировок на лету. Это значит, что если юзер загружает файлы с русскими именами, то у себя на сервере вы получите файлы с крюкозябрами.

Поэтому, я пересел на аналог - ProFTPd.
Читать полностью »

Кириллица в Ubuntu

02.11.2020

Столкнулся с проблемой - pathinfo в PHP не показывает имена файлов, которые юзеры загружают на FTP. Решение - нужно установить локаль в Ubuntu:

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

Расширение места на VDS от Timeweb

15.01.2019

Проблема:
После расширения места lsblk выдаёт новый размер диска, но df -h / показывает старый.

Решение:
Идём в SSH, прописываем

В поле Filesystem видим название нашего раздела, например /dev/xvda1 - запоминаем его.
Загружаем сервер с диска восстановления системы.
Далее в консоли админки хостинга прописываем:

Видим наш раздел по цифрой 1. Расширяем размер раздела на 100%:

Видим что размер раздела поменялся, вводим q.
Проводим диагностику:

Изменяем размер файловой системы:

Проверяем что получилось:

Перезагружаем сервер в стандартном режиме.

Настройка FTP в Ubuntu (vsftpd)

18.11.2016

[ Добавлено 02.11.2020 ]
Я отказался от vsftpd. Смотрите почему.
---

Ставим vsftpd.

В системе будет создан пользователь ftp. Рекомендую сразу сменить ему пароль на любой безопасный.

В файл /etc/shells добавляем строчку:

Создаём пользователя для FTP и назначаем ему домашнюю директорию, которая будет корнем FTP:

Читать полностью »

Бэкап на FTP

30.08.2016

Что делать, если нужно настроить бэкап какого-то сайта, но на сервере для бэкапов нет SSH? rsync работает только с SSH, но есть альтернативная тулза для FTP:

Скачать с сервера:

Залить на сервер:

То есть, для бэкапа на FTP, в CRON прописываем например так:

setlocale не работает

23.08.2016

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

В итоге pathinfo будет выдавать пустое имя файла.

Посмотреть список установленных локалей можно так:

Исправляем:

Прямое копирование с Linux на Linux

19.08.2016

Столкнулся с проблемой при переезде с VDS на VDS. Как известно, в Linux файлы в одной директории могут называться одинаково, если у них разный регистр. A.jpg и a.jpg просто будут считаться разными файлами. Естественно, если вы делаете бэкап сайта путём копирования с Linux на Windows, то такие файлы перезапишутся. Как же переехать с Linux на Linux, не имея компа с Linux под рукой, который служил бы буфером обмена? Поможет утилита rsync:

Запускать её нужно на VDS, куда вы хотите перенести файлы. Если во время выполнения команды, вы получаете ошибку Write failed: Broken pipe, значит происходит тайм-аут соединения по SSH. Можно расширить этот лимит в конфиге, но проще выполнить команду несколько раз с ключом --ignore-existing. Этот ключ говорит о том, что утилита не будет качать файлы, которые уже есть в конечной директории.

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

Авторизация по SSH-ключу в Debian/Ubuntu

16.03.2016

Генерируем ключ:

Вводим название файла: id_rsa
Вводим пароль (passphrase)
В директори /root/ появится два файлика: id_rsa и id_rsa.pub
Создаём здесь директорию .ssh, если её ещё нет, в ней создаём файл authorized_keys.

Читать полностью »

Бэкап и восстановление БД

28.01.2016

Бэкап:

Восстановление:

Чтобы эти команды работали в Windows, нужно открыть командную строку и прописать путь к MySQL:

Также, можно поставить в CRON, чтобы имя файла имело текущий штамп времени: