ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Как установить 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