Найти в Дзене
Последователи Bitrix

Настройка типового локального окружения разработчика решений для Bitrix под ArchLabs Linux [docker не нужен]

Оглавление

Установить все можно через pacli. Будет использоваться стандартный набор, чтобы было максимально совместимо с окружением Bitrix - apache, php, вместо mysql - mariadb, msmtp.

apache - стабильный и проверенный временем веб-сервер
apache - стабильный и проверенный временем веб-сервер
msmtp для отправки почтовых сообщений
msmtp для отправки почтовых сообщений
mariadb вместо mysql
mariadb вместо mysql
php 7.3 - чтоб ловить баги совместимости новых версий PHP с Bitrix
php 7.3 - чтоб ловить баги совместимости новых версий PHP с Bitrix

Настройка Apache

1) Поправить файл /etc/httpd/conf/httpd.conf

# закоментировать
#LoadModule mpm_event_module modules/mod_mpm_event.so
# раскоментировать
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
# добавить
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule php7_module modules/libphp7.so
# раскоментировать
Include conf/extra/httpd-vhosts.conf
# добавить
Include conf/extra/php7_module.conf

2) Поправить файл настроек виртуальных хостов /etc/httpd/conf/extra/httpd-vhosts.conf - создать хостов столько сколько нужно: solution01, solution02 и т.п. Пример:

<VirtualHost *:80>
ServerAdmin webmaster@solution01.example.org
DocumentRoot "/home/user/ext_www/solution01.example.org"
<Directory /home/user/ext_www/solution01.example.org/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ServerName solution01.example.org
ServerAlias www.solution01.example.org
ErrorLog "/var/log/httpd/solution01.example.org-error_log"
CustomLog "/var/log/httpd/solution01.example.org-access_log" common
</VirtualHost>

3) Добавить в /etc/hosts

127.0.0.1 solution01.example.org
127.0.0.1 solution02.example.org
127.0.0.1 solution03.example.org
...

4) Настроить права на домашнюю папку пользователя

chmod +x /home/user/

5) Добавить пользователя в группу http

sudo usermod -a -G http $USER

6) Перелогинится и настроить владельца и права на все папки сайтов

sudo chmod -R 0775 /home/user/ext_www/solution01.example.org
sudo chown -R http:http /home/user/ext_www/solution01.example.org

только после этого устанавливаем Bitrix

Настройка mariadb

sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
sudo systemctl start mysqld
sudo mysql_secure_installation

Применить правки для /etc/my.cnf.d/server.cnf - в секцию [mysqld] добавить

sql-mode=""
innodb_flush_log_at_trx_commit=2
sync_binlog=0
innodb_flush_method=O_DIRECT
transaction-isolation=READ-COMMITTED
innodb_strict_mode=OFF

Настройка отправки почты через msmtp

1) Создать файл ~/.msmtprc и настроить доступ для владельца, остальным чтение/запись запрещено

sudo chown http:http /home/user/.msmtprc
sudo chmod 0600 /home/user/.msmtprc
sudo ln -s /home/user/.msmtprc /etc/msmtprc

2) Добавить

# smtp account configuration for default
account default
logfile /home/user/msmtp_default.log
host smtp.gmail.com
port 587
from tirajka@example.org
keepbcc off
auth login
user вашадрес@gmail.com
password ваш-пароль-gmail
tls on
tls_certcheck off
tls_starttls on

3) Протестировать отправку (файл с логами /home/user/msmtp_default.log)

echo -e "message from environment for Bitrix tirajka" | sudo /usr/bin/msmtp --debug -t -i ваш@ящик.почты

4) Добавить в php.ini

sendmail_path = msmtp -t -i

Донастроить php.ini

По умолчанию настройки уже пригодны для работы в кодировке windows-1251 (а разрабатывать решения нужно именно в этой кодировке для ортодоксов, в связи с требованиями к загрузке публикуемых решений в маркетплейс Bitrix).

-5

Так что просто смотрите рекомендации при установке bitrixsetup.php или в разделе "Проверка системы" - устанавливаете нужные расширения через pacli и правите php.ini

Еще один важный момент - на этапе установки Bitrix необходимо указать права для файлов 0664 и папок 0775,

т.е. в /bitrix/php_interface/dbconn.php после установки должно быть

define("BX_FILE_PERMISSIONS", 0664);
define("BX_DIR_PERMISSIONS", 0775);