Forutsetninger
Trinn 1: Installer og konfigurer Nginx
Trinn 2: Installer og konfigurer MoinMoin
Trinn 3: Installer og konfigurer uWSGI
Trinn 4: Tillat nettilgang
Trinn 5: Få tilgang til MoinMoin fra en nettleser
MoinMoin er en åpen kildekode, filsystembasert wiki-motor skrevet i Python. I dag er MoinMoin mye brukt i åpen kildekodesamfunn. Mange leverandører, inkludert, men ikke begrenset til Apache, Ubuntu, Debian og Python, har satt opp sine egne wikier med MoinMoin wiki-motoren.
I denne opplæringen lærer du hvordan du setter opp et enkelt MoinMoin-wiki-nettsted på en CentOS 7-serverforekomst. For å betjene MoinMoin, vil Nginx og uWSGI også bli installert.
Forutsetninger
Før du kan få MoinMoin i gang, må du sette opp en webserver for det, og Nginx er et godt valg for det formålet.
1) For enkelhets skyld kan du installere Nginx ved å bruke EPEL YUM repo:
sudo yum install nginx -y
2) Konfigurer Nginx som følger slik at den kan fungere med uWSGI og MoinMoin.
Bruk vitekstredigeringsprogrammet for å åpne hovedkonfigurasjonsfilen for Nginx /etc/nginx/nginx.conf:
sudo vi /etc/nginx/nginx.conf
Innenfor http { }segmentet finner du server { }segmentet som er utdraget nedenfor:
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) Bruk serverens IP-adresse til å definere et servernavn for Nginx:
Finn linjen:
server_name _;
Erstatt den med:
server_name 203.0.113.1;
2.2) Konfigurer Nginx til å bruke uWSGI-protokollen for kommunikasjon:
Finn location / { }segmentet:
location / {
}
Sett inn to linjer som nedenfor:
location / {
uwsgi_pass unix:///run/moin/moin.sock;
include uwsgi_params;
}
Lagre og avslutt:
:wq!
3) Eventuelt kan du teste den modifiserte konfigurasjonen med følgende kommando:
sudo nginx -t
Hvis ingenting går galt, bør du se utdataene som nedenfor:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
4) Til slutt, start Nginx-tjenesten og få den til å starte automatisk ved systemoppstart:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
1) Bruk følgende kommandoer for å installere MoinMoin 1.9.9, den siste stabile utgivelsen av MoinMoin på det tidspunktet jeg skrev denne artikkelen:
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
Etter å ha kjørt kommandoene ovenfor, vil MoinMoin kjørbare og alle bibliotekfiler bli installert i /opt/moinkatalogen, og data som brukes til å bygge din egen enkelt MoinMoin wiki vil bli installert i /srv/share/moinkatalogen.
2) Opprett en konfigurasjonsfil navngitt moin.wsgii MoinMoin-datakatalogen ved å bruke en malfil med samme navn:
cd /srv/share/moin/
sudo cp server/moin.wsgi moin.wsgi
Åpne den nyopprettede konfigurasjonsfilen ved å bruke vitekstredigeringsprogrammet:
sudo vi /srv/share/moin/moin.wsgi
Finn følgende linje:
import sys, os
Legg til følgende to linjer under:
sys.path.insert(0, '/opt/moin/lib/python2.7/site-packages/')
sys.path.insert(0, '/srv/share/moin/')
Lagre og avslutt:
:wq!
3) Lag en annen MoinMoin wiki konfigurasjonsfil som vil bli brukt til å tilpasse din egen wiki:
cd /srv/share/moin
sudo cp config/wikiconfig.py wikiconfig.py
Du kan konfigurere mange funksjoner for MoinMoin-wikien din i denne filen, men foreløpig trenger du bare å sette opp flere funksjoner som nedenfor.
Definer nettstedsnavnet (si det er My First Wiki):
sudo sed -i 's/Untitled Wiki/My First Wiki/' /srv/share/moin/wikiconfig.py
Definer en superbruker (si det er admin):
sudo sed -i '/#superuser/a\ superuser = [u\"admin\", ]' /srv/share/moin/wikiconfig.py
Merk: Du må fortsatt registrere denne brukeren fra MoinMoin-nettgrensesnittet senere.
Deaktiver omvendt DNS-oppslag for akselerasjon:
sudo sed -i '$a\ log_reverse_dns_lookups = False' /srv/share/moin/wikiconfig.py
4) Endre eierskapet til installerte MoinMoin-filer:
sudo chown -R nginx:nginx /srv/share/moin
sudo chown -R nginx:nginx /opt/moin
UWSGI fungerer som et knutepunkt mellom Nginx-nettserveren og en Python-applikasjon, og er designet for å produsere best ytelse ved å bruke den høyytelses uWSGI-protokollen. Deretter, la oss ta en titt på hvordan du installerer og konfigurerer uWSGI for å kjøre MoinMoin.
1) Bruk pip for å installere uWSGI som følger:
sudo yum install -y python-devel python-setuptools python-pip gcc
sudo pip install --upgrade pip
sudo pip install uwsgi
Hvis alt går bra, bør du se utgangen som ligner på:
...
Successfully installed uwsgi-2.0.15
2) Etter å ha installert uWSGI, må du opprette en katalog for å lagre uWSGI-loggfiler:
sudo mkdir /var/log/uwsgi
sudo chown nginx:nginx /var/log/uwsgi
3) I tillegg må du opprette en katalog for å lagre MoinMoin-socket-filen:
sudo mkdir /run/moin
sudo chown nginx:nginx /run/moin
4) Opprett en uWSGI-konfigurasjonsfil uwsgi.inii MoinMoin wiki-datakatalogen og fyll den ut som følger:
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) For å bruke systemd til å administrere uWSGI, må du sette opp en systemd enhetsfil for 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) Start uWSGI-tjenesten og få den til å starte automatisk ved systemoppstart:
sudo systemctl start uwsgi.service
sudo systemctl enable uwsgi.service
Trinn 4: Tillat nettilgang
Konfigurer brannmurregler som følger slik at brukere kan besøke MoinMoin wiki-nettstedet ditt ved hjelp av en nettleser:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Trinn 5: Få tilgang til MoinMoin fra en nettleser
Nå har et enkelt MoinMoin-wikinettsted vært oppe og kjørt på CentOS 7-serverforekomsten.
Pek på favorittnettleseren din http://203.0.113.1, og så kommer du inn i MoinMoin-nettgrensesnittet. Registrer deg og logg inn som superbrukeren adminvi nevnte tidligere, og så kan du administrere wiki-siden din slik du ønsker.
Om nødvendig kan du gjøre mer tilpasning ved å redigere /srv/share/moin/wikiconfig.pyfilen.
Dette avslutter veiledningen. Takk for at du leste.