Настраиваем VPS для магазина на Opencart

alhimik

Настраиваем VPS для магазина на Opencart

Недавно я обещал статью по настройке сервера.
Вы меня простите, но если дергать скрины и пошагово рассасывать каждый пункт, получится нихуйовый такой сценарий мелодрамы, страниц на 150.
А так как я блогир? а не пейсатель — я так не умею ).
Поэтому ловите кратенький чек-лист со списком задач и мероприятий, которые надо сделать любому уважающему себя собаководу.
Часть пунктов, я думаю всем будет интуитивно понятна. Часть гуглится на форуме поддержки ISP Systems без вопросов.
Ну а там где не получилось. Мучайте саппорт, привлекайте ваших сайтостроителей.

В общем. Это вышла такая шпаргалка самому себе, так что не обессудьте.

Перед покупкой сервера:

  • Смотрим сколько места занимают файлы ваших проектов. И исходим из того, что вам надо столько же на сервере + 30% запаса.
  • Пишем в саппорт хостера. Ну я не могу лишний раз не прорекламировать AdminVps.
    Почему именно у них я подробно рассказывал раньше.
    Так вот. Пишем — перенесите мне магазины оттуда и оттуда — вот вам доступы ftp+phpmyadmin адрес.
  • Сервер в большинстве случаев берем Start, если чего-то будет не хватать, можно или докупить по отдельности или мигрировать на больший тариф.
  • Триал кстати неделя и без денег. И переносят бесплатно.  Кстати, если будете оплачивать на год — то в отделе продаж можно выцыганить нормальный серт начального уровня бесплатно.
  • Засетапьте седьмой Centos + ISP5. Почему именно centos? Потому как де-факто самый распространенный вариант для web-серверов.  Не забываем, что service не работает как раньше и теперь всем заведует systemctl. Вот отличная шпаргалка с Хабра.
  • Не жадничайте 200 рублей за пятую панель, и 90% задач из списка ниже вы сможете реализовать сами просто тыкая галочки.

Общие действия сразу после покупки:

  • Меняем рут
  • Название сервера должно совпадать с названием вашего домена.
  • Запрос в саппорт для регистрации обратной DNS-зоны, или PTR. Обратную зону может в большинстве случаев прописать владелец IP. А это ваш хостер.
  • Создаем пользователя и меняем пароль для ftp пользователя.
  • Название пользователя не admin.
  • Ставим время для php + mysql.
  • Двухфакторная авторизация для входа в панель.
  • Проверяем, не загнал ли в DNSBL ваш ip его предыдущий владелец.
  • РУТ НИКОГДА НИКОМУ НЕ ДАЕМ без крайней необходимости.

Настраиваем виртуалхосты и http-сервер

  • Включаем сжатие кеширование  статики.
    проверяем здесь: https://developers.google.com/speed/pagespeed/insights/?hl=ru.
  • ioncube + zip.
  • time_limit скриптов в 30 сек.
  • wait_timeout, interactive_timeout в 10сек. Гуглим и в зависимости от конфы вносим твики в mysql.
  • Keep Alive Off.
  • SSl сертификат — ставим let’s encrypt.
    проверяем сертификат здесь: https://www.ssllabs.com/ssltest/.
    Если анализы не очень, и у вас нет красивой зеленой оценки A — пишем Savage4Pro.
    Подробно про переезд  магазина на Opencart на https читаем у нас на форуме.
  • Закрываем админ магазина через htpassword.
  • В случае, если возникли проблемы с правами, переводим php  в режим CGi — как правило по дефолту в настройка ISP он будет работать от владельца виртуалхоста и это исключит проблемы с правами. Не желательная ситуация. В идеале FAST CGI. Но с этим со всем возникли дискусии, чуть позже рассмотрим этот вопрос подробней.
  • Проверяем права на папки и чистим все кеши, логи и модификаторы. Также желательно почистить кеш изображений.

Настраиваем почту

  • Под каждый домен разворачиваем почтовый домен.
  • почта dkim + spf + dmark + greylisting + dnsbl.
  • регистрация в postmaster
    https://postmaster.google.com
    https://postmaster.mail.ru
    https://postmaster.yandex.ru
  • Проверяем в mail-tester.com
    (для того чтобы проверить — просто делаете регистрацию на временны e-mail)
    Про почту у меня было две статьи тута и здеся. И вот тут про отправку через SMTP от mail.ru, актуально в принципе для любого SMTP.

Немного общей безопасности

  • Проверяем поддерживает FTP TLS-шифрование.
    если при подключении с дефолтными настройками FileZilla шлет на хуй с текстом handshake failed — нету у вас TLS.
  • Настраиваем сразу бекапы в облако — Яндекс Диск, или dropbox.
  • Закрываем phpmyadmin по Ip
  • Выключаем отображение ошибок php
  • Убираем хлам из хомяка, оставшийся от переноса и всякую хуету типа phpinfo(), архивов, баз и так далее.
  • Пользователь фтп, с которого теоретически работают ваши подрядчик должен быть без доступа к логам а только в хомяк. (Хомяк — это home-directory) корневая папка вашего сайта.
    И про безопасность Opencart тоже читаем на форуме.
  • Бекапы-бекапами, но не забывайте сливать к себе все локально на компьютер, хотя бы раз в месяц.

Полезное:

  • При переносе аккаунтов, либо при активной работе во время любых изменений в базу, пользуйтесь SXD.  Ва первых, не надо увеличивать размеры max_upload и post_size, во вторых быстрее чем средствами phpmyadmin, в третьих совершенно спокойно храните себе пошаговый лог всех изменений и спокойно откатываетесь в нужную контрольную точку.

Комментарии от господина Savage4pro

  • ssh с 22-го порта на куда-нибудь нахуй 58123
  • тока нада чтобы в iptables открыт он был
  • iptables заворачивать все, кроме 80, 443, 21 (который тоже нахуй), 58123 и почтовые.

*********************************   Реклама ************************************

Также всем напоминаю — что стоит запасаться лицензиями на Opencart.pro, через недельку дюже подорожает.
Ну и самые модульные модули покупаем у господина Френка Синатры на LiveOpencart.ru.

******************************* Реклама закончилась ***************************

 

Upd. Я думаю что много полезного я сразу навскидку и не вспомнил, так что будет дополняться.

Хуйнаныр(44)Очко(0)

Запостить высер

Стучать мне на мыло
avatar

Сортировать:   Свежие | Тухлые | Хуйнанырные
sitecreator
робот-вертер
sitecreator
4 месяцев 23 дней назад

«Переводим php в режим CGi — как правило по дефолту в настройка ISP он будет работать от владельца виртуалхоста и это исключит проблемы с правами.»

Совет из разряда вредных.
Не нужен никакой CGi. Нужен Apache MPM-ITK или Apache MPM-ITK + nginx. Это будет лучшим выбором. Думаю, что не нужно говорить почему CGi — плохой выбор. В случае Apache MPM-ITK тот же php будет работать от имени пользователя. И в тоже время Апаче будет работать как модуль.

SooR
робот-вертер
SooR
4 месяцев 23 дней назад

Спасибо! То что нужно.

Некоторые настройки php могут отличаться в зависимости от задач проекта и возможностей модулей (кода). Тот же time_limit, вертел я 30 сек, когда у меня действующий php.ini под рукой. Задачи разные бывают: обработка больших xml/csv с последующим insert/update, long-polling (иногда выгодней бОльший интервал), exec для imagick или других приблуд, ставлю 300 и не парюсь.

Еще момент о переполнении mod-tmp для Debian, input_max_vars = 5000, в бекапах исключить директории с кешем и логами.

Waha
робот-вертер
Waha
4 месяцев 22 дней назад

А еще можно подрубить Git и делать бекап файлов, да в принципе и базы по Cron в BitBucket yfghbvth

Wowman
робот-вертер
Wowman
30 дней 7 часов назад

Прошу пояснить, вы пишете, что «В случае, если возникли проблемы с правами, переводим php в режим…». А что это за проблемы, почему они должны возникнуть? Точнее, так: в каких случаях они могут возникнуть?
И если не рассматривать этот необычный случай, то в каком режиме должен быть php до этого? Т. е. первым делом ставим php в каком режиме?
А почему не рассматриваете вариант установки прав 777 на нужные папки в случае возникновения проблем с правами?

wpDiscuz