Προαπαιτούμενα
Βήμα 1: Εγκαταστήστε και διαμορφώστε το Nginx
Βήμα 2: Εγκαταστήστε και διαμορφώστε το MoinMoin
Βήμα 3: Εγκαταστήστε και διαμορφώστε το uWSGI
Βήμα 4: Επιτρέψτε την πρόσβαση στον ιστό
Βήμα 5: Αποκτήστε πρόσβαση στο MoinMoin από ένα πρόγραμμα περιήγησης ιστού
Το MoinMoin είναι μια μηχανή wiki ανοιχτού κώδικα, βασισμένη σε σύστημα αρχείων, γραμμένη σε Python. Σήμερα, το MoinMoin χρησιμοποιείται ευρέως στην κοινότητα ανοιχτού κώδικα. Πολλοί προμηθευτές, συμπεριλαμβανομένων, ενδεικτικά, των Apache, Ubuntu, Debian και Python, έχουν εγκαταστήσει τα δικά τους wiki με τη μηχανή wiki MoinMoin.
Σε αυτό το σεμινάριο, θα μάθετε πώς να ρυθμίζετε μια ενιαία τοποθεσία wiki MoinMoin σε μια παρουσία διακομιστή CentOS 7. Για την εξυπηρέτηση του MoinMoin, θα εγκατασταθούν επίσης τα Nginx και uWSGI.
Προαπαιτούμενα
Για να μπορέσετε να θέσετε σε λειτουργία το MoinMoin, πρέπει να ρυθμίσετε έναν διακομιστή ιστού για αυτό και το Nginx είναι μια εξαιρετική επιλογή για αυτόν τον σκοπό.
1) Για λόγους ευκολίας, μπορείτε να εγκαταστήσετε το Nginx χρησιμοποιώντας το αποθετήριο EPEL YUM:
sudo yum install nginx -y
2) Διαμορφώστε το Nginx ως εξής, ώστε να μπορεί να λειτουργεί με το uWSGI και το MoinMoin.
Χρησιμοποιήστε το viπρόγραμμα επεξεργασίας κειμένου για να ανοίξετε το κύριο αρχείο διαμόρφωσης Nginx /etc/nginx/nginx.conf:
sudo vi /etc/nginx/nginx.conf
Εντός του http { }τμήματος, βρείτε το server { }τμήμα που παρατίθεται παρακάτω:
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) Χρησιμοποιήστε τη διεύθυνση IP του διακομιστή για να ορίσετε ένα όνομα διακομιστή για το Nginx:
Βρείτε τη γραμμή:
server_name _;
Αντικαταστήστε το με:
server_name 203.0.113.1;
2.2) Διαμορφώστε το Nginx ώστε να χρησιμοποιεί το πρωτόκολλο uWSGI για επικοινωνίες:
Βρείτε το location / { }τμήμα:
location / {
}
Εισαγάγετε δύο γραμμές όπως παρακάτω:
location / {
uwsgi_pass unix:///run/moin/moin.sock;
include uwsgi_params;
}
Αποθήκευση και έξοδος:
:wq!
3) Προαιρετικά, μπορείτε να δοκιμάσετε την τροποποιημένη διαμόρφωση με την ακόλουθη εντολή:
sudo nginx -t
Εάν τίποτα δεν πάει στραβά, θα πρέπει να δείτε την έξοδο ως εξής:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
4) Τέλος, ξεκινήστε την υπηρεσία Nginx και ξεκινήστε την αυτόματα κατά την εκκίνηση του συστήματος:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
1) Χρησιμοποιήστε τις ακόλουθες εντολές για να εγκαταστήσετε το MoinMoin 1.9.9, την πιο πρόσφατη σταθερή έκδοση του MoinMoin τη στιγμή που έγραψα αυτό το άρθρο:
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
Αφού εκτελέσετε τις παραπάνω εντολές, το εκτελέσιμο αρχείο MoinMoin και όλα τα αρχεία της βιβλιοθήκης θα εγκατασταθούν στον /opt/moinκατάλογο και τα δεδομένα που χρησιμοποιούνται για τη δημιουργία του δικού σας μοναδικού wiki MoinMoin θα εγκατασταθούν στον /srv/share/moinκατάλογο.
2) Δημιουργήστε ένα αρχείο διαμόρφωσης με όνομα moin.wsgiστον κατάλογο δεδομένων MoinMoin χρησιμοποιώντας ένα αρχείο προτύπου με το ίδιο όνομα:
cd /srv/share/moin/
sudo cp server/moin.wsgi moin.wsgi
Ανοίξτε το νέο αρχείο διαμόρφωσης χρησιμοποιώντας το viπρόγραμμα επεξεργασίας κειμένου:
sudo vi /srv/share/moin/moin.wsgi
Βρείτε την ακόλουθη γραμμή:
import sys, os
Προσθέστε τις ακόλουθες δύο γραμμές από κάτω:
sys.path.insert(0, '/opt/moin/lib/python2.7/site-packages/')
sys.path.insert(0, '/srv/share/moin/')
Αποθήκευση και έξοδος:
:wq!
3) Δημιουργήστε ένα άλλο αρχείο διαμόρφωσης wiki MoinMoin που θα χρησιμοποιηθεί για την προσαρμογή του δικού σας wiki:
cd /srv/share/moin
sudo cp config/wikiconfig.py wikiconfig.py
Μπορείτε να διαμορφώσετε πολλές δυνατότητες για το wiki του MoinMoin σε αυτό το αρχείο, αλλά προς το παρόν, χρειάζεται απλώς να ρυθμίσετε αρκετές δυνατότητες όπως παρακάτω.
Ορίστε το όνομα του ιστότοπου (Πείτε ότι είναι My First Wiki):
sudo sed -i 's/Untitled Wiki/My First Wiki/' /srv/share/moin/wikiconfig.py
Ορίστε έναν υπερχρήστη (Πείτε ότι είναι admin):
sudo sed -i '/#superuser/a\ superuser = [u\"admin\", ]' /srv/share/moin/wikiconfig.py
Σημείωση: Πρέπει να εγγράψετε αυτόν τον χρήστη από τη διεπαφή ιστού MoinMoin αργότερα.
Απενεργοποιήστε τις αντίστροφες αναζητήσεις DNS για επιτάχυνση:
sudo sed -i '$a\ log_reverse_dns_lookups = False' /srv/share/moin/wikiconfig.py
4) Αλλάξτε την ιδιοκτησία των εγκατεστημένων αρχείων MoinMoin:
sudo chown -R nginx:nginx /srv/share/moin
sudo chown -R nginx:nginx /opt/moin
Λειτουργώντας ως κόμβος μεταξύ του διακομιστή web Nginx και μιας εφαρμογής Python, το uWSGI έχει σχεδιαστεί για να παράγει την καλύτερη απόδοση χρησιμοποιώντας το πρωτόκολλο uWSGI υψηλής απόδοσης. Στη συνέχεια, ας ρίξουμε μια ματιά στον τρόπο εγκατάστασης και διαμόρφωσης του uWSGI για την εκτέλεση του MoinMoin.
1) Χρησιμοποιήστε το pip για να εγκαταστήσετε το uWSGI ως εξής:
sudo yum install -y python-devel python-setuptools python-pip gcc
sudo pip install --upgrade pip
sudo pip install uwsgi
Εάν όλα πάνε καλά, θα πρέπει να δείτε την έξοδο παρόμοια με:
...
Successfully installed uwsgi-2.0.15
2) Έχοντας εγκαταστήσει το uWSGI, πρέπει να δημιουργήσετε έναν κατάλογο για την αποθήκευση αρχείων καταγραφής uWSGI:
sudo mkdir /var/log/uwsgi
sudo chown nginx:nginx /var/log/uwsgi
3) Επιπλέον, πρέπει να δημιουργήσετε έναν κατάλογο για να αποθηκεύσετε το αρχείο υποδοχής MoinMoin:
sudo mkdir /run/moin
sudo chown nginx:nginx /run/moin
4) Δημιουργήστε ένα αρχείο διαμόρφωσης uWSGI uwsgi.iniστον κατάλογο δεδομένων wiki του MoinMoin και συμπληρώστε το ως εξής:
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) Για να χρησιμοποιήσετε το systemd για τη διαχείριση του uWSGI, πρέπει να ρυθμίσετε ένα αρχείο μονάδας συστήματος για το 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) Ξεκινήστε την υπηρεσία uWSGI και ξεκινήστε την αυτόματα κατά την εκκίνηση του συστήματος:
sudo systemctl start uwsgi.service
sudo systemctl enable uwsgi.service
Βήμα 4: Επιτρέψτε την πρόσβαση στον ιστό
Διαμορφώστε τους κανόνες του τείχους προστασίας ως εξής, ώστε οι χρήστες να μπορούν να επισκέπτονται τον ιστότοπό σας στο MoinMoin χρησιμοποιώντας ένα πρόγραμμα περιήγησης ιστού:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Βήμα 5: Αποκτήστε πρόσβαση στο MoinMoin από ένα πρόγραμμα περιήγησης ιστού
Τώρα, ένας μοναδικός ιστότοπος wiki MoinMoin έχει δημιουργηθεί και λειτουργεί στην παρουσία διακομιστή σας CentOS 7.
Κατευθύνετε το αγαπημένο σας πρόγραμμα περιήγησης ιστού στο http://203.0.113.1, και στη συνέχεια θα μεταβείτε στη διεπαφή ιστού MoinMoin. Εγγραφείτε και συνδεθείτε ως ο υπερχρήστης adminπου αναφέραμε προηγουμένως και, στη συνέχεια, μπορείτε να διαχειριστείτε τον ιστότοπό σας wiki όπως θέλετε.
Εάν είναι απαραίτητο, μπορείτε να κάνετε περισσότερες προσαρμογές επεξεργάζοντας το /srv/share/moin/wikiconfig.pyαρχείο.
Αυτό ολοκληρώνει το σεμινάριο. Ευχαριστώ για την ανάγνωση.