In diesem Tutorial zeigen wir Ihnen, wie Sie Mezzanine unter CentOS 7 installieren. Mezzanine ist ein kostenloses Open-Source-Content-Management-System (auch bekannt als CMS), das mit dem Django-Webanwendungs-Framework erstellt wurde. Es handelt sich um eine Reihe nützlicher Komponenten, die Entwicklern helfen, Websites für eine Vielzahl von Zwecken einfach und schnell zu erstellen. Es bietet eine intuitive Benutzeroberfläche zum Verwalten und Erstellen von Webseiten, Blog-Beiträgen, Formulardaten, Shop-Produkten sowie vielen anderen Arten von Inhalten.
Im Gegensatz zu anderen beliebten CMS-Anwendungen sind alle diese Funktionen sofort einsatzbereit, ohne dass zusätzliche Module oder Add-Ons verwendet werden müssen. Installieren von Mezzanine CMS auf CentOS 7 ist eine einfache Aufgabe, wenn Sie die folgenden Schritte sorgfältig befolgen.
Voraussetzungen
- Ein Server mit CentOS 7
- SSH-Zugriff mit Root-Rechten oder Zugriff für den Root-Benutzer
Schritt 1:Anmelden und Pakete aktualisieren
Zuerst müssen wir uns mit SSH bei unserem Server anmelden. Sie können dies tun, indem Sie diesen Befehl eingeben:
ssh root@IP_Address -p Port_Number
Denken Sie daran, „root“ durch Ihren Benutzernamen zu ersetzen, wenn Sie nicht den Root-Benutzer verwenden. Ändern Sie „IP_Address“ und „Port_Number“ entsprechend der IP-Adresse und dem Port Ihres Servers.
Sobald Sie angemeldet sind, sollten Sie alle Ihre Pakete auf die neuesten verfügbaren Versionen aktualisieren, damit wir die Kompatibilität maximieren und potenzielle Versionsunterschiede vermeiden können:
# yum update
Schritt 2:Entwicklungstools installieren
Zum Erstellen von Python-Modulen ist das Bundle „Development Tools“ erforderlich. wir können es mit diesem Befehl installieren:
# yum groupinstall 'Development Tools'
Schritt 3:Python 3.6 installieren
Um die Python-Version 3.6 zu installieren, benötigen wir den centos-release-scl
und epel-release
Lagerstätten. Sie können sie mit diesem Befehl installieren:
# yum install centos-release-scl epel-release
Sobald dies erledigt ist, können Sie Python 3.6 installieren. Außerdem werden wir nano
installieren , ein vielseitiger Texteditor (optional) und Nginx
, ein hochgradig anpassbarer Webserver:
# yum install rh-python36 nano nginx
Schritt 4:MariaDB-Server installieren
Die Installation des MariaDB-Datenbankservers ist einfach und erfordert nur einen Befehl:
# yum install mariadb-server
Lassen Sie uns nach Abschluss der Installation die Ausführung beim Booten aktivieren und dann den Dienst starten.
# systemctl enable mariadb # systemctl start mariadb
An diesem Punkt läuft MariaDB und wir werden jetzt ein Passwort für den Root-Benutzer erstellen. Führen Sie den folgenden Befehl aus, um ein Root-Passwort zu erstellen, entfernen Sie die Testdatenbank, entfernen Sie den anonymen Benutzer, bevor Sie schließlich die Berechtigungen neu laden.
# mysql_secure_installation
Wenn Sie dazu aufgefordert werden, beantworten Sie die folgenden Fragen, indem Sie der Anleitung folgen.
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
Schritt 5:Datenbank für Mezzanine erstellen
Lassen Sie uns eine mit den folgenden Befehlen erstellen. Zuerst müssen wir uns bei der MariaDB-Befehlszeilenschnittstelle anmelden:
# mysql -u root -p
Von dort aus können wir unsere Datenbank erstellen:
mysql> create database mezzanine; Query OK, 1 row affected (0.00 sec)
Sobald die Datenbank erstellt wurde, erstellen wir einen Benutzer und gewähren ihm vollen Zugriff auf die Mezzanine-Datenbank:
mysql> grant all on mezzanine.* to mezzanine@localhost identified by 'Password'; Query OK, 0 rows affected, 1 warning (0.00 sec)
Denken Sie daran, alle Berechtigungen zu leeren, damit die Änderungen wirksam werden:
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
Beenden Sie dann die Befehlszeilenschnittstelle.
mysql> quit
HINWEIS: Sie müssen das obige Passwort „Passwort“ in ein starkes Passwort ändern.
Schritt 6:Erstellen Sie einen Mezzanine-Systembenutzer
Bevor wir fortfahren, erstellen wir einen neuen Benutzer für unsere Mezzanine-Installation:
# adduser mezzanine
Als Nächstes fügen wir diesen neuen Benutzer der sudo-Gruppe hinzu:
# usermod -aG wheel mezzanine
Schritt 7:Erstellen Sie eine virtuelle Umgebung
Wir erstellen eine virtuelle Umgebung unter dem Systembenutzer, den wir zuvor erstellt haben:
# su - mezzanine
Um Python3.6 in dieser Shell-Sitzung zu aktivieren, müssen wir diesen Befehl ausführen:
$ scl enable rh-python36 bash
Sie können die Python-Version jetzt überprüfen.
$ python -V
Wir können jetzt eine virtuelle Umgebung erstellen. Der folgende Befehl erstellt eine virtuelle Umgebung namens „Mezzanine“:
$ python -m venv mezzanine
Um die virtuelle Umgebung zu verwenden, müssen wir sie zuerst aktivieren, indem wir diesen Befehl ausgeben:
$ source mezzanine/bin/activate
Nach der Aktivierung sieht der Shell-Prompt wie folgt aus:
Schritt 8:Installieren und erstellen Sie ein Mezzanine-Projekt
Zuerst installieren wir ein Python-Paket namens „Mezzanine“. Dies ist erforderlich, damit Mezzanine ordnungsgemäß funktioniert.
$ pip install mezzanine
Danach können wir unser erstes Mezzanine-Projekt erstellen.
$ mezzanine-project first_project
Der obige Befehl fügt ein neues Verzeichnis namens „first_project“ hinzu. Auf Ihrem Server können Sie einen beliebigen Projektnamen wählen. Bitte denken Sie daran, die Namensänderung im weiteren Verlauf des Tutorials zu verfolgen.
Schritt 9:Konfigurieren Sie das Mezzanine-Projekt
In diesem Schritt müssen wir die settings.py
bearbeiten Datei in unserem ersten Projektverzeichnis. Wir werden MySQL für unseren Datenbankspeicher verwenden:
$ cd first_project
$ nano first_project/settings.py
Suchen Sie den Block DATABASES und fügen Sie die folgenden Informationen über die zuvor erstellte Datenbank hinzu.
DATABASES = { "default": { "ENGINE": "django.db.backends.mysql", "NAME": "mezzanine", "USER": "mezzanine", "PASSWORD": "Password", "HOST": "", "PORT": "", } }
Speichern Sie die Änderungen und beenden Sie.
In diesem Verzeichnis finden Sie auch das Hauptskript zum Verwalten von Projekten mit dem Namen manage.py
.
Wir werden dieses Skript verwenden, um die Datenbank zu migrieren und ein neues Superuser-Konto für unsere Mezzanine-Verwaltungsschnittstelle zu erstellen.
Lassen Sie uns die Datenbank migrieren, indem Sie die folgenden Befehle ausführen:
$ python manage.py makemigrations $ python manage.py migrate
Sobald die Datenbank migriert ist, können wir wie folgt einen neuen administrativen Benutzer erstellen:
$ python manage.py createsuperuser
Geben Sie die erforderlichen Informationen ein, um den neuen Admin-Benutzer zu erstellen:
Username (leave blank to use 'mezzanine'): Email address: [email protected] Password: Password (again): Superuser created successfully.
Öffnen Sie als Nächstes die folgende Datei, um sie zu bearbeiten:
$ nano first_project/local_settings.py
Suchen Sie die Zeile ALLOWED_HOSTS und fügen Sie dann die IP-Adresse Ihres Servers und/oder Ihren Domänennamen hinzu.
ALLOWED_HOSTS = ["localhost", "127.0.0.1", "::1", "your-server-IP", "your-domain-name"]
Speichern Sie die Datei und beenden Sie den Nano-Texteditor.
Schritt 10:Starten Sie den Mezzanine-Server
Führen Sie den folgenden Befehl aus, um den Mezzanine-Server zu starten und auszuführen:
$ python manage.py runserver 0.0.0.0:8000
Sie können jetzt mit Ihrem bevorzugten Browser unter http://your_server_ip:8000/
auf die Anwendung zugreifen .
Sie können dann auf die Mezzanine-Admin-Seite zugreifen und sich mit Ihrem Admin-Benutzer unter http://your_server_ip:8000/admin
anmelden
Um die Ausführung des Servers zu stoppen, können Sie einfach Strg+C. drücken
Schritt 11:Konfigurieren Sie einen Reverse-Proxy
Um die Mezzanine-CMS-Anwendung besser verwalten zu können, müssen wir Gunicorn installieren. Gunicorn ist ein HTTP-Server mit Python-Webserver-Gateway-Schnittstelle. Es ist ein Pre-Fork-Worker-Modell, das von Rubys Unicorn-Projekt portiert wurde. Der Gunicorn-Server ist mit einer Vielzahl von Web-Frameworks kompatibel, seine Implementierung ist einfach, ressourcenschonend und ziemlich schnell. Um es zu installieren, führen Sie einfach diese nächsten paar Befehle aus.
$ pip install gunicorn $ python manage.py collectstatic $ deactivate $ exit
Verwenden Sie nach Abschluss der Installation nano (oder Ihren bevorzugten Texteditor), um die Servicedatei zu erstellen.
# nano /etc/systemd/system/gunicorn.service
Legen Sie nach dem Öffnen der Datei die folgenden Werte fest, indem Sie Folgendes kopieren und einfügen:
[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
Denken Sie daran, „first_project“ in den Namen Ihres Mezzanine-Projekts zu ändern! Schließen und archivieren Sie und führen Sie den nächsten Befehl aus, um die Dienstliste neu zu laden.
# systemctl daemon-reload
Jetzt können wir die Mezzanine-CMS-Anwendung mit dem systemctl-Befehl starten, stoppen und neu starten:
# systemctl start gunicorn
Wenn Sie möchten, dass es beim Booten ausgeführt wird, müssen wir es aktivieren.
systemctl enable gunicorn
Gunicorn wurde nun erfolgreich konfiguriert. Um jetzt mit Ihrem Domainnamen im Webbrowser darauf zuzugreifen, installieren und konfigurieren wir Nginx für die Proxy-Passage an Gunicorn.
Lassen Sie uns eine Nginx-Serverblockdatei erstellen. Stellen Sie sicher, dass Sie your_domain.com in Ihren tatsächlichen Domainnamen ändern.
# nano /etc/nginx/conf.d/your_domain.com.conf
Fügen Sie dann Folgendes in die Datei ein:
server { listen 80; server_name your_domain.com; 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; } }
Speichern und beenden Sie, sobald Sie fertig sind. Führen Sie die nächsten Befehle aus, um die Änderungen zu laden, starten Sie Nginx und aktivieren Sie es für den Start beim Booten.
# nginx -t # systemctl start nginx # systemctl enable nginx
Um Nginx Berechtigungen für den Zugriff auf Ihre Mezzanine-CMS-Anwendung zu erteilen, müssen wir den Nginx-Benutzer zu der Benutzergruppe hinzufügen, die das Mezzanine-CMS ausführen kann.
# usermod -aG mezzanine nginx
Dann müssen wir auch die Verzeichnisberechtigungen der Startseite des Mezzanine-Benutzers ändern.
# chmod 710 /home/mezzanine
Starten Sie Nginx neu, damit die Änderungen wirksam werden.
# systemctl restart nginx
Sie sollten nun unter http://yourdomain.com
auf Ihre Mezzanine-CMS-Anwendung zugreifen können jetzt. Herzlichen Glückwunsch!
Natürlich müssen Sie Mezzanine CMS nicht auf CentOS 7 installieren, wenn Sie einen unserer VPS-Hostingdienste für Mezzanine CMS nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, Mezzanine CMS für Sie auf Ihrem VPS zu installieren. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS . Wenn Ihnen dieser Beitrag zur Installation von Mezzanine CMS unter CentOS 7 gefallen hat , bitte teilen Sie es mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen unten oder hinterlassen Sie einfach eine Antwort in den Kommentarbereichen. Danke.