[Nasıl] 14.04 üzerinde Redmine proje yönetim/iş takip sisteminin kurulması

Başlatan cagriemer, 26 Şubat 2015 - 01:54:05

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

cagriemer

Redmine ruby ile yazilip rails catisini kullanan, platform ve veritabani bagimsiz olarak calisabilen, GNU GPLv2 ile lisanslanmis ozgur bir proje yonetim ve is takip sistemidir. Icinde vikiler, surum kontrol sistemleri ve "issue" (sorun, yapilacak is, gorev manasinda) takipcileri gibi oldukca sayida fazla ozelligi barindirir. Daha detayli bilgi icin www.redmine.org adresini ziyaret edebilirsiniz.

Bu yazida Redmine'in gun itibariyle en kararli ve guncel surumu olan 3.0.0'in (19 Subat 2015), Ubuntu 14.04.2 bir sistem uzerinde passenger destekli Nginx ve MariaDB ile kurulumunu ve yapilandirmasini anlatacagim.

Ilk adimda web sunucu yazilimi tercihi yapacagiz. Redmine'in ruby sunabilen bir sunucuya ihtiyaci var. Ruby'nin kendi sunucusu WEBrick, aslinda sistemi tek basiniza kullanacaksaniz oldukca yeterli olacaktir. Fakat disariya acacaksaniz biraz daha saglam bir sunucuya ihtiyaciniz var. Ornegin WEBrick'i Nginx arkasinda calistirip, Nginx'i proxy olarak kullanabilirsiniz. Ya da Puma gibi daha modern bir ruby sunucuyu da tercih edebilirsiniz. Yine puma'yi da proxy arkasinda calistirabilirsiniz. Ben passenger uygulama sunucusunu tercih ettim. Passenger'in Apache ve Nginx icin destegi mevcut. Unutulmamasi gereken tek nokta Nginx'in mimarisi, Apache gibi tak-cikar modullere izin vermediginden Nginx'i derlerken passenger destegi ile derlemek ya da o sekilde derlenmis halde sunulan guvenilir bir depo bulmak. Eger bir derleme sisteminiz varsa https://www.phusionpassenger.com/download adresinden passenger'i indirip betiklerinize ekleyerek Nginx'i ilgili destekle derleyebilirsiniz. Topluluk surumu ucretsizdir. Ben bu yazida biraz usengeclik yapip phusion'in depolarindan yararlanacagim.

1) Phusion depolarinin sisteme tanimlanmasi

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
sudo apt-get install apt-transport-https ca-certificates
sudo nano /etc/apt/sources.list.d/passenger.list


Actigimiz dosyaya su satiri ekliyoruz. Unutmayin trusty disinda bir surum kullaniyorsaniz o surumu eklemelisiniz.

Alıntı Yapdeb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main

Ctrl+X ile kaydedip kapattiktan sonra depolarimizi guncelleyelim.

sudo chown root: /etc/apt/sources.list.d/passenger.list
sudo chmod 600 /etc/apt/sources.list.d/passenger.list
sudo apt-get update


2) Gereken paketlerin sisteme kurulmasi

sudo apt-get install nginx-extras passenger mariadb-server ruby imagemagick git ruby-dev build-essential libmysqlclient-dev libmagickwand-dev

Bu komutu yuruttugunuzde MariaDB kurulumu asamasinda size veritabani icin bir yonetici sifresi soracaktir. Bu sifrenin kullanici sifreniz ya da eger varsa root hesabinin sifresi ile ayni olmasi gerekmez. Hatta farkli olmalari tavsiye edilir. Kurulum islemleri tamamlandiginda veritabanimiza bir iki ufak ayar yapalim.

sudo mysql_secure_installation

Bu kisimda size sordugu sorulardan ilki haricinde muhtemelen hepsine evet demek isteyeceksiniz. Yani veritabani root sifresi degistirilmesin fakat diger sordugu her seyi gonul rahatligiyla onaylayabilirsiniz.

3) Nginx yapilandirmasi

/etc/nginx/nginx.conf dosyanizin tek cekirdekli ufak bir sunucu icin suna benzer olmasinda bir sakinca yok. Aynen bu sekilde kullanabilirsiniz.

sudo nano /etc/nginx/nginx.conf

Alıntı Yapuser www-data;
worker_processes 1;
worker_priority -2;
worker_rlimit_nofile 1024;
pid /run/nginx.pid;

events {
        worker_connections 128;
        multi_accept on;
}

http {
        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 30;
        types_hash_max_size 2048;
        server_tokens off;
        client_max_body_size 128M;

        server_names_hash_bucket_size 64;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        gzip on;
        gzip_disable "msie6";

        # gzip_vary on;
        # gzip_proxied any;
        gzip_comp_level 6;
        gzip_buffers 16 8k;
        gzip_min_length 1000;
        # gzip_http_version 1.1;
        gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

        passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
;
        passenger_ruby /usr/bin/ruby;

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
}

passenger_root ve passenger_ruby direktifleri oldukca onemli. Eger paketleri tarif ettigim sekilde kurduysaniz dizin yollarinin bu sekilde olmasi gerekiyor.

Bir de sunacagimiz site icin bir yapilandirma dosyasi olusturalim. Yine oldukca basit olan su ornekten faydalanabilirsiniz.

sudo nano /etc/nginx/sites-available/01.istakip.sitem.com.conf

Alıntı Yapserver {
        listen 80;
        listen  [::]:80;
        server_name istakip.sitem.com;
        root /var/www/redmine/public;
        passenger_enabled on;
        client_max_body_size 128m;

        location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
                expires 15d;
                add_header Vary Accept-Encoding;
                add_header Pragma public;
                add_header Cache-Control "public, must-revalidate, proxy-revalidate";
        }

        location = /favicon.ico {
                access_log off;
                log_not_found off;
        }
}

Simdi bu siteyi aktiflestirelim.

sudo ln -s /etc/nginx/sites-available/01.istakip.sitem.com.conf /etc/nginx/sites-enabled

Henuz nginx'i yeniden baslatmamiza gerek yok.

4) Veritabaninin olusturulmasi

mysql -u root -p

MariaDB'yi olustururken verdiginiz yonetici sifresi ile giris yapmalisiniz. Ardindan su komutlari calistiriyoruz. Bu komutlarda redmine veritabanini, redmine_admin bu veritabanini kullanacak kullanici hesabini, redmineSifresi de o kullaniciya ait sifreyi ifade ediyor. O kisimlari kendi ihtiyaciniza gore degistirebilirsiniz. Satir satir kopyalayip yapistirmanizda fayda var.

CREATE DATABASE redmine CHARACTER SET utf8;

CREATE USER 'redmine_admin'@'localhost' IDENTIFIED BY 'redmineSifresi';

GRANT ALL PRIVILEGES ON redmine.* TO 'redmine_admin'@'localhost';

exit


5) Redmine'in indirilmesi ve kurulmasi

sudo mkdir -p /var/www/redmine
cd /var/www/
sudo wget http://www.redmine.org/releases/redmine-3.0.0.tar.gz
sudo tar xzvf redmine-3.0.0.tar.gz
sudo mv redmine-3.0.0/* redmine/
sudo rm -rf redmine-3.0.0*
cd redmine
sudo cp config/database.yml.example config/database.yml
sudo nano config/database.yml


database.yml dosyamiz eger veritabanini olustururken yukaridaki ornegi kullandiysaniz suna benzemeli.

Alıntı Yap
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine_admin
  password: "redmineSifresi"
  encoding: utf8

Ctrl+X ile degisiklikleri kaydettikten sonra sira redmine'in bagimliliklarini kurmaya geldi. Eger bu asamaya kadar sikintisizca geldiyseniz gem'lerin kurulumunda bir sorun cikmamali ve asagidaki komutlarin hepsi basarili olmali. En sondaki komut sizden bir dil secmenizi ister. Varsayilan olarak en'dir. Tercihinize gore degistirebilirsiniz.

sudo gem install bundler
sudo bundle install --without development test
sudo rake generate_secret_token
sudo RAILS_ENV=production rake db:migrate
sudo RAILS_ENV=production rake redmine:load_default_data


Simdi dosya sahipliklerini ve gerekli izinleri duzenleyip nginx'i yeniden baslatalim.

sudo chown -R www-data:www-data files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
sudo service nginx restart


Eger DNS yapilandirmaniz dogruysa istakip.sitem.com adresine gittiginizde sizi redmine karsilayacak. Ilk olusturulan kullanici admin ve sifresi de yine admin'dir. Giris yaptiginizda sifreyi degistirmeniz onerilir.

6) Gelen-giden e-posta ayarlari ve surum kontrol sistemi

Redmine kurulumunuzun e-posta gonderme ve kontrol etme islevi kazanabilmesi icin yapmamiz gereken bir iki sey daha var. Ben bu yapilandirmada Gmail'i tercih ettim.

sudo cp config/configuration.yml.example config/configuration.yml
sudo nano config/configuration.yml


Dosya icerigim aynen su sekilde gozukuyor. En alttaki production kismina dikkatinizi cekerim. Ayrica  imagemagick_convert_command ve surum kontrol sistemi olarak kullanacagimiz git'in yolunun verildigi scm_git_command direktiflerini de asagidaki ornege gore duzeltebilirsiniz.

Alıntı Yap# = Redmine configuration file
#
# Each environment has it's own configuration options.  If you are only
# running in production, only the production block needs to be configured.
# Environment specific configuration options override the default ones.
#
# Note that this file needs to be a valid YAML file.
# DO NOT USE TABS! Use 2 spaces instead of tabs for identation.

# default configuration options for all environments
default:

  # ==== Simple SMTP server at localhost
  #
  #  email_delivery:
  #    delivery_method: :smtp
  #    smtp_settings:
  #      address: "localhost"
  #      port: 25
  #
  # ==== SMTP server at example.com using LOGIN authentication and checking HELO
for foo.com
  #
  #  email_delivery:
  #    delivery_method: :smtp
  #    smtp_settings:
  #      address: "example.com"
  #      port: 25
  #      authentication: :login
  #      domain: 'foo.com'
  #      user_name: 'myaccount'
  #      password: 'password'
  #
  # ==== SMTP server at example.com using PLAIN authentication
  #
  #  email_delivery:
  #    delivery_method: :smtp
  #    smtp_settings:
  #      address: "example.com"
  #      port: 25
  #      authentication: :plain
  #      domain: 'example.com'
  #      user_name: 'myaccount'
  #      password: 'password'
  #
  # ==== SMTP server at using TLS (GMail)
  # This might require some additional configuration. See the guides at:
  # http://www.redmine.org/projects/redmine/wiki/EmailConfiguration
  #
  #  email_delivery:
  #    delivery_method: :smtp
  #    smtp_settings:
  #      enable_starttls_auto: true
  #      address: "smtp.gmail.com"
  #      port: 587
  #      domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps
  #      authentication: :plain
  #      user_name: "your_email@gmail.com"
  #      password: "your_password"
  #
  # ==== Sendmail command
  #
  #  email_delivery:
  #    delivery_method: :sendmail

  # Absolute path to the directory where attachments are stored.
  # The default is the 'files' directory in your Redmine instance.
  # Your Redmine instance needs to have write permission on this
  # directory.
  # Examples:
  # attachments_storage_path: /var/redmine/files
  # attachments_storage_path: D:/redmine/files
  #attachments_storage_path:

  # Configuration of the autologin cookie.
  # autologin_cookie_name: the name of the cookie (default: autologin)
  # autologin_cookie_path: the cookie path (default: /)
  # autologin_cookie_secure: true sets the cookie secure flag (default: false)
  autologin_cookie_name:
  autologin_cookie_path:
  autologin_cookie_secure:

  # Configuration of SCM executable command.
  #
  # Absolute path (e.g. /usr/local/bin/hg) or command name (e.g. hg.exe, bzr.exe
)
  # On Windows + CRuby, *.cmd, *.bat (e.g. hg.cmd, bzr.bat) does not work.
  #
  # On Windows + JRuby 1.6.2, path which contains spaces does not work.
  # For example, "C:\Program Files\TortoiseHg\hg.exe".
  # If you want to this feature, you need to install to the path which does not
contains spaces.
  # For example, "C:\TortoiseHg\hg.exe".
  #
  # Examples:
  # scm_subversion_command: svn                                       # (default
: svn)
  # scm_mercurial_command:  C:\Program Files\TortoiseHg\hg.exe        # (default
: hg)
  # scm_git_command:        /usr/local/bin/git                        # (default
: git)
  # scm_cvs_command:        cvs                                       # (default
: cvs)
  # scm_bazaar_command:     bzr.exe                                   # (default
: bzr)
  # scm_darcs_command:      darcs-1.0.9-i386-linux                    # (default
: darcs)
  #
  scm_subversion_command:
  scm_mercurial_command:
  scm_git_command: /usr/bin/git
  scm_cvs_command:
  scm_bazaar_command:
  scm_darcs_command:

  # SCM paths validation.
  #
  # You can configure a regular expression for each SCM that will be used to
  # validate the path of new repositories (eg. path entered by users with the
  # "Manage repositories" permission and path returned by reposman.rb).
  # The regexp will be wrapped with \A \z, so it must match the whole path.
  # And the regexp is case sensitive.
  #
  # You can match the project identifier by using %project% in the regexp.
  #
  # You can also set a custom hint message for each SCM that will be displayed
  # on the repository form instead of the default one.
  #
  # Examples:
  # scm_subversion_path_regexp: file:///svnpath/[a-z0-9_]+
  # scm_subversion_path_info: SVN URL (eg. file:///svnpath/foo)
  #
  # scm_git_path_regexp: /gitpath/%project%(\.[a-z0-9_])?/
  #
  scm_subversion_path_regexp:
  scm_mercurial_path_regexp:
  scm_git_path_regexp:
  scm_cvs_path_regexp:
  scm_bazaar_path_regexp:
  scm_darcs_path_regexp:
  scm_filesystem_path_regexp:

  # Absolute path to the SCM commands errors (stderr) log file.
  # The default is to log in the 'log' directory of your Redmine instance.
  # Example:
  # scm_stderr_log_file: /var/log/redmine_scm_stderr.log
  scm_stderr_log_file:

  # Key used to encrypt sensitive data in the database (SCM and LDAP passwords).

  # If you don't want to enable data encryption, just leave it blank.
  # WARNING: losing/changing this key will make encrypted data unreadable.
  #
  # If you want to encrypt existing passwords in your database:
  # * set the cipher key here in your configuration file
  # * encrypt data using 'rake db:encrypt RAILS_ENV=production'
  #
  # If you have encrypted data and want to change this key, you have to:
  # * decrypt data using 'rake db:decrypt RAILS_ENV=production' first
  # * change the cipher key here in your configuration file
  # * encrypt data using 'rake db:encrypt RAILS_ENV=production'
  database_cipher_key:

  # Set this to false to disable plugins' assets mirroring on startup.
  # You can use `rake redmine:plugins:assets` to manually mirror assets
  # to public/plugin_assets when you install/upgrade a Redmine plugin.
  #
  #mirror_plugins_assets_on_startup: false

  # Your secret key for verifying cookie session data integrity. If you
  # change this key, all old sessions will become invalid! Make sure the
  # secret is at least 30 characters and all random, no regular words or
  # you'll be exposed to dictionary attacks.
  #
  # If you have a load-balancing Redmine cluster, you have to use the
  # same secret token on each machine.
  #secret_token: 'change it to a long random string'

  # Absolute path (e.g. /usr/bin/convert, c:/im/convert.exe) to
  # the ImageMagick's `convert` binary. Used to generate attachment thumbnails.
  imagemagick_convert_command: /usr/bin/convert

  # Configuration of RMagcik font.
  #
  # Redmine uses RMagcik in order to export gantt png.
  # You don't need this setting if you don't install RMagcik.
  #
  # In CJK (Chinese, Japanese and Korean),
  # in order to show CJK characters correctly,
  # you need to set this configuration.
  #
  # Because there is no standard font across platforms in CJK,
  # you need to set a font installed in your server.
  #
  # This setting is not necessary in non CJK.
  #
  # Examples for Japanese:
  #   Windows:
  #     rmagick_font_path: C:\windows\fonts\msgothic.ttc
  #   Linux:
  #     rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf
  #
  rmagick_font_path:

  # Maximum number of simultaneous AJAX uploads
  #max_concurrent_ajax_uploads: 2

  # Configure OpenIdAuthentication.store
  #
  # allowed values: :memory, :file, :memcache
  #openid_authentication_store: :memory

# specific configuration options for production environment
# that overrides the default ones
production:
  email_delivery:
    delivery_method: :async_smtp
    async_smtp_settings:
      address: "smtp.gmail.com"
      port: 587
      domain: "smtp.gmail.com"
      authentication: :login
      user_name: "istakipcim@istakip.sitem.com"
      password: "emailsifrem"
      enable_starttls_auto: true
      tls: true

# specific configuration options for development environment
# that overrides the default ones
development:

Su asamada is takip sisteminiz eposta gonderebiliyor ve git'i kullanabiliyor duruma gelecektir. Gelen e-postalari kontrol edebilmesi icin root kullanicisinin cron'una bir satir ekleyecegiz.

sudo crontab -u root -e

Alıntı Yap*/30 * * * * /usr/local/bin/rake -f /var/www/redmine/Rakefile --silent redmine:email:receive_imap RAILS_ENV="production" host=imap.gmail.com port=995 ssl=true username=istakipcim@istakip.sitem.com password="emailsifrem"

Boylelikle redmine kurulumumuz her 30 dakikada bir ilgili posta hesabini kontrol edecek ve gelen postalardaki direktiflere gore yapilmasi gereken islemleri gerceklestirecektir. Eger her sey yolunda gittiyse istakip.sitem.com/admin/info adresi altinda suna benzer bir cikti gormelisiniz.



Sag tarafta gordugunuz Settings'e tikladiginiz sayfada bulunan Email notifications ve Repositories sekmelerini de kontrol etmeyi unutmayin. Emission email address'i tanimladiginiz posta adresi olarak degistirmek isteyeceksinizdir muhtemelen ve Repositories altinda git disindakileri kapatmak isteyebilirsiniz.

Iste kurulum ve yapilandirma bu kadar basit. Umarim faydali bir nasil yazisi olmustur.

Eger e-posta gondermede sorun yasiyorsaniz;

Sunucuda asagidaki komutu yurutun.


sudo tcpdump -nl -s 1500 -w- src host smtp.gmail.com | strings


Ardindan Administration -> Email notifications sekmesinde altta sagda bulunan butonu kullanarak bir test e-postasi yollayin ve ciktilari buraya gecin. Eger digitalocean'daysaniz ve IPv6 aktifse /etc/gai.conf dosyasinda ilk olarak IPv4 isim cozumlemesini tercih ettiginizi soyleyebilirsiniz. Eger tcpdump'tan daha fazla veriye ihtiyaciniz varsa /var/www/redmine/config/environments/production.rb dosyasinda loglari debug seviyesine getirip posta hatalarini kaydetmesini isteyebilirsiniz. Bastigi loglar /var/www/redmine/log/production.log altinda gozukecektir.

ubuntucuyum

teşekkürler.

Fakat şu yazılımın biraz mantığından bahseder misin ?

ne menem bir şeydir.
kurdum ama hiç bir şey anlamadım ne oluyor da oluyor çözemedim ben bir türlü mantığını.

güzel bir kullanımını anlatan pdf lazım şunun için :)

kolay gelsin.

plazma


heartsmagic

Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

ubuntucuyum

Redmineyi öğrenmek Projelerimi ve iş takiplerimi sağlamak amacı ile kurdum.

Kendi web sitesinde anlatımlar mevcut ama o kadar iyi ingilizce yok.

şöyle örneklendirirsek ; Ben bir firmada yöneticiyim, 1 web sitesi yaptırmak istiyorum. firma içinde ve dışında web sitesi projesine katkı sağlayacak eleman/şirketler var.

Web sitesi projesi açtım. Kodlaması, tasarımı var, firmamın ürettiği ürünlerin fotoları ve özelliklerini belirten yazılar resimler var, sürekli güncellenecek haberler, kampanyalar var, web sitesi üzerinden gelen mailleri takip olayı olduğunu var sayalım.

nasıl bir yol izleyerek bunu redmine den takip edeceğiz?

böyle bir örnek verdim ama tamamen yanlış bir örnekte olabilir bilmediğim için.


Yani aslında sanırım şu kitabın türkçesi lazım :) ---> https://www.packtpub.com/application-development/mastering-redmine
teşekkürler.


heartsmagic

Verdiğin örneği nasıl oturtacağın biraz sana bağlı. Çalışma yöntemi anlatılamaz böyle kitaplarda, sadece uygulamanın çalışma sistemi anlatılabilir. İşi nasıl belirleyeceğin, ne gibi şeyleri takip edeceğin biraz sana bakıyor ne yazık ki.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

ubuntucuyum

Alıntı yapılan: heartsmagic - 07 Haziran 2015 - 00:29:07
Verdiğin örneği nasıl oturtacağın biraz sana bağlı. Çalışma yöntemi anlatılamaz böyle kitaplarda, sadece uygulamanın çalışma sistemi anlatılabilir. İşi nasıl belirleyeceğin, ne gibi şeyleri takip edeceğin biraz sana bakıyor ne yazık ki.

Eğer programa hakimsen küçük örnek bir proje yapabilir misin ?

Yada başka kullanan bir arkadaş varsa örnek bir proje anlatımı gerçekleştirebilir mi acaba ?

heartsmagic

Örnek vermişsin işte sen, bunu hiç uygulamaya taşımayı düşündün mü? Kurcaladın mı yani?

Web sitesi için güzelce bir proje ismi bulup açtın diyelim. Altına kodlamasıdır, tasarımıdır, haber takibidir, eposta takibidir ne bileyim ne istiyorsan yeni projeler açabilirsin. Kısacası en üst projen bunlara sahiplik yapacak. Artık her bir alt projede ne gerekiyorsa onu da dahil edersin. İş takibi, zaman takibi, Wiki vs. Kullanıcıları oluşturursun, iş açarsın, bir kullanıcıya tahsis edersin.

Az biraz kurcalaya kurcalaya öğrenilir. Ben de uzmanı değilim, biraz biraz bakınırsan olur. Öteki türlü, sorayım bekleyeyim dersen pek yol alamazsın :)
Ayrıca, her örnek aynı olmaz. Senin kullanacağın alan neyse önce kağıt üzerinde güzelce bir planlamasını yapman lazım. Ondan sonra Redmine tarafına geçirirsin bunu.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

if

Aslında bu gibi uygulamaları belirli bir "işi" yaparken gerçekleştirdiğimiz eylemleri düzene sokan birer araç olarak algılarsanız ne iş yaptığını anlamanız kolaylaşır. Bir misalle cümleyi açayım: işimizin adı bulaşık yıkamak:)

Önce işi bölümleyelim.
1. Kirli çanak çömleğin bu iş için kullanılan bulaşık süngeriyle kirinin alınması.
2. Kiri alınan çanak çömleğin farklı bir bulaşık süngeriyle deterjanlanması.
3. Deterjanlı çanak çömleğin durulanması.

Bu bölümlerin ne kadar süreceğinin tespiti:
1. 1. bölüm için 15 dakika.
2. 2. bölüm için 20 dakika.
3. 3. bölüm için 30 dakika.

Kaynaklarımızı tahsis edelim:
1. 1. ve 2. bölümleri A şahsı yapacak.
2. 3. bölümü B şahsı yapacak.

İş bölümleri arasındaki ilişkiyi belirleyelim:
1. 2. bölüm 1. bölüm bitmeden gerçekleştirilemez.
2. 3. bölüm 1. ve 2. bölüm bitmeden gerçekleştirilemez.

Hangi işin kim tarafından, ne zaman, ne kadar sürede ve ne kadar kaynak harcanarak yapalacağını belirledikten sonra bu bilgileri iş takibini sağlayacak araca girmek kalıyor. Şimdi, yüzlerce bölümünden oluşan bir işi ve bu işi yapacak kişileri vs. düşünün. Bu durumda bu araçlar iş yönetimini kolaşlaştırmakta. Önemli olan işinizi planlamanız, verileri girmek sonraki aşama, sonra da yönetimi gelmekte.

ubuntucuyum

Sistemi kurdum çalıştırdım.
Fakat 1. hata dosya eklemek istediğimde ortaya çıkıyor.
        2. hata admin olarak giriş yaptıktan sonra Hesabım Linkine tıklayınca ortaya çıkıyor.

Permission hatası sanırım nasıl düzeltebilirim ?

Kendi windowsun içindeki host dosyama xxx.xxx.xxx.xxx  istakip.sitem.com şeklinde ayar yapınca ulaşabiliyorum.

Lokalde Sadece ip adresini yazarak nasıl ulaşabilirim ?



App 1659 stderr: Started GET "/projects/test/files" for 192.168.1.128 at 2015-07-08 10:31:15 +0300
App 1659 stderr: Processing by FilesController#index as HTML
App 1659 stderr:   Parameters: {"project_id"=>"test"}
App 1659 stderr:   Current user: admin (id=1)
App 1659 stderr:   Rendered files/index.html.erb within layouts/base (5.6ms)
App 1659 stderr: Completed 200 OK in 62ms (Views: 36.8ms | ActiveRecord: 3.1ms)
App 1659 stderr: Started GET "/projects/test/files/new" for 192.168.1.128 at 2015-07-08 10:31:22 +0300
App 1659 stderr: Processing by FilesController#new as HTML
App 1659 stderr:   Parameters: {"project_id"=>"test"}
App 1659 stderr:   Current user: admin (id=1)
App 1659 stderr:   Rendered attachments/_form.html.erb (4.4ms)
App 1659 stderr:   Rendered files/new.html.erb within layouts/base (6.8ms)
App 1659 stderr: Completed 200 OK in 52ms (Views: 36.6ms | ActiveRecord: 2.7ms)
App 1659 stderr: Started POST "/uploads.js?attachment_id=1&filename=bakim-planlamasi.pdf&content_type=application%2Fpdf" for 192.168.1.128 at 2015-07-08 10:31:32 +0300
App 1659 stderr: Processing by AttachmentsController#upload as JS
App 1659 stderr:   Parameters: {"attachment_id"=>"1", "filename"=>"bakim-planlamasi.pdf", "content_type"=>"application/pdf"}
App 1659 stderr:   Current user: admin (id=1)
App 1659 stderr: Saving attachment '/var/www/redmine/files/2015/07/150708103132_bakim-planlamasi.pdf' (1379267 bytes)
App 1659 stderr: Completed 500 Internal Server Error in 135ms (ActiveRecord: 7.0ms)
App 1659 stderr:
App 1659 stderr: Errno::EACCES (Permission denied - /var/www/redmine/files/2015):
App 1659 stderr:   app/models/attachment.rb:106:in `files_to_final_location'
App 1659 stderr:   app/controllers/attachments_controller.rb:90:in `upload'
App 1659 stderr:
App 1659 stderr:



App 1659 stderr: Started GET "/my/account" for 192.168.1.128 at 2015-07-08 10:32:01 +0300
App 1659 stderr: Processing by MyController#account as HTML
App 1659 stderr:   Current user: admin (id=1)
App 1659 stderr:   Rendered my/account.html.erb within layouts/base (24.1ms)
App 1659 stderr: Completed 500 Internal Server Error in 41ms (ActiveRecord: 1.3ms)
App 1659 stderr:
App 1659 stderr: ActionView::Template::Error (Permission denied - /var/www/redmine/tmp/cache/D39):
App 1659 stderr:     18:   <p><%= f.text_field :lastname, :required => true %></p>
App 1659 stderr:     19:   <p><%= f.text_field :mail, :required => true %></p>
App 1659 stderr:     20:   <% unless @user.force_default_language? %>
App 1659 stderr:     21:   <p><%= f.select :language, lang_options_for_select %></p>
App 1659 stderr:     22:   <% end %>
App 1659 stderr:     23:   <% if Setting.openid? %>
App 1659 stderr:     24:   <p><%= f.text_field :identity_url  %></p>
App 1659 stderr:   lib/redmine/i18n.rb:100:in `languages_options'
App 1659 stderr:   app/helpers/application_helper.rb:1016:in `lang_options_for_select'
App 1659 stderr:   app/views/my/account.html.erb:21:in `block in _app_views_my_account_html_erb__3936390225199191778_35842300'
App 1659 stderr:   app/helpers/application_helper.rb:1026:in `labelled_form_for'
App 1659 stderr:   app/views/my/account.html.erb:10:in `_app_views_my_account_html_erb__3936390225199191778_35842300'
App 1659 stderr:
App 1659 stderr:


Teşekkürler.

heartsmagic

Aynı iletiyi tekrar geçmene gerek yok: https://forum.ubuntu-tr.net/index.php?topic=48097.0
Forumda kolay kolay başlık veya ileti silmeyiz. Bir iletin kayıpsa profilinden nereye taşındığına bakabilirsin.

Sen bu iletiyi gördükten sonra başlığı temizleriz. Lütfen yeni konudan devam edelim.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

zebede

Merhabalar;

Biz şirketimizde redmine kullanmaya karar verdik. Ancak benim linux tecrübem hiç yok. Önce test amaçlı kendi bilgisayarıma sanal Ubuntu server 14.04 kurdum. üzerine sizin talimatlarınıza göre kurulum yaptım. Nginx çalışıyor onda bir sorun yok buraya kadar yardımlarınız için teşekkürler. Ben redmine sayfasına giremiyorum. Kurduğum ubuntu server'ın IP'sine gidebiliyorum orada "Welcome to nginx on Ubuntu!" yazıyor ancak redmine'a erişemedim. Çok acemice bir soru olabilir ama başta belirttiğim gibi Linux tecrübem yok :))))

if

Merhaba zebede. Redmine kurulumu sırasında herhangi bir hata aldınız mı? 01.istakip.sitem.com.conf içeriğindeki
listen 80;
        listen  [::]:80;
        server_name istakip.sitem.com;
        root /var/www/redmine/public;

satırları aynı buradaki gibi mi? Tarayıcının asres satırını localhost yazınca ne çıkıyor?