Содержание

Установка Ministra 5.6.9 на Ubuntu Server 20.04

Установка только на чистую систему! В этой инструкции установка Ubuntu Server 20.04 выполнялась с MinimalCD.

Выбраны только пакеты OpenSSH server и Basic Ubuntu server

В свежих дистрибутивах 20.04 протух публичный ключ http://repo.mysql.com/apt/ubuntu
Ошибка GPG: http://repo.mysql.com/apt/ubuntu bionic InRelease: 
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29

Лечится так:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
sudo apt-get update

Автоматическая установка

Для тех, кто сильно спешит или ленивых. В тестовых целях можно воспользоваться скриптом автоматической установки. Установка на чистую систему!

cd ~ && wget http://soft.infomir.com/pub/.test_fw/Ministra/install_script/20.04/ministra_install_on_ubuntu20.04_clear.sh.tar && tar -xf ministra_install_on_ubuntu20.04_clear.sh.tar && chmod a+x _install.sh
sudo ./_install.sh

Установка вручную

Установка MySQL 5.7

wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb
sudo apt install ./mysql-apt-config_0.8.12-1_all.deb

sudo apt update
#Если, в ответ на sudo apt update получили:  
#The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29
# То выполните следующее:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
# Если update прошел без ошибок, этот шаг пропускаем
sudo apt upgrade -y

sudo apt update && sudo apt install -yf mysql-client=5.7* mysql-community-server=5.7* mysql-server=5.7*

Установка PHP 7.0

sudo apt-add-repository -y ppa:ondrej/php
sudo apt update && sudo apt upgrade -y && sudo apt install -y php7.0 && sudo update-alternatives --set php /usr/bin/php7.0

Установка Apache, Nginx и др. необходимые пакеты

sudo apt install -y zip unzip nodejs nginx php7.0-mysql php7.0-mcrypt php7.0-mbstring php7.0-memcache memcached php7.0-xml php7.0-soap php7.0-sqlite3 php7.0-imagick php7.0-curl php7.0-intl php7.0-tidy php-pear

Установка Phing

sudo pear channel-discover pear.phing.info && sudo pear install -Z phing/phing-2.16.1

Установка NPM

sudo apt install -y npm && sudo npm install -g npm@2.15.11

Тонкие настройки

mysql -uroot -p -Bse "GRANT ALL PRIVILEGES ON stalker_db.* TO stalker@localhost IDENTIFIED BY '1' WITH GRANT OPTION;"
sudo su -c 'echo short_open_tag = On >> /etc/php/7.0/apache2/php.ini'
sudo su -c 'echo sql_mode=\"\" >> /etc/mysql/mysql.conf.d/mysqld.cnf'
sudo a2enmod rewrite
sudo mkdir -m777 /var/www/.npm

Настройка хостa Apache. Пример

<VirtualHost localhost:88>
#ServerName www.example.com
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
            <Directory /var/www/html/stalker_portal/>
                Options -Indexes -MultiViews
                AllowOverride ALL
                Require all granted
            </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Настройка Apche ports.conf

Listen 88
<IfModule ssl_module>
        Listen 443
</IfModule>
<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

Настройка хоста Nginx. Пример

server {
        proxy_ignore_client_abort on;
        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        proxy_set_header Connection "";
        listen 80;
        server_name localhost;
        root /var/www/html;
            location ^~ /player {
                root /var/www/html/player;
                index index.php;
                rewrite ^/player/(.*) /player/$1 break;
                proxy_pass http://127.0.0.1:88/;
                proxy_set_header Host $host:$server_port;
                proxy_set_header X-Real-IP $remote_addr;
            }
            location / {
                proxy_ignore_client_abort on;
                proxy_pass http://localhost:88/;
                proxy_set_header Host $host:$server_port;
                proxy_set_header X-Real-IP $remote_addr;
            }
            location ~* \.(htm|html|jpeg|jpg|gif|png|css|js)$ {
                root /var/www/html;
                expires 30d;
            }
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log error;
}

Перезапуск сервисов

sudo /etc/init.d/apache2 restart && sudo /etc/init.d/nginx restart && sudo /etc/init.d/mysql restart

Phing

cd /var/www/html/stalker_portal/deploy/
sudo phing