Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | dokuwiki [2025/07/06 12:38] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Корпоративная Википедия на DokuWiki ====== | ||
+ | ~~Title: DokuWiki установка (Nginx + PHP-FPM или Apache), настройка и использование ~~ | ||
+ | {{htmlmetatags> | ||
+ | metatag-keywords=(Настройка DokuWiki) | ||
+ | metatag-description=(Тонкая настройка DokuWiki для SEO продвижения, | ||
+ | }} | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | На основе DokuWiki, немецкой компанией, | ||
+ | |||
+ | ===== Хостинг для DokuWiki ===== | ||
+ | Выбор подходящего хостинга для DokuWiki — это важный шаг для тех, кто планирует развернуть мощную и простую в управлении вики-систему. DokuWiki отличается легкостью в установке и низкими требованиями к серверу, | ||
+ | ====== Как установить DokuWiki на веб-сервер Nginx и php-fpm ====== | ||
+ | В этом руководстве по установке DokuWiki на веб-сервер Nginx ([[fastcgi|php-fpm]]), | ||
+ | |||
+ | Системной окружение, | ||
+ | <file bash> | ||
+ | # nginx -v | ||
+ | nginx version: nginx/ | ||
+ | </ | ||
+ | <file bash> | ||
+ | # php -v | ||
+ | PHP 7.4.29 (cli) (built: Apr 12 2022 10:55:38) ( NTS ) | ||
+ | Copyright (c) The PHP Group | ||
+ | Zend Engine v3.4.0, Copyright (c) Zend Technologies | ||
+ | with Zend OPcache v7.4.29, Copyright (c), by Zend Technologies | ||
+ | </ | ||
+ | |||
+ | * Загрузите [[https:// | ||
+ | < | ||
+ | wget https:// | ||
+ | </ | ||
+ | * Распаковка скачанного архива и создание корневого каталога (/ | ||
+ | <file bash> | ||
+ | tar xzf dokuwiki-stable.tgz -C / | ||
+ | cp -Ra dokuwiki-2020-07-29/ | ||
+ | </ | ||
+ | * Изменить владельца, | ||
+ | <file bash> | ||
+ | chown -R nginx:nginx / | ||
+ | </ | ||
+ | Приступим к настройки виртуального хоста в Nginx. Придумывать велосипед не надо, а скачиваем уже [[https:// | ||
+ | |||
+ | Мой виртуальный хост будет описан в файле / | ||
+ | - server_name на название нашего сайта, в моем случае буду использовать домен | ||
+ | - путь к логам access_log error_log (можете эти директивы удалить или закоментировать); | ||
+ | - root указываем путь к файлам сайта | ||
+ | - fastcgi_pass меняем на настройки вашей системы | ||
+ | |||
+ | Сохраняем, | ||
+ | < | ||
+ | # nginx -t | ||
+ | nginx: the configuration file / | ||
+ | |||
+ | # systemctl reload nginx && systemctl status php-fpm | ||
+ | </ | ||
+ | * Установим бесплатный SLL [[let_s_encrypt|Let’s Encrypt]], также certbot настроит автоматический [[url_redirection|301 редирект]] с http на https. | ||
+ | < | ||
+ | certbot -d wiki.darkfire.cf | ||
+ | </ | ||
+ | Ниже рабочий конфиг, | ||
+ | <file bash> | ||
+ | server { | ||
+ | server_name wiki.darkfire.cf; | ||
+ | root / | ||
+ | autoindex off; | ||
+ | client_max_body_size 15M; | ||
+ | client_body_buffer_size 128k; | ||
+ | index index.html index.htm index.php doku.php; | ||
+ | access_log | ||
+ | error_log | ||
+ | |||
+ | add_header X-Frame-Options " | ||
+ | add_header X-Content-Type-Options " | ||
+ | |||
+ | location / { | ||
+ | try_files $uri $uri/ @dokuwiki; | ||
+ | } | ||
+ | |||
+ | location ~ ^/ | ||
+ | expires 30d; | ||
+ | } | ||
+ | |||
+ | location = / | ||
+ | location = / | ||
+ | location ~ /\. { access_log off; log_not_found off; deny all; } | ||
+ | location ~ ~$ { access_log off; log_not_found off; deny all; } | ||
+ | # Sitemap | ||
+ | rewrite ^/ | ||
+ | |||
+ | location @dokuwiki { | ||
+ | rewrite ^/ | ||
+ | rewrite ^/ | ||
+ | rewrite ^/ | ||
+ | rewrite ^/(.*) / | ||
+ | } | ||
+ | |||
+ | location ~ \.php$ { | ||
+ | try_files $uri =404; | ||
+ | fastcgi_pass | ||
+ | fastcgi_index | ||
+ | fastcgi_param | ||
+ | include / | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_intercept_errors | ||
+ | fastcgi_ignore_client_abort | ||
+ | fastcgi_connect_timeout 60; | ||
+ | fastcgi_send_timeout 180; | ||
+ | fastcgi_read_timeout 180; | ||
+ | fastcgi_buffer_size 128k; | ||
+ | fastcgi_buffers 4 256k; | ||
+ | fastcgi_busy_buffers_size 256k; | ||
+ | fastcgi_temp_file_write_size 256k; | ||
+ | } | ||
+ | |||
+ | location ~ / | ||
+ | deny all; | ||
+ | } | ||
+ | |||
+ | location ~ /\.ht { | ||
+ | deny all; | ||
+ | } | ||
+ | |||
+ | |||
+ | listen 443 ssl http2; # managed by Certbot | ||
+ | ssl_certificate / | ||
+ | ssl_certificate_key / | ||
+ | include / | ||
+ | ssl_dhparam / | ||
+ | |||
+ | } | ||
+ | server { | ||
+ | if ($host = wiki.darkfire.cf) { | ||
+ | return 301 https:// | ||
+ | } # managed by Certbot | ||
+ | |||
+ | server_name wiki.darkfire.cf; | ||
+ | listen 80; | ||
+ | return 404; # managed by Certbot | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | * И только теперь переходим к инсталлятору DokuWiki по адресу https:// | ||
+ | - **Wiki Name**. Задаёт опцию title вики. Это имя будет выводиться в верхнем правом углу шаблона по умолчанию (default). | ||
+ | - Enable ACL. Остальные опции будут доступны, | ||
+ | - Superuser. В этом поле указывается имя будущей учётной записи администратора. В имени требуется использовать только ASCII-символы в нижнем регистре. Использование пробелов не разрешается. | ||
+ | - Full Name. Реальное имя администратора. | ||
+ | - E-Mail. Электронный почтовый адрес администратора. Расширенная проверка введённого адреса не проводится (проверяется только наличие сивола «@»), тем не менее здесь требуется указать действительный адрес. | ||
+ | - Password и Once Again. Дважды вводим пароль администратора. | ||
+ | - Initial ACL policy. Установщик позволяет вам настроить начальный набор правил ACL. Выбор конкретного варианта зависит прежде всего от того, как вы собираетесь использовать Wiki. Это только начальный этап установки, | ||
+ | - Allow users to register themselves. Если флажок не установлен, | ||
+ | - Please choose the license you want to put your content under (Выберите лицензию, | ||
+ | - Once a month, send anonymous usage data to the DokuWiki developers (Раз в месяц отправлять анонимные данные об использовании разработчикам «ДокуВики»). По умолчанию включена, | ||
+ | Жмем Save. Установка DokuWiki закончена. Не забудьте удалить install.php! | ||
+ | ===== Безопасность DokuWiki в Nginx ===== | ||
+ | Используете веб-сервер, | ||
+ | |||
+ | Эти настройки должны присутствовать в конфигурационном файле вашего виртуального хоста в Nginx: | ||
+ | <file php> | ||
+ | location ~ / | ||
+ | deny all; | ||
+ | } | ||
+ | |||
+ | location ~ /\.ht { | ||
+ | deny all; | ||
+ | } | ||
+ | </ | ||
+ | ===== Как установить DokuWiki на Apache (mod_php) | ||
+ | Я посчитал излишним описывать эту процедуру, | ||
+ | |||
+ | ====== Настройки DokuWiki после установки ====== | ||
+ | |||
+ | * Транслитерация в именах страниц: | ||
+ | * Удобочитаемые адреса (URL): [[htaccess|.htaccess]] | ||
+ | * Задержку индексирования, | ||
+ | * sitemap:5 - тем самым мы включаем создание файла sitemap.xml (подробнее смотрите ниже) | ||
+ | |||
+ | ===== Файлы конфигурации Dokuwiki ===== | ||
+ | Все файлы конфигурации хранятся в директории ./conf или в / | ||
+ | |||
+ | «Основные» файлы обычно поставляются вместе с «ДокуВики», | ||
+ | |||
+ | Если какие-то настройки позволено сделать в локальном файле, то лучше сделать именно там, а не в основном файле. Это позволит избежать проблем при обновлении, | ||
+ | |||
+ | ^«Основной» файл | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | | |'' | ||
+ | | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | | |'' | ||
+ | | |'' | ||
+ | |||
+ | Согласно мануалу, | ||
+ | |||
+ | ^ Название файла | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | |||
+ | ===== Карта сайта DokuWiki sitemap.xml ===== | ||
+ | |||
+ | Карта сайта ([[sitemaps|sitemaps]]) создаётся, | ||
+ | |||
+ | Файл карты находится во вложенном каталоге «cache» вашей установки «ДокуВики». Он будет доступен по ссылке: | ||
+ | |||
+ | < | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | Dokuwiki sitemap.xml и настройка Яндекс. Мой настройки для Яндекс Вебмастера, | ||
+ | |||
+ | <file bash robotx.txt> | ||
+ | User-agent: * | ||
+ | Disallow: /bin/ | ||
+ | Disallow: /conf/ | ||
+ | Disallow: /inc/ | ||
+ | Disallow: /lib/ | ||
+ | Disallow: /vendor/ | ||
+ | Host: wiki.dieg.info | ||
+ | Sitemap: https:// | ||
+ | </ | ||
+ | Для Apache в файл .htaccess добавляем строку | ||
+ | <file bash> | ||
+ | RewriteRule ^sitemap\.xml\.gz$ | ||
+ | </ | ||
+ | Для Nginx, в раздел server добавляем строку редиректа: | ||
+ | <file bash> | ||
+ | rewrite ^/ | ||
+ | </ | ||
+ | <note tip> | ||
+ | |||
+ | ===== 2 способа добавит Google Tag Manager в Dokuwiki ===== | ||
+ | |||
+ | Чтобы не вставлять напрямую на сайт коды Яндекс Метрики и Google Analytics правильно всего использовать [[gtm|GTM]]. Регистрируем наш сайт в Google Tag Manager ([[https:// | ||
+ | |||
+ | **1 способ: | ||
+ | - Устанавливаем компонент https:// | ||
+ | - В меню " | ||
+ | |||
+ | После установки Google Tag Manager прекрасно работает, | ||
+ | {{ :: | ||
+ | Подобных ошибок, | ||
+ | |||
+ | |||
+ | **2 способ: | ||
+ | - Создаем файл lib/ | ||
+ | - lib/ | ||
+ | </ | ||
+ | < | ||
+ | <!-- Google Tag Manager (noscript) --> | ||
+ | </ | ||
+ | ===== Добавление кода Adsense в DokuWiki шаблон и sidebar ===== | ||
+ | |||
+ | Все найденные плагин для подключения Google AdSense показались мне старыми: | ||
+ | |||
+ | |||
+ | |||
+ | **Включение рекламы AdSense на правом сайдбаре: | ||
+ | - Шаблон должен поддерживать сайдбар, | ||
+ | - Включить в настройках: | ||
+ | - Перейдите по адресу http:// | ||
+ | - В lib/ | ||
+ | |||
+ | Наслаждаемся рекламой на своем сайте!: | ||
+ | |||
+ | ==== Как добавить кода Adsense в DokuWiki после H1? ==== | ||
+ | |||
+ | Для добавления кода Adsense после первого H1, нужно отредактировать | ||
+ | |||
+ | Находим строку <file php> | ||
+ | $this-> | ||
+ | </ | ||
+ | $this-> | ||
+ | if ($level == 1) { | ||
+ | $this-> | ||
+ | < | ||
+ | |||
+ | КОД из AdSense | ||
+ | |||
+ | < | ||
+ | <br />'; | ||
+ | } | ||
+ | |||
+ | $this-> | ||
+ | </ | ||
+ | |||
+ | ====== Плагины и шаблоны DokuWiki ====== | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | Insert Code | ||
+ | </ | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * Для вставки видео с youtube я использую плагин [[https:// | ||
+ | {{youtube> | ||
+ | </ | ||
+ | {{ youtube> | ||
+ | </ | ||
+ | |||
+ | Необычное применение движка DokuWiki как landing page для товарных офферов. Устанавливаем дополнения через админку dokuwiki: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[dokuwiki# | ||
+ | * Как вставлять видео на лендинг: | ||
+ | {{ youtube> | ||
+ | </ | ||
+ | * Как вставить галереи изображений: | ||
+ | {{gallery> | ||
+ | </ | ||
+ | {{gallery>: | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Шаблон Bootstrap3 и плагин подключение Bootstrap Wrapper Plugin ===== | ||
+ | Для подключения [[Bootstrap|Bootstrap]] возможностей к DokuWiki используют плагин [[http:// | ||
+ | {{ : | ||
+ | |||
+ | Чтобы плагин работал у вас должна быть установлен шаблон с поддержкой Bootstrap, например [[https:// | ||
+ | |||
+ | Этот плагин добавляет в вашу «ДокуВики» несколько компонентов Bootstrap. Значения иконок для них можно брать например здесь https:// | ||
+ | * Jumbotron | ||
+ | * [[bootstrap# | ||
+ | * [[out> | ||
+ | * Text | ||
+ | * Tooltips | ||
+ | * [[bootstrap# | ||
+ | * Thumbnails | ||
+ | * [[out> | ||
+ | * Wells | ||
+ | * Labels | ||
+ | * Nav & Tabs (with dropdown) | ||
+ | * Page heading | ||
+ | * Lead | ||
+ | * [[bootstrap# | ||
+ | * List Group | ||
+ | * Progress Bars | ||
+ | * Affix | ||
+ | * Carousel | ||
+ | * Accordion | ||
+ | * [[out> | ||
+ | |||
+ | <callout type=" | ||
+ | * Modal (with remote attribute) | ||
+ | * Popover | ||
+ | ===== 4 SEO плагина для DokuWiki ===== | ||
+ | |||
+ | * [[https:// | ||
+ | Для использования вписываем в страницу в таком виде< | ||
+ | {{htmlmetatags> | ||
+ | metatag-keywords=(apfel, | ||
+ | metatag-description=(Allgemeiner Obstbauer) | ||
+ | metatag-media-og: | ||
+ | metatag-og: | ||
+ | metatag-og: | ||
+ | }} | ||
+ | </ | ||
+ | <file html> | ||
+ | <meta name=" | ||
+ | <meta name=" | ||
+ | <meta name=" | ||
+ | <meta property=" | ||
+ | <meta property=" | ||
+ | <meta property=" | ||
+ | </ | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | ~~Title: Page Title plugin for DokuWiki ~~ | ||
+ | </ | ||
+ | |||
+ | ===== DokuWiki print.css вывод на печать ===== | ||
+ | Если возникла надобность при выводе на принтер удалить какие-то объекты или изменить шрифт, можно дополнить/ | ||
+ | #footer2d, | ||
+ | # | ||
+ | # | ||
+ | display: none; | ||
+ | } | ||
+ | </ | ||
+ | ===== DokuWiki добавить CSS файл ===== | ||
+ | |||
+ | В DokuWiki предусмотрено добавление пользовательских стилей изначально. Для этого требуется создать файл conf/ | ||
+ | div[class^=" | ||
+ | border-radius: | ||
+ | } | ||
+ | </ | ||
+ | ===== DokuWiki загрузка своего javascript кода ===== | ||
+ | |||
+ | Подробно: | ||
+ | |||
+ | * Для внешней ссылки удалить атрибут rel=" | ||
+ | <file javascript> | ||
+ | function doFollow1(){ | ||
+ | | ||
+ | } | ||
+ | |||
+ | jQuery(function () { | ||
+ | jQuery(document).click(doFollow1); | ||
+ | }); | ||
+ | </ | ||
+ | |||
+ | ===== DokuWiki заменить значок неупорядоченного списка ul ===== | ||
+ | |||
+ | **1 вариант: | ||
+ | - Подготавливаем картинку 16х16 пикселей. | ||
+ | - Заливаем её lib/ | ||
+ | - В файле lib/ | ||
+ | ul { list-style: square outside; } | ||
+ | </ | ||
+ | ul { list-style-image: | ||
+ | </ | ||
+ | |||
+ | В оглавлении страницы заменить файл / | ||
+ | |||
+ | **2 вариант: | ||
+ | В файле lib/ | ||
+ | <file css> | ||
+ | .dokuwiki .page ul li, .dokuwiki .aside ul li { | ||
+ | / | ||
+ | list-style: lower-greek; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== DokuWiki настройка кастомной 404 страницы ===== | ||
+ | В DokuWiki нельзя настраивать 404 страницы, | ||
+ | |||
+ | Плагины DokuWiki для настройки 404 страницы: | ||
+ | - [[https:// | ||
+ | - notfound Plugin | ||
+ | - Page Redirect Plugin | ||
+ | |||
+ | ===== DokuWiki вывод данных из MySQL ===== | ||
+ | Каким образом мне в текстовый файл (т.е. страницу wiki) подгрузить или сделать include из php файла? | ||
+ | |||
+ | Ответ: datatables и SQL query plugin | ||
+ | * [[https:// | ||
+ | * Плагин [[https:// | ||
+ | * [[http:// | ||
+ | |||
+ | После установки, | ||
+ | |||
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга