Телеграм: @camouf_ru Почта: mihail@bazarow.ru

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

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

Расскажу как по быстрому сконфигурировать 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

Записная книжка разработчика

Примерно с 2013-го года пишу заметки по разработке сайтов на Битрикс.
Вы можете задавать уточняющие вопросы в комментариях- отвечаю или дополняю заметки по возможности.

Заполнение габаритов товара, после обмена с 1С, из свойств элемента и... Просмотров: 10423 Если Ваш интернет-магазин интегрирован с 1С, скорее всего столкнулись с такой проблемой: 1... Данные о заказе текущего пользователя Просмотров: 12901 Иногда нужно получить данные о заказе текущего пользователя. Не через компонент, а непосре... Мобильные версии страниц и поисковые системы Просмотров: 5849 Согласно требования поисковых систем: Яндекс и Google, в случае если у вашего сайта имеетс... Композитный сайт на 1С-Битрикс Просмотров: 3037 Для новых клиентов: Все новые проекты будут включать в себя применение технологии "Компози... Открытие мобильного приложения Apache Cordova по ссылке Просмотров: 683 Достаточно часто нужно реализовывать открытие мобильного приложения по ссылке. Например: п... Фотогалерея на базе компонента новостей, с fancybox. Просмотров: 1542 Это заметка обновление к очень старой, уже имеющейся на сайте. Сделаем что-то типа фотогал... Добавить свойство в административную форму заказа Просмотров: 2809 Задача, кастомизировать административную форму заказа: добавить свойство заказа в шапку фо... Прятать или показывать описание раздела каталога Просмотров: 598 В новых компонентах и шаблонах catalog.section есть не документированный и не выводимый па... Получение доступа к железу устройства из Битрикс мобильное приложение Просмотров: 5603 Документация к мобильному приложению 1С-Битрикс очень куцая. В основном описывает функцион... Валидация пароля и подтверждения при регистрации в битрикс Просмотров: 14264 Встала задачка сделать валидацию пароля и его подтверждения в стандартной форме регистраци... Основные функции вывода в шаблонах Битрикс Просмотров: 155357 Знаю, что все их знают. Но иногда не бывает лишним собрать все самое используемое в одну к... Цвета торговых предложений из Highload инфоблоков в списке товаров Просмотров: 14086 Подвернулся на доработку очень старый сайт, работал еще на 11-ой версии Битрикс. Выполнили... Вывести все товары, с постраничной навигацией, из всех разделов инфоб... Просмотров: 28421 По сути, эта заметка, небольшой лайфхак. Достаточно часто нужно, в корне каталога, в ТОП-е... Умный фильтр на главной странице Битрикс Просмотров: 20882 Редкая но востребованная задачка- это вывести компонент "умный фильтр" на главную страницу... Отсортировать элементы в Битрикс по свойству привязка к разделам Просмотров: 27915 При создании достаточно сложных интернет-магазинов на Битрикс, иногда встает задача помимо... Дать пользователю возможность быстро отредактировать материал Просмотров: 4364 На одном из разрабатываемых сайтов, пользователи формирую его контент. После регистрации, ... AJAX корзина с отправкой количества из раздела каталога Просмотров: 19124 Столкнулся с задачкой: нужно было на одном сайте реализовать интерактивный прайс лист. При... Автоматическая загрузка каталогов из csv файлов в Битрикс Просмотров: 10631 Если требуется настроить автоматический импорт каталогов из csv файлов, от поставщиков. В... Связанные элементы в карточке товара, с помощью catalog.section Просмотров: 14029 Достаточно часто, при разработке магазинов на битрикс, требуется выводить связанные элемен... Добавление своих полей в почтовые шаблоны Битрикс Просмотров: 43635 Иногда нужно внести свои поля в почтовые шаблоны битрикс. Например: добавить имя и номе...