партнер компании 1с-битрикс
сайт фрилансера Сергея Эстрина
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Универсальная галерея - модуль для битрикс
Итак, вы решили для какой-то цели использовать вместо готовой настроенной виртуальной машины битрикса Ubuntu Server. Тому могут быть разные причины, например, система контроля версий Mercurial не работает с Cent OS и пр. В этой котороткой статье я расскажу что необходимо настроить для работы Ubuntu Server с сайиами на 1С-Битрикс. Cтатья короткая именно потому, что настраивать нужно немного, а затрагивать процесс установки системы в этой статье я не буду, т.к. по этой теме, думаю, найдется немало материалов. Отмечу только, что при установке я выделил галочки компонентов LAMP (это Apache, Mysql, Php) и OpenSSH. Данные рекомендации, конечно же, можно использовать не только  настройки сервера для Битрикс, но и других CMS.
[spoiler]
Проверка установки

Для того, чтобы проверить, что сервер и компоненты установились правильно, наберите в браузере IP адрес Ubuntu Server. А узнать его можно с помощью команды

ip route get 8.8.8.8 awk '{print $NF; exit}'

Например, у меня автоматически настроился адрес 192.168.7.140.

Включение суперпользователя (root)

По умолчанию в Ubuntu Server пользователь root выключен по соображениям безопасности или еще каким, но во многих случаях он все же удобен (особенно если вы настраиваете локальную систему). Чтобы можно было авторизоваться под пользователем root, нужно установить для него пароль, для этого в командной строке наберите следующее:

sudo su 

(здесь введите пароль текущего пользователя
passwd 
(здесь введите пароль для пользователя root)
Теперь вы можете авторизоваться под пользователем root. Но чтобы разрешить авторизацию под root через ssh, нужно отредактировать файл /etc/ssh/sshd_config (это можно сделать с помощью встроенного редатора vi, а если вы не знаете как им пользоваться, почитайте справку):

vi /etc/ssh/sshd_config

В этом файле нужно заменить

PermitRootLogin without-password

на

PermitRootLogin yes

После чего перезагрузить ssh службу

service ssh restart

или перезагрузить весь сервер

shutdown -r now


Настройка веб-сервера Apache

Включаем обработку htaccess (в файле /etc/apache2/apache2.conf):

AllowOverride All


Настройка php

Теперь, если мы загрузим в папку /var/www/html скрипт установки CMS Битрикс bitrixsetup.php (или какой другой), то скорее всего обнаружим, что php "не работает", т.к. увидим в браузере php код. Это происходит из-за того, что по каким-то причинам короткие php теги

<?

по умолчанию отключены, а работают только такие

<?php

Чтобы исправить это досадное недоразумение, отредактируем файл /etc/php5/apache2/php.ini, и поменяем

short_open_tag Off

на

short_open_tag On

Далее настроим другие параметры php, важные для битрикс и прочих CMS

post_max_size 100M 

upload_max_filesize 
100M 
max_input_vars 
10000
Если вы планируете использовать кодировку "utf-8" (крайне рекомендуется):

mbstring.func_overload 2  

mbstring
.internal_encoding UTF-8
После чего перезагрузим сервер

shutdown -r now


Настройка IP адреса

Если вы хотите назначить Ubuntu Server статический IP адрес, нужно отредактировать файл /etc/network/interfaces, где вместо

auto eth0

   iface eth0 inet dhcp?>
нужно вставить, например,

auto eth0

iface eth0 inet 
static
   
address 192.168.0.115
   netmask 255.255.255.0
   network 192.168.0.0
   gateway 192.168.0.1
   dns
-nameservers 192.168.0.1
Если же у вас Ubuntu Desktop, см. последний пункт этой статьи.

Настройка виртуальных хостов

Если вы хотите иметь на одном дистрибутиве несколько сайтов, то нужно настроить виртуальные хосты. Есть много вариантов настройки оных, я покажу на примере как настроить виртуальные хосты в локальной сети на различных IP адресах, т.е., когда один сайт, например, будет на адресе 192.168.0.110, второй на 192.168.0.111 и т.д.

Виртуальные хосты можно настроить в файле /etc/apache2/ports.conf (хотя это и не единственный способ).

Пример настройки виртуального хоста:

<VirtualHost 192.168.0.110:80>

   
ServerAdmin webmaster@192.168.0.110
   DocumentRoot 
/var/www/1
   
<Directory "/var/www/1">
      
Options FollowSymLinks
      AllowOverride All
      Order allow
,deny
      Allow from all
   
</Directory>
   
ServerName www1.website.local
   ErrorLog 
/var/www/logs/1/error_log
   TransferLog 
/var/www/logs/1/access_log
</VirtualHost>
Соответствующие папки для DocumentRoot, логов, естественно, необходимо предварительно создать.

Кроме того, для каждого такого виртуального хоста необходимо создать alias в том же файле /etc/network/interfaces, в котором в предыдущем абзаце мы настраивали статический IP адрес (если же у вас Ubuntu Desktop, см. последний пункт статьи).

auto eth0:0

iface eth0
:0 inet static
name Website 1 alias
address 192.168.0.110
netmask 255.255.255.0
broadcast 192.168.0.255
network 192.168.0.0?>
Команда

hostname -I

выведет все IP адреса данной системы, в т.ч. алиасы.

Если вам нужна дополнительная информация по настройке виртуальных хостов на различных IP адресах, ищите по фразе "IP-Based Virtual Hosts".

Работа с Ubuntu Desktop

Если вы по какой-то причине используете Ubuntu Desktop вместо Ubuntu Server, то все, что касается статических IP, алиасов и т.д. (кроме виртуальных хостов Apache), можно настроить через GUI: Settings - Network - Wired - Options - IPv4 Settings.

Чтобы оставить сообщение, авторизуйтесь, или войдите с помощью: