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
Î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
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
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.