Телеграм: @bazarow_ru mihail@bazarow.ru Проверяю почту и телеграм 2-3 раза в день.
С 1 по 10 января 2024 будет сделан редизайн сайта.
Пришла пора освежиться!

Простой WEB сервер на ubuntu, для Битрикс

Просмотров: 36958

Расскажу как по быстрому сконфигурировать WEB сервер для работы с Битрикс. Безо всяких nginx и прочего, для высоконагруженных проектов конечно не пойдет, но просто сайт вполне полетит. Итак после установки на ноутбук Sumsung P29 (ему вот уже 9 лет) с конфигурацией Celeron M- 1.4 Ghz, 700 Мб. оперативной памяти, жесткий IDE на 40 гигов, словом тот еще драндулет- установка Битрикс: Малый Бизнес 12, решение интернет магазин выдает 52 балла производительности, все параметры самую капельку выше эталона.

Важно!!!
Данная заметка написана в 2014 году, под ubuntu 14LTS. Кого интересует запустить вебсервер на ubuntu 20 прошу сюда LAMP на ubuntu LTS 20

Расскажу как по быстрому сконфигурировать WEB сервер для работы с Битрикс. Безо всяких nginx и прочего, для высоконагруженных проектов конечно не пойдет, но "просто сайт" вполне полетит. Итак после установки на ноутбук Sumsung P29 (ему вот уже 9 лет) с конфигурацией Celeron M- 1.4 Ghz, 700 Мб. оперативной памяти, жесткий IDE на 40 гигов, словом тот еще драндулет- установка Битрикс: Малый Бизнес 12, решение интернет магазин выдает 52 балла производительности, все параметры самую капельку выше эталона.

Итак устанавливем основу

Устанавливаем Apache


sudo apt-get install apache2

Установка PHP и библиотеки для работы с графикой:


apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby

Чтобы Apache подхватил только что установленный PHP перезагрузим его командой:


sudo apache2ctl restart

Установка MySQL


sudo apt-get install mysql-server

в процессе установки попросит ввести пароль, придумайте самостоятельно

Установка PhpMyAdmin


sudo apt-get install phpmyadmin

в процессе запросит пароль от MYSQL - тот самый что вводили выше. Все основа готова, на этом вполне заработает сайт.

Запиливаем под Битрикс

Для повышения производительности, да и вообще по требованиям Битрикс к серверу, на нем должен быть установлен APC (на самом деле не только он подходит, можно поставить eAccelerator, XChache и.т.д) 

Устанавливаем оной вводя команды по одной (хотя наверное можно и хором)


sudo apt-get install php-pear
sudo apt-get install php5-dev apache2-prefork-dev build-essential
sudo pecl install apc

Дальше создаем и открываем файл настроек APC


nano /etc/php5/conf.d/apc.ini

прямо туда копируем вот это


extension=apc.so
realpath_cache_size=4096k
apc.ttl=1
apc.max_file_size=4M
apc.shm_size=128M //вот тут достаточно и 96М, но я предпочитаю 128

Теперь ускорим работу MYSQL

открываем


nano /etc/mysql/my.cnf

и добавляем в него (можно куда-нибудь в середину)


innodb_flush_log_at_trx_commit = 0
innodb_buffer_pool_size = 128M
innodb_flush_method = O_DIRECT
transaction-isolation = READ-COMMITTED
table_open_cache = 600 //тут самостоятельно

ну вот и все, остально, например php.ini уже докручивайте на свое усмотрение, с этими настройками Битрикс вполне летает на компе средней паршивости

Дополнение с демагогией - установка memcache на ubuntu server с битрикс сайтом, для ускорения (под высоконагруженные проекты, для всякой мелочевки не стоит заморачиваться)

PS: установка Webmin на ubuntu. Что бы было проще:

Добавляем необходимые пакеты


apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions

Скачиваем ключи


wget http://www.webmin.com/jcameron-key.asc

Добавляем их


apt-key add jcameron-key.asc

Добавляем в самый конец sources.list


nano /etc/apt/sources.list
deb http://download.webmin.com/download/repository sarge contrib

Скачиваем ключи


wget http://www.webmin.com/jcameron-key.asc

Обнавляемся и устанавливаем webmin


sudo apt-get update
sudo apt-get install webmin

Дожидаемся конца установки и после WEBMIN доступен по адресу


 https://ВАШ_IP:10000

И еще одна маленькая вещь

Лично я держу пару таких серверов на домашнем компьютере. То есть на однй, достаточно мощной машине установлено 5 виртуальных машин с простенькими параметрами. Так у меня роутер, и виртуальные машины получают IP адреса по DHCP. необходимо задать им статичные IP адреса. По большей сути это актуально и для еденичного компьютера в домашней сети

Идем в nano /etc/network/interfaces и приводим к виду:


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.58 //Здесь указываем свой желаемый IP 
netmask 255.255.255.0

Перезагружаем сеть /etc/init.d/networking restart и идем в nano /etc/hosts Приводим его примерно к такому виду:


1127.0.0.1 localhost.localdomain localhost
192.168.0.58 server.example.com server //повторяем свой IP и адрес
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Выполняем:


echo server.example.com > /etc/hostname
/etc/init.d/hostname restart

B проверяем:


hostname
hostname -f

Теперь они должны показать server.example.com.

Дмитрий 26.09.2014
Будет ли руководство по CentOS 6 с полным описанием оптимизации сервера под Битрикс !?
Михаил Базаров 27.09.2014
Цитата
Дмитрий пишет:
Будет ли руководство по CentOS 6 с полным описанием оптимизации сервера под Битрикс !?
Для CentOS особо смысла писать не вижу.
Как вариант можно:
На свежеустановленной Cent OS выполнить команды
1) wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh  - качаем скрипт установки
2) chmod +x bitrix-env.sh  - делаем исполняемым
3) ./bitrix-env.sh  - запускаем.
Начнется установка веб окружения, в процессе нужно будет только выбрать 4 или 5-ую версию. Рекомендую 4, но это субъективно.

После установки перезагрузить, и ввести новый пароль для пользователя root (само попоросит)

Открыть порты:
Поочереди выполнить команды:
iptables -I INPUT -p tcp --dport 25 -m state --state NEW -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
iptables -I INPUT -p tcp --dport 5222 -m state --state NEW -j ACCEPT
iptables -I INPUT -p tcp --dport 5223 -m state --state NEW -j ACCEPT
iptables -I INPUT -p tcp --dport 8090 -m state --state NEW -j ACCEPT
iptables -I INPUT -p tcp --dport 8891 -m state --state NEW -j ACCEPT
service iptables save
/etc/init.d/iptables restart

Все, в итоге получите готовое веб окружение под битрикс (тоже самое что и в виртуальной машине битрикс)
Alex 18.12.2014
Почему то данный способ не работает на firstvds, пишет что установлена более новая версия apache. Не подскажете где хотя бы взять руководство?
Михаил Базаров 26.01.2015
Цитата
Alex пишет:
Почему то данный способ не работает на firstvds, пишет что установлена более новая версия apache. Не подскажете где хотя бы взять руководство?
Скорее всего apache уже стоит, можете пропустить это шаг. Да mysql наверное тоже.
Vakh 01.09.2015
Здравствуйте. Все сделал по инструкции, но когда доходит до восстановления БД выдает ошибку
Error! mysql_connect('-', '-', '-')
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Михаил Базаров 01.09.2015
Цитата
Vakh пишет:
Здравствуйте. Все сделал по инструкции, но когда доходит до восстановления БД выдает ошибку
Error! mysql_connect('-', '-', '-')
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Не правильно вводите данные для доступа к базе данных или просто ее не создали
Dmitry 23.09.2015
Добрый день. Остановился на пункте "sudo pecl install apc" выдает вот такую ошибку:

[CODE]bitrix@ubuntu:~$ sudo pecl install apc
downloading APC-3.1.13.tgz ...
Starting to download APC-3.1.13.tgz (171,591 bytes)
.....................................done: 171,591 bytes
could not extract the package.xml file from "/build/php5-FncNNb/php5-5.5.9+dfsg/pear-build-download/APC-3.1.13.tgz"
Download of "pecl/apc" succeeded, but it is not a valid package archive
Error: cannot download "pecl/APC"
Download failed
install failed[/CODE]

До этого вроде установка шла без ошибок.
Дмитрий Дмитриевич Алимов 23.06.2016
Привет, функции MySQL, не установлены, убунту.. как быть?  
Дмитрий Дмитриевич Алимов 23.06.2016