Redmine je webová aplikace s otevřeným zdrojovým kódem pro správu projektů a sledování problémů. Redmine je založen na Ruby on Rails Framework, má podporu napříč platformami a databázemi a dodává se s překlady do 42 jazyků. Software umožňuje sledovat více projektů, integruje zprávy, správu dokumentů a souborů a podporu wiki pro každý projekt. Uživatelské účty mohou být ověřeny proti adresáři LDAP a software třetích stran může být připojen prostřednictvím REST API.
V tomto tutoriálu nainstalujeme Redmine 3.2 s Nginx jako webovým serverem a MySQL jako databázovým serverem na operačním systému CentOS 7 (64 bit).
Předpoklad
- CentOS 7 – 64 bitů.
- Oprávnění uživatele root.
Krok 1 – Instalace závislostí Redmine
Redmine má spoustu závislostí, které nainstalujeme jako první. Přihlaste se ke svému serveru CentOS 7 jako uživatel root:
ssh [email protected]
Nainstalujte všechny závislosti, které Redmine vyžaduje, a balíčky potřebné pro ruby a rvm pomocí příkazu yum níže:
yum install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel mysql-devel ftp wget ImageMagick-devel gcc-c++ patch readline readline-devel zlib libyaml-devel libffi-devel make bzip2 autoconf automake libtool bison iconv-devel subversion
Instalace bude vyžadovat heslo pro MySQL. Na požádání zadejte své nové kořenové heslo MySQL.
Krok 2 – Instalace Ruby a RVM
V tomto kroku nainstalujeme rvm (nejnovější verzi) a ruby 2.2. Redmine 3.2 podporuje ruby verzi 2.2. RVM (Ruby Version Manager) je nástroj příkazového řádku, který vám umožňuje instalovat, spravovat a pracovat s více prostředími ruby na stejném serveru.
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -L https://get.rvm.io | bash -s stable --ruby=2.2.5
Po dokončení instalace musíme znovu načíst RVM a přidat jej do souboru .bashrc pro automatické opětovné načtení:
source /usr/local/rvm/scripts/rvm
echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"' >> ~/.bashrc
Znovu načtěte soubor .bashrc a zkontrolujte verzi Ruby a RVM.
source ~/.bashrc
ruby -v
rvm -v
Krok 3 – Konfigurace databáze pro Redmine
V tomto kroku nainstalujeme balíček mysql-server z oficiálního úložiště MySQL.
Přidejte úložiště Oracle MySQL a zkontrolujte seznam úložiště.
rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
yum repolist
abyste se ujistili, že úložiště serveru MySQL bylo úspěšně přidáno.
Nainstalujte server MySQL pomocí tohoto příkazu yum.
yum install mysql-server
Po dokončení instalace spusťte službu mysqld a nakonfigurujte kořenové heslo MySQL.
systemctl start mysqld
Mysql server byl spuštěn. Nyní získejte dočasné root heslo pro mysql server pomocí příkazu grep níže:
grep 'temporary password' /var/log/mysqld.log
Uvidíte výsledek podobný tomuto:
2016-10-31T23:06:50.974555Z 1 [Note] A temporary password is generated for [email protected]: />y.)uWui8j*
Takže víme, že root heslo serveru MySQL je:/>y.)uWui8j*
Nyní nastavíme nové root heslo pro mysql server. Přihlaste se do shellu mysql pomocí root uživatele a vygenerovaného hesla:
mysql -u root -p
GENERATED PASSWORD: />y.)uWui8j*
Pomocí níže uvedeného dotazu mysql nastavte nové heslo uživatele root:
ALTER USER 'root'@'localhost' IDENTIFIED BY '[email protected]!';
Dále vytvořte novou databázi s názvem „redmine“ a vytvořte nového uživatele „redmine“ s heslem „redmine“ (zde použijte bezpečné heslo na vašem serveru!). Poté udělte uživateli všechna oprávnění k databázi 'redmine'.
create database redmine;
create user [email protected] identified by '[email protected]!';
grant all privileges on redmine.* to [email protected] identified by '[email protected]!';
flush privileges;
exit
Databáze a uživatel byli vytvořeni.
Krok 4 – Instalace Phusion Passenger a Nginx
Phusion Passenger je webový aplikační server, který lze používat společně s apache a nginx. Podporuje více jazyků:Ruby, Python a Nodejs. Je to pro nás snadné, rychlé, zvládne větší provoz a poskytuje vylepšení zabezpečení.
V této kapitole nainstalujeme Phusion Passenger a integrujeme jej s naším webovým serverem nginx. Nainstalujte cestujícího pomocí příkazu gem níže a poté spusťte příkaz traveller-nginx-module.
gem install passenger --no-ri --no-rdoc
passenger-install-nginx-module
Příkaz se vás zeptá, jaký programovací jazyk má být použit, vyberte Ruby a Python .
Budete dotázáni na instalaci nginx; vyberte „Ano:stáhnout, zkompilovat a nainstalovat Nginx za mě. (doporučeno) ".
."
Budete požádáni o instalační adresář nginx, použijte výchozí '/opt/nginx/' , stačí stisknout „Enter ".
."
Krok 5 – Konfigurace Nginx
Po dokončení instalace nginx přejděte do instalačního adresáře a upravte soubor nginx.conf pomocí editoru.
cd /opt/nginx/
cd conf/
vim nginx.conf
Vložte konfiguraci níže na řádek 24:
include vhost/*.conf;
Uložte soubor a ukončete editor.
Vytvořte nový adresář 'vhost' pro konfiguraci virtuálního hostitele.
mkdir -p /opt/nginx/conf/vhost
Přejděte do adresáře vhost a vytvořte konfiguraci redmine virtualhost pomocí vim:
cd /opt/nginx/conf/vhost/
vim redmine.conf
Vložte konfiguraci virtuálního hostitele níže:
server {
listen 80;
server_name www.redmine.me;
root /var/www/redmine/public;
passenger_enabled on;
client_max_body_size 10m; # Max attachemnt size
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
Uložte soubor.
Ubuntu 16.04 používá systemd jako init systém. Dále nakonfigurujeme nginx pro systemd. Přejděte do adresáře systemd a vytvořte nový soubor služby s názvem 'nginx.service'.
cd /lib/systemd/system/
vim nginx.service
Níže vložte skript nginx pro systemd:
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Uložte a ukončete.
Znovu načtěte službu systemd a zkuste spustit nginx příkazem systemctl:
systemctl daemon-reload
systemctl start nginx
Pokud chcete zkontrolovat nginx, zkontrolujte otevřený port 80:
netstat -plntu | grep nginx
Výsledek by měl být tento:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4871/nginx
Krok 6 – Nainstalujte Redmine
Vytvořte nový adresář pro instalaci Redmine. Zde použiji adresář '/var/www/'.
mkdir -p /var/www/
Přejděte do adresáře '/var/www/' a stáhněte si Redmine pomocí příkazu svn:
cd /var/www/
svn co https://svn.redmine.org/redmine/branches/3.2-stable redmine
Přejděte do adresáře Redmine a zkopírujte konfigurační soubor a konfigurační soubor databáze:
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
Upravte soubor database.yml pomocí vim:
vim config/database.yml
V řádku výrobní sekce vyplňte název databáze uživatel a heslo:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "[email protected]!"
encoding: utf8
Uložte soubor.
V adresáři redmine vytvořte nové adresáře a změňte vlastníka na uživatele a skupinu nikdo:
mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R nobody:nobody files log tmp public/plugin_assets
sudo chmod -R 775 files log tmp public/plugin_assets
Nainstalujte závislosti bundleru a drahokamu pro redmine:
gem install bundler
bundle install --without development test
Vygenerujte tajný token a poté vygenerujte databázi:
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data
Restartujte nginx a navštivte název domény redmine ve webovém prohlížeči:
systemctl restart nginx
Navštivte instalaci redmine, moje je:www.redmine.co
Přihlaste se na stránku správce:www.redmine.co/login
Výchozí uživatel a heslo je 'admin'.
Vytvořte nový ukázkový projekt.
Ukázková stránka projektu.
Instalace Redmine s Nginx a MySQL na CentOS 7 byla úspěšná.
Závěr
Redmine je webová aplikace pro správu projektů a sledování problémů. Redmine je multiplatformní, takže jej můžeme provozovat na Windows, Linux nebo Mac OS. Redmine má podporu pro mnoho databází, jako je MySQL, PostgreSQL, Microsoft SQL Server a SQLite. Redmine se snadno instaluje a konfiguruje, jako webový server můžeme použít Apache nebo Nginx. Redmine je velmi výkonný a má mnoho funkcí, jako je podpora více jazyků, správa souborů, wiki a REST API. Redmine je jedním z nejlepších bezplatných řešení, pokud si chcete vytvořit vlastní správu projektů se sledováním problémů.