На этом уроке мы расскажем, как установить 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 . Если вам понравился этот пост, поделитесь им с друзьями в социальных сетях с помощью кнопок или просто оставьте комментарий ниже.