- Описание
- Установка
- Настройка веб сервера
- Данные и шаблоны
- Оптимизация JS и CSS файлов
- Вывод контента
- Корзина товаров
- Настройка онлайн оплаты
- Настройка оплаты через Robokassa
- Меню
- Формы
- Поиск
- Учет количества товара на складе
- Мульти-валютность
- Мульти-язычность
- Изменение размеров изображений
- Разработчикам
- Импорт-Экспорт
- Установка на локальный сервер XAMPP в Windows
- Настройка VDS и установка Nginx, PHP, MongoDB, Shopker
- JavaScript API
- Визуальный редактор шаблонов
- Бронирование
- Экспорт каталога в Яндекс.Маркет
- Bash скрипт для настройки VDS
- Bash скрипт для установки
- API
- Установка локально в ОС Windows
Bash скрипт для настройки VDS
Bash скрипт для установки MongoDB, Nginx, PHP на сервере (VDS).
Авторизоваться по SSH на сервере и создать файл "shopker_server_install.sh" в домашней директории пользователя:
ssh root@111.222.333.444
touch "shopker_server_install.sh"
nano "shopker_server_install.sh"
Содержимое файла:
#!/bin/bash
DIR="$(pwd)"
DOMAIN_NAME="shopker.localhost"
LOG_FILE_PATH="$DIR""/install.log"
GREEN="\e[32m"
RED="\e[31m"
GRAY="\e[2m"
BLUE="\e[94m\e[1m"
NC="\e[0m"
if [ "$1" == "-h" ]; then
echo -e "$NC"
echo -e "${BLUE}Использование: ./$(basename "$0") \"{DOMAIN_NAME}\""
echo -e "$NC"
exit 0
fi
if [ -n "$1" ]; then
DOMAIN_NAME="$1"
fi
echo ""
echo -e "${BLUE}=== УСТАНОВКА MONGODB, PHP, NGINX (для Ubuntu 20.04 LTS) ==="
echo -e "$NC"
read -n1 -r -p "Нажмите клавишу ENTER для продолжения..." key
echo ""
if [ "$key" = '' ]; then
echo -e "${GRAY}...Установка OpenPGP..."
echo -e "$NC"
GPG_PATH=$(command -v gpg)
if [ ! -f "$GPG_PATH" ]; then
apt install -y gnupg >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH";
echo -e "${GREEN}Готово."
echo -e "$NC"
else
echo -e "${GREEN}OpenPGP уже установлен. Следующий шаг..."
echo -e "$NC"
fi
echo -e "${GRAY}...Установка MongoDB..."
echo -e "$NC"
MONGOD_PATH=$(command -v mongo)
if [ ! -f "$MONGOD_PATH" ]; then
if wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add - >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH"; then
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee "/etc/apt/sources.list.d/mongodb-org-4.4.list" >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH";
apt update >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH";
apt install -y mongodb-org >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH";
echo -e "${GREEN}Готово."
echo -e "$NC"
else
echo -e "${RED}Невозможно импортировать GPG ключ."
echo -e "$NC"
exit 1
fi
else
echo -e "${GREEN}MongoDB уже установлен. Следующий шаг..."
echo -e "$NC"
fi
echo -e "${GRAY}...Запуск MongoDB..."
echo -e "$NC"
if service mongod start >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH"; then
echo -e "${GREEN}Готово."
echo -e "$NC"
else
echo -e "${RED}Невозможно запустить MongoDB."
echo -e "$NC"
exit 1
fi
echo -e "${GRAY}...Установка PHP..."
echo -e "$NC"
PHP_PATH=$(command -v php)
if [ ! -f "$PHP_PATH" ]; then
apt update >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH";
apt install -y php-pear php7.4 php7.4-common php7.4-cli php7.4-fpm php7.4-curl php7.4-dev php7.4-gd php7.4-mbstring php7.4-zip php7.4-xml php7.4-fpm php7.4-imagick php7.4-tidy php7.4-xmlrpc php7.4-intl php7.4-mongodb >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH";
echo -e "${GREEN}Готово. Версия PHP: $(php -r 'echo PHP_VERSION;')"
echo -e "$NC"
else
echo -e "${GREEN}PHP уже установлен. Следующий шаг..."
echo -e "$NC"
fi
echo -e "${GRAY}...Установка Nginx..."
echo -e "$NC"
NGINX_PATH=$(command -v nginx)
if [ ! -f "$NGINX_PATH" ]; then
apt update >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH";
apt install -y nginx >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH";
echo -e "${GREEN}Готово."
echo -e "$NC"
else
echo -e "${GREEN}Nginx уже установлен. Следующий шаг..."
echo -e "$NC"
fi
echo -e "${GRAY}...Создание конфигурации для домена Shopker..."
echo -e "$NC"
echo "server {
listen 80;
server_name ${DOMAIN_NAME};
root /var/www/${DOMAIN_NAME}/public;
location / {
try_files \$uri /index.php\$is_args\$args;
}
location ~ ^/(index|check)\.php(/|$) {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME \$realpath_root\$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT \$realpath_root;
internal;
}
location ~ \.php$ {
return 404;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ /\. {
deny all;
}
error_log /var/log/nginx/${DOMAIN_NAME}_error.log;
access_log /var/log/nginx/${DOMAIN_NAME}_access.log;
}" | tee /etc/nginx/sites-available/default >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH"
/etc/init.d/nginx reload >> "$LOG_FILE_PATH" 2>> "$LOG_FILE_PATH"
echo -e "${GREEN}Установка завершена."
echo -e "$NC"
else
echo ""
echo -e "${RED}ОТМЕНЕНО"
echo -e "$NC"
fi
Установить права на запуск: chmod +x shopker_server_install.sh
Использование: ./shopker_server_install.sh "{ИМЯ_ДОМЕНА}"
Справка: ./shopker_server_install.sh -h
MongoDB устанавливается без пароля root, но получить доступ к нему можно только с локального сервера, поэтому это достаточно безопасно.