ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить CMS Mezzanine на CentOS 7

Как установить CMS Mezzanine на CentOS 7

В этой статье мы покажем вам, как установить и настроить Mezzanine на вашем CentOS 7 VPS.

Mezzanine является системой управления контентом (также известный как CMS) свободной и с открытым исходным кодом, построенной с использованием платформы веб -приложений Django. Это набор полезных компонентов, которые помогают разработчикам легко и быстро создавать веб-сайты для самых разных целей. Он предоставляет интуитивно понятный интерфейс для управления и создания веб-страниц, сообщений в блогах, данных форм, хранения товаров, а также многих других типов контента.

В отличие от других популярных приложений CMS, все эти функции доступны “из коробки”, без необходимости использования каких-либо дополнительных модулей или дополнений. Установка Mezzanine CMS в CentOS 7 – это простая задача, если вы тщательно выполните следующие шаги.

Предпосылки

 

Шаг 1: Войдите и обновите пакеты

Во-первых, нам нужно войти на наш сервер, используя SSH. Вы можете сделать это, введя эту команду:

ssh root@IP_Address -p Port_Number

 

Не забудьте заменить «root» своим именем пользователя, если вы не используете пользователя root. Измените «IP_Address» и «Port_Number» в соответствии с IP-адресом и портом вашего сервера.

После того, как вы вошли в систему, вы должны обновить все ваши пакеты до их последних доступных версий, чтобы мы могли максимально повысить совместимость и избежать возможных расхождений в версиях:

# yum update

 

Шаг 2. Установите средства разработки

Пакет «Development Tools» необходим для сборки модулей Python. мы можем установить его с помощью этой команды:

# yum groupinstall 'Development Tools'

 

Шаг 3: Установите Python 3.6

Для того , чтобы установить Python версии 3.6, нам нужны хранилища centos-release-scl и epel-release. Вы можете установить их с помощью этой команды:

# yum install centos-release-scl epel-release

 

После этого вы можете установить Python 3.6. Кроме того, мы установим универсальный текстовый редактор nano (необязательно) и настраиваемый веб-сервер Nginx:

# yum install rh-python36 nano nginx

 

Шаг 4: Установите сервер MariaDB

Установка сервера базы данных MariaDB проста и требует только одной команды:

# yum install mariadb-server

 

После завершения установки, давайте включим его при загрузке, а затем запустим службу.

# systemctl enable mariadb
# systemctl start mariadb

 

На этом этапе MariaDB запущена, и теперь мы собираемся создать пароль для пользователя root. Выполните следующую команду, чтобы создать пароль root, удалить тестовую базу данных, удалить анонимного пользователя, прежде чем, наконец, перезагрузить права.

# mysql_secure_installation

 

Когда будет предложено, ответьте на вопросы ниже, следуя руководству.

Enter current password for root (enter for none): Just press the [Enter] key, since no password is currently set.
Set root password? [Y/n]: Y
New password: Enter a new password
Re-enter new password: Repeat the new password
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

 

Шаг 5: Создайте базу данных для Mezzanine

Давайте создадим один, используя следующие команды. Сначала нам нужно войти в интерфейс командной строки MariaDB:

# mysql -u root -p

 

Оттуда мы можем создать нашу базу данных:

mysql> create database mezzanine;
Query OK, 1 row affected (0.00 sec)

 

После создания базы данных мы создадим пользователя и предоставим ему полный доступ к базе данных Mezzanine:

mysql> grant all on mezzanine.* to mezzanine@localhost identified by 'Password';
Query OK, 0 rows affected, 1 warning (0.00 sec)

 

Не забудьте сбросить все привилегии, чтобы изменения вступили в силу:

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

 

Затем выйдите из интерфейса командной строки.

mysql> quit

 

 

Шаг 6: Создайте пользователя системы Mezzanine

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

# adduser mezzanine

 

Далее мы добавим этого нового пользователя в группу sudo:

# usermod -aG wheel mezzanine

 

Шаг 7: Создайте виртуальную среду

Мы создадим виртуальную среду под системным пользователем, которого мы создали ранее:

# su - mezzanine

 

Чтобы включить python3.6 в этом сеансе оболочки, нам нужно выполнить следующую команду:

$ scl enable rh-python36 bash

 

Вы можете проверить версию Python сейчас.

$ python -V

 

Теперь мы можем создать виртуальную среду. Следующая команда создаст виртуальную среду под названием «Mezzanine»:

$ python -m venv mezzanine

 

Чтобы использовать виртуальную среду, сначала нам нужно ее активировать, введя следующую команду:

$ source mezzanine/bin/activate

 

Шаг 8: Установите и создайте проект Mezzanine

Сначала мы установим пакет Python под названием «mezzanine». Это необходимо для правильной работы Mezzanine.

$ pip install mezzanine

 

После этого мы можем создать наш первый проект Mezzanine.

$ mezzanine-project first_project

 

Команда выше добавит новый каталог с именем «first_project». На вашем сервере вы можете выбрать любое название проекта. Пожалуйста, не забудьте следовать вместе с изменением имени в оставшейся части статьи.

 

Шаг 9: Настройте проект Mezzanine

На этом этапе нам нужно отредактировать файл settings.py в нашем первом каталоге проекта. Мы будем использовать MySQL для хранения нашей базы данных:

$ cd first_project
$ nano first_project/settings.py

 

Найдите блок DATABASES и добавьте следующую информацию о базе данных, которую мы создали ранее.

DATABASES = {
      "default": {
      "ENGINE": "django.db.backends.mysql",
      "NAME": "mezzanine",
      "USER": "mezzanine",
      "PASSWORD": "Password",
      "HOST": "",
      "PORT": "",
      }
}

 

Сохраните изменения и выйдите.

В этом каталоге вы также найдете основной скрипт для управления проектами, который называется manage.py.

Мы будем использовать этот скрипт для переноса базы данных и создания новой учетной записи суперпользователя для нашего интерфейса администратора Mezzanine.

Давайте перенесем базу данных, выполнив следующие команды:

$ python manage.py makemigrations
$ python manage.py migrate

 

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

$ python manage.py createsuperuser

 

Введите необходимую информацию для создания нового администратора:

Username (leave blank to use 'mezzanine'):
Email address: me@mydomain.com
Password:
Password (again):
Superuser created successfully.

 

Затем откройте следующий файл, чтобы отредактировать его:

$ nano first_project/local_settings.py

 

Найдите строку ALLOWED_HOSTS, а затем добавьте IP-адрес вашего сервера и/или имя вашего домена.

ALLOWED_HOSTS = ["localhost", "127.0.0.1", "::1", "your-server-IP", "your-domain-name"]

 

Сохраните файл и выйдите из текстового редактора nano.

 

Шаг 10: Запустите сервер Mezzanine

Чтобы запустить и запустить сервер Mezzanine, выполните следующую команду:

$ python manage.py runserver 0.0.0.0:8000

 

Теперь вы сможете получить доступ к приложению с помощью предпочитаемого вами браузера по адресу http://your_server_ip:8000/.

Как установить CMS Mezzanine на CentOS 7

 

Затем вы можете получить доступ к странице администратора Mezzanine и войти в систему с вашим администратором по адресу http://your_server_ip:8000/admin

Как установить CMS Mezzanine на CentOS 7

 

Чтобы остановить работу сервера, вы можете просто нажать Ctrl + C.

 

Шаг 11: Настройте обратный прокси

Чтобы лучше управлять приложением Mezzanine CMS, нам нужно установить Gunicorn. Gunicorn – это HTTP-сервер с интерфейсом шлюза Python. Это предварительная рабочая модель, портированная из проекта Unicorn Ruby’s. Сервер Gunicorn совместим с большим количеством веб-фреймворков, его реализация проста, не требует много ресурсов и довольно быстр. Чтобы установить его, просто запустите следующие несколько команд.

$ pip install gunicorn
$ python manage.py collectstatic
$ deactivate
$ exit

 

После завершения установки используйте nano (или предпочитаемый вами текстовый редактор) для создания служебного файла.

# nano /etc/systemd/system/gunicorn.service

 

После открытия файла установите следующие значения, скопировав и вставив следующее:

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=mezzanine
Group=nginx
WorkingDirectory=/home/mezzanine/first_project
ExecStart=/home/mezzanine/mezzanine/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/mezzanine/first_project.sock first_project.wsgi:application

[Install]
WantedBy=multi-user.target

 

Не забудьте поменять «first_project» на название вашего проекта Mezzanine! Закройте файл и выполните следующую команду, чтобы перезагрузить список служб.

# systemctl daemon-reload

 

Теперь мы можем запустить-остановить-перезапустить приложение Mezzanine CMS с помощью команды systemctl:

# systemctl start gunicorn

 

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

systemctl enable gunicorn

 

Gunicorn был успешно настроен. Теперь, чтобы получить доступ к нему через ваше доменное имя в веб-браузере, мы установим и настроим Nginx для передачи прокси на Gunicorn.

Давайте создадим файл блока сервера Nginx. Убедитесь, что вы изменили your_domain.ru на свое фактическое доменное имя.

# nano /etc/nginx/conf.d/your_domain.ru.conf

 

Затем вставьте следующее в файл:

server {
     listen 80;
     server_name your_domain.ru;

location = /favicon.ico { access_log off; log_not_found off; }

location /static/ {
     root /home/mezzanine/first_project;
}

location / {
     proxy_set_header Host $http_host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header X-Forwarded-Proto $scheme;
     proxy_pass http://unix:/home/mezzanine/first_project.sock;
}
}

 

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

# nginx -t
# systemctl start nginx
# systemctl enable nginx

 

Чтобы предоставить Nginx разрешения на доступ к вашему приложению Mezzanine CMS, мы должны добавить пользователя Nginx в группу пользователей, которые могут запускать Mezzanine CMS.

# usermod -aG mezzanine nginx

 

Затем нам также нужно изменить права доступа к каталогу в доме пользователя в Mezzanine.

# chmod 710 /home/mezzanine

 

Перезапустите Nginx, чтобы изменения вступили в силу.

# systemctl restart nginx

 

Вот и все, теперь вы сможете получить доступ к своему приложению Mezzanine CMS

Exit mobile version