Как да инсталирате 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файла.

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


Leave a Comment

Инсталирайте Plesk на CentOS 7

Инсталирайте Plesk на CentOS 7

Използване на различна система? Plesk е собствен контролен панел за уеб хост, който позволява на потребителите да администрират своите лични и/или клиентски уебсайтове, бази данни

Как да инсталирате Squid Proxy на CentOS

Как да инсталирате Squid Proxy на CentOS

Squid е популярна, безплатна програма за Linux, която ви позволява да създадете уеб прокси за препращане. В това ръководство ще видите как да инсталирате Squid на CentOS, за да ви обърне

Как да инсталирате Lighttpd (LLMP стек) на CentOS 6

Как да инсталирате Lighttpd (LLMP стек) на CentOS 6

Въведение Lighttpd е форк на Apache, чиято цел е да бъде много по-малко ресурсоемка. Той е лек, откъдето идва и името му, и е доста лесен за използване. Инсталирайте

Конфигуриране на статична мрежа и IPv6 на CentOS 7

Конфигуриране на статична мрежа и IPv6 на CentOS 7

VULTR наскоро направи промени от своя страна и вече всичко трябва да работи добре от кутията с активиран NetworkManager. Ако желаете да деактивирате

Промяна на Icinga2 за използване на модел главен/клиент на CentOS 6 или CentOS 7

Промяна на Icinga2 за използване на модел главен/клиент на CentOS 6 или CentOS 7

Icinga2 е мощна система за наблюдение и когато се използва в модел главен-клиент, тя може да замени необходимостта от проверки на базата на NRPE. Главният клиент

Как да инсталирате Apache Cassandra 3.11.x на CentOS 7

Как да инсталирате Apache Cassandra 3.11.x на CentOS 7

Използване на различна система? Apache Cassandra е безплатна система за управление на база данни NoSQL с отворен код, която е проектирана да осигури мащабируемост, висока

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

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

Използване на различна система? Microweber е CMS и онлайн магазин с отворен код за плъзгане и пускане. Изходният код на Microweber се хоства на GitHub. Това ръководство ще ви покаже

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

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

Използване на различна система? Mattermost е самостоятелно хоствана алтернатива с отворен код на Slack SAAS услугата за съобщения. С други думи, с Mattermost, вие ca

Създаване на мрежа от сървъри на Minecraft с BungeeCord на Debian 8, Debian 9 или CentOS 7

Създаване на мрежа от сървъри на Minecraft с BungeeCord на Debian 8, Debian 9 или CentOS 7

Какво ви трябва Vultr VPS с поне 1 GB RAM. SSH достъп (с root/административни привилегии). Стъпка 1: Инсталиране на BungeeCord На първо място

Lets Encrypt на Plesk

Lets Encrypt на Plesk

Контролният панел на Plesk разполага с много приятна интеграция за Lets Encrypt. Lets Encrypt е един от единствените доставчици на SSL, които предоставят пълно сертификати

Позволява криптиране на cPanel

Позволява криптиране на cPanel

Lets Encrypt е сертифициращ орган, посветен на предоставянето на SSL сертификати безплатно. cPanel изгради чиста интеграция, така че вие ​​и вашият клиент

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

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

Използване на различна система? Concrete5 е CMS с отворен код, който предлага много отличителни и полезни функции за подпомагане на редакторите при лесното създаване на съдържание и

Как да инсталирате табло за преглед на CentOS 7

Как да инсталирате табло за преглед на CentOS 7

Използване на различна система? Review Board е безплатен инструмент с отворен код за преглед на изходен код, документация, изображения и много други. Това е уеб базиран софтуер

Настройте HTTP удостоверяване с Nginx на CentOS 7

Настройте HTTP удостоверяване с Nginx на CentOS 7

В това ръководство ще научите как да настроите HTTP удостоверяване за уеб сървър на Nginx, работещ на CentOS 7. Изисквания За да започнете, ще ви трябва

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

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

YOURLS (Your Own URL Shortener) е приложение за съкращаване на URL адреси и анализ на данни с отворен код. В тази статия ще разгледаме процеса на инсталиране

Как да инсталирате и конфигурирате ArangoDB на CentOS 7

Как да инсталирате и конфигурирате ArangoDB на CentOS 7

Използване на различна система? Въведение ArangoDB е NoSQL база данни с отворен код с гъвкав модел на данни за документи, графики и ключ-стойности. то е

Използване на Etckeeper за контрол на версиите на /etc

Използване на Etckeeper за контрол на версиите на /etc

Въведение Директорията /etc/ играе критична роля в начина, по който функционира една Linux система. Причината за това е, че почти всяка системна конфигурация

Защо трябва да използвате SSHFS? Как да монтирате отдалечена файлова система със SSHFS на CentOS 6

Защо трябва да използвате SSHFS? Как да монтирате отдалечена файлова система със SSHFS на CentOS 6

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

Настройване на сървър на Half Life 2 на CentOS 6

Настройване на сървър на Half Life 2 на CentOS 6

Този урок ще обхване процеса на инсталиране на сървър за игри Half Life 2 на CentOS 6 System. Стъпка 1: Инсталиране на предпоставките За да настроите ou

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

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

Laravel GitScrum или GitScrum е инструмент за производителност с отворен код, предназначен да помогне на екипите за разработка да внедрят методологията на Scrum по подобен начин.

Възходът на машините: Реални приложения на 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 машини. Прочетете тази статия, за да научите повече