Используемое ПО: CentOS 7, Nginx, MariaDB, PHP 7 FPM
Все как обычно, только выбрать тип файловой системы EXT4
После установки:
# yum update # yum install mc bash-completion net-tools wget
# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm # yum install nginx -y # systemctl enable nginx
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm # yum install php70w php70w-mysql php70w-fpm php70w-mcrypt php70w-mbstring php70w-gd php70w-devel php70w-opcache -y
# yum -y install mariadb-server mariadb # systemctl enable mariadb
Традиционно отключаем дабы не создавало проблем.
Редактируем /etc/sysconfig/selinux
SELINUX=disabled
# mkdir -p /home/www/example # chown -R nginx:nginx /home/www/example # chmod -R 755 /home/www/example
В /etc/php.ini меняем значения по умолчанию на указанное ниже:
cgi.fix_pathinfo=0 short_open_tag=on mbstring.func_overload=2 mbstring.internal_encoding=UTF-8 date.timezone = Europe/Moscow #ваша_временная_зона max_input_vars = 10000 post_max_size = 20M upload_max_filesize = 20M realpath_cache_size = 4096k display_errors = On memory_limit = 256M
В /etc/php.d/opcache.ini меняем значения по умолчанию на указанное ниже:
opcache.revalidate_freq=0 opcache.max_accelerated_files = 100000
Проверяем файл /etc/php.d/pdo_mysql.ini - если он существует, значит нужно отключить pdo_mysql т.к. оно не будет работать вместе с mysqli:
;extension=pdo_mysql.so
Вносим изменения в файл /etc/php-fpm.d/www.conf
user = nginx group = nginx listen.owner = nobody listen.group = nobody listen.mode = 0666 listen = /var/run/php-fpm/php-fpm.sock
Запускаем и добавляем в автозагрузку:
# systemctl enable php-fpm # systemctl start php-fpm
Это создаст нужный нам php-fpm.sock файл, зададим ему права и владельца
# chmod 666 /run/php-fpm/php-fpm.sock # chown nginx:nginx /run/php-fpm/php-fpm.sock
Запускаем скрипт первоначальной установки настроек безопасности:
# /usr/bin/mysql_secure_installation
При запуске этого скрипта будет запрошен пароль для root пользователя и будут заданы другие вопросы безопасности на которые нужно отвечать Y или N (желательно на все вопросы ответить Y).
Стандартные файлы конфигурации (/etc/my.cnf и содержимое папки /etc/my.cnf.d) заменяем прилагаемыми из этого архива: mariadb-bitrix-configs.tar.bz2
Перед запуском необходимо убедиться что MariaDB не запущена и из папки /var/lib/mysql удалить файлы ib_logfile0…ib_logfileN
Запускаем MariaDB
# systemctl start mariadb
и проверяем логи - все должно быть без ошибок.
Создаем базу данных для Битрикс-сайта. Входим в консоль mysql под root-пользователем:
# mysql -h localhost -u root -p
(вводим пароль указанный в скрипте mysql_secure_installation)
Создаем базу в кодировке UTF-8:
> CREATE DATABASE `example_db` CHARACTER SET utf8 COLLATE utf8_unicode_ci; > CREATE USER 'example_db_user'@'localhost' IDENTIFIED BY 'example_db_password'; > GRANT ALL PRIVILEGES ON example_db.* TO 'example_db_user'@'localhost'; > FLUSH PRIVILEGES; > quit;
example_db - название базы
example_db_user - пользователь
example_db_password - пароль пользователя
Заменяем оригинальный файл /etc/nginx/nginx.conf прилагаемым: nginx.conf.zip
Создаем файл настроек виртуалхоста /etc/nginx/conf.d/example.conf - example.conf.zip
Измените его под себя (домен, пути и т.д.)
Меняем права на директорию сессий
# chown -R nginx:nginx /var/lib/php/session
Запускаем
# systemctl enable nginx
firewall-cmd --zone=public --add-port=25/tcp --permanent firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --zone=public --add-port=5222/tcp --permanent firewall-cmd --zone=public --add-port=5223/tcp --permanent firewall-cmd --zone=public --add-port=8890/tcp --permanent firewall-cmd --zone=public --add-port=8891/tcp --permanent firewall-cmd --zone=public --add-port=8893/tcp --permanent firewall-cmd --zone=public --add-port=8894/tcp --permanent firewall-cmd --reload
В конце концов перезагружаем сервер чтобы убедиться что все хорошо работает и успешно запускается.
Перед установкой проверяем соответствие требованиям: http://мой-сайт.ru/bitrix_server_test.php
Если все хорошо - открываем в браузере http://мой-сайт.ru/bitrixsetup.php и устанавливаем Битрикс
Необходимо провести полное тестирование (Рабочий стол → Настройки → Инструменты → Проверка системы) и добиться чтобы все было настроено согласно рекомендациям.