Итак, вы решили для какой-то цели использовать вместо готовой настроенной виртуальной машины битрикса 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, а если вы не знаете как им пользоваться, почитайте справку):
В этом файле нужно заменить
PermitRootLogin without-password
|
на
После чего перезагрузить ssh службу
или перезагрузить весь сервер
Настройка веб-сервера ApacheВключаем обработку htaccess (в файле /etc/apache2/apache2.conf):
Настройка php Теперь, если мы загрузим в папку /var/www/html скрипт установки CMS Битрикс bitrixsetup.php (или какой другой), то скорее всего обнаружим, что php "не работает", т.к. увидим в браузере php код. Это происходит из-за того, что по каким-то причинам короткие php теги
по умолчанию отключены, а работают только такие
Чтобы исправить это досадное недоразумение, отредактируем файл /etc/php5/apache2/php.ini, и поменяем
на
Далее настроим другие параметры 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
|
После чего перезагрузим сервер
Настройка 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?>
|
Команда
выведет все IP адреса данной системы, в т.ч. алиасы.
Если вам нужна дополнительная информация по настройке виртуальных хостов на различных IP адресах, ищите по фразе "IP-Based Virtual Hosts".
Работа с Ubuntu DesktopЕсли вы по какой-то причине используете Ubuntu Desktop вместо Ubuntu Server, то все, что касается статических IP, алиасов и т.д. (кроме виртуальных хостов Apache), можно настроить через GUI: Settings - Network - Wired - Options - IPv4 Settings.