Я пытаюсь настроить CMS (которую можно найти здесь здесь ) на Ubuntu 16.04 32bit.
Я полный новичок, когда дело доходит до Ubuntu, поэтому я хотел бы спросить вас, ребята, и девочки, может ли кто-нибудь помочь мне в этом, я был бы очень признателен.
Также не могли бы вы предоставить подробную информацию от А до Я, потому что я не думаю, что смогу решить проблему самостоятельно, когда дело доходит до Ubuntu.
Скопированный прямо с официальных инструкций по установке:
Установка
Зависимости и доступные компиляторы
[…]
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. Например:
- Ubuntu 14.x: python-virtualenv.
- Ubuntu 16.x: virtualenv.
После того как Вы установили
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
сохранить обновленную версию назад на диске и ускорить будущий импорт).