Тази статия съдържа инструкции за инсталиране на собствен MongoDB сървър чрез нашата платформата за уеб приложения (WebApps).

Важно: Ако нямате раздел "Уеб приложения" във Вашия Контролен панел, тогава инструкциите в тази статия не са валидни за Вашия акаунт и сървър. Можете да ни пишете за повече информация и съдействие.

"SSH достъп" и "Мрежови инструменти" трябва да са активирани за Вашия акаунт през раздел "SSH Достъп" на Контролния панел.

Свържете към Вашия акаунт чрез SSH и следвайте стъпки, описани по-долу.

Инсталиране на собствен MongoDB сървър

  1. Отидете в директорията, в която желаете да инсталирате MongoDB (напр. "~/.local/bin")
    cd /home/$USER/.local/bin
  2. Изтеглете файловете за желаната версия на MongoDB от официалната страница. Трябва да изберете версията на MongoDB (напр. 7.0.12) , подходяща версия на Debian за платформа (например "Debian 11.0 x64"), "tgz" за пакет и да кликнете на бутона за копиране на линка (напр. "https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-debian11-7.0.12.tgz"). Можете да изтеглите файла на сървъра със следната "curl" команда:

    curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-debian11-7.0.12.tgz
  3. Разархивирайте изтегления файл с командата "tar":

    tar -zxvf mongodb-linux-x86_64-debian11-7.0.12.tgz
  4. Копирайте файловете от /bin директорията на архива в директорията на MongoDB (напр. "~/.local/bin).

    cp -R -n mongodb-linux-x86_64-debian11-7.0.12/bin/* /home/$USER/.local/bin
  5. Уверете се, че пътят до MongoDB файловете е добавен в променливата "PATH". Можете да направите това, като добавите следния ред с код в ".bashrc" файла на Вашия акаунт (~/.bashrc):

    export PATH=$HOME/.local/bin:$PATHАко MongoDB файловете се намират в друга директория, то я добавете в променливата "PATH":

    export PATH=<mongodb-install-directory>/bin:$PATH
  6. Създайте директорията на уеб приложението, където ще използвате MongoDB (напр. "~/private/mongodb"). В тази директория, трябва да създадете директория data/db (напр. "~/private/mongodb/data/db"):

    mkdir -pv /home/$USER/private/mongodb/data/db
  7. Създайте WebApps проект със следната sureapp CLI команда:

    sureapp project create \
        --engine "custom" \
        --engine-version "-" \
        --release-dir "/home/$USER/private/mongodb/" \
        --start-cmd "/home/$USER/.local/bin/mongod --dbpath /home/$USER/private/mongodb/data/db --port \$PORT" \
        mongodb

    Важно: Заместете "/home/$USER/.local/bin/mongod" с пълния път до Вашия собствен MongoDB сървър.

Настройване на WebApps проект


Отворете раздел "Уеб приложения" във Вашия хостинг Контролен панел и кликнете на бутона с иконка на молив до проекта "mongodb". Изберете домейна и поддомейна чрез съответните падащи менюта в показалия се екран.

Стартирайте приложението чрез бутона за стартиране до него.

Посетете линка от колоната "Адрес" за проекта, където трябва да видите следното съобщение:

It looks like you are trying to access MongoDB over HTTP on the native driver port.

Ограничаване на достъпа

Можете да включите автентикация за MongoDB, с което да ограничите достъпа до базите Ви данни. Ако сте активирали ограничението на достъпа за MongoDB, потребителите ще могат да изпълняват само действията, които са разрешени за техните роли. Можете да следвате тези стъпки, за да добавите администраторски потребител за MongoDB без ограничение на достъпа и след това да ограничите достъпа:

  1. Влезте в shell на mongodb проекта чрез командата sureapp project shell mongodb и се свържете с MongoDB чрез mongosh:

    mongosh --port $PORT
    Бележка: Инструмента "mongosh" за управление на MongoDB през командния ред е заместистел на "mongo" инструмента, който е спрян от поддръжка от MongoDB v5.0.

  2. Създайте нов потребител с администраторски права:

    use admin
    db.createUser(
    {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
    }
    )

    Важно: Заменете myUserAdmin и abc123 с потребителското име и паролата, които желаете да използвате.

  3. Излезте от mongosh.

  4. Променете стартовата команда за MongoDB приложението Ви, така че да съдържа опцията "--auth" за активиране на контрол на достъпа така:
    sureapp project modify\
        --start-cmd "/home/$USER/.local/bin/mongod --auth --dbpath /home/$USER/private/mongodb/data/db --port \$PORT" \
        mongodb
  5. Рестартирайте MongoDB приложението с тази команда:

    sureapp service manage --disable mongodb && sureapp service manage --enable mongodb

Свързване с MongoDB база данни

Стандартния формат за URI връзка с MongoDB база данни изглежда така:

mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[database][?options]]

Следователно за връзка с базата данни, дадена за пример в тази статия, можете да използвате следния низ:

mongodb://myUserAdmin:abc123@localhost:16250/admin