Cum se instalează MoinMoin pe CentOS 7

MoinMoin este un motor wiki bazat pe sistem de fișiere bazat pe sistem de fișiere, scris în Python. În zilele noastre, MoinMoin este utilizat pe scară largă în comunitatea open source. Mulți furnizori, inclusiv, dar fără a se limita la Apache, Ubuntu, Debian și Python, și-au configurat propriile wikis-uri cu motorul wiki MoinMoin.

În acest tutorial, veți învăța cum să configurați un singur site wiki MoinMoin pe o instanță a serverului CentOS 7. Pentru a servi MoinMoin, Nginx și uWSGI vor fi instalate, de asemenea.

Cerințe preliminare

Pasul 1: Instalați și configurați Nginx

Înainte de a putea pune în funcțiune MoinMoin, trebuie să configurați un server web pentru acesta, iar Nginx este o alegere excelentă în acest scop.

1) Ca și comoditate, puteți instala Nginx folosind repo EPEL YUM:

sudo yum install nginx -y

2) Configurați Nginx după cum urmează, astfel încât să funcționeze cu uWSGI și MoinMoin.

Utilizați vieditorul de text pentru a deschide fișierul principal de configurare Nginx /etc/nginx/nginx.conf:

sudo vi /etc/nginx/nginx.conf

În cadrul http { }segmentului, găsiți server { }segmentul care este extras mai jos:

http {

...

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  _;
    root         /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }

...

2.1) Utilizați adresa IP a serverului pentru a defini un nume de server pentru Nginx:

Găsiți linia:

server_name _;

Înlocuiți-l cu:

server_name  203.0.113.1;

2.2) Configurați Nginx ca folosind protocolul uWSGI pentru comunicații:

Găsiți location / { }segmentul:

location / {
}

Inserați două linii după cum urmează:

location / {
    uwsgi_pass unix:///run/moin/moin.sock;
    include uwsgi_params;
}

Salvează și închide:

:wq!

3) Opțional, puteți testa configurația modificată cu următoarea comandă:

sudo nginx -t

Dacă nu merge nimic, ar trebui să vedeți ieșirea ca mai jos:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

4) În sfârșit, porniți serviciul Nginx și faceți-l să pornească automat la pornirea sistemului:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Pasul 2: Instalați și configurați MoinMoin

1) Utilizați următoarele comenzi pentru a instala MoinMoin 1.9.9, cea mai recentă versiune stabilă a lui MoinMoin în momentul în care am scris acest articol:

cd
wget http://static.moinmo.in/files/moin-1.9.9.tar.gz
tar -zxvf moin-1.9.9.tar.gz
cd moin-1.9.9
sudo python setup.py install --force --record=install.log --prefix='/opt/moin' --install-data=/srv

După executarea comenzilor de mai sus, executabilul MoinMoin și toate fișierele de bibliotecă vor fi instalate în /opt/moindirector, iar datele utilizate pentru construirea propriului wiki MoinMoin vor fi instalate în /srv/share/moindirector.

2) Creați un fișier de configurație numit moin.wsgiîn directorul de date MoinMoin utilizând un fișier șablon cu același nume:

cd /srv/share/moin/
sudo cp server/moin.wsgi moin.wsgi

Deschideți fișierul de configurare nou creat folosind vieditorul de text:

sudo vi /srv/share/moin/moin.wsgi

Găsiți următoarea linie:

import sys, os

Adăugați mai jos următoarele două rânduri:

sys.path.insert(0, '/opt/moin/lib/python2.7/site-packages/')
sys.path.insert(0, '/srv/share/moin/')

Salvează și închide:

:wq!

3) Creați un alt fișier de configurare wiki MoinMoin care va fi folosit pentru a personaliza propriul wiki:

cd /srv/share/moin
sudo cp config/wikiconfig.py wikiconfig.py

Puteți configura multe funcții pentru wiki-ul dvs. MoinMoin în acest fișier, dar deocamdată trebuie doar să configurați mai multe caracteristici ca mai jos.

Definiți numele site-ului (Spuneți că este My First Wiki):

sudo sed -i 's/Untitled Wiki/My First Wiki/' /srv/share/moin/wikiconfig.py

Definiți un superuser (Spuneți că este admin):

sudo sed -i '/#superuser/a\    superuser = [u\"admin\", ]' /srv/share/moin/wikiconfig.py

Notă: Trebuie să înregistrați acest utilizator din interfața web MoinMoin ulterior.

Dezactivează căutările DNS inverse pentru accelerare:

sudo sed -i '$a\    log_reverse_dns_lookups = False' /srv/share/moin/wikiconfig.py

4) Schimbați proprietatea fișierelor MoinMoin instalate:

sudo chown -R nginx:nginx /srv/share/moin
sudo chown -R nginx:nginx /opt/moin

Pasul 3: Instalați și configurați uWSGI

Acționând ca un hub între serverul web Nginx și o aplicație Python, uWSGI este proiectat pentru a produce cele mai bune performanțe folosind protocolul uWSGI de înaltă performanță. În continuare, să aruncăm o privire la modul de instalare și configurare a uWSGI pentru rularea MoinMoin.

1) Utilizați pip pentru a instala uWSGI după cum urmează:

sudo yum install -y python-devel python-setuptools python-pip gcc
sudo pip install --upgrade pip
sudo pip install uwsgi

Dacă totul merge bine, ar trebui să vedeți ieșirea similară cu:

...
Successfully installed uwsgi-2.0.15

2) După instalarea uWSGI, trebuie să creați un director pentru a stoca fișierele jurnal UWSGI:

sudo mkdir /var/log/uwsgi
sudo chown nginx:nginx /var/log/uwsgi

3) În plus, trebuie să creați un director pentru a stoca fișierul socket MoinMoin:

sudo mkdir /run/moin
sudo chown nginx:nginx /run/moin

4) Creează un fișier de configurare uWSGI uwsgi.iniîn directorul de date wiki MoinMoin și populează-l astfel:

cat <<EOF | sudo tee -a /srv/share/moin/uwsgi.ini
[uwsgi]
uid = nginx
gid = nginx
socket = /run/moin/moin.sock
chmod-socket = 660
logto = /var/log/uwsgi/uwsgi.log

chdir = /srv/share/moin
wsgi-file = /srv/share/moin/moin.wsgi

master = true
processes = 3
max-requests = 200
harakiri = 30
vacuum = true
enable-threads = true
EOF

5) Pentru a utiliza systemd pentru a gestiona uWSGI, trebuie să configurați un fișier de sistem systemd pentru uWSGI:

cat <<EOF | sudo tee -a /etc/systemd/system/uwsgi.service
[Unit]
Description=uWSGI instance to serve MoinMoin
After=syslog.target

[Service]
ExecStart=/usr/bin/uwsgi --ini /srv/share/moin/uwsgi.ini
RuntimeDirectory=uwsgi
Restart=always
KillSignal=SIGQUIT
Type=notify
StandardError=syslog
NotifyAccess=all

[Install]
WantedBy=multi-user.target
EOF

6) Porniți serviciul uWSGI și faceți-l să pornească automat la pornirea sistemului:

sudo systemctl start uwsgi.service
sudo systemctl enable uwsgi.service

Pasul 4: Permiteți accesul web

Configurați regulile firewall-ului după cum urmează, astfel încât utilizatorii să vă viziteze site-ul wiki MoinMoin folosind un browser web:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Pasul 5: Accesați MoinMoin dintr-un browser web

Acum, un singur site wiki MoinMoin a funcționat pe instanța dvs. de server CentOS 7.

Indicați-vă browserul web preferat http://203.0.113.1, apoi veți intra în interfața web MoinMoin. Înscrieți-vă și conectați-vă ca superuserul pe care adminl-am menționat anterior și apoi puteți gestiona site-ul dvs. wiki așa cum doriți.

Dacă este necesar, puteți efectua mai multe personalizări prin editarea /srv/share/moin/wikiconfig.pyfișierului.

Astfel se încheie tutorialul. Mulțumesc pentru citit.

Lasă un comentariu

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe