Как установить DokuWiki на FreeBSD 12

DokuWiki - это вики-программа с открытым исходным кодом, написанная на PHP, для которой не требуется база данных. Хранит данные в текстовых файлах. Исходный код DokuWiki публично размещен на GitHub . Это руководство покажет вам, как установить DokuWiki с Nginx на свежий экземпляр FreeBSD 12 Vultr.

Требования

  • Программное обеспечение веб-сервера с поддержкой PHP; такие как Apache, Nginx, IIS, Lighttpd, LiteSpeed. Это руководство будет использовать Nginx.
  • PHP версии 5.6 или выше, более новые версии настоятельно рекомендуется. Это руководство будет использовать PHP 7.2.

Прежде чем вы начнете

Проверьте версию FreeBSD.

uname -ro
# FreeBSD 12.0-RELEASE

Убедитесь, что ваша система FreeBSD обновлена.

freebsd-update fetch install
pkg update && pkg upgrade -y

Установите необходимые пакеты, если их нет в вашей системе.

pkg install -y sudo vim unzip wget bash socat git

Создайте новую учетную запись пользователя с вашим предпочтительным именем пользователя (мы будем использовать johndoe).

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

Запустите visudoкоманду и раскомментируйте %wheel ALL=(ALL) ALLстроку, чтобы члены wheelгруппы могли выполнить любую команду.

visudo

# Uncomment by removing hash (#) sign
%wheel ALL=(ALL) ALL

Теперь переключитесь на нового пользователя.

su - johndoe

ПРИМЕЧАНИЕ. Замените johndoeна свое имя пользователя.

Установите часовой пояс.

sudo tzsetup

Установите PHP и расширения PHP

Установите PHP, а также необходимые расширения PHP.

sudo pkg install -y php72 php72-ctype php72-curl php72-dom php72-hash php72-iconv php72-gd php72-json php72-mbstring php72-openssl php72-session php72-simplexml php72-xml php72-zip php72-zlib php72-filter php72-ftp php72-tokenizer php72-calendar php72-pecl-APCu php72-opcache php72-phar php72-fileinfo

Проверьте версию.

php --version
# PHP 7.2.14 (cli) (built: Jan 15 2019 01:14:39) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
#     with Zend OPcache v7.2.14, Copyright (c) 1999-2018, by Zend Technologies

Софт-ссылка php.ini-productionна php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Включите и запустите PHP-FPM.

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Установите и настройте Nginx

DokuWiki будет работать на любом веб-сервере, поддерживающем PHP. В этом уроке мы будем использовать Nginx. Если вы предпочитаете Apache или другой веб-сервер, вы можете использовать его вместо Nginx.

Установите Nginx.

sudo pkg install -y nginx

Проверьте версию.

nginx -v
# nginx version: nginx/1.14.2

Включите и запустите Nginx.

sudo sysrc nginx_enable=yes
sudo service nginx start

Запустите sudo vim /usr/local/etc/nginx/dokuwiki.confи настройте Nginx для DokuWiki.

server {

  listen [::]:80;
  listen 80;

  server_name wiki.example.com; # Replace with your hostname

  root /usr/local/www/dokuwiki;
  index index.html index.htm index.php doku.php;

  client_max_body_size 15M;
  client_body_buffer_size 128K;

  location / {
    try_files $uri $uri/ @dokuwiki;
  }

  location ^~ /conf/ { return 403; }
  location ^~ /data/ { return 403; }
  location ~ /\.ht { deny all; }

  location @dokuwiki {
    rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
    rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
    rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
    rewrite ^/(.*) /doku.php?id=$1&$args last;
  }

  location ~ \.php$ {
    try_files $uri $uri/ /doku.php;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param REDIRECT_STATUS 200;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }

}

Сохраните файл и выйдите с помощью :+ W+ Q.

Теперь нам нужно включить dokuwiki.confфайл в основной nginx.confфайл.

Запустите sudo vim /usr/local/etc/nginx/nginx.confи добавьте следующую строку, чтобы http {}заблокировать.

include dokuwiki.conf;

Проверьте конфигурацию Nginx.

sudo nginx -t

Перезагрузить Nginx.

sudo service nginx reload

Установить DokuWiki

Создайте корневой каталог документа.

sudo mkdir -p /usr/local/www/dokuwiki

Изменить владельца /usr/local/www/dokuwikiкаталога на johndoe.

sudo chown -R johndoe:johndoe /usr/local/www/dokuwiki

Перейдите к корню документа.

cd /usr/local/www/dokuwiki

Загрузите новейшую стабильную версию DokuWiki со страницы загрузки DokuWiki .

wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Распакуйте архив с DokuWiki.

tar xvf dokuwiki-stable.tgz
rm dokuwiki-stable.tgz
mv dokuwiki-2018-04-22b/* . && mv dokuwiki-2018-04-22b/.* .
rmdir dokuwiki-2018-04-22b/

Изменить владельца /usr/local/www/dokuwikiкаталога на www.

sudo chown -R www:www /usr/local/www/dokuwiki

Откройте скрипт установки DokuWiki, install.phpв своем браузере и настройте DokuWiki. Сценарий установки проверяет доступность необходимых функций PHP и проверяет необходимые разрешения для файлов. Это также создает начальную учетную запись администратора и начальную политику ACL. Чтобы запустить установщик, откройте http://wiki.example.com/install.phpв браузере и следуйте инструкциям.

После успешной настройки удалите install.phpфайл из корневого каталога DokuWiki.

sudo rm /usr/local/www/dokuwiki/install.php

Ваш DokuWiki установлен, и теперь вы можете просматривать и редактировать функциональные вики на http://wiki.example.com/.



Leave a Comment

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

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

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

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше