-
Notifications
You must be signed in to change notification settings - Fork 4
Настройка VDS и установка Nginx, PHP, MongoDB, Shopkeeper4
Войти на сервер по SSH:
ssh root@111.222.333.444
111.222.333.444 - пример IP-адреса сервера
Посмотреть список доступных локалей:
locale -a | grep ru
Сгенерировать русскую локаль:
locale-gen ru_RU.UTF-8
Обновить пакеты:
apt update && apt upgrade
Выбрать часовой пояс:
dpkg-reconfigure tzdata
Установить пакеты, которые пригодятся:
apt install software-properties-common wget nano unzip
adduser username
echo "username $(hostname)=(root) PASSWD: $(which su)" >> /etc/sudoers
Заменить "username" на ваше имя.
Теперь, если мы выйдем и войдем под пользователем username, то мы не сможем выполнить ни одной команды с правами супер-пользователя (sudo), кроме su.
exit
На своем компьютере генерируем ключи, если их нет:
Linux:
ssh-keygen -t rsa
~/.ssh/id_rsa.pub - публичный ключ
На Windows можно использовать PuTTYgen, которое устанавливается вместе с PuTTY (https://www.putty.org/). Выберите тип ключа SSH2-RSA и нажмите Generate. После генерации ввести секретную фразу и сохранить файлы приватного и публичного ключей.
ssh username@111.222.333.444
Добавляем свой публичный ssh-ключ:
mkdir .ssh
echo "ssh-rsa AAAAB3NzaC1yc2EAAAAD....." > ~/.ssh/authorized_key
Теперь, если выйти и снова войти под пользователем username, то запроса пароля не будет. Запрос на ввод пароля будет только после ввода команды su - стать супер-пользователем.
Cтать супер-пользователем, используя свой пароль:
sudo su -
"-" - установить переменные окружения именно пользователя root.
Теперь можно отключить вход по паролю и вход под пользователем root:
nano /etc/ssh/sshd_config
Раскомментировать строчки:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
Обратите внимание, что в строке "PasswordAuthentication" нужно поставить "no" (по умолчанию - yes).
В строке "PermitRootLogin" меняем значение на "no":
PermitRootLogin no
Нажимаем клавиши "Ctrl+x" и затем клавишу "y" (подтвердить изменения).
Перезапустим sshd:
/etc/init.d/ssh restart
apt install ufw
Проверим состояние:
ufw app list
Вы должны увидеть что-то вроде:
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Разрешить SSH соединения:
ufw allow OpenSSH
Включить файрвол:
ufw enable
Проверить статус:
ufw status
apt install nginx
Разрешить трафик:
ufw allow 'Nginx HTTP'
ufw allow 'Nginx HTTPS'
Проверить статус:
ufw status
add-apt-repository ppa:ondrej/php
apt update
apt install php-pear php7.3 php7.3-common php7.3-cli php7.3-curl php7.3-dev php7.3-gd php7.3-mbstring php7.3-zip php7.3-xml php7.3-fpm php7.3-imagick php7.3-recode php7.3-tidy php7.3-xmlrpc php7.3-intl php7.3-mongodb
pecl install mongodb
nano /etc/php/7.3/fpm/php.ini
Найти строку, убрать ";" и установить значение "0":
cgi.fix_pathinfo=0
memory_limit = 256M
upload_max_filesize = 100M
post_max_size = 100M
Перезапуск PHP-fpm:
/etc/init.d/php7.3-fpm restart
Источник: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
apt update
apt install -y mongodb-org
nano /etc/mongod.conf
Установить значения для параметров в файле (порядок параметров оставить исходным):
engine: wiredTiger
bindIp: 0.0.0.0
security:
authorization: "enabled"
service mongod start
service mongod status
Создание пользователей БД
mongo
use admin
Создаем пользователя root:
db.createUser(
{
user: "root",
pwd: "PASSWORD",
roles: [{role:"root", db:"admin"}]
}
)
Вместо "PASSWORD" введите свой пароль. Авторизуемся под пользователем root:
db.auth('root', 'PASSWORD')
Создаем пользователя для приложения Shopkeeper4:
db.createUser(
{
user: "shopkeeper4user",
pwd: "PASSWORD",
roles: [{role: "readWrite", db: "shk4-db"}]
}
)
Готово. Для выхода из mongo shell нажать клавиши "Ctrl+c".
Создать конфигурацию для Nginx:
nano /etc/nginx/sites-available/shopkeeper4.conf
Использовать пример конфигурации отсюда https://github.com/andchir/shopkeeper4/wiki/Настройка-веб-сервера
ln -s /etc/nginx/sites-available/shopkeeper4.conf /etc/nginx/sites-enabled/shopkeeper4.conf
/etc/init.d/nginx restart
mkdir /var/www/shopkeeper4 && cd /var/www/shopkeeper4
Создать файл "shk4-install.sh":
nano shk4-install.sh
Вставить код отсюда https://github.com/andchir/shopkeeper4/wiki/Bash-скрипт-для-установки
Установить права на исполнение:
chmod +x shk4-install.sh
Запустить скрипт:
./shk4-install.sh.
Далее вам будет предложено открыть сайт в браузере и продолжить установку. Нужно ввести имя пользователя БД, пароль, имя базы данных (она будет создана автоматически). Указать адрес эл.почты и пароль администратора.
-
Русский
- Описание
- Установка
- Bash скрипт для установки
- Настройка веб-сервера
- Настройка VDS и установка Nginx, PHP, MongoDB, Shopkeeper4
- Данные и шаблоны
- Оптимизация JS и CSS файлов
- Вывод контента
- Корзина товаров
- Настройка онлайн оплаты
- Меню
- Формы
- Поиск
- Учет количества товара на складе
- Мульти-валютность
- Мульти-язычность
- Изменение размеров изображений
- Настройка оплаты через Robokassa
- Разработчикам
- Импорт-Экспорт дополнение
- English