В нашей организации для управления проектами используется Redmine. Система довольно удобная для программистов и работать с ней довольно легко. А для в целях совершенствования системы управления персоналом мы используем Мегаплан. Крайне приятный программный продукт, который помогает управлять проектами с большим количеством участников. Руководители довольны, сотрудники тоже лишний раз не отвлекаются на различные планёрки-совещания по любому пустяковому поводу, а лишь когда это действительно необходимо. В общем, рекомендую попробовать эту систему в деле, возможно вам приглянётся.
Про Чехию
Скоро лето — пора отпусков. Как и любой нормальный человек, я тоже люблю отдыхать, но к сожалению, удаётся это пока не так часто как хотелось бы. Особенно с учётом, что на серверах порядок, всё работает как часы и большинство процессов выполняется автоматически.
Но тем не менее, иногда удаётся вырваться в какое-нибудь интересное место, которое настолько западает в душу, что начинаешь подумывать, а не остаться ли там жить навсегда? Одно из таких мест — Карловы Вары в Чехии.
Во-первых, Чехия широко известна на весь мир своим пивом, а пиво — один из лучших друзей хорошего админа. 😉 Во-вторых, в этом городе сформировалась довольно большая русская община, найти людей по интересам намного проще, чем где-нибудь на островах в Тихом океане. Единственный минус, но и в тоже время плюс — недешёвая недвижимость. Судя по информации с каталога недвижимости в Чехии, город не растёт, поэтому квартиры довольно дорогие. Впрочем, можно попробовать купить дом или квартиру в ипотеку — проценты в местных банках всё же поменьше, чем у нас. У меня в Чехии хватает друзей-знакомых айтишников, которые в своё время перебрались туда — ни один не вернулся, всё им там нравится. Вот и я глядя на них начал задумываться о переезде 🙂
Установка и настройка Redmine в Debian Squeeze с Ruby-on-Rails и Apache2-Passenger
Потребовалось поставить на одном сервере redmine для управления проектами. Сказано — сделано 😉
Сначала ставим необходимые пакеты:
warehouse:~# apt-get install mysql-server ruby rubygems rails libcurl4-openssl-dev libssl-dev zlib1g-dev apache2-prefork-dev libapr1-dev libaprutil1-dev apache2 libapache2-mod-fastcgi libfcgi-ruby1.8 libmysql-ruby libopenssl-ruby1.8 ruby-dev ruby libzlib-ruby rdoc irb libmysql-ruby libopenssl-ruby1.8
Создадим каталог, в котором будет лежать redmine:
warehouse:~# mkdir /var/redmine
Качаем исходники:
warehouse:~# wget http://rubyforge.org/frs/download.php/74128/redmine-1.1.1.tar.gz
распаковываем архив:
warehouse:~# tar zxf redmine-1.1.1.tar.gz
копируем файлы в папку
warehouse:~# cp -r redmine-1.1.1/* /var/redmine/
Поставим недостающие компоненты:
warehouse:~# gem install rails -v=2.3.5
warehouse:~# gem install rails —include-dependencies
warehouse:~# gem install rack -v=1.0.1
warehouse:~# gem install -v=0.4.2 i18n
warehouse:~# gem install passenger
warehouse:~# gem install mysql
warehouse:~# cd /var/redmine
warehouse:/var/redmine# rake generate_session_store
Скопируем пример конфигурационного файла:
warehouse:/var/redmine# cp config/database.yml.example config/database.yml
Создадим базу данных и пользователя redmine в mysql:
warehouse:/var/redmine# mysql -u root -p
mysql> create database redmine character set utf8;
mysql> create user ‘redmine’@’localhost’ identified by ‘my_password’;
mysql> grant all privileges on redmine.* to ‘redmine’@’localhost’;
Сконфигурируем доступ redmine к mysql в секции production:
warehouse:/var/redmine# mcedit config/database.yml
и укажем там логин-пароль mysql
production:
adapter: mysql
database: redmine
host: localhost
username: root
password: my_password
encoding: utf8
Теперь выполняем следующее:
warehouse:/var/redmine# RAILS_ENV=production rake db:migrate
warehouse:/var/redmine# RAILS_ENV=production rake redmine:load_default_data
На вопрос о выборе языка я указал английский:
Select language: bg, bs, ca, cs, da, de, el, en, en-GB, es, eu, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] en
====================================
Default configuration data loaded.
И наконец запустим тестовый сервер
warehouse:/var/redmine# ruby script/server webrick -e production
=> Booting WEBrick
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
/var/redmine/config/../vendor/rails/railties/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-03-11 22:09:12] INFO WEBrick 1.3.1
[2011-03-11 22:09:12] INFO ruby 1.8.7 (2010-08-16) [i486-linux]
[2011-03-11 22:09:18] INFO WEBrick::HTTPServer#start: pid=16467 port=3000
Как видно, всё прошло успешно и запустилось 🙂
Теперь вторая часть — прикрутим redmine к вебсерверу Apache.
Установим passenger:
warehouse:~# /var/lib/gems/1.8/bin/passenger-install-apache2-module
Установщик у него умный, если чего-то не будет хватать, он подскажет. В моём случае всё необходимое было установлено, поэтому он принялся за сборку модуля passenger для Apache.
После отработки установщика получится модуль апача, который предстоит прописать в конфигурационных файлах:
The Apache 2 module was successfully installed.
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-3.0.5/ext/apache2/mod_passenger.so
PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.5
PassengerRuby /usr/bin/ruby1.8After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific configuration!Press ENTER to continue.
Сделаем то, что просит установщик 🙂
warehouse:~# mcedit /etc/apache2/mods-available/passenger.load
и добавим туда строчку:
LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-3.0.5/ext/apache2/mod_passenger.so
warehouse:~# mcedit /etc/apache2/mods-available/passenger.conf
и добавим туда строчки:
PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.5
PassengerRuby /usr/bin/ruby1.8
После этого активируем модуль passenger:
warehouse:~# a2enmod passenger
Теперь добавим ещё один виртуальный хост:
warehouse:~# mcedit /etc/apache2/sites-available/redmine.local
и поместим в файл следующие строчки:
<VirtualHost *:80>
ServerName redmine.local
DocumentRoot /var/redmine/public
<Directory /var/redmine/public>
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
Только не забываем указать ваш хост и путь до redmine.
Создаём символическую ссылку:
warehouse:~# ln /etc/apache2/sites-available/redmine.local /etc/apache2/sites-enabled/redmine.local
Разрешим загрузку модуля rewrite:
warehouse:~# ln /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
Последние штрихи:
warehouse:~# cp /var/redmine/public/htaccess.fcgi.example /var/redmine/public/.htaccess
warehouse:~# cp /var/redmine/public/dispatch.fcgi.example /var/redmine/public/dispatch.fcgi
Рестартуем апач:
warehouse:~# /etc/init.d/apache2 restart
И открываем redmine по указанному адресу. В моём случае это redmine.local. Теперь можно зайти в систему под администратором: логин — admin, пароль — admin. Пароль рекомендуется сменить 😉
На этом всё. Если у вас что-то не получилось в процессе установки — добро пожаловать в комментарии.
Автоматизация делопроизводства — задача не самая простая, но без этого в наше время никак. Приходится выкручиваться.
Логирование файловых операций в Samba
Информационный партнер: мобильные телефоны Philips. Раньше я скептически относился к телефонам этой марки, но в последнее время изменил своё мнение. Есть у них и вполне достойные модели.
Понадобилось мне вести учёт всех операций доступа к расшаренным файлам на Samba сервере. Как оказалось, сделать это очень просто.
Добавляем в конфигурационный файл /etc/samba/smb.conf следующие строки:
[Incoming]
path = /media/disk1/Incoming
vfs objects = full_audit
full_audit:prefix = %u|%I|%m|%s
full_audit:success = open opendir read pwrite unlink
full_audit:failure = all
full_audit:facility = LOCAL7
full_audit:priority = ALERT
Эта конструкция будет записывать в лог операции открытия файла, открытия каталогов, чтения, удаления и записи файлов.
Теперь нужно добавить в файл /etc/rsyslog.conf строчку:
local7.* /var/log/samba/audit.log
Рестарт samba и rsyslogd:
warehouse:~# /etc/init.d/samba restart && /etc/init.d/rsyslogd restart
Вуаля — в файле /var/log/samba/audit.log будут появляться логи операций. Полный список переменных в full_audit:prefix можно посмотреть здесь. Список доступных к логированию операций — тут.
Настройка домена .РФ в nginx и apache
Довелось сегодня настроить .рф домен в nginx. Моё личное отношение к .рф доменам — это какой-то несмешной анекдот. Но, личное отдельно, а работа отдельно.
Итак, чтобы настроить .рф домен в nginx в server_name нужно прописать его в пуникоде, то есть «xn--d1acufc.xn--p1ai», а не «домен.рф». Тоже также надо писать в конфиге Apache, если он у вас используется.
Для перевода имени домена в пуникод используйте конвертер, например www.punycoder.com