Поиск по сайту:
Случайные открытия делают только подготовленные умы (Паскаль).

Установить Gollum Wiki на Ubuntu

04.01.2017
Установить Gollum Wiki на Ubuntu

На этом уроке мы расскажем, как установить Gollum Wiki на Ubuntu 16.04 VPS с Puma и Nginx. Gollum является простой системой вики с открытым исходным кодом построеной на вершине Git. Gollum Wiki представляет собой хранилище Git со страницами, организованных в каталогах. Это руководство должно работать на других системах на основе Linux VPS, так же хорошо, но была испытана и написана для Ubuntu 16,04 VPS.

Войдите на свой VPS через SSH

ssh master@vps

Обновите систему и установите необходимые пакеты

[master]# sudo apt-get update && sudo apt-get -y upgrade
[master]# sudo apt-get install git nano curl libicu-dev

Пользователь в Gollum

Создание нового пользователя системы для Gollum.

[master]# sudo adduser --home /opt/gollum --shell /bin/bash --gecos 'Gollum Wiki software' gollum
[master]# sudo install -d -m 755 -o gollum -g gollum /opt/gollum
[master]# sudo usermod -a -G sudo gollum
[master]# sudo su - gollum

Установка Ruby с помощью RVM

Следующие команды запускаются от имени пользователя Gollum.

[gollum]# cd
[gollum]# curl -sSL https://rvm.io/mpapis.asc | gpg --import -
[gollum]# curl -sSL https://get.rvm.io | bash -s stable --ruby

Для того, чтобы начать использовать RVM, выполните следующую команду:

[gollum]# source ~/.rvm/scripts/rvm

Текущая стабильная версия Ruby, является версия 2.3.1

[gollum]# rvm install ruby-2.3.1

Для того, чтобы проверить, что всё сделано правильно, используйте команду ruby --version.
Вывод должен быть похож на следующий:

[gollum]# ruby --version
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]

Установка Gollum

Мы установим Gollum и Puma через RubyGems, с помощью следующей команды:

[gollum]# gem install --no-ri --no-rdoc gollum puma

Создайте новый, локальный репозиторий Git:

[gollum]# git init ~/gitrepo

Создание службы Systemd

Чтобы создать новую услугу Systemd для Gollum, откройте редактор по вашему выбору и создайте новый файл:

[master]$ sudo nano /etc/systemd/system/gollum.service

и добавьте следующие строки:

[Unit]
Description=gollum service
After=syslog.target
After=network.target

[Service]
User=gollum
ExecStart=/opt/gollum/.rvm/wrappers/ruby-2.3.1/gollum --live-preview /opt/gollum/gitrepo
Restart=on-abort

[Install]
WantedBy=multi-user.target

Запустите сервер Gollum и установите его на автоматический запуск при загрузке:

[master]$ sudo systemctl enable gollum.service
[master]$ sudo systemctl start gollum.service

Чтобы проверить работу сервиса, выполните systemctl status gollum.service и вы должны увидеть что-то, вроде этого:

● gollum.service
   Loaded: loaded (/etc/systemd/system/gollum.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2017-01-02 08:30:34 UTC; 7s ago
 Main PID: 10737 (ruby)
   CGroup: /system.slice/gollum.service
           └─10737 puma 3.6.0 (tcp://0.0.0.0:4567) [/]

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

Чтобы установить последнюю стабильную версию Nginx, доступных на репозиториях Ubuntu, выполните следующую команду:

[master]$ sudo apt-get -y install nginx

Генерация самоподписанного сертификата SSL:

[master]$ sudo mkdir -p /etc/nginx/ssl
[master]$ cd /etc/nginx/ssl
[master]$ sudo openssl genrsa -des3 -passout pass:x -out gollum.pass.key 2048
[master]$ sudo openssl rsa -passin pass:x -in gollum.pass.key -out gollum.key
[master]$ sudo rm gollum.pass.key
[master]$ sudo openssl req -new -key gollum.key -out gollum.csr
[master]$ sudo openssl x509 -req -days 365 -in gollum.csr -signkey gollum.key -out gollum.crt
[master]$ sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048

Если вы не хотите получать предупреждения, связанные с самоподписанными SSL сертификаты, вы можете настроить сертификат доверенного SSL здесь.

Затем создайте новый блок сервера Nginx:

[master]$ sudo nano /etc/nginx/sites-available/myGollumWiki.ru
server {
    listen 443 ssl http2;
    server_name myGollumWiki.ru;

    location / {
        proxy_pass              http://127.0.0.1:4567;
        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout   150;
        proxy_send_timeout      100;
        proxy_read_timeout      100;
        proxy_buffers           4 32k;
        client_max_body_size    500m;
        client_body_buffer_size 128k;
    }

    ssl on;
    ssl_certificate     /etc/nginx/ssl/gollum.ru.crt;
    ssl_certificate_key /etc/nginx/ssl/gollum.ru.key;
    ssl_dhparam  /etc/nginx/ssl/dhparam.pem;

    ssl_session_timeout 5m;
    ssl_ciphers  EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_protocols TLSv1.2;
    ssl_prefer_server_ciphers on;

    access_log  /var/log/nginx/myGollumWiki.ru.access.log;
    error_log   /var/log/nginx/myGollumWiki.ru.error.log;

}

server {
    listen      80;
    server_name myGollumWiki.ru;

    add_header Strict-Transport-Security max-age=2592000;
    rewrite ^ https://$server_name$request_uri? permanent;
}

Активирeqnt блок сервера, создав символическую ссылку:

[master]$ sudo ln -s /etc/nginx/sites-available/myGollumWiki.ru /etc/nginx/sites-enabled/myGollumWiki.ru

Проверьте конфигурацию Nginx и перезапуск Nginx:

[master]$ sudo nginx -t
[master]$ sudo systemctl start nginx

Откройте http://myGollumWiki.ru/ в вашем любимом веб-браузере и создайте свою первую страницу Gollum.

Вот и все. Вы успешно установили Gollum на вашем Ubuntu 16,04 VPS. Для получения дополнительных сведений о том, как управлять установкой Gollum, пожалуйста, обратитесь к Gollum Wiki.

PS . Если вам понравился этот пост, поделитесь им с друзьями в социальных сетях с помощью кнопок или просто оставьте комментарий ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

20 − 16 =

**ссылки nofollow

Читайте также

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: