Как да инсталирате MoinMoin на CentOS 7

MoinMoin е уики двигател с отворен код, базиран на файлова система, написан на Python. В днешно време MoinMoin се използва широко в общността с отворен код. Много доставчици, включително, но не само Apache, Ubuntu, Debian и Python, са настроили свои собствени уикита с уики двигателя MoinMoin.

В този урок ще научите как да настроите единичен уики сайт на MoinMoin на сървърен екземпляр на CentOS 7. За да обслужват MoinMoin, ще бъдат инсталирани и Nginx и uWSGI.

Предпоставки

Стъпка 1: Инсталирайте и конфигурирайте Nginx

Преди да можете да стартирате и стартирате 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

Стъпка 2: Инсталирайте и конфигурирайте MoinMoin

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директорията, а данните, използвани за изграждане на ваше собствено единно уики 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) Създайте друг конфигурационен файл на MoinMoin, който ще се използва за персонализиране на вашето собствено уики:

cd /srv/share/moin
sudo cp config/wikiconfig.py wikiconfig.py

Можете да конфигурирате много функции за вашето 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

Стъпка 3: Инсталирайте и конфигурирайте uWSGI

Действайки като хъб между уеб сървъра на 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.iniuWSGI в директорията с данни на уики 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, трябва да настроите файл systemd единица за 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който споменахме по-рано, и след това можете да управлявате своя уики сайт, както желаете.

Ако е необходимо, можете да направите повече персонализиране, като редактирате /srv/share/moin/wikiconfig.pyфайла.

Това завършва урока. Благодаря за четенето.

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече