Поиск по сайту OpenCart Club
Показаны результаты для тегов 'devops'.
Найдено: 1 результат
-
Поднимаем сервак на HestiaCP или Devops для самых маленьких
Nameless опубликовал запись в блоге в Тру SEO дорого/богато
Года полтора назад озадачился поиском удобной, легкой и бесплатной панели для управлением своего сервера дабы не лазеть лишний раз в консоль плюс клиенты тоже могли бы иметь доступ к базовым настройкам если понадобится. Пересмотрев всякие BrainyCP, aaPanel, VestaCP и тп на мой взгляд они были либо перегруженные, либо их недолюбили и они находятся в непонятном состоянии, что проще вообще без панели работать. Но в один момент нашел панель HestiaCP которая является ответвлением от VestaCP. Демо понравилось, приятный и минималистичный интерфейс, неплохое количество участников на гитхабе и дружелюбный форум. Использую больше года и пока не разочаровался. Из удобств: Доступ по SFTP/FTP, создание мультиаккаунтов 2 Фактораня авторизация Мулти php Годные шаблоны настроек Nginx под разные cms Доступ по SSH Простое развертывание баз данных (PostgreSQL, MySQL 8, MariaDB 10.11) + PhpMyAdmin Резервное копирование как локальное так и удаленное Настройка лимитов для пользователей Выпуск сертификата Let’s Encrypt одной кнопкой или вставкой купленного Работа с DNS записями Возможность организовать полностью свой почтовый сервер Удобный файловый менеджер Из минусов, нет такого количества модулей как в aaPanel или ISPmanager и тот же ioncube придется поставить руками, но и этот процесс упростили за последнее время До начала установки вам понадобиться GIT, тк в моем примере я использую консоль Git BASH, впрочем можно использовать веб версию консоли у хостера. В качестве хостера я выбрал 2 наиболее оптимальных вариантов: Таймвеб если ваш проект в РФ и вам нужны все закрывающие доки и вы не хотите заморачиваться с оплатой зарубежных вариантов, мучиться с почтой. Хецнер если нет проблем с оплатой за пределами РФ и ваш проект ближе по локациям к их серверам. Но у хецнера и других не дорогих зарубежных хостингов будет заблокирован 25/465 порт для отправки почты новорегов, а где-то совсем и вам придется использовать 585 порт через SMTP reley который к счастью поддерживает наша панель. По хецнеру в доке написано, что можно попросить через месяц разблокировать, по факту мне разблокировали месяца через 3-4 (разблокировать раньше не помогали даже скрины с DNS записями о том, что моя почта ходит через SMTP mail.ru) у таймвеба такой проблемы нет, просто пишите в саппорт и вам разблокируют. Регистрируемся на timeweb.cloud (+300 рублей по ссылке), переходим в облачные сервера, выбираем ОС Ubuntu последней версии, максимально близкий ваш регион. Для большинства среднестатистических магазинов подойдет такая конфигурация: Но не меньше, если это только не тестовый сервер. Если будет мало в любой момент можно сделать апскейл на большей тариф, но назад перейти уже так не получиться. Допы на ваше усмотрение, в принципе бэкапы делает панель их можно хранить локально и скачивать периодически или сливать на удаленный FTP Дальше для добавления SSH ключа нужно его сгенерировать, можно добавить и позже, но удобнее сразу: Запускаем Bash и вводим команду: ssh-keygen -t rsa -b 4096 -C "ваша_почта" -f ~/.ssh/имя-проекта_rsa В папке C:\Users\текущий-пользователь\.ssh У вас появится 2 файла имя-проекта_rsa (закрытый ключ) и имя-проекта_rsa.pub (открытый ключ).Открываем последний любым текстовым редактором и копируем содержимое сюда: Все после чего вам приходит уведомление на почту с адресом сервера и стандартным именем суперпользователя для входа в систему под которым будем делать первоначальные настройки: Теперь переходим в настройки и копируем пароль для root: Такой же аналог на Хецнер (+20 евро по ссылки после регистрации): Добавить/удалить ключ можно будет и тут: Получилась такая красота: Тут пароль для root пользователя приходит сразу на почту: Если что, его всегда можно скинуть тут: Погнали настраивать, открываем наш bash: Вводим команду: ssh root@ip-адрес-нашего-сервера и пароль Все мы внутри, видно, что ресурсов задействовано совсем не много Создаем нового пользователя, командой: adduser new_user Добавляем пароль, а остальные данные по желанию Добавляем пользователя в группу администраторов: usermod -aG sudo new_user Запускаем поиск обновлений и одновременную их установку командой: apt update && apt upgrade Ставим sudo который позволит работать с правами администратора: apt install sudo Перезагружаем сервер: shutdown -r now Далее будем заходить только под логином созданного пользователя, те в bash для доступа к серверу нужно будет написать: ssh new_user@ip-адрес-вашего-сервера Ставим утилиту htop командой: sudo apt install htop Теперь запустив команду: sudo htop и можно посмотреть запущенные процессы, занятые ресурсы в удобном виде: Ставим файловый менеджер Midnight Commander: sudo apt install mc Запустим mc и получим удобную визуальную навигацию, чтобы получить доступ к редактированию системных папок и файлов нужно запускать утилиту с правами администратора: sudo mc После запуска переходим в папку /etc/ssh/ ищем файл sshd_config, нажимаем F4 и при первом запуске mc спросит какой редактор выбрать по умолчанию: Выбирайте либо nano (1) либо встроенный mcedit (3), про vim лучше сначала почитать или посмотреть пару видосов) Ищем в файле строчку: PermitRootLogin yes и меняем значение на no: дальше ищем строчку: PasswordAuthentication yes и делаем тоже самое: Жмем F2 для сохранения если использовали mcedit или CTRL+O с перезаписью если вы использовали nano и CTR+X для выхода из редактора Перезагружаем сервис SSH: sudo service ssh restart sudo systemctl restart ssh Для более комфортной работы можно прописать алиасы для SSH ключей и не держать ip адрес сервера в голове, создадим в папке с ssh ключами файл config, откроем его и пропишем: Host nash_sasait (удобное имя) HostName 0.0.0.0 (ip адрес вашего сервера) IdentityFile ~/.ssh/имя-проекта_rsa (имя закрытого SSH ключа) User new_user (имя пользователя) Port 22 теперь открыв bash вам достаточно ввести команду: ssh nash_sasait Таких настроек можно делать сколько угодно Если сервер брали на хецнере, возможно захочется установить другое удобное локальное время, делается командой: sudo dpkg-reconfigure tzdata Для установки приятного глазу имя хоста, а не вот типо этого: воспользуемся командой: sudo hostnamectl set-hostname ваше-красивое-имя Посмотрим статус: sudo hostnamectl status (должно быть видно, что имя изменилось, после перезагрузки увидите изменения и в командной строке) Переходим по ссылке и начинаем ставить панель. В принципе сейчас настройки по умолчанию можно оставлять, заполнив только: почту пароль админа домен (в качестве домена я использую поддомен вида cp.основной домен, но вы можете использовать любой другой технический домен) порт который можете менять можете не менять как по мне кому припрет все равно просканирует и найдет Важно, если вы взяли сервер с 2 гб оперативы и не собираетесь использовать почтовый сервер, вы можете их отключить: clamav (антивирус который будет жрать больше 1,2 гб оперативы) spamassassin (антиспам) dovecot (IMAP и POP3-сервер) exim (почтовый агент) Можно все это отключить и позже) Копируем и поочередно вставляем команды в консоль с правами админа: Если все сделано верно, начнется установка: После установки ваша панель будет доступна по адресу: ip-вашего-сервера:8083 (или тот порт который вы указали при установке): Заходим внутрь панели и переходим на вкладку Web, жмем редактировать домен: Включаем 301 редирект и указываем в качестве адреса ваш ip-адрес-сервера:8083 Теперь не нужно держать в голове ip адрес, достаточно ввести имя поддомена и вы попадете в панель. но для этого еще нужно прописать А/АААA записи для поддомена В настройках вашей панели где находятся домены, впишите в A запись ip адрес v4, а в AAAA ip v6 (для основного домена у вас будут те же адреса, также не забудьте их прописать) Скопировать для таймвеба можно тут: У хецнера тут: Для добавления нового сайта вам необходимо создать нового пользователя, имя которого не должно быть равно имени пользователя сервера созданного ранее после создания можно либо выйти из панели и залогиниться под новым пользователем либо можно перемещаться между логинами тут: что удобно на период настроек Далее добавляем основной домен сайта: И переходим в настройку домена: Включаем поддержку SSL, если будем использовать бесплатный Let's Encrypt, то включаем первый чекбокс, если у нас платный сертификат или заглючил Let's Encrypt и забанил нас на время, то можно вставить другой сертификат в эти поля (как вариант бесплатный временный сертификат можно сгенерировать тут): Выбираем шаблон Nginx - opencart Версию php в зависимости от версии вашего движка, у меня старая поэтому 5.6 Ниже создаем нужное количество FTP аккаунтов, если расположении пути нужно поменять отличное от дефолтного, отжимаем чекбокс выше и выбираем удобное: Все, теперь можно подключиться по FTP и залить файлы движка: Настроим количество резервных копий, для этого перейдем в панель Пакеты под администратором: Индикатор максимальных доступных резервных копий: пакет system установлен для пользователя администратор по умолчанию, удалить и редактировать нельзя. Можно сделать копию и отредактировать ее и выбрать для администратора, но сейчас нам достаточно отредактировать пакет default который включен по умолчанию для всех остальных пользователей: Мне достаточно 2 локальных копий, также можно сделать настройки по умолчанию шаблона Nginx/php/ssh и прочие Доступные резервные копии можно скачать или развернуть перейдя на соответствующую вкладку под нужным пользователем: Важно, архивы по умолчанию будут запакованы методом zstd, для распаковки нужно отдельный плагин для 7zip или такой архиватор скачать, но можно и включить метод сжатия gzip, для настройки нужно перейти в настройки панели под админом: Если вы заметите, что резервные копии перестали создаваться, то скорее всего у вас недостаточно свободного места на диске, тогда либо уменьшите количество резервных копий либо докупить свободное место, либо сливайте на внешней FTP. Например есть такой дешман вариант холодного хранилища от яндекса: Теперь перейдем опять в консоль и установим Ioncube без которого не будут работать платные модули: wget https://raw.githubusercontent.com/jaapmarcus/ioncube-hestia-installer/main/install_ioncube.sh chmod +x install_ioncube.sh ./install_ioncube.sh После посмотрим установленную версию php и загрузку ионкуба командой: php -v Важный момент версия ионкуба должна соответствовать используемой версии php Теперь создадим базу данных из под пользователя: Название базы данных, имя пользователя и пароль не забудьте сохранить, эти данные нужны будут при инсталяции движка. При установки cms из списка доступных приложений панели база данных будет создана автоматически (opencart там доступен только последней версии из официального репозитория, клубной сборки там конечно же не будет) Для запуска phpMyAdmin нужно отредактировать файл: sudo nano /etc/nginx/conf.d/ip-вашего-сервера.conf Заменив: location /phpmyadmin/ { alias /var/www/document_errors/; return 404; } location /phppgadmin/ { alias /var/www/document_errors/; return 404; } На: include /etc/nginx/conf.d/phpmyadmin.inc*; include /etc/nginx/conf.d/phppgadmin.inc*; У себя я просто закомментировал эти строки: Системная версия php должны быть выше версии 7.2.5 иначе получите такую ошибку: Системную версию php можно просмотреть, изменить и включить дополнительные версии в настройках панели тут: Если ниже и вам нужен доступ к базе данных то все манипуляции с базой данных можно сделать через внешнее подключение используя например такую утилиту, но придется еще поднастроить доступы, открываем в панели настройки файрвола: Жмем добавить правило: Добавляем доступ к порту 3306 (порт нашей базы данных), если в адресе оставить все нули, то доступ будет с любого ip адреса, безопаснее сделать доступ только с вашего выделенного ip Далее запускаем Bash и редактируем, файл: sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf Ищем строку bind-address и указываем либо: bind-address = 0.0.0.0 для доступа с любого ip либо ваш статический ip адрес После создания базы данных можно открыть HeidiSQL и настроить новое подключение указав имя сервера, имя пользователя базы данных и пароль: Ну вот как бы и все, после того как залили файлы движка можно приступить к установке, также можно выполнить установку cms не только opencart из панели, но там доступна только последняя версия из официального репозитория, которая пока сырая, но тот же wordpress поставить не зазорно из панели, делается это через вкладку приложения в настройках вашего домена: Про дополнительную настройку лимитов php и почты наверное напишу отдельно, также саму панель теперь можно развернуть из маркетплейса таймвеба, но я не пробовал: