Requisits previs
Pas 1: instal·leu i configureu Nginx
Pas 2: instal·leu i configureu MoinMoin
Pas 3: instal·leu i configureu uWSGI
Pas 4: permet l'accés web
Pas 5: accediu a MoinMoin des d'un navegador web
MoinMoin és un motor wiki de codi obert basat en sistemes de fitxers escrit en Python. Avui en dia, MoinMoin s'utilitza àmpliament a la comunitat de codi obert. Molts venedors, inclosos, entre d'altres, Apache, Ubuntu, Debian i Python, han configurat els seus propis wikis amb el motor wiki MoinMoin.
En aquest tutorial, aprendràs a configurar un únic lloc wiki de MoinMoin en una instància del servidor CentOS 7. Per donar servei a MoinMoin, també s'instal·laran Nginx i uWSGI.
Requisits previs
Abans que pugueu posar en funcionament MoinMoin, heu de configurar-hi un servidor web i Nginx és una opció fantàstica per a aquest propòsit.
1) Per comoditat, podeu instal·lar Nginx mitjançant el repo EPEL YUM:
sudo yum install nginx -y
2) Configureu Nginx de la manera següent perquè pugui funcionar amb uWSGI i MoinMoin.
Utilitzeu l' vieditor de text per obrir el fitxer de configuració principal de Nginx /etc/nginx/nginx.conf:
sudo vi /etc/nginx/nginx.conf
Dins del http { }segment, cerqueu el server { }segment que es mostra a continuació:
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) Utilitzeu l'adreça IP del servidor per definir un nom de servidor per a Nginx:
Troba la línia:
server_name _;
Substituïu-lo per:
server_name 203.0.113.1;
2.2) Configureu Nginx amb el protocol uWSGI per a les comunicacions:
Troba el location / { }segment:
location / {
}
Insereix dues línies com a continuació:
location / {
uwsgi_pass unix:///run/moin/moin.sock;
include uwsgi_params;
}
Desa i surt:
:wq!
3) Opcionalment, podeu provar la configuració modificada amb l'ordre següent:
sudo nginx -t
Si no passa res, hauríeu de veure la sortida com a continuació:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
4) Finalment, inicieu el servei Nginx i feu que s'iniciï automàticament a l'arrencada del sistema:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
1) Utilitzeu les ordres següents per instal·lar MoinMoin 1.9.9, l'última versió estable de MoinMoin en el moment en què vaig escriure aquest article:
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
Després d'executar les ordres anteriors, l'executable MoinMoin i tots els fitxers de la biblioteca s'instal·laran al /opt/moindirectori i les dades utilitzades per crear el vostre propi wiki de MoinMoin s'instal·laran al /srv/share/moindirectori.
2) Creeu un fitxer de configuració anomenat moin.wsgial directori de dades de MoinMoin mitjançant un fitxer de plantilla amb el mateix nom:
cd /srv/share/moin/
sudo cp server/moin.wsgi moin.wsgi
Obriu el fitxer de configuració acabat de crear amb l' vieditor de text:
sudo vi /srv/share/moin/moin.wsgi
Busca la línia següent:
import sys, os
Afegiu les dues línies següents a continuació:
sys.path.insert(0, '/opt/moin/lib/python2.7/site-packages/')
sys.path.insert(0, '/srv/share/moin/')
Desa i surt:
:wq!
3) Creeu un altre fitxer de configuració de wiki de MoinMoin que s'utilitzarà per personalitzar el vostre propi wiki:
cd /srv/share/moin
sudo cp config/wikiconfig.py wikiconfig.py
Podeu configurar moltes funcions per al vostre wiki de MoinMoin en aquest fitxer, però de moment, només heu de configurar diverses funcions com a continuació.
Definiu el nom del lloc (Diguem que és My First Wiki):
sudo sed -i 's/Untitled Wiki/My First Wiki/' /srv/share/moin/wikiconfig.py
Definiu un superusuari (Diguem que és admin):
sudo sed -i '/#superuser/a\ superuser = [u\"admin\", ]' /srv/share/moin/wikiconfig.py
Nota: encara heu de registrar aquest usuari des de la interfície web de MoinMoin més tard.
Desactiveu les cerques de DNS inverses per a l'acceleració:
sudo sed -i '$a\ log_reverse_dns_lookups = False' /srv/share/moin/wikiconfig.py
4) Canvieu la propietat dels fitxers MoinMoin instal·lats:
sudo chown -R nginx:nginx /srv/share/moin
sudo chown -R nginx:nginx /opt/moin
Actuant com a concentrador entre el servidor web Nginx i una aplicació Python, uWSGI està dissenyat per produir el millor rendiment mitjançant el protocol uWSGI d'alt rendiment. A continuació, fem una ullada a com instal·lar i configurar uWSGI per executar MoinMoin.
1) Utilitzeu pip per instal·lar uWSGI de la següent manera:
sudo yum install -y python-devel python-setuptools python-pip gcc
sudo pip install --upgrade pip
sudo pip install uwsgi
Si tot va bé, hauríeu de veure la sortida semblant a:
...
Successfully installed uwsgi-2.0.15
2) Tenint uWSGI instal·lat, heu de crear un directori per emmagatzemar els fitxers de registre d'uWSGI:
sudo mkdir /var/log/uwsgi
sudo chown nginx:nginx /var/log/uwsgi
3) A més, heu de crear un directori per emmagatzemar el fitxer de socket MoinMoin:
sudo mkdir /run/moin
sudo chown nginx:nginx /run/moin
4) Creeu un fitxer de configuració uWSGI uwsgi.inial directori de dades wiki de MoinMoin i ompliu-lo de la següent manera:
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) Per utilitzar systemd per gestionar uWSGI, heu de configurar un fitxer d'unitat systemd per a 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) Inicieu el servei uWSGI i feu que s'iniciï automàticament a l'arrencada del sistema:
sudo systemctl start uwsgi.service
sudo systemctl enable uwsgi.service
Pas 4: permet l'accés web
Configureu les regles del tallafoc de la següent manera perquè els usuaris puguin visitar el vostre lloc wiki de MoinMoin mitjançant un navegador web:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Pas 5: accediu a MoinMoin des d'un navegador web
Ara, un únic lloc wiki de MoinMoin ha estat en funcionament a la vostra instància del servidor CentOS 7.
Apunteu el vostre navegador web preferit a http://203.0.113.1, i després entrareu a la interfície web de MoinMoin. Registreu-vos i inicieu sessió com el superusuari que adminhem esmentat anteriorment, i després podreu gestionar el vostre lloc wiki com vulgueu.
Si cal, podeu fer més personalització editant el /srv/share/moin/wikiconfig.pyfitxer.
Això conclou el tutorial. Gràcies per llegir.