Инсталиране на Snorby под Ubuntu Server
Процедурата е описана за Ubuntu Server 17.04 Необходимо е да има инсталиран LAMP.
Съдържание
- 1 Обновяване на Ubuntu
- 2 Инсталиране на необходимите библиотеки и пакети
- 3 Клониране на изходния код на Snorby и компилиране на системата
- 4 Конфигуриране на MySQL
- 5 Създаване и редактиране на конфигурационни файлове за Snorby
- 6 Автоматично конфигуриране на Snorby
- 7 Конфигуриране на Ubuntu за автоматично стартиране на Snorby Worker
- 8 Инсталиране на Passanger
Обновяване на 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 <pre> Редактира се ''/var/www/snorby/config/database.yml'' и съдържанието спрямо примера следва да бъде: <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> # Snorby Database Configuration # # Please set your database password/user below # NOTE: Indentation is important. # snorby: &snorby adapter: mysql username: snorby_user password: "pa$$word123" host: localhost development: database: snorby_db <<: *snorby test: database: snorby_db <<: *snorby production: database: snorby_db <<: *snorby
Копира се основния конфигурационен файл /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
Инсталиране на Passanger
По време на инсталацията на 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