Инструкция по конфигурации сервера для ClientBase

1. Установка операционной системы

Убедитесь, что на сервере установлена Ubuntu 22.04 (LTS). Это рекомендуется как минимально поддерживаемая версия.


2. Установка веб-сервера Apache

Установите Apache и включите необходимые модули:

sudo apt update
sudo apt install apache2 -y
sudo a2enmod rewrite
sudo systemctl restart apache2

3. Установка PHP и требуемых модулей

Установите PHP 8.1 и все необходимые расширения:

sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install -y php8.1 libapache2-mod-php8.1

sudo apt install -y php8.1-cli php8.1-mbstring php8.1-gd php8.1-imap php8.1-zip php8.1-curl php8.1-mysql php8.1-xml php8.1-imagick php8.1-tidy php8.1-bcmath php8.1-opcache php8.1-soap php8.1-xmlrpc php8.1-iconv php8.1-exif

Примечание: Некоторые модули, такие как recode и memcached, могут потребовать дополнительной настройки или установки из PECL.


4. Установка базы данных MariaDB

Установите одну из поддерживаемых версий MariaDB (10.1 / 10.3 / 10.6):

sudo apt install mariadb-server -y

После установки настройте root-пароль и создайте базу данных и пользователя:

sudo mysql_secure_installation

5. Установка IonCube Loader

Загрузите и установите IonCube Loader:

cd /tmp
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar -xzf ioncube_loaders_lin_x86-64.tar.gz
sudo cp ioncube/ioncube_loader_lin_8.1.so /usr/lib/php/20210902/

# Добавьте строчку в php.ini
echo "zend_extension=ioncube_loader_lin_8.1.so" | sudo tee /etc/php/8.1/apache2/conf.d/00-ioncube.ini
echo "zend_extension=ioncube_loader_lin_8.1.so" | sudo tee /etc/php/8.1/cli/conf.d/00-ioncube.ini

# Перезапуск Apache
sudo systemctl restart apache2

6. Установка Composer (опционально)

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
php -r "unlink('composer-setup.php');"

7. Установка вспомогательных утилит

sudo apt install -y wget curl unzip imagemagick

8. Установка дистрибутива

Перейдите в директорию проекта

mkdir -p /var/www/public_html && cd /var/www/

Загрузите файлы дистрибутива, если еще не сделали этого

wget -O cb.zip "https://clientbase.ru/download.php?fname=cb_web_3.0.5_ioncube_81.zip" && unzip cb.zip -d ./public_html && rm cb.zip

9. Настройка прав доступа

Убедитесь, что каталог с проектом доступен для Apache:

sudo chown -R www-data:www-data /var/www/public_html
sudo find /var/www/public_html -type d -exec chmod 755 {} \;
sudo find /var/www/public_html -type f -exec chmod 644 {} \;

10. Настройка cron-задачи

Добавьте в crontab пользователя www-data задачу для запуска cron.php каждую минуту:

sudo crontab -u www-data -e

Добавьте строку:

* * * * * wget -q -O- http://127.0.0.1/cron.php > /dev/null 2>&1

11. Перезапуск служб

После всех настроек перезапустите службы:

sudo systemctl restart apache2
sudo systemctl restart mariadb