Я как раз отношусь к типу клиентов, для которого компания выпускает данный продукт. Я не особо силен в настройке серверов, но в тоже время у меня есть проекты, которые живут на серверах, эти проекты на продуктах 1С-Битрикс, и я использую «виртуальное окружение».
У меня два сервера, один на окружение 4.х и один на окружение 5.х – переход я буду делать достаточно нетривиальный, я не буду обновлять или пытаться перейти на новую версию продукта, я поставлю все с нуля и перенесу для примера один проект.
Делать все будем по шагам, поехали…
Первый шаг: арендуем хостинг, ставим на него чистый CentOS 7.3 – не буду подробно описывать выбор хостинга (будет расценено как реклама), будем считать, что я арендовал недорогой выделенный сервер, установил на него чистый CentOS 7.3 и могу приступить к установки продукта 1С-Битрикс.
Второй шаг: На первом ролике мы установим нашу «виртуальную машину на чистый сервер»
Распишем кратко происходящее в ролике:
1. Входим на сервер по «SSH» как «root» (администратор), командой «ssh root@домен_или_IP_вашего_сервера»
2. Устанавливаем сам скрипт, для этого выполним: «wget
3. На первое сообщение ставим «Y»
4. Командой «reboot» перезагружаем сервер.
5. Повторно входим на сервер как пользователь «root»
6. Заново вводим команду: «wget
7. Устанавливаем заодно «MC» (текстовая оболочка), ставим командой: «yum install mc»
8. Устанавливаем «unzip» (пригодится), ставим командой: «yum install unzip»
9. Ждем когда все обновится и заходим в «mc» проверить
Окружение установлено, начинаем несложные настройки.
Третий шаг: Первый вход, начальные настройки
Распишем кратко происходящее в ролике:
1. Перезагружаем сервер командой «reboot».
2. Входим на сервер по «SSH» как «root» (администратор), командой «ssh root@домен_или_IP_вашего_сервера»
3. При входе вас попросят задать пароль для пользователя «bitrix», этим пользователем мы в основном и будем работать, переключаясь на пользователя «root» только когда требуются административные полномочия
4. Попадаем в меню машины. В первую очередь нужно создать «pool», не будем вдаваться что это такое, если требуется можно почитать документацию, нам важно его просто создать. Выбираем «1». Я согласился оставить название как мне предложили.
5. Возвращаемся в меню, оно стало полным, с машиной можно начинать работать.
6. Нам нужно в первую очередь создать все необходимое, для переноса сайта.
7. Заходим в пункт меню «6» - где мы и создадим наш сайт.
8. Выбираем пункт «1», запускается мастер создания сайта.
9. На первом шаге нужно указать домен вашего сайта, я переношу сайт
10. На втором шаге у вас спрашивают какой тип вы создаете. Подробно это расписано в документации. В нашем случае это самостоятельный сайт, со своим ядром, поэтому я выбираю «kernel»
11. Указываем кодировку вашего сайта, в моем случае это «UTF-8»
12. Соглашаемся с установкой заданий на крон, ставим «Y»
13. Я хочу расширенные настройки создания поэтому ставлю «Y» на этапе «Do you want to specify them?»
14. Директория хранения сайта меня устраивает, я жму просто «Ввод»
15. Задаю свое название базы данных, такое название было на предыдущем сервере, и чтобы не менять его в двух файлах далее, я его повторяю
16. Задаю своего пользователя, который будет иметь доступ к базе данных. Пользователь использовался ранее и я его оставляю.
17. Указываем пароль, два раза.
18. Запускается задание на выполнение, о чем нам сообщают, и буквально через 3-5 секунд можно смотреть, что у нас получилось.
19. Для этого я выхожу из скрипта и захожу в «MC»
20. Переходим в директорию: «/home/bitrix/ext_www/» и видим директорию нашего сайта «sys-knowledge.com».
Четвертый шаг: Мы подготовили на сервере все необходимое, теперь нам нужно запаковать наш сайт на старом сервере и выгрузить базу данных, перенести все это через «sftp» на наш новый сервер, загрузить базу и положить наш сайт в подготовленную директорию.
Опишем как мы будем это делать.
1. Заходим на старый сервер под пользователем «root».
2. Выгружаем базу данных нашего сайта в файл, для этого выполняем команду: «mysqldump -u имя_пользователя -p имя_базы > имя_базы.sql». Вы должны знать пользователя с доступом к этой базе данных, вы должны знать название базы данных.
3. Теперь нужно выйти из пользователя «root» и войти под пользователем «bitrix».
4. Заходим в директорию где располагается наш сайт, и архивируем все ее содержимое командой: «zip -r название_файла.zip ./».
5. Заходим на сервер по «sftp» с провами пользователя «bitrix» и забираем эти два файла, файл «zip» и файл с расширением «sql».
6. Загружаем их на новый сервер, под правами пользователя «bitrix»
Можно упростить процедуру воспользовавшись стандартным архивированием в рамках продукта, но я люблю контролировать процесс, поэтому я решил пойти немного более сложным путем.
Пятый шаг: еще немного и сайт будет работать. Импортируем базу данных, распаковываем сам сайт, вносим изменения для нового MySQL.
Распишем кратко происходящее в ролике:
1. Входим на сервер по «SSH» как «root» (администратор), командой «ssh root@домен_или_IP_вашего_сервера»
2. Командой «mysql -u пользователь_базы -p база_куда_грузим < файл_дампа.sql» импортируем нашу базу на сервер, вводим пароль от пользователя с правами на эту базу данных.
3. На экране я показал еще одну команду «SHOW DATABASES;» с помощью нее мы показываем список всех ваших баз, не забудьте войти в «MySQL»
4. База загружена, разрываем соединение командой «exit»
5. Входим на сервер по «SSH» как «bitrix», командой «ssh bitrix@домен_или_IP_вашего_сервера»
6. Копируем файл «zip» нашего упакованного сайта в директорию где будем ее распаковывать и где мы создали свой сайт, через мастер на «Третьем шаге»
7. Распаковываем наш архив командой «unzip *.zip»
8. Удаляем архив после распаковки.
9. Ура осталось совсем немного
Осталось сменить в вашем домене IP адрес вашего старого сервера на новый. Я управляю доменами на «pdd яндекса», и для меня это пара минут. Должно пройти немного времени, чтобы домен открывался, по новому IP адресу вашего нового сервера.
Пытаемся открыть сайт, о ужас он не открывается, просто белый экран или выводятся ошибки. Дрожь проходит, успокаиваемся, не чего страшного J Нам необходимо сделать небольшие изменения в двух файлах.
Шестой шаг: Изменения в двух файлах продукта, для работы с новым MySQL
Сайт не работает, но это не страшно, нам нужно изменить всего пару строк в двух файлах и все станет хорошо.
Первый файл:
Подключаемся к серверу как пользователь «bitrix»
«…/bitrix/php_interace/dbconn.php» в него нужно добавить строку «define("BX_USE_MYSQLI", true);»
второй файл:
«…/bitrix/.settings.php» в нем нужно изменить строку: «className' => '\\Bitrix\\Main\\DB\\MysqlConnection» на «className' => '\\Bitrix\\Main\\DB\\MysqliConnection»
Пробуем запустить сайт, ура все работает! Наслаждаемся новым PHP и MySQL.
С удовольствием отвечу на ваши вопросы в комментариях, не стесняйтесь писать.
.
Виртуальная машина с «1С-Битрикс24» - CRM
Судя по записям из Мантиса, что я вижу в тикетах, еще ряд проблеем для ветки 7.1.х не решен. Поэтому стоит оговориться, что есть поддержка _только_ ветки 7.0.х
Но т.к. в Битриксе глушатся, обычно, все Notice\Warning, то рабочей веткой может быть и 7.2, однако 8я версия, вероятно еще долго будет недоступна к использованию.
Помимо привычной процедуры (для BVA 5) дополнительно пришлось сделать только это:
схема www, ext_www напрягает когда у тебя больше чем 1 сайт на машине. лучше сразу придерживаться схемы ext_www + док рут выносить в отдельную папку пример - /home/bitrix/www/domain.name/public_html/ тогда в domain.name можно хранить логи например и то что не должно быть доступно из веба.
Сделайте ошибки ansible по таскам более информативные! а то создаешь сайт из оболочки , таск падает и всё, чо за ошибка, из-за чего - непонятно.
- DKIM подпись к письмам, настройка HTTPS делаются с бубном.
- Домены в nginx передается в apache вместе с портом: ww.domain.ru:80, приходится постоянно руками править
- Все управление через консоль, обычный сметный ничего сделать не сможет.
- Как-то обновляли PHP до 5.6 через меню, так настройки apache все слетели и все сайты попадали
Мои советы по улучшению:
- Добавить web-панель управления сервером.
- Добавить в состав CertBot для HTTPS
не работает почта и функция mail()
кто-то сталкивался с проблемой ?
Помогла инструкция из одного сообщения на форуме Битрикс
yum install postfix
/etc/postfix/post-install upgrade-package
cd /etc
newaliases
mc
sendmail_path = /usr/sbin/sendmail -t -i
hkсonfig --list|grep postfix
chkсonfig --list|grep postfix
chkconfig postfix on
service httpd restart
Помогла установка чистого Centos 6.9 и запуск того же мастера.
Вводимые данные были те же самые, но в результате авторизация заработала.