Установка: различия между версиями

Материал из WiKi - UserSide
(не показано 39 промежуточных версий 2 участников)
Строка 3: Строка 3:
== Подготовительные работы ==
== Подготовительные работы ==


* рекомендуется выполнять установку на FreeBSD/Linux-системы. Установка на Windows также возможна, но практика показала, что на *nix-системах производительность программы гораздо выше при тех же технических характеристиках сервера.
* рекомендуется выполнять установку на любые Unix-системы. Рекомендуем использовать дистрибутивы Linux попроще и понадежнее, вроде Debian, CentOS или Ubuntu Server (FreeBSD тоже подойдет, если вы знаете, с чем имеете дело). Установка на Windows также возможна, но практика показала, что на *nix-системах производительность программы гораздо выше при тех же технических характеристиках сервера. Далее рассматривается пример установки на Linux Debian 9 Stretch с web-сервером nginx


* убедитесь, что ваша система соответствует необходимым [[Технические требования|техническим требованиям]]
* убедитесь, что ваша система соответствует необходимым [[Технические требования|техническим требованиям]]


* настроить веб-сервер и добавить в него доменное имя/проект для UserSide
* установите postgresql, postgis, php, все необходимые расширения и веб-сервер. Для версии USERSIDE 3.13 мы рекомендуем использовать php7.2, для 3.11 - php7.1. Также рекомендуем использовать web-сервер nginx. Пример для Debian 9 (Stretch):


* опционально настроить виртуальный хост следующим образом ''(пример для Apache24 Debian/Ubuntu)''
sudo apt update
sudo apt install -y apt-transport-https lsb-release ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -sc)-pgdg main" | sudo tee -a /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - http://nginx.org/keys/nginx_signing.key | sudo apt-key add -
echo "deb http://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx" | sudo tee -a /etc/apt/sources.list.d/nginx.list
echo "deb-src http://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx" | sudo tee -a /etc/apt/sources.list.d/nginx.list
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/php.list
sudo apt update
sudo apt remove -y nginx-common apache2
sudo apt autoremove -y
sudo apt install -y snmp-mibs-downloader postgresql-11 postgresql-11-postgis-2.5 nginx
sudo apt install -y php7.2-fpm php7.2-cli php7.2-common php7.2-curl php7.2-intl php7.2-json php7.2-mbstring php7.2-opcache php7.2-pgsql php7.2-readline php7.2-xml php7.2-zip php7.2-snmp php7.2-gd php7.2-soap
sudo download-mibs
 
* выполните настройку PHP: укажите свой часовой пояс, желаемый объем POST-данных (если 50 Мб мало - укажите ваше предпочитаемое значение) и максимальное время выполнения (если в будущем будет мало, сможете изменить); и базовую настройку nginx, выполнив следующие команды:


  Исходные данные следующие:
  sudo sed -i "s@^;*date.timezone.*@date.timezone = Europe/Zaporozhye@" "/etc/php/7.2/fpm/php.ini"
  а) файлы и каталоги приложения USERSIDE расположены в каталоге /var/www/userside/
  sudo sed -i "s@^;*date.timezone.*@date.timezone = Europe/Zaporozhye@" "/etc/php/7.2/cli/php.ini"
  б) адрес сайта виртуального хоста userside.mydomain.com
  sudo sed -i "s@;cgi.fix_pathinfo=1@cgi.fix_pathinfo=0@" "/etc/php/7.2/fpm/php.ini"
   
  sudo sed -i "s@post_max_size = 8M@post_max_size = 50M@" "/etc/php/7.2/fpm/php.ini"
  <VirtualHost *:80>
  sudo sed -i "s@upload_max_filesize = 2M@upload_max_filesize = 50M@" "/etc/php/7.2/fpm/php.ini"
    ServerAdmin webmaster@yourdomain.name
sudo sed -i "s@^user.*;@user www-data www-data;@" "/etc/nginx/nginx.conf"
    DocumentRoot "/var/www/userside/userside3"
sudo sed -i "s@max_execution_time.*@max_execution_time = 120@" "/etc/php/7.2/fpm/php.ini"
    ServerName userside.mydomain.com
sudo sed -i "s@max_input_time.*@max_input_time = 120@" "/etc/php/7.2/fpm/php.ini"
    ErrorLog "/var/log/apache2/userside-main-error.log"
sudo sed -i 's@;*request_terminate_timeout.*@request_terminate_timeout = 120@' /etc/php/7.2/fpm/pool.d/www.conf
    CustomLog "/var/log/apache2/userside-main-access.log" common
 
    <Directory "/var/www/userside/userside3">
* создайте каталог, который будет является корнем web-сервера (root). При этом обратите внимание на то, что корнем самого приложения будет каталог '''/var/www/userside'''.
        Options -Indexes
 
        AllowOverride All
  sudo mkdir -p /var/www/userside/userside3
        Require all granted
 
    </Directory>
* создайте сайт для nginx (или отредактируйте имеющийся сайт по умолчанию). Для этого создайте файл /etc/nginx/conf.d/userside.conf и поместите в него текст:
</VirtualHost>


* в MySQL-сервере переменную ''max_allowed_packet'' нужно увеличить до "10M" ''(файл my.cnf/my.ini)''
server {
    listen              80;
    server_name          userside.mycompany.com;  # ИЗМЕНИТЕ ЭТО ИМЯ
    charset              utf-8;
    client_max_body_size 50M;
    access_log  /var/log/nginx/userside-access.log;
    error_log  /var/log/nginx/userside-error.log;
    root  /var/www/userside/userside3;
    index  index.php;
    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }
    location / {
        try_files $uri $uri/ =404;
    }
    location ~* ^.+\.(css|js|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
        access_log    off;
        log_not_found off;
        expires      max;
        add_header    Pragma public;
        add_header    Cache-Control "public";
    }
    location ~ \.php$ {
        try_files    $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass  unix:/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_read_timeout 600;
        include      fastcgi_params;
    }
    location ~ /\.ht { deny  all; }
    error_page 404 /404.php?type=404;
    error_page 403 /404.php?type=403;
    error_page 500 /404.php?type=500;
    location = /404.php {
        root /var/www/userside/userside3/main/error/;
        internal;
    }
}


* создать базу данных на сервере MySQL с названием '''userside''' и кодировкой '''utf8'''
* выполните [[Установка PostgreSQL|установку и/или настройку PostgreSQL и расширения Postgis]]


* выполнить [[Установка PostgreSQL|установку и/или настройку PostgreSQL]]
* выполните [[Установка Redis|установку и/или настройку Redis]]


* установить PostGIS ''(apt-get install postgis)'' (http://postgis.net/install/)
* перезапустите стек


* выделить отдельный каталог ''(напр. /var/www/userside/)''
sudo systemctl restart postgresql.service
sudo systemctl restart nginx.service
sudo systemctl restart php7.2-fpm.service


== Инсталлятор ==
== Инсталлятор ==
Строка 42: Строка 97:
См. также: [[Инсталлятор]]
См. также: [[Инсталлятор]]


[[Файл:20170702_4.PNG|thumb|800px|center]]
[[Файл:Interactive-Install.png|center]]


1) перейти в каталог системы ''(/var/www/userside)''
1) перейти в каталог системы ''(/var/www/userside)''
Строка 48: Строка 103:
2) запустить команду  
2) запустить команду  


  php -r "copy('http://my.userside.eu/install', 'userside_install.phar');"  
  php -r "copy('https://my.userside.eu/install', 'userside_install.phar');"  


ЛИБО
ЛИБО


скачать инсталлятор с личного кабинета http://my.userside.eu и положить его в каталог системы
скачать инсталлятор с личного кабинета https://my.userside.eu и положить его в каталог системы
   
   
3) запускаем инсталлятор
3) запускаем инсталлятор


  php userside_install.phar
  sudo -u www-data php userside_install.phar install


В процессе работы он проверяет соответствие техническим требованиям и задаёт сопутствующие установке вопросы
В процессе работы он проверяет соответствие техническим требованиям и задаёт сопутствующие установке вопросы


[[Файл:20170702_2.png|thumb|800px|center]]
По окончанию работы инсталлятора будет выведено сообщение об успешной установке.


== Настройка системы ==
== Настройка системы ==
* настроить файл '''/userside/userside3/main/config/config.php''' изменив значения переменных
* находясь в каталоге с приложением ''(например: /var/www/userside)'' выполните "php setup" и ответьте на вопросы скрипта установки. Там будет требоваться указать параметры для доступа к созданной базе данных PostgreSQL


* открыть страницу системы '''<nowiki>http://userside.mydomain.com/oper/</nowiki>''' и убедиться в работоспособности системы ''(имя пользователя: Admin, пароль: 1234)''
* открыть страницу системы '''<nowiki>http://userside.mydomain.com/oper/</nowiki>''' и убедиться в работоспособности системы ''(имя пользователя: Admin, пароль: 1234)''
* прописать права на запись для веб-сервера для всего каталога UserSide, включая подкаталоги. Это необходимо для проведения обновлений
* на уровне файла .htaccess запретить просмотр листинга каталогов


* доступ к файлу [[API]] "'''/userside/userside3/api.php'''" рекомендуется ограничить на уровне веб-сервера для доступа лишь с разрешённых IP-адресов
* доступ к файлу [[API]] "'''/userside/userside3/api.php'''" рекомендуется ограничить на уровне веб-сервера для доступа лишь с разрешённых IP-адресов


* прописать внутренний [[Скрипт - Планировщик|планировщик]] UserSide в cron.
* прописать планировщик UserSide в cron.


  * * * * *  www-data  php /var/www/userside/userside3/script/script_cron.php > /dev/null 2>&1
  cat << EOF > /etc/cron.d/userside
  * * * * *  www-data  php /var/www/userside/userside cron > /dev/null 2>&1
  * * * * *  www-data  php /var/www/userside/userside cron > /dev/null 2>&1
EOF


* настроить взаимодействие с [[Поддерживаемые биллинги|биллингом]] в соответствии с [[Настройка взаимодействия с биллингом|инструкциями]]
* настроить взаимодействие с [[Поддерживаемые биллинги|биллингом]] в соответствии с [[Настройка взаимодействия с биллингом|инструкциями]]
Строка 85: Строка 133:
* в разделе "[[Настройка - Основная|Настройка - Основная]]" изучите основные разделы, параметры и настройте систему под себя.
* в разделе "[[Настройка - Основная|Настройка - Основная]]" изучите основные разделы, параметры и настройте систему под себя.


'''Крайне рекомендуется после установки системы установить периодическое ''(лучше - ежедневное)'' создание резервной копии штатными средствами MySQL и PostgeSQL и её хранение НА ДРУГОМ КОМПЬЮТЕРЕ. Например:'''
== Резервное копирование, восстановление, клонирование ==
  mysqldump -uroot -pPASS userside > /var/www/userside.sql
 
  pg_dump userside > /var/www/userside_pg.sql
'''Крайне рекомендуется после установки системы установить периодическое ''(лучше - ежедневное)'' создание резервной копии штатными средствами PostgeSQL и её хранение НА ДРУГОМ узле.
Например:'''
  sudo -u postgres pg_dump --no-acl --no-owner -Fc userside > /backup/userside.dump
 
Восстановить сделанную таким образом резервную копию можно различными способами.
 
Перед восстановлением базы данных необходимо обязательно очистить кеш Redis ''(только для версии 3.13 и новее)''
  php userside cache/flush-all
 
Если необходимо восстановить базу данных из резервной копии '''поверх существующей базы данных''' (все объекты базы данных будут заменены новыми), выполните:
sudo -u postgres pg_restore --clean --if-exists --dbname=userside /backup/userside.dump
В этом случае явно указывается база данных, в которую необходимо восстановить содержимое базы данных.
 
Если необходимо восстановить базу данных из резервной копии '''с автоматическим созданием базы данных''', выполните (обратите внимание, имя базы данных в данном случае указывается postgres):
sudo -u postgres pg_restore --clean --if-exists --create --dbname=postgres /backup/userside.dump
База данных будет создана автоматически (вся необходимая информация для этого находится в резервной копии). Если база данных уже существует - она будет сначала удалена, а затем создана автоматически.
 
Если вам необходимо скопировать существующую базу данных для тестирования новых версий или других целей, то используйте для этого команду создания базы данных:
sudo -u postgres createdb -e --encoding="UTF-8" --locale="ru_RU.UTF-8" --owner=userside --template=userside userside_new
В этом случае просто создается новая база данных, в качестве шаблона которой используется существующая база данных. Используйте именно такой способ, если нужно сделать копию базы данных.


{| border=1
Если вы планируете восстановить базу данных из резервной копии таким образом, чтобы у новой базы данных был другой владелец (userside_new_user), то вам нужно будет сделать следующее:
|
sudo -u postgres createuser userside_new_user -P
[[Файл:alert.png]] '''Предупреждение:''' не пренебрегайте безопасностью. Используйте устойчивые пароли для операторов системы и не забывайте их периодически менять. Также запретите просмотр содержимого директорий в каталоге /userside/.
sudo -u postgres createdb -e -E "UTF-8" -l "ru_RU.UTF-8" -O userside_new_user -T template0 userside_new_db
|}
sudo -u postgres psql -d userside_new_db -c "CREATE EXTENSION postgis"
  sudo -u postgres pg_restore --no-owner --role=userside_new_user --dbname=userside_new_db /backup/userside.dump
Во время выполнения последней команды вы получите сообщения об ошибках перезаписи объектов postgis внутри базы данных (порядка 5 сообщений), так как при восстановлении была явно указана новая роль, которая не может быть применена к системным объектам postigs. Внимательно просмотрите сообщения об ошибках, чтобы они не относились к каким либо другим объектам базы данных.


'''Рекомендуется ознакомиться с инструкциями на странице: [[С чего начать?]]'''
'''Рекомендуется ознакомиться с инструкциями на странице: [[С чего начать?]]'''
== Дополнительные данные ==


* мы постоянно усовершенствуем систему и выпускаем [[Обновление|обновления]]. Они представляют собой архив с обновленными файлами и инструкцией по обновлению. Следите за новостями системы UserSide, скачивайте в [[Файловый архив|файловом архиве]] обновления и следуйте прилагаемой инструкции.
== Частозадаваемые вопросы (FAQ) ==


* после выпуска обновлений мы иногда можем выкладывать в файловом архиве "[[HotFix|хотфиксы]]" с текущим исправлением ошибок и небольшими усовершенствованиями. Они представляют собой архив с файлами, которые нужно перенести к себе в рабочую систему (заменяя существующие файлы). Рекомендуем периодически заходить в файловый архив и проверять наличие «хотфиксов».
'''Ошибка 404 при проверке URL.''' Вероятней всего неверно настроен WEB-сервер. root (DocumentRoot) WEB-сервера должен указывать на каталог /var/www/userside/'''userside3'''

Версия от 08:42, 9 июня 2019

ВНИМАНИЕ: Данная инструкция актуальна для версий ERP "UserSide" 3.11 и выше. Для версии ниже 3.11 - используйте отдельную инструкцию по установке.

Подготовительные работы

  • рекомендуется выполнять установку на любые Unix-системы. Рекомендуем использовать дистрибутивы Linux попроще и понадежнее, вроде Debian, CentOS или Ubuntu Server (FreeBSD тоже подойдет, если вы знаете, с чем имеете дело). Установка на Windows также возможна, но практика показала, что на *nix-системах производительность программы гораздо выше при тех же технических характеристиках сервера. Далее рассматривается пример установки на Linux Debian 9 Stretch с web-сервером nginx
  • установите postgresql, postgis, php, все необходимые расширения и веб-сервер. Для версии USERSIDE 3.13 мы рекомендуем использовать php7.2, для 3.11 - php7.1. Также рекомендуем использовать web-сервер nginx. Пример для Debian 9 (Stretch):
sudo apt update
sudo apt install -y apt-transport-https lsb-release ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -sc)-pgdg main" | sudo tee -a /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - http://nginx.org/keys/nginx_signing.key | sudo apt-key add -
echo "deb http://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx" | sudo tee -a /etc/apt/sources.list.d/nginx.list
echo "deb-src http://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx" | sudo tee -a /etc/apt/sources.list.d/nginx.list
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/php.list
sudo apt update
sudo apt remove -y nginx-common apache2
sudo apt autoremove -y
sudo apt install -y snmp-mibs-downloader postgresql-11 postgresql-11-postgis-2.5 nginx
sudo apt install -y php7.2-fpm php7.2-cli php7.2-common php7.2-curl php7.2-intl php7.2-json php7.2-mbstring php7.2-opcache php7.2-pgsql php7.2-readline php7.2-xml php7.2-zip php7.2-snmp php7.2-gd php7.2-soap
sudo download-mibs
 
  • выполните настройку PHP: укажите свой часовой пояс, желаемый объем POST-данных (если 50 Мб мало - укажите ваше предпочитаемое значение) и максимальное время выполнения (если в будущем будет мало, сможете изменить); и базовую настройку nginx, выполнив следующие команды:
sudo sed -i "s@^;*date.timezone.*@date.timezone = Europe/Zaporozhye@" "/etc/php/7.2/fpm/php.ini"
sudo sed -i "s@^;*date.timezone.*@date.timezone = Europe/Zaporozhye@" "/etc/php/7.2/cli/php.ini"
sudo sed -i "s@;cgi.fix_pathinfo=1@cgi.fix_pathinfo=0@" "/etc/php/7.2/fpm/php.ini"
sudo sed -i "s@post_max_size = 8M@post_max_size = 50M@" "/etc/php/7.2/fpm/php.ini"
sudo sed -i "s@upload_max_filesize = 2M@upload_max_filesize = 50M@" "/etc/php/7.2/fpm/php.ini"
sudo sed -i "s@^user.*;@user www-data www-data;@" "/etc/nginx/nginx.conf"
sudo sed -i "s@max_execution_time.*@max_execution_time = 120@" "/etc/php/7.2/fpm/php.ini"
sudo sed -i "s@max_input_time.*@max_input_time = 120@" "/etc/php/7.2/fpm/php.ini"
sudo sed -i 's@;*request_terminate_timeout.*@request_terminate_timeout = 120@' /etc/php/7.2/fpm/pool.d/www.conf
  • создайте каталог, который будет является корнем web-сервера (root). При этом обратите внимание на то, что корнем самого приложения будет каталог /var/www/userside.
 sudo mkdir -p /var/www/userside/userside3
  • создайте сайт для nginx (или отредактируйте имеющийся сайт по умолчанию). Для этого создайте файл /etc/nginx/conf.d/userside.conf и поместите в него текст:
server {
    listen               80;
    server_name          userside.mycompany.com;  # ИЗМЕНИТЕ ЭТО ИМЯ
    charset              utf-8;
    client_max_body_size 50M;
    access_log  /var/log/nginx/userside-access.log;
    error_log   /var/log/nginx/userside-error.log;
    root   /var/www/userside/userside3;
    index  index.php;
    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }
    location / {
        try_files $uri $uri/ =404;
    }
    location ~* ^.+\.(css|js|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
        access_log    off;
        log_not_found off;
        expires       max;
        add_header    Pragma public;
        add_header    Cache-Control "public";
    }
    location ~ \.php$ {
        try_files     $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass  unix:/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_read_timeout 600;
        include       fastcgi_params;
    }
    location ~ /\.ht { deny  all; }
    error_page 404 /404.php?type=404;
    error_page 403 /404.php?type=403;
    error_page 500 /404.php?type=500;
    location = /404.php {
        root /var/www/userside/userside3/main/error/;
        internal;
    }
}
  • перезапустите стек
sudo systemctl restart postgresql.service
sudo systemctl restart nginx.service
sudo systemctl restart php7.2-fpm.service

Инсталлятор

См. также: Инсталлятор

1) перейти в каталог системы (/var/www/userside)

2) запустить команду

php -r "copy('https://my.userside.eu/install', 'userside_install.phar');" 

ЛИБО

скачать инсталлятор с личного кабинета https://my.userside.eu и положить его в каталог системы

3) запускаем инсталлятор

sudo -u www-data php userside_install.phar install

В процессе работы он проверяет соответствие техническим требованиям и задаёт сопутствующие установке вопросы

По окончанию работы инсталлятора будет выведено сообщение об успешной установке.

Настройка системы

  • открыть страницу системы http://userside.mydomain.com/oper/ и убедиться в работоспособности системы (имя пользователя: Admin, пароль: 1234)
  • доступ к файлу API "/userside/userside3/api.php" рекомендуется ограничить на уровне веб-сервера для доступа лишь с разрешённых IP-адресов
  • прописать планировщик UserSide в cron.
cat << EOF > /etc/cron.d/userside
* * * * *   www-data   php /var/www/userside/userside cron > /dev/null 2>&1
EOF

Резервное копирование, восстановление, клонирование

Крайне рекомендуется после установки системы установить периодическое (лучше - ежедневное) создание резервной копии штатными средствами PostgeSQL и её хранение НА ДРУГОМ узле. Например:

sudo -u postgres pg_dump --no-acl --no-owner -Fc userside > /backup/userside.dump

Восстановить сделанную таким образом резервную копию можно различными способами.

Перед восстановлением базы данных необходимо обязательно очистить кеш Redis (только для версии 3.13 и новее)

php userside cache/flush-all

Если необходимо восстановить базу данных из резервной копии поверх существующей базы данных (все объекты базы данных будут заменены новыми), выполните:

sudo -u postgres pg_restore --clean --if-exists --dbname=userside /backup/userside.dump

В этом случае явно указывается база данных, в которую необходимо восстановить содержимое базы данных.

Если необходимо восстановить базу данных из резервной копии с автоматическим созданием базы данных, выполните (обратите внимание, имя базы данных в данном случае указывается postgres):

sudo -u postgres pg_restore --clean --if-exists --create --dbname=postgres /backup/userside.dump

База данных будет создана автоматически (вся необходимая информация для этого находится в резервной копии). Если база данных уже существует - она будет сначала удалена, а затем создана автоматически.

Если вам необходимо скопировать существующую базу данных для тестирования новых версий или других целей, то используйте для этого команду создания базы данных:

sudo -u postgres createdb -e --encoding="UTF-8" --locale="ru_RU.UTF-8" --owner=userside --template=userside userside_new

В этом случае просто создается новая база данных, в качестве шаблона которой используется существующая база данных. Используйте именно такой способ, если нужно сделать копию базы данных.

Если вы планируете восстановить базу данных из резервной копии таким образом, чтобы у новой базы данных был другой владелец (userside_new_user), то вам нужно будет сделать следующее:

sudo -u postgres createuser userside_new_user -P
sudo -u postgres createdb -e -E "UTF-8" -l "ru_RU.UTF-8" -O userside_new_user -T template0 userside_new_db
sudo -u postgres psql -d userside_new_db -c "CREATE EXTENSION postgis"
sudo -u postgres pg_restore --no-owner --role=userside_new_user --dbname=userside_new_db /backup/userside.dump

Во время выполнения последней команды вы получите сообщения об ошибках перезаписи объектов postgis внутри базы данных (порядка 5 сообщений), так как при восстановлении была явно указана новая роль, которая не может быть применена к системным объектам postigs. Внимательно просмотрите сообщения об ошибках, чтобы они не относились к каким либо другим объектам базы данных.

Рекомендуется ознакомиться с инструкциями на странице: С чего начать?

Частозадаваемые вопросы (FAQ)

Ошибка 404 при проверке URL. Вероятней всего неверно настроен WEB-сервер. root (DocumentRoot) WEB-сервера должен указывать на каталог /var/www/userside/userside3