Sign inSign up

akrid782/bitrix

By akrid782

•Updated over 4 years ago

dev окружение для удобной локальной разработки под bitrix

Image
3

639

akrid782/bitrix repository overview

Как можно развернуть у себя локально bitrix в docker по шагам и работать с ним по ssh или по специальному плагину в vscode

ИНФОРМАЦИЯ: Контейнер не несет цели правильного развертывания bitrix, а нужен для быстрого старта локальной разработки на bitrix. Данный контейнер будет полезен для разработчиков.

⁠Содержание

  1. Развертывание bitrix
  2. Настройка пользователя bitrix
  3. Разработка
  4. Конфигурация образа akrid782/birtix:vmbitrix
  5. Предлагаемые сборки с bitrix
  6. Источники

⁠Развертывание bitrix

Для разворачивания docker c bitrix необходимо создать docker-compose.yml со следующим содержимым. Подробнее о контейнере в пункте "Предлагаемые сборки с bitrix"

version: '3'
services:
  vmbitrix:
    image: akrid782/bitrix:vmbitrix
    ports:
      - "80:80" #для http
      - "443:443" #для https
      - "8080:22" #для ssh т.е подключение будет проходить через порт 8080
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    cap_add:
      - ALL

Далее открываем консоль (cmd) в директории где лежит файл docker-composer.yml и выполняем команду для сборки и запуска контейнера:

docker-compose build --no-cache && docker-compose up -d

С момента установки, bitrix будет доступна по следующей ссылке http://localhost:80⁠

⁠Настройка пользователя bitrix

Заходим в контейнер, при помощи следующих команд:

docker ps

Это команда выводит список поднятых контейнеров и нам нужен CONTAINER ID. После того как получили CONTAINER ID выполняем следующею команду

docker exec -it [CONTAINER ID] bash

Это команда позволяет попасть в bash среду контейнера. На windows может появится ошибка и нам предложат добавить в команду winpty.

winpty docker exec -it [CONTAINER ID] bash

После того как попали в окружение контейнера пишем в консольке следующее:

/root/menu.sh

После выполнения выше указанной команды, откроется меню где будет требовать установить пароль для пользователя bitrix. После того как пароль был установлен, вы следующей меню нажимаем 1 и жмем enter и еще два раза enter, ничего не заполняем. После проделанных манипуляций откроется меню в котором можно обновить mysql, переключить версию php и еще другие настройки. Официальная документация bitrix по bitrix menu → https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=37&LESSON_ID=8811⁠

⁠Разработка

После проделанных настроек мы можешь подключиться по ssh через пользователя bitrx.

Host docker-bitrix #Просто наименование подключения, тут не важно
HostName localhost #Тут может быть IP машины где развернут этот контейнер
User bitrix #Пользователь которого мы настроили ранее
Port 8080 #Порт для ssh который был указан в docker-compose.yml

Ну и ваш портал будет находится после установки по пути /home/bitrix/www/ по умолчанию.

⁠Подсказка для тех кто работает на vscode.

ВНИМАНИЕ: Все измененные файлы и все действия будут проводится от пользователя root, по этому вариант ssh будет предпочтительней.

Устанавливаем плагин docker https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker⁠.

⁠Конфигурация образа akrid782/birtix:vmbitrix

Пароль пользователя root:

258852qw

Пароль root для MySQL (Mysql password for root user):

258852qw

Включенные параметры в конфигурации xdebug:

xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_port=9000
xdebug.mode=debug
xdebug.idekey=PHPSTORM

Пароль пользователя bitrix не стоит, необходим пройти пункт → "Настройка пользователя bitrix"

⁠Предлагаемые сборки с bitrix

akrid782/bitrix:vmbitrix- контейнер только с установленными необходимыми пакетами для работы. Сюда входят следующие пакеты:

  1. wget;
  2. curl;
  3. mc;
  4. bind;
  5. git;
  6. bind-utils;
  7. nano;
  8. xdebug;
  9. htop
  10. openssh-server;
  11. openssh-clients;
  12. bitrix-env (устанавливает nginx, php, mysql и т.д. для работы bitrix).

Это основной контейнер, на основе которого будут строиться перечисленные ниже ↓

⁠frontend developer bitrix

frontend developer bitrix - контейнер для верстальщиков на bitrix и frontend разработчиков. Сюда выходят следующие пакеты: Все пакеты из контейнера akrid782/bitrix:vmbitrix;

  1. Все пакеты из контейнера akrid782/bitrix:vmbitrix;
  2. node.js;
  3. vue-cli;
  4. bitrix-cli;
  5. npm;
  6. yarn.
  7. gcc-c++
  8. make

docker-compose.yml

version: '3'
services:
  vmbitrix:
    build: ./
    ports:
      - "80:80" #для http
      - "443:443" #для https
      - "8080:22" #для ssh т.е подключение будет проходить через порт 8080
      - "3000:3000" #Для GUI  vue ui
      - "3001:3001" #Для serve приложения vue 
      #Сюда можно вписать еще порты если надо будет запускать сервер приложения vue 
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    cap_add:
      - ALL

dockerfile

FROM akrid782/bitrix:vmbitrix

RUN yum clean all && yum update -y
RUN curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
RUN curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
RUN rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg 
RUN yum makecache fast
RUN yum install -y gcc-c++ make nodejs yarn
RUN npm install -g @bitrix/cli && npm install -g @vue/cli

EXPOSE 3000

CMD ["/usr/sbin/init"]

Команда для запуска GUI внутри контейнера

vue ui --headless --port 3000 --host 0.0.0.0

ВНИМАНИЕ: данная команда должна запускаться от пользователя bitrix, в противном случае подключившись по ssh вы не сможете редактировать созданное приложение, через менеджер проектов vue.

⁠fullstack developer bitrix

✔ fullstack developer bitrix - контейнер для fullstack разработки на bitrix, php и vue. Сюда выходят следующие пакеты:

  1. Все пакеты из контейнера akrid782/bitrix:vmbitrix;
  2. phpdoc;
  3. php-pear-PhpDocumentor;
  4. php-cli;
  5. php-zip;
  6. wget;
  7. unzip;
  8. phpcs;
  9. gcc-c++;
  10. make;
  11. supervisor;
  12. composer;
  13. node.js;
  14. vue-cli;
  15. bitrix-cli;
  16. npm;
  17. yarn.

docker-compose.yml

version: '3'
services:
  vmbitrix:
    build: ./
    ports:
      - "80:80" #для http
      - "443:443" #для https
      - "8080:22" #для ssh т.е подключение будет проходить через порт 8080
      - "3000:3000" #Для GUI  vue ui
      - "3001:3001" #Для serve приложения vue 
      #Сюда можно вписать еще порты если надо будет запускать сервер приложения vue 
    volumes:
      - /sys/fs/cgroup:/sys/fs/cgroup:ro
    cap_add:
      - ALL

dockerfile

FROM akrid782/bitrix:vmbitrix

RUN yum clean all && yum update -y

### FRONTEND START ###
RUN curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
RUN curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
RUN rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg 
RUN yum makecache fast
RUN yum install -y gcc-c++ make nodejs yarn
RUN npm install -g @bitrix/cli && npm install -g @vue/cli
### END ###

### BACKEND ###
RUN yum install -y php-pear-PhpDocumentor supervisor php-cli php-zip wget unzip phpcs
RUN cd ~ && php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ENV HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
RUN cd ~ php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
RUN mv /etc/php.d/20-phar.ini.disabled /etc/php.d/20-phar.ini \ 
    && cd ~ && php composer-setup.php --install-dir=/usr/local/bin --filename=composer \
    && composer global require "squizlabs/php_codesniffer=*" \
    && mv /etc/php.d/30-xmlreader.ini.disabled /etc/php.d/30-xmlreader.ini \
    && mv /etc/php.d/20-xmlwriter.ini.disabled /etc/php.d/20-xmlwriter.ini
### END ###

CMD ["/usr/sbin/init"]

Далее все описание есть уже в frontend developer bitrix то как запускать vue ui

⁠Источники

  1. https://computingforgeeks.com/how-to-install-nodejs-on-centos-fedora/⁠ - установка Node.js на centos 7
  2. https://kamaok.org.ua/?p=146⁠ - Использование Yum
  3. https://stackoverflow.com/questions/57743092/vue-ui-is-not-working-through-docker-compose⁠ - команда для включения vue ui
  4. https://cli.vuejs.org/ru/guide/cli-service.html#%D0%B8%D1%81%D0%BF%D0%BEn%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-binary⁠ - офф документация vue
  5. https://linuxize.com/post/how-to-install-yarn-on-centos-7/⁠ - установка yarn
  6. https://github.com/bitrix-tools/cli⁠ - bitrix cli
  7. https://stackoverflow.com/questions/60351257/how-install-and-run-vue-js-application-on-centos-7#:~:text=Install%20it%20by%20running%20npm,locally%20using%20npm%20run%20serve%20⁠. - установка vue cli
  8. https://computingforgeeks.com/how-to-install-latest-version-of-git-git-2-x-on-centos-7/⁠ - обновление git
  9. https://guides.hexlet.io/ru/vscode-for-php-setup/#:~:text=%D0%B2%D0%B0%D1%88%D0%B5%D0%B9%20%D1%80%D0%B0%D0%B1%D0%BE%D1%87%D0%B5%D0%B9%20%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B5-,PHP%20Sniffer,-%D0%92%20%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0%D1%85%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F⁠ - php linter
  10. https://phoenixnap.com/kb/how-to-install-and-use-php-composer-on-centos-7⁠ - установка docker-compose
  11. https://installati.one/centos/7/php-pear-phpdocumentor/⁠ - установка phpdoc
  12. https://docs.docker.com/engine/reference/builder/⁠ - работа с docker
  13. https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=37&LESSON_ID=8811⁠ - официальная документация bitrixEnv

Tag summary

Content type

Image

Digest

Size

856.6 MB

Last updated

over 4 years ago

docker pull akrid782/bitrix:vmbitrix