Parse Server представляет собой приложение с открытым исходным кодом, разработанное на платформе node.js. Оно функционирует как Backend As A Service (BAAS), предоставляя разработчикам инструменты для создания серверной части своих мобильных приложений.
Parse Dashboard — это другое приложение, также разработанное на node.js командой Parse. Это веб-интерфейс, позволяющий управлять сервером Parse. Вы можете управлять несколькими серверами Parse через один дашборд.
Этот учебник поможет вам установить Parse Server и панель управления на CentOS Linux.
Перед началом установки убедитесь, что на вашем сервере установлены Node.js и npm. Вы можете проверить их наличие с помощью команд node -v и npm -v. Если они не установлены, выполните следующие команды:
sudo dnf module install nodejs
После установки Node.js, рекомендуется установить MongoDB, так как Parse Server использует его для хранения данных. Установите MongoDB, следуя инструкциям на официальном сайте, и запустите сервис:
sudo systemctl start mongod
Теперь вы готовы установить Parse Server. Для этого создайте директорию для вашего проекта и перейдите в нее:
mkdir parse-server && cd parse-server
Теперь установите Parse Server с помощью npm:
npm install parse-server
После установки создайте файл конфигурации index.js с необходимыми параметрами, включая данные для подключения к вашей базе данных MongoDB. Вот пример конфигурации:
const ParseServer = require('parse-server').ParseServer;
const express = require('express');
const app = express();
const api = new ParseServer({
databaseURI: 'mongodb://localhost:27017/dev',
appId: 'APPLICATION_ID',
masterKey: 'MASTER_KEY',
serverURL: 'http://localhost:1337/parse',
});
app.use('/parse', api);
app.listen(1337, () => {
console.log('Parse Server is running on http://localhost:1337/parse');
});
Запустите сервер с помощью команды:
node index.js
Теперь вы можете установить Parse Dashboard, чтобы управлять вашим сервером. Для этого создайте отдельную директорию и установите дашборд:
mkdir parse-dashboard && cd parse-dashboard
npm install parse-dashboard
Создайте файл конфигурации parse-dashboard-config.json:
{
"apps": [{
"serverURL": "http://localhost:1337/parse",
"appId": "APPLICATION_ID",
"masterKey": "MASTER_KEY",
"appName": "MyApp"
}],
"users": [{
"user":"YOUR_USERNAME",
"pass":"YOUR_PASSWORD"
}]
}
Запустите Parse Dashboard:
npx parse-dashboard parse-dashboard-config.json
Теперь вы можете получить доступ к дашборду через браузер, перейдя по адресу http://localhost:4040. Это позволит вам удобно управлять вашим Parse Server и отслеживать состояние вашего приложения.
Не забудьте настроить брандмауэр, если вы планируете доступ извне. Убедитесь, что порты 1337 и 4040 открыты:
sudo firewall-cmd --add-port=1337/tcp --permanent
sudo firewall-cmd --add-port=4040/tcp --permanent
sudo firewall-cmd --reload
Теперь ваш Parse Server и Dashboard готовы к использованию!
Содержание статьи
Предварительные условия
- Имеется экземпляр CentOS 8 на платформе DigitalOcean.
- Настроена учетная запись с правами sudo и применены базовые меры безопасности в процессе первоначальной настройки сервера. Рекомендуется отключить вход по паролю и использовать ключи SSH для повышения безопасности.
- Подключитесь к экземпляру через SSH под учетной записью root. Убедитесь, что ваш SSH-клиент настроен правильно, и вы используете корректный приватный ключ для аутентификации.
- Обновите систему перед началом работы, используя команды
sudo dnf updateиsudo dnf upgradeдля установки последних обновлений безопасности и исправлений. - Рекомендуется создать резервную копию важных данных перед внесением изменений в систему. Вы можете использовать инструменты, такие как
rsyncилиtar, для создания резервных копий. - Проверьте наличие необходимых пакетов и зависимостей, которые могут понадобиться для вашего проекта или приложения. Используйте команду
sudo dnf install <имя_пакета>для установки недостающих пакетов. - Рассмотрите возможность настройки брандмауэра с помощью
firewalldдля защиты вашего сервера. Проверьте, что необходимые порты открыты. - Убедитесь, что на сервере установлен и настроен
fail2banдля защиты от атак на SSH. - Обратите внимание на использование SELinux (Security-Enhanced Linux). Убедитесь, что он включен и настроен в режиме
enforcingдля дополнительной защиты вашего сервера. - Рекомендуется настроить автоматическое обновление системы для обеспечения актуальности пакетов и безопасности. Используйте пакет
dnf-automaticдля автоматизации процесса. - Проверьте настройки системы на наличие уязвимостей с помощью сканеров безопасности, таких как
OpenVASилиNessus. - Если планируете размещать веб-приложения, настройте HTTPS с помощью сертификатов от Let’s Encrypt для защиты данных пользователей.
- Рекомендуется использовать систему мониторинга, такую как
PrometheusилиZabbix, для отслеживания состояния сервера и получения уведомлений о возможных проблемах. - Подумайте о настройке системы логирования, чтобы иметь возможность отслеживать все действия на сервере. Это может помочь в случае инцидентов безопасности.
Установка Node.js
Для работы Parse Server необходимо установить Node.js. Вы можете установить его из официального репозитория yum. Чтобы настроить репозиторий yum, выполните следующую команду:
dnf install -y gcc-c++ make curl -sL https://rpm.nodesource.com/setup_12.x | sudo -E bash -
Затем выполните следующие команды для установки Node.js на сервер:
sudo dnf install -y nodejs
После установки Node.js вы можете проверить, успешно ли прошла установка, выполнив команду:
node -v
Эта команда выведет текущую версию Node.js. Также рекомендуется установить менеджер пакетов npm, который обычно устанавливается вместе с Node.js. Для обновления npm до последней версии выполните:
sudo npm install -g npm
Это позволит вам устанавливать и управлять необходимыми пакетами для вашего проекта. Не забудьте проверить документацию Parse Server для получения дополнительных рекомендаций по настройке окружения.
Установка Yarn
Пакет Yarn доступен для установки через репозиторий NPM. Вы также можете использовать пакетный менеджер dnf для его установки. Выполните следующие команды для добавления репозитория Yarn:
sudo rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg && curl -sL https://dl.yarnpkg.com/rpm/yarn.repo -o /etc/yum.repos.d/yarn.repo
После этого установите Yarn с помощью команды dnf:
sudo dnf install yarn --disablerepo=AppStream
После успешной установки вы можете проверить версию Yarn, чтобы убедиться, что он установлен правильно:
yarn --version
Если вы планируете использовать Yarn в проектах, рекомендуем создать файл yarn.lock для управления зависимостями. Это позволит гарантировать, что все разработчики в команде будут использовать одни и те же версии библиотек:
yarn install
Также обратите внимание на возможность установки Yarn с помощью npm:
npm install --global yarn
Дополнительно, вы можете установить Yarn через Homebrew на macOS:
brew install yarn
Для проектов на JavaScript с использованием Node.js, рекомендуем использовать yarn upgrade для обновления зависимостей до последних версий, сохраняя при этом соответствие с версией, указанной в yarn.lock.
Также вы можете использовать команды yarn add для добавления новых зависимостей в проект и yarn remove для их удаления.
Для получения дополнительной информации и документации о Yarn, вы можете посетить официальный сайт Yarn.
Не забудьте ознакомиться с разделом о использовании Yarn, чтобы узнать больше о его функционале и возможностях, таких как работа с пакетами, управление версиями и создание скриптов.
Установка MongoDB
Добавьте следующую информацию в файл конфигурации репозитория yum mongodb.repo в зависимости от необходимой версии MongoDB и архитектуры вашей системы. В данной инструкции используется репозиторий MongoDB 4.2.
sudo vi /etc/yum.repos.d/mongodb.repo
[MongoDB] name=MongoDB Repository baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
Сохраните изменения и закройте файл.
Теперь установите сервер MongoDB, выполнив следующую команду:
sudo dnf install mongodb-org
После завершения установки, запустите MongoDB с помощью команды:
sudo systemctl start mongod
Чтобы убедиться, что служба MongoDB работает, выполните:
sudo systemctl status mongod
Если служба запущена, вы увидите сообщение о ее статусе. Для автоматического запуска MongoDB при загрузке системы используйте команду:
sudo systemctl enable mongod
Также рекомендуется настроить брандмауэр, чтобы разрешить доступ к порту MongoDB (по умолчанию 27017), если планируется удаленный доступ:
sudo firewall-cmd --permanent --add-port=27017/tcp
sudo firewall-cmd --reload
Теперь вы готовы к работе с MongoDB. Чтобы открыть консоль MongoDB, введите:
mongo
Убедитесь, что вы ознакомлены с документацией MongoDB для дальнейшего изучения и настройки вашей базы данных.
Установка Parse Server
Вы установили все необходимые пакеты на своем компьютере. Пакет Parse Server доступен в глобальном репозитории. Установите его с помощью менеджера пакетов Yarn, выполнив команду:
yarn global add parse-server
Сначала создайте файл конфигурации для вашего Parse-сервера, где сможете задать параметры сервера. Создайте и отредактируйте файл конфигурации в удобном текстовом редакторе:
nano config.json
Добавьте следующий контент в файл:
Детали конфигурации:
- appId: Уникальный идентификатор вашего приложения.
- masterKey: Ключ для доступа к административным функциям вашего сервера.
- databaseURI: Строка подключения к вашей базе данных.
- serverURL: URL-адрес вашего Parse-сервера.
Сохраните файл и запустите сервер Parse с помощью команды nohup, чтобы он работал в фоновом режиме.
nohup parse-server config.json &
Теперь ваш сервер Parse запущен. Вы можете проверить его работу, открыв в браузере URL-адрес вашего сервера. Например, если вы указали serverURL как http://localhost:1337/parse, перейдите по этому адресу, чтобы убедиться, что сервер работает корректно.
Дополнительно, рекомендуется настроить управление доступом и безопасность, добавив allowInsecureHTTP и другие параметры в ваш конфигурационный файл в зависимости от ваших нужд. Также не забудьте о регулярном обновлении и резервном копировании вашей базы данных.
Установка Parse Dashboard
Команда разработчиков Parse также предлагает веб-интерфейс для работы с сервером Parse, известный как Parse Dashboard, который доступен как модуль Node. Используйте следующую команду для его установки:
yarn global add parse-dashboard
Затем создайте файл конфигурации для панели управления Parse. Отредактируйте файл в текстовом редакторе:
nano parse-dashboard-config.json
И добавьте следующий контент:
{
"apps": [
{
"serverURL": "http://67.205.146.114:1337/parse",
"appId": "KSDJFKDJ9DKFDJDKF",
"masterKey": "KJDF89DFJ3H37JHFJDF8DFJDF",
"allowInsecureHTTP": "true",
"appName": "MyApp1",
"user": "admin",
"pass": "password"
}
],
"iconsFolder": "icons"
}
Вы можете добавить несколько серверов Parse в свою панель управления. Используйте serverURL для добавления своего сервера Parse. При этом применяйте те же appID и masterKey, что и для вашего сервера Parse.
Сохраните файл и выполните следующую команду для запуска панели управления.
nohup parse-dashboard --dev --config parse-dashboard-config.json &
Эта команда запустит ваш сервер Parse на порту 4040.
Если вы хотите использовать Parse Dashboard в продакшене, рассмотрите возможность настройки HTTPS для повышения безопасности вашего приложения.
Также вы можете использовать переменные окружения для хранения конфиденциальной информации, такой как masterKey, чтобы избежать её жесткого кодирования в конфигурации.
Настройка правил FirewallD
Если на системе активирован firewalld, необходимо предоставить доступ к портам, на которых функционирует сервер Parse. Мы используем порт 1337 для сервера Parse и 4040 для панели управления. Для разрешения доступа публичным пользователям к серверу Parse выполните следующие команды. Чтобы открыть порты, введите:
sudo firewall-cmd --permanent --zone=public --add-port=1337/tcp
sudo firewall-cmd --permanent --zone=public --add-port=4040/tcp
Чтобы применить изменения, выполните команду:
firewall-cmd --reload
Также рекомендуется проверить статус firewall и убедиться, что порты были успешно добавлены. Для этого используйте команду:
sudo firewall-cmd --list-ports
Эта команда отобразит все открытые порты в текущей зоне. Если вы хотите временно открыть порт без применения изменений на постоянной основе, просто уберите параметр --permanent из команд добавления портов. Не забывайте, что правильная настройка firewall является важной частью обеспечения безопасности вашего сервера. Рекомендуется также следить за журналами и периодически проверять конфигурацию firewall для выявления возможных угроз.
Для улучшения безопасности сервера, рассмотрите возможность использования более строгих правил, таких как ограничение доступа к определённым IP-адресам. Например, чтобы разрешить доступ только с определённого IP, используйте:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="ВАШ_IP" port protocol="tcp" port="1337" accept'
Не забудьте заменить ВАШ_IP на нужный адрес. После внесения изменений обязательно выполните firewall-cmd --reload для их применения.
Также можно настроить автоматическое уведомление о попытках доступа к закрытым портам, используя auditd или fail2ban. Эти инструменты помогут вам отслеживать подозрительную активность и предотвращать возможные атаки.
Доступ к панели управления Parse
Теперь вы можете зайти в веб-интерфейс своей панели управления Parse, посетив свой сервер по порту 4040. Войдите в панель управления, используя имя пользователя и пароль, указанные в файле конфигурации панели (parse-dashboard-config.json).

После авторизации в системе вы получите доступ к панели управления.

В данном занятии вы познакомились с процессом установки сервера parse и административной панели на операционной системе CentOS.

