Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
dev:ubuntu:setupsvr [2015/04/09 12:26] denis [redmine] |
dev:ubuntu:setupsvr [2017/10/17 09:59] (текущий) denis |
||
|---|---|---|---|
| Строка 5: | Строка 5: | ||
| sudo apt-get install mc | sudo apt-get install mc | ||
| </code> | </code> | ||
| + | |||
| + | ==== locales ==== | ||
| + | locale -a | ||
| + | sudo locale-gen ru_RU | ||
| + | sudo locale-gen ru_RU.UTF-8 | ||
| + | sudo update-locale | ||
| + | sudo dpkg-reconfigure locales | ||
| + | |||
| + | ==== vbox guest addition ==== | ||
| + | source http://en.ig.ma/notebook/2012/virtualbox-guest-additions-on-ubuntu-server | ||
| + | |||
| + | Devices menu, Install Guest Additions | ||
| + | sudo mount /dev/cdrom /media/cdrom | ||
| + | sudo apt-get install -y dkms build-essential linux-headers-generic linux-headers-$(uname -r) | ||
| + | sudo /media/cdrom/VBoxLinuxAdditions.run | ||
| ==== ssh ==== | ==== ssh ==== | ||
| Строка 33: | Строка 48: | ||
| Use ''/opt/redmine'' as a default directory. | Use ''/opt/redmine'' as a default directory. | ||
| - | How to change port from default 80 to e.g. 8080: | + | === listen 8080 === |
| ''/opt/redmine/apache2/conf/httpd.conf'': | ''/opt/redmine/apache2/conf/httpd.conf'': | ||
| Строка 43: | Строка 58: | ||
| <VirtualHost _default_:8080> | <VirtualHost _default_:8080> | ||
| - | How to autostart: | + | === autostart === |
| sudo cp opt/redmine/ctlscript.sh /etc/init.d/bitnami-redmine | sudo cp opt/redmine/ctlscript.sh /etc/init.d/bitnami-redmine | ||
| ''/etc/init.d/bitnami-redmine'': | ''/etc/init.d/bitnami-redmine'': | ||
| Строка 62: | Строка 77: | ||
| sudo update-rc.d -f bitnami-drupal remove | sudo update-rc.d -f bitnami-drupal remove | ||
| - | === plugin install === | + | === plugins === |
| Prepare (do it once): | Prepare (do it once): | ||
| sudo apt-get install make | sudo apt-get install make | ||
| Строка 69: | Строка 84: | ||
| sudo apt-get install zlib1g-dev | sudo apt-get install zlib1g-dev | ||
| sudo apt-get install libmysqlclient-dev | sudo apt-get install libmysqlclient-dev | ||
| - | #sudo apt-get install libmysqlclient-dev | + | sudo apt-get install imagemagick |
| + | sudo apt-get install libmagickwand-dev | ||
| sudo gem install json -v '1.8.2' | sudo gem install json -v '1.8.2' | ||
| sudo gem install nokogiri -v '1.6.6.2' | sudo gem install nokogiri -v '1.6.6.2' | ||
| sudo gem install mysql2 -v '0.3.14' | sudo gem install mysql2 -v '0.3.14' | ||
| - | #gem install rmagick -v '2.13.4' | + | sudo gem install rmagick -v '2.13.4' |
| | | ||
| Copy plugin to ''/opt/redmine/apps/redmine/htdocs/plugins'': | Copy plugin to ''/opt/redmine/apps/redmine/htdocs/plugins'': | ||
| - | bundle install --without development test postgresql sqlite rmagick | ||
| cd /opt/redmine | cd /opt/redmine | ||
| ./use_redmine | ./use_redmine | ||
| cd apps/redmine/htdocs | cd apps/redmine/htdocs | ||
| - | bundle install --without development test postgresql sqlite rmagick | + | bundle install --without development test postgresql sqlite |
| + | or | ||
| + | bundle install --without development test postgresql sqlite --no-deployment | ||
| + | bundle install --without development test postgresql sqlite --deployment | ||
| ruby bin/rake redmine:plugins RAILS_ENV=production | ruby bin/rake redmine:plugins RAILS_ENV=production | ||
| exit | exit | ||
| ./ctlscript.sh restart | ./ctlscript.sh restart | ||
| | | ||
| + | === backup === | ||
| + | mkdir /opt/redmine_backup | ||
| | | ||
| + | ''/opt/redmine_backup_go'': | ||
| + | tar -cvzf /opt/redmine_backup/redmine_`date +%w`.tar.gz /opt/redmine | ||
| + | /opt/redmine/mysql/bin/mysqldump -u bitnami -p406c9f96ee bitnami_redmine > /opt/redmine_backup/redmine_`date +%w`.sql | ||
| + | |||
| + | Note: get password from ''/opt/redmine/apps/redmine/htdocs/config/database.yml'': | ||
| + | production: | ||
| + | username: bitnami | ||
| + | password: 406c9f96ee | ||
| + | |||
| + | |||
| + | crontab -e | ||
| + | add line: | ||
| + | 25 10 * * * /opt/redmine_backup_go | ||
| + | |||
| + | === upgrade === | ||
| + | - <code> | ||
| + | cd /opt | ||
| + | /opt/redmine/mysql/bin/mysqldump -u bitnami -pDATABASE_PASSWORD bitnami_redmine > backup.sql | ||
| + | /opt/redmine/ctlscript.sh stop | ||
| + | </code> | ||
| + | - download and install new bitnami-redmine https://bitnami.com/stack/redmine/installer | ||
| + | - recreate symlink ''/opt/redmine'' | ||
| + | - <code> | ||
| + | /opt/redmine/ctlscript.sh stop | ||
| + | /opt/redmine/ctlscript.sh mysql start | ||
| + | |||
| + | /opt/redmine/mysql/bin/mysql -u root -p | ||
| + | Password: **** | ||
| + | mysql> drop database bitnami_redmine; | ||
| + | mysql> create database bitnami_redmine; | ||
| + | mysql> grant all privileges on bitnami_redmine.* to 'bn_redmine'@'localhost' identified by 'DATABASE_PASSWORD'; | ||
| + | | ||
| + | /opt/redmine/mysql/bin/mysql -u root -p bitnami_redmine < /opt/backup.sql | ||
| + | </code> | ||
| + | - ''/opt/redmine/apps/redmine/htdocs/config/database.yml'':<code> | ||
| + | production: | ||
| + | adapter: mysql2 | ||
| + | database: bitnami_redmine | ||
| + | host: localhost | ||
| + | username: bn_redmine | ||
| + | password: "DATABASE_PASSWORD" | ||
| + | encoding: utf8 | ||
| + | </code> | ||
| + | - <code> | ||
| + | cd /opt/redmine/apps/redmine/htdocs | ||
| + | /opt/redmine/ruby/bin/ruby bin/rake db:migrate RAILS_ENV=production | ||
| + | </code> | ||
| + | - copy from the old installation | ||
| + | - ''/opt/redmine/apps/redmine/htdocs/files'' | ||
| + | - ''/opt/redmine/apps/redmine/htdocs/plugins'' | ||
| + | - ''/opt/redmine/apps/redmine/htdocs/public/themes'' | ||
| + | - <code> | ||
| + | cd /opt/redmine/apps/redmine/htdocs | ||
| + | /opt/redmine/ruby/bin/ruby bin/rake redmine:plugins RAILS_ENV=production | ||
| + | /opt/redmine/ruby/bin/ruby bin/rake tmp:cache:clear | ||
| + | /opt/redmine/ruby/bin/ruby bin/rake tmp:sessions:clear | ||
| + | /opt/redmine/ctlscript.sh restart | ||
| + | </code> | ||
| + | |||
| + | |||
| + | |||
| + | ==== iptable ==== | ||
| + | Свой адрес - 192.168.2.190. Слушать порт 2223 и отправлять на 192.168.0.7:80: | ||
| + | iptables -t nat -A PREROUTING -p tcp -d 192.168.2.190 --dport 2223 -j DNAT --to-destination 192.168.0.7:80 | ||
| + | |||
| + | ==== mount windows share for rsync operation ==== | ||
| + | |||
| + | sudo apt-get install cifs-utils | ||
| + | |||
| + | Создать файл ''/data/jroboplc/backup'': | ||
| + | <code bash> | ||
| + | #!/bin/bash | ||
| + | |||
| + | # setup | ||
| + | targetdir=/data/jroboplc | ||
| + | sharehost=//192.168.2.40/promauto-src1 | ||
| + | backupdir=. | ||
| + | |||
| + | # code (do not change) | ||
| + | if [ "$EUID" -ne 0 ] | ||
| + | then echo "Please run as root" | ||
| + | exit | ||
| + | fi | ||
| + | mntdir=/mnt/wnd-share-tmp | ||
| + | if [ ! -d "$mntdir" ]; then | ||
| + | mkdir $mntdir | ||
| + | fi | ||
| + | mount $sharehost -t cifs -o uid=1000,gid=1000,username=guest,password='' $mntdir | ||
| + | if ! grep $sharehost /proc/mounts; then | ||
| + | echo "Unable to mount share directory" | ||
| + | exit | ||
| + | fi | ||
| + | cd $mntdir | ||
| + | mkdir -p $backupdir | ||
| + | rsync -avzh $targetdir $mntdir/$backupdir | ||
| + | cd / | ||
| + | sleep 1 | ||
| + | umount $sharehost | ||
| + | </code> | ||
| + | |||
| + | Настройка cron: | ||
| + | sudo crontab -e | ||
| + | |||
| + | 0 * * * * /data/jroboplc/backup | ||
| + | |||
| | | ||
| + | ==== timezone ==== | ||
| + | |||
| + | sudo dpkg-reconfigure tzdata | ||
| | | ||
| - | | + | Отключение и включение синхронизации времени в сети: |
| - | | + | timedatectl set-ntp 0 |
| + | timedatectl set-ntp 1 | ||