Разлика между версии на „Инсталиране на Snorby под Ubuntu Server“
(→Инсталиране на Passanger) |
|||
Ред 1: | Ред 1: | ||
− | [[Category: | + | [[Category:Servers]] |
Процедурата е описана за Ubuntu Server 17.04 | Процедурата е описана за Ubuntu Server 17.04 | ||
''Необходимо е да има инсталиран LAMP.'' | ''Необходимо е да има инсталиран LAMP.'' |
Текуща версия към 09:25, 14 септември 2017
Процедурата е описана за Ubuntu Server 17.04 Необходимо е да има инсталиран LAMP.
Съдържание
- 1 Обновяване на Ubuntu
- 2 Инсталиране на необходимите библиотеки и пакети
- 3 Клониране на изходния код на Snorby и компилиране на системата
- 4 Конфигуриране на MySQL
- 5 Създаване и редактиране на конфигурационни файлове за Snorby
- 6 Автоматично конфигуриране на Snorby
- 7 Конфигуриране на Ubuntu за автоматично стартиране на Snorby Worker
- 8 Инсталиране на Passеnger
- 9 Конфигуриране на виртуален хост за Apache
- 10 Проверка на системата
Обновяване на Ubuntu
sudo apt update sudo apt upgrade
Инсталиране на необходимите библиотеки и пакети
sudo apt install imagemagick wkhtmltopdf ruby libyaml-dev libxml2-dev libxslt1-dev zlib1g-dev build-essential openssl libssl-dev libmysqlclient-dev libreadline6-dev ruby-bundler ruby-dev postgresql-server-dev-all apache2-dev libcurl4-openssl-dev
Клониране на изходния код на Snorby и компилиране на системата
cd /var/www/ sudo git clone http://github.com/Snorby/snorby.git cd snorby sudo bundle install
Конфигуриране на MySQL
Необходимо е да се осигури отдалечен достъп до MySQL сървъра. В примерът не е дефиниран точен адрес на отдалечена система, от която ще може да се работи с базите данни. От съображения за сигурност е препоръчително това да бъде направено.
sudo ufw allow mysql
Редактира се файл /etc/mysql/mysql.conf.d/mysqld.cnf и се задава:
bind-address = 0.0.0.0
Създава се база данни и потребител за Snorby, които за примера са: База данни: snorby Потребител: snorby Парола: snorby
Препоръчително е в реална конфигурация да се използва надеждна парола.
mysql -u root -p CREATE DATABASE snorby; CREATE USER 'snorby'@'%' IDENTIFIED BY 'snorby'; GRANT ALL PRIVILEGES ON snorby.* TO 'snorby'@'%'; FLUSH PRIVILEGES; quit
Рестартира се MySQL сървъра:
sudo service mysql restart
Създаване и редактиране на конфигурационни файлове за Snorby
Файл database.yml
Копира се примерния файл /var/www/snorby/config/database.yml.example в /var/www/snorby/config/database.yml:
sudo cp /var/www/snorby/config/database.yml.example /var/www/snorby/config/database.yml
Редактира се /var/www/snorby/config/database.yml и съдържанието спрямо примера следва да бъде:
# Snorby Database Configuration # # Please set your database password/user below # NOTE: Indentation is important. # snorby: &snorby adapter: mysql username: snorby password: "snorby" host: localhost development: database: snorby <<: *snorby test: database: snorby <<: *snorby production: database: snorby <<: *snorby
Файл snorby_config.yml
Копира се основния конфигурационен файл /var/www/snorby/config/snorby_config.yml.example в /var/www/snorby/config/snorby_config.yml:
sudo cp /var/www/snorby/config/snorby_config.yml.example /var/www/snorby/config/snorby_config.yml
Препоръчително е в този файл да промените част от параметрите (в примера са оставени по подразбиране).
Автоматично конфигуриране на Snorby
sudo bundle exec rake snorby:setup
Конфигуриране на Ubuntu за автоматично стартиране на Snorby Worker
Създава се файл /lib/systemd/system/snorby_worker.service.
sudo nano /lib/systemd/system/snorby_worker.service
Съдържанието на /lib/systemd/system/snorby_worker.service спрямо примреа е:
[Unit] Description=Snorby Worker Daemon Requires=apache2.service After=syslog.target network.target apache2.service [Service] Type=forking WorkingDirectory=/var/www/snorby ExecStart=/usr/bin/ruby script/delayed_job start [Install] WantedBy=multi-user.target
Добавя се новата услуга:
sudo systemctl enable snorby_worker systemctl status snorby_worker.service
Инсталиране на Passеnger
По време на инсталацията на passanger е необходимо (спрямо примера) да се посочи само Ruby.
sudo gem install passenger sudo passenger-install-apache2-module
След приключване на етпите от инсталационната процедура в конзолата се извеждат данни за необходимите промени в конфигурацията на Apache, например:
LoadModule passenger_module /var/lib/gems/2.3.0/gems/passenger-5.1.8/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /var/lib/gems/2.3.0/gems/passenger-5.1.8 PassengerDefaultRuby /usr/bin/ruby2.3 </IfModule>
Създава се файл /etc/apache2/mods-available/passenger.load:
sudo nano /etc/apache2/mods-available/passenger.load
Във файла /etc/apache2/mods-available/passenger.load се добавя:
LoadModule passenger_module /var/lib/gems/2.3.0/gems/passenger-5.1.8/buildout/apache2/mod_passenger.so
Създава се файл /etc/apache2/mods-available/passenger.conf:
sudo nano /etc/apache2/mods-available/passenger.conf
Във файла /etc/apache2/mods-available/passenger.conf се записва:
<IfModule mod_passenger.c> PassengerRoot /var/lib/gems/2.3.0/gems/passenger-5.1.8 PassengerDefaultRuby /usr/bin/ruby2.3 </IfModule>
Активира се новия Apache модул и сървъра се рестартира:
sudo a2enmod passenger sudo service apache2 restart
Конфигуриране на виртуален хост за Apache
Създава се файл nano /etc/apache2/sites-available/snorby.conf:
sudo nano /etc/apache2/sites-available/snorby.conf
Във фаила nano /etc/apache2/sites-available/snorby.conf се записва:
<virtualhost *:80> ServerName snorby.ict-academy.bg DocumentRoot /var/www/snorby/public <directory "/var/www/snorby/public"> AllowOverride all Order deny,allow Allow from all Options -MultiViews </directory> </virtualhost>
Премахва се конфигурацияна по подразбиране и Apache сървъра се рестартира:
sudo a2ensite snorby.conf sudo a2dissite 000-default sudo service apache2 restart
Проверка на системата
Ако гореописаната процедура е преминала успешно отворете в браузър IP адреса на сървъра и се свържете в Snorby със следния профил: Питребител: snorby@example.com Парола: snorby