Сторонний сайт в коробке Битрикс24

В данной статье пойдет разговор о том, как добавить сторонний сайт в коробке Битрикс24 и какие действия требуется произвести для настройки nginx и apache.

Новый сайт в коробке Битрикс24

Пусть у нас есть готовый сайт, который мы хотели бы расположить на коробке Битрикс24 и мы хотим, чтобы он аналогично самому битриксу работал в связке nginx+apache. Для начала создадим директорию для нашего сайта (все действия выполняются с правами root):

# mkdir /home/bitrix/pocketadmin.tech

Как видно из примера сайт будет располагаться в домашней директории пользователя bitrix рядом с основным – www.

В нашем случае сайт будет состоять из одной страницы – index.php, расположенной в /home/bitrix/pocketadmin.tech/index.php:

<?php
echo "This is PocketAdmin.tech";
?>

Сделаем владельцем новой директории и всех файлов в ней пользователя bitrix:

# chown bitrix: -R /home/bitrix/pocketadmin.tech/

На этом работы с сайтом окончены, переходим к настройкам front-end и back-end серверов.

Настройка apache

Создадим в директории с конфигурационными файлами apache файл с настройками для нашего сайта:

# nano /etc/httpd/bx/conf/pocketadmin.tech.conf

И внесем в него следующее:

Listen 127.0.0.1:18888
<VirtualHost 127.0.0.1:18888>
        ServerAdmin admin@pocketadmin.tech
        ServerName pocketadmin.tech
        DocumentRoot /home/bitrix/pocketadmin.tech

        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>

        <DirectoryMatch .*\.svn/.*>
                 Require all denied
        </DirectoryMatch>

        <DirectoryMatch .*\.git/.*>
                 Require all denied
        </DirectoryMatch>

        <DirectoryMatch .*\.hg/.*>
                 Require all denied
        </DirectoryMatch>

        <Directory /home/bitrix/pocketadmin.tech/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                DirectoryIndex index.php index.html index.htm
                php_admin_value session.save_path /tmp/php_sessions/www
                php_admin_value upload_tmp_dir /tmp/php_upload/www
        Require all granted
        </Directory>

        ErrorLog logs/error_log
        # Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
        LogLevel warn

        CustomLog logs/access_log combined

        <IfModule mod_rewrite.c>
                #Nginx should have "proxy_set_header HTTPS YES;" in location
                RewriteEngine On
                RewriteCond %{HTTP:HTTPS} =YES
                RewriteRule .* - [E=HTTPS:on,L]
        </IfModule>
</VirtualHost>

На что следует обратить внимание:

  • в первых двух строках Listen 127.0.0.1:18888 и <VirtualHost 127.0.0.1:18888> 18888 – это произвольный свободный порт, который должен отличаться от стандартного 8888.
  • в ServerName указывается доменное имя вашего сайта, в примере это pocketadmin.tech
  • в DocumentRoot и в <Directory указывается расположение сайта, директория которую мы создали на первом шаге. В данном случае это /home/bitrix/pocketadmin.tech.

Настройка nginx

Создадим в директории с доступными конфигурационными файлами nginx файл с настройками для нашего сайта:

# nano /etc/nginx/bx/site_avaliable/pocketadmin.tech.conf

следующего содержания:

server {
                listen 80;
                server_name pocketadmin.tech;
                server_name_in_redirect off;

        access_log /var/log/nginx/access.log main;
        error_log /var/log/nginx/error.log warn;

                proxy_set_header        X-Real-IP        $remote_addr;
                proxy_set_header        X-Forwarded-For  $proxy_add_x_forwarded_for;
                proxy_set_header        Host $host:80;

                set $proxyserver        "http://127.0.0.1:18888";
                set $docroot            "/home/bitrix/pocketadmin.tech";

                index index.php;
                root /home/bitrix/pocketadmin.tech;

                # Redirect to ssl if need
                if (-f /home/bitrix/pocketadmin.tech/.htsecure) { rewrite ^(.*)$ https://$host$1 permanent; }

                # Main location
                location / {

                    proxy_pass $proxyserver;
                }

                # php file processing
                location ~ \.php$ {
                    proxy_pass $proxyserver;
                }

}

Этот конфигурационный файл мало отличается от стандартного, но обратить внимание следует на:

  • server_name – доменное имя сайта, pocketadmin.tech;
  • в set $proxyserver “http://127.0.0.1:18888”; необходимо указать порт, который мы назначили в настройках apache.
  • в строках set $docroot “/home/bitrix/pocketadmin.tech”; и root /home/bitrix/pocketadmin.tech; прописывается директория с нашим сайтом

Последним этапом будет создание символьной ссылки в каталоге разрешенных сайтов на наш сайт в коробке битрикс24:

# ln -s /etc/nginx/bx/site_avaliable/pocketadmin.tech.conf /etc/nginx/bx/site_enabled/pocketadmin.tech.conf

Остается только перечитать конфигурационные файлы:

# service httpd reload
# servcie nginx reload

Оставьте комментарий