StuRa:Server/Redmine
- Achtung
Dieser Artikel ist ein exemplarischer Artikel.
Es handelt sich hierbei nicht um die Instanz Redmine als AUS vom StuRa. Dazu dienen die Artikel:
Installation
Randbedingungen
- OS
- FreeNAS 9.3
- Paketverwaltung
- freebsd-man:pkgng
Vorbereitung der Installation
- pauschales Aktualisieren
pkg update; pkg upgrade -y
- zsh installieren und in zsh wechseln
pkg install -y zsh; zsh
tatsächliche Installation
Lokalisation prüfen und setzen
- (optional) kann sich angeschaut werden welche Werte (für die Einstellungen) gesetzt sind
locale
- (optional) kann sich angeschaut werden welche Werte (für die Einstellungen) gesetzt werden können
locale -a
- Setzen der Werte für deutsche Lokalisation (de_DE)
- Insbesondere für die Programmiersprache Ruby soll das wichtig sein. Das gilt insbesondere, wenn Ruby selbst kompiliert wird.
export LANG=de_DE.UTF-8
export LC_ALL=de_DE.UTF-8
Installieren von benötigten Paketen
- Siehe auch
- Installieren von Redmine
pkg install -y redmine
- Der Client für MySQL wird standardmäßig mit installiert. Demnach ist davon auszugehen, dass MySQL als Standard vorgesehen ist.
- Installieren von MySQL
pkg install -y mysql56-server
- Einrichten von MySQL
echo 'mysql_enable="YES"' >> /etc/rc.conf
service mysql-server start
Starting mysql.
mysql_install_db --basedir /usr/local
- Das Auswahl des Verzeichnisses /usr/local ist wohl üblich, könnte aber vielleicht auch anders gewählt werden.
mysqladmin -u root password
New password:
Confirm new password:
mysql_secure_installation
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 5.6.25 Source distribution Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database redmine character set utf8;
Query OK, 1 row affected (0,00 sec)
mysql> create user 'redmine'@'localhost' identified by 'redmine';
Query OK, 0 rows affected (0,01 sec)
mysql> grant all privileges on redmine.* to 'redmine'@'localhost';
Query OK, 0 rows affected (0,00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0,00 sec)
mysql> quit;
Bye
- Einrichten von Redmine
echo 'redmine_enable="YES"' >> /etc/rc.conf
cd /usr/local/www/redmine
- Erstellen der Datei zur Konfiguration für die Datenbank für Redmine
-
- (optionales) Kopieren des beispielhaften Datei zur Konfiguration
cp /usr/local/www/redmine/config/database.yml.example /usr/local/www/redmine/config/database.yml
$EDITOR /usr/local/www/redmine/config/database.yml
- Beispielsweise bei password muss das Passwort für die Datenbank eingetragen werden und nicht redmine.
production: adapter: mysql database: redmine host: localhost username: redmine password: redmine encoding: utf8
bundle install
rake generate_session_store
Note: The rake task generate_session_store has been deprecated, please use the replacement version generate_secret_token
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] de
==================================== Default configuration data loaded.
mkdir tmp tmp/pdf public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets
cd public
cp dispatch.fcgi.example dispatch.fcgi
pw useradd redmine -d /usr/local/www/redmine
chown -R redmine:redmine /usr/local/www/redmine
- installieren der Funktionalität passenger für Ruby
pkg install -y rubygem-passenger
- Apache wird standardmäßig mit installiert. Demnach ist davon auszugehen, dass Apache als Standard vorgesehen ist.
- Apache (hier 2.4) einrichten
echo 'apache24_enable="YES"' >> /etc/rc.conf
$EDITOR /usr/local/etc/apache24/httpd.conf
LoadModule passenger_module /usr/local/lib/ruby/gems/2.1/gems/passenger-5.0.14/buildout/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/2.1/gems/passenger-5.0.14 PassengerRuby /usr/local/bin/ruby21
service apache24 start
pkg install -y ap24-mod_fastcgi
[preparing module `fastcgi' in /usr/local/etc/apache24/httpd.conf]
$EDITOR /usr/local/etc/apache24/httpd.conf
LoadModule fastcgi_module libexec/apache24/mod_fastcgi.so
$EDITOR /usr/local/etc/apache24/httpd.conf
#LoadModule rewrite_module libexec/apache24/mod_rewrite.so LoadModule rewrite_module libexec/apache24/mod_rewrite.so
#User www #Group www User redmine Group redmine
ServerName localhost:80 #ServerName www.example.com:80
#<Directory /> # AllowOverride none # Require all denied #</Directory>
#DocumentRoot "/usr/local/www/apache24/data" DocumentRoot "/usr/local/www/redmine/public" ErrorLog "/usr/local/www/redmine/log/redmine.example.com-error.log" CustomLog "/usr/local/www/redmine/log/redmine.example.com-access.log" combined
<Directory "/usr/local/www/redmine/public"> Options -MultiViews +FollowSymLinks +ExecCGI AllowOverride All Order Allow,Deny Allow from all RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ dispatch.fcgi </Directory>
# #<Directory "/usr/local/www/apache24/data"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # # Options Indexes FollowSymLinks # # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # # AllowOverride None # # # Controls who can get stuff from this server. # # Require all granted #</Directory>
LoadModule passenger_module /usr/local/lib/ruby/gems/2.1/gems/passenger-5.0.14/buildout/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/2.1/gems/passenger-5.0.14 PassengerRuby /usr/local/bin/ruby21
LoadModule fastcgi_module libexec/apache24/mod_fastcgi.so
<IfModule fastcgi_module> AddHandler fastcgi-script .fcgi FastCgiConfig -idle-timeout 600 -restart -pass-header Authorization </IfModule>
service apache24 restart
- Erreichbarkeit per http
- // prüfen
- Testweise Anmelden mit
-
- Mitgliedsname
admin
- Kennwort
admin
alternative Komponenten für die Installation
nginx
nginx statt Apache als web server
PostgreSQL
PostgreSQL statt MySQL als database
Alternative nginx + PostgreSQL
Achtung! Dieser Abschnitt ist nicht vollständig. Dieser Abschnitte ist nicht getestet.
- nginx als Alternative zu apache24
- Installieren von nginx
pkg install nginx
echo 'nginx_enable="YES"' >> /etc/rc.conf
pkg install rubygem-passenger
passenger-config --root
- Installieren von PostgreSQL
pkg install rubygem-pg
- client für PostgreSQL sollte bereits installiert sein.
pkg info | grep postgresql
postgresql93-client-9.3.9
pkg install postgresql93-server
- Einrichten von PostgreSQL
echo 'postgresql_enable="YES"' >> /etc/rc.conf
- Wenn es sich um eine Jail handelt, so muss für PostgreSQL SysV IPC erlaubt sein. Bei FreeNAS muss einfach bei der Jail
,allow.sysvipc=true
ergänzend eingetragen werden.
- Wenn es sich um eine Jail handelt, so muss für PostgreSQL SysV IPC erlaubt sein. Bei FreeNAS muss einfach bei der Jail
service postgresql initdb
service postgresql start
su pgsql
createdb redminedb
exit
passwd pgsql
- Exemplarisch wird nachfolgend davon ausgegangen, dass das Passwort redmine-passwd verwendet wurde.
production: adapter: postgresql database: redminedb host: localhost username: pgsql password: "redmine-passwd" encoding: utf8
echo '/usr/local/www/redmine/log/production.log 644 3 3000 * J' >> /etc/newsyslog.conf