Preduvjeti
Korak 1: Instalirajte i konfigurirajte Nginx
Korak 2: Instalirajte i konfigurirajte MoinMoin
Korak 3: Instalirajte i konfigurirajte uWSGI
Korak 4: Dopustite pristup webu
Korak 5: Pristupite MoinMoinu iz web preglednika
MoinMoin je wiki motor otvorenog koda koji se temelji na datotečnom sustavu napisan na Pythonu. Danas se MoinMoin naširoko koristi u zajednici otvorenog koda. Mnogi dobavljači, uključujući, ali ne ograničavajući se na Apache, Ubuntu, Debian i Python, postavili su vlastite wikije s MoinMoin wiki motorom.
U ovom vodiču naučit ćete kako postaviti jedno MoinMoin wiki mjesto na instanci poslužitelja CentOS 7. Kako bi služili MoinMoin, također će biti instalirani Nginx i uWSGI.
Preduvjeti
Prije nego što možete pokrenuti MoinMoin i pokrenuti ga, morate postaviti web poslužitelj za njega, a Nginx je izvrstan izbor za tu svrhu.
1) Radi praktičnosti, možete instalirati Nginx koristeći EPEL YUM repo:
sudo yum install nginx -y
2) Konfigurirajte Nginx na sljedeći način kako bi mogao raditi s uWSGI i MoinMoin.
Koristite viuređivač teksta da otvorite glavnu konfiguracijsku datoteku Nginxa /etc/nginx/nginx.conf:
sudo vi /etc/nginx/nginx.conf
Unutar http { }segmenta pronađite server { }segment koji je dolje prikazan:
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) Koristite IP adresu poslužitelja da definirate naziv poslužitelja za Nginx:
Pronađite liniju:
server_name _;
Zamijenite ga sa:
server_name 203.0.113.1;
2.2) Konfigurirajte Nginx da koristi uWSGI protokol za komunikaciju:
Pronađite location / { }segment:
location / {
}
Umetnite dva reda kao dolje:
location / {
uwsgi_pass unix:///run/moin/moin.sock;
include uwsgi_params;
}
Spremi i zatvori:
:wq!
3) Po želji, možete testirati izmijenjenu konfiguraciju sljedećom naredbom:
sudo nginx -t
Ako ništa ne krene po zlu, trebali biste vidjeti izlaz kao u nastavku:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
4) Konačno, pokrenite Nginx uslugu i učinite da se automatski pokreće pri pokretanju sustava:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
1) Upotrijebite sljedeće naredbe da instalirate MoinMoin 1.9.9, najnovije stabilno izdanje MoinMoin u vrijeme kada sam napisao ovaj članak:
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
Nakon pokretanja gornjih naredbi, izvršna datoteka MoinMoin i sve datoteke knjižnice bit će instalirane u /opt/moindirektorij, a podaci koji se koriste za izgradnju vašeg vlastitog MoinMoin wikija bit će instalirani u /srv/share/moindirektorij.
2) Izradite konfiguracijsku datoteku nazvanu moin.wsgiu direktoriju podataka MoinMoin koristeći datoteku predloška istog imena:
cd /srv/share/moin/
sudo cp server/moin.wsgi moin.wsgi
Otvorite novostvorenu konfiguracijsku datoteku pomoću viuređivača teksta:
sudo vi /srv/share/moin/moin.wsgi
Pronađite sljedeći redak:
import sys, os
Dodajte sljedeća dva retka ispod:
sys.path.insert(0, '/opt/moin/lib/python2.7/site-packages/')
sys.path.insert(0, '/srv/share/moin/')
Spremi i zatvori:
:wq!
3) Napravite drugu MoinMoin wiki konfiguracijsku datoteku koja će se koristiti za prilagodbu vlastitog wikija:
cd /srv/share/moin
sudo cp config/wikiconfig.py wikiconfig.py
U ovoj datoteci možete konfigurirati mnoge značajke za svoj MoinMoin wiki, ali za sada trebate samo postaviti nekoliko značajki kao u nastavku.
Definirajte naziv stranice (Recimo da jest My First Wiki):
sudo sed -i 's/Untitled Wiki/My First Wiki/' /srv/share/moin/wikiconfig.py
Definirajte superkorisnika (Recimo da jest admin):
sudo sed -i '/#superuser/a\ superuser = [u\"admin\", ]' /srv/share/moin/wikiconfig.py
Napomena: I dalje morate kasnije registrirati ovog korisnika na MoinMoin web sučelju.
Onemogućite obrnuti DNS traženje radi ubrzanja:
sudo sed -i '$a\ log_reverse_dns_lookups = False' /srv/share/moin/wikiconfig.py
4) Promijenite vlasništvo nad instaliranim MoinMoin datotekama:
sudo chown -R nginx:nginx /srv/share/moin
sudo chown -R nginx:nginx /opt/moin
Djelujući kao čvorište između Nginx web poslužitelja i Python aplikacije, uWSGI je dizajniran za postizanje najboljih performansi korištenjem uWSGI protokola visokih performansi. Zatim, pogledajmo kako instalirati i konfigurirati uWSGI za pokretanje MoinMoin-a.
1) Koristite pip za instalaciju uWSGI na sljedeći način:
sudo yum install -y python-devel python-setuptools python-pip gcc
sudo pip install --upgrade pip
sudo pip install uwsgi
Ako sve ide dobro, trebali biste vidjeti izlaz sličan:
...
Successfully installed uwsgi-2.0.15
2) Nakon što je uWSGI instaliran, morate stvoriti direktorij za pohranu uWSGI log datoteka:
sudo mkdir /var/log/uwsgi
sudo chown nginx:nginx /var/log/uwsgi
3) Osim toga, trebate stvoriti direktorij za pohranjivanje datoteke MoinMoin socketa:
sudo mkdir /run/moin
sudo chown nginx:nginx /run/moin
4) Napravite uWSGI konfiguracijsku datoteku uwsgi.iniu MoinMoin wiki podatkovnom direktoriju i popunite je na sljedeći način:
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) Da biste koristili systemd za upravljanje uWSGI-jem, morate postaviti systemd jediničnu datoteku za 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) Pokrenite uslugu uWSGI i neka se automatski pokreće pri pokretanju sustava:
sudo systemctl start uwsgi.service
sudo systemctl enable uwsgi.service
Korak 4: Dopustite pristup webu
Konfigurirajte pravila vatrozida na sljedeći način kako bi korisnici mogli posjetiti vaše MoinMoin wiki mjesto pomoću web-preglednika:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Korak 5: Pristupite MoinMoinu iz web preglednika
Sada je jedno wiki mjesto MoinMoin pokrenuto i radi na vašoj instanci poslužitelja CentOS 7.
Usmjerite svoj omiljeni web preglednik na http://203.0.113.1, a zatim ćete ući u MoinMoin web sučelje. Prijavite se i prijavite kao superkorisnik kojeg adminsmo ranije spomenuli, a zatim možete upravljati svojim wiki stranicama kako želite.
Ako je potrebno, možete napraviti više prilagodbi uređivanjem /srv/share/moin/wikiconfig.pydatoteke.
Ovime je tutorijal završen. Hvala na čitanju.