Разлика между версии на „Инсталиране на Snorby под Ubuntu Server“
Ред 158: | Ред 158: | ||
sudo a2enmod passenger | sudo a2enmod passenger | ||
sudo service apache2 restart | sudo service apache2 restart | ||
+ | </pre> | ||
+ | =Конфигуриране на виртуален хост за Apache= | ||
+ | Създава се файл ''nano /etc/apache2/sites-available/snorby.conf'': | ||
+ | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
+ | sudo nano /etc/apache2/sites-available/snorby.conf | ||
</pre> | </pre> | ||
− | + | Във фаила ''nano /etc/apache2/sites-available/snorby.conf'' се записва: | |
− | + | ||
− | + | ||
− | + | ||
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
+ | <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> | ||
+ | </pre> | ||
+ | Премахва се конфигурацияна по подразбиране и Apache сървъра се рестартира: | ||
+ | <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap;white-space: -pre-wrap;white-space: -o-pre-wrap; word-wrap: break-word"> | ||
+ | sudo a2ensite snorby.conf | ||
+ | sudo a2dissite 000-default | ||
+ | sudo service apache2 restart | ||
</pre> | </pre> | ||
+ | =Проверка на системата= | ||
+ | Ако гореописаната процедура е преминала успешно отворете в браузър IP адреса на сървъра и се свържете в Snorby със следния профил: | ||
+ | Питребител: '''snorby@example.com''' | ||
+ | Парола: '''snorby''' |
Версия от 07:50, 14 септември 2017
Процедурата е описана за Ubuntu Server 17.04 Необходимо е да има инсталиран LAMP.
Съдържание
- 1 Обновяване на Ubuntu
- 2 Инсталиране на необходимите библиотеки и пакети
- 3 Клониране на изходния код на Snorby и компилиране на системата
- 4 Конфигуриране на MySQL
- 5 Създаване и редактиране на конфигурационни файлове за Snorby
- 6 Автоматично конфигуриране на Snorby
- 7 Конфигуриране на Ubuntu за автоматично стартиране на Snorby Worker
- 8 Инсталиране на Passanger
- 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 <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
Конфигуриране на виртуален хост за 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