Как я могу настроить CMS (систему управления соревнованиями) в Ubuntu 16.04? [закрыто]

Я пытаюсь настроить CMS (которую можно найти здесь здесь ) на Ubuntu 16.04 32bit.
Я полный новичок, когда дело доходит до Ubuntu, поэтому я хотел бы спросить вас, ребята, и девочки, может ли кто-нибудь помочь мне в этом, я был бы очень признателен.
Также не могли бы вы предоставить подробную информацию от А до Я, потому что я не думаю, что смогу решить проблему самостоятельно, когда дело доходит до Ubuntu.

-1
задан 5 June 2017 в 02:22

1 ответ

Скопированный прямо с официальных инструкций по установке:

Установка

Зависимости и доступные компиляторы

[…]

Ubuntu

На Ubuntu 16.04 нужно будет запустить следующий скрипт для удовлетворения всех зависимостей:

# Feel free to change OpenJDK packages with your preferred JDK.
sudo apt-get install build-essential openjdk-8-jre openjdk-8-jdk fpc postgresql postgresql-client gettext python2.7 iso-codes shared-mime-info stl-manual cgroup-lite

# Only if you are going to use pip/virtualenv to install python dependencies
sudo apt-get install python-dev libpq-dev libcups2-dev byaml-dev libffi-dev python-pip

# Optional
sudo apt-get install nginx-full php7.0-cli php5-fpm phppgadmin texlive-latex-base a2ps gcj-jdk haskell-platform

Шаги подготовки

Загрузите CMS 1.3.rc0 с GitHub как архив, затем извлеките его в Вашей файловой системе. Необходимо затем получить доступ к cms папке с помощью терминала.

Предупреждение: Если Вы решили git clone репозиторий вместо того, чтобы загрузить архив, и Вы не использовали --recursive опция при клонировании, затем необходимо дать следующую команду для выборки исходного кода песочницы:

git submodule update --init

Для выполнения CMS существуют некоторые шаги подготовки к выполненному (как установка песочницы, компилируя файлы локализации, создавая cmsuser, и так далее). Можно или сделать все эти шаги вручную, или можно выполнить следующую команду:

sudo ./prerequisites.py install

Этот сценарий добавит Вас к cmsuser группа, если Вы отвечаете Y при выяснении. Если Вы хотите обработать свои группы собой, ответом N и затем выполненный:

sudo usermod -a -G cmsuser <your user>

Можно проверить, чтобы быть в группе путем выдачи команды:

groups

Не забудьте выходить из системы, делать изменение эффективным.

Предупреждение: Пользователи в группе cmsuser сможет запуститься isolate программа с корневым разрешением. Они могут использовать это для получения полномочий пользователя root. Затем обязательно, чтобы никакому недоверяемому пользователю не разрешали в группе cmsuser.

Установка CMS и его зависимостей Python

Существует много способов установить CMS и его зависимости Python:

Метод 1: Глобальная установка с зернышком

Существуют серьезные основания установить CMS и его зависимости Python через зернышко (Индекс Пакета Python) вместо Вашего диспетчера пакетов (например, склонный - добираются). Например: два других дистрибутива Linux (или две различных версии того же дистрибутива) могут предложить две различных версии python-sqlalchemy. При использовании зернышка можно принять решение установить определенную версию sqlalchemy это, как известно, работает правильно с CMS.

Принятие Вас имеет pip установленный, можно сделать это:

sudo pip2 install -r requirements.txt
sudo python2 setup.py install

Эта команда устанавливает зависимости от Python глобально. Обратите внимание, что на некоторых дистрибутивах, как Дуга Linux, это могло бы вмешаться в менеджера по системному пакету. Если Вы хотите выполнить установку в своей домашней папке вместо этого, то можно сделать это вместо этого:

pip2 install --user -r requirements.txt
python2 setup.py install --user

Метод 2: Виртуальная среда

Предупреждение: альтернативный метод для выполнения установки с виртуальной средой, которая является изолированной средой Python, которую можно поместить везде, где Вам нравится, и это может быть активировано/деактивировано по желанию. Инструмент, в котором Вы нуждаетесь для создания виртуальной среды, называют virtualenv, и может быть установлен путем поиска virtualenv использование диспетчера пакетов дистрибутива Linux. Например:

После того как Вы установили virtualenv, необходимо будет создать виртуальную среду где-нибудь в файловой системе. Например, давайте предположим, что Вы решили создать его в соответствии со своим корневым каталогом (как ~/cms_venv):

virtualenv -p python2 ~/cms_venv

Активировать его:

source ~/cms_venv/bin/activate

После активации, pip команда всегда будет доступна (даже если это не было доступно глобально, например, потому что Вы не устанавливали его). В целом каждая команда Python (Python, зернышко) будет относиться к их соответствующей виртуальной версии. Так, можно установить зависимости от Python путем издания:

pip install -r requirements.txt
python setup.py install

Примечание: После того как Вы закончили использовать CMS, можно деактивировать виртуальную среду путем издания:

 deactivate

Метод 3: Использование apt-get на Ubuntu

Предупреждение: обычно возможно установить зависимости от Python с помощью диспетчера пакетов дистрибутива Linux. Однако имейте в виду, что версией каждого пакета управляют специалисты по обслуживанию пакета и могла быть слишком новой или слишком старой для CMS. На Ubuntu это обычно - не случай, так как мы пытаемся основываться на пакетах Python, которые доступны для текущей версии LTS.

Для установки CMS и его зависимостей Python от Ubuntu можно выйти:

sudo python setup.py install
sudo apt-get install python-setuptools python-tornado python-psycopg2 python-sqlalchemy python-psutil python-netifaces python-crypto python-tz python-six python-beautifulsoup python-mechanize python-coverage python-mock python-requests python-werkzeug python-gevent python-bcrypt python-chardet patool

# Optional.
sudo apt-get install python-yaml python-sphinx python-cups python-pypdf2

Рабочий CMS не установлен

Для выполнения CMS, не устанавливая его в системе Вы должны сначала создать предпосылки:

./prerequisites.py build

Существует все еще несколько шагов для завершения вручную в этом случае. Во-первых, добавьте CMS и изолированный к пути и создайте конфигурационные файлы:

export PATH=$PATH:./isolate/
export PYTHONPATH=./
cp config/cms.conf.sample config/cms.conf
cp config/cms.ranking.conf.sample config/cms.ranking.conf

Во-вторых, выполните эти задачи (которые требуют корневых полномочий):

  • создайте cmsuser пользователь и группа с тем же именем;
  • добавьте своего пользователя к cmsuser группа;
  • набор, изолированный для владения root:cmsuser, и, установил свой бит suid.

Например:

sudo useradd cmsuser
sudo usermod -a -G cmsuser <your user>
sudo chown root:cmsuser ./isolate/isolate
sudo chmod u+s ./isolate/isolate

Обновление CMS

Поскольку CMS разрабатывает, схема базы данных, которую он использует для представления ее данных, может быть обновлена, и новые версии могут представить изменения, которые являются несовместимыми с более старыми версиями.

Сохранить данные сохранило на базе данных, необходимо вывести его на использовании файловой системы cmsDumpExporter перед обновлением CMS (т.е. со старой версией).

Можно затем обновить CMS и сбросить схему базы данных путем выполнения:

cmsDropDB
cmsInitDB

Для загрузки предыдущих данных назад в базу данных, можно использовать cmsDumpImporter: это адаптирует модель данных автоматически на лету (можно использовать cmsDumpUpdater сохранить обновленную версию назад на диске и ускорить будущий импорт).

2
ответ дан 3 November 2019 в 03:32

Другие вопросы по тегам:

Похожие вопросы: