====== Ubuntu Server Setup Guid ======
==== mc ====
sudo apt-get install mc
==== 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 ====
sudo apt-get install ssh
''/etc/ssh/sshd_config'':
PermitRootLogin no
AuthorizedKeysFile %h/.ssh/authorized_keys
sudo service ssh restart
On client's side:
ssh-keygen -t dsa
(empty answer for every question)
ssh-copy-id "client_user_name@server_ip_address"
ssh "client_user_name@server_ip_address"
Back on server: \\
''/etc/ssh/sshd_config'':
PasswordAuthentication no
sudo service ssh restart
==== redmine ====
Download installer from https://bitnami.com/stack/redmine/installer#linux
Use ''/opt/redmine'' as a default directory.
=== listen 8080 ===
''/opt/redmine/apache2/conf/httpd.conf'':
Listen 8080
ServerName localhost:8080
''/opt/redmine/apache2/conf/bitnami''
NameVirtualHost *:8080
=== autostart ===
sudo cp opt/redmine/ctlscript.sh /etc/init.d/bitnami-redmine
''/etc/init.d/bitnami-redmine'':
### BEGIN INIT INFO
# Provides: scriptname
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
sudo update-rc.d -f bitnami-redmine defaults
sudo update-rc.d -f bitnami-redmine enable
To remove autostart:
sudo update-rc.d -f bitnami-drupal remove
=== plugins ===
Prepare (do it once):
sudo apt-get install make
sudo apt-get install ruby-dev
sudo apt-get install ruby1.9.1-dev
sudo apt-get install zlib1g-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 nokogiri -v '1.6.6.2'
sudo gem install mysql2 -v '0.3.14'
sudo gem install rmagick -v '2.13.4'
Copy plugin to ''/opt/redmine/apps/redmine/htdocs/plugins'':
cd /opt/redmine
./use_redmine
cd apps/redmine/htdocs
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
exit
./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 ===
-
cd /opt
/opt/redmine/mysql/bin/mysqldump -u bitnami -pDATABASE_PASSWORD bitnami_redmine > backup.sql
/opt/redmine/ctlscript.sh stop
- download and install new bitnami-redmine https://bitnami.com/stack/redmine/installer
- recreate symlink ''/opt/redmine''
-
/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
- ''/opt/redmine/apps/redmine/htdocs/config/database.yml'':
production:
adapter: mysql2
database: bitnami_redmine
host: localhost
username: bn_redmine
password: "DATABASE_PASSWORD"
encoding: utf8
-
cd /opt/redmine/apps/redmine/htdocs
/opt/redmine/ruby/bin/ruby bin/rake db:migrate RAILS_ENV=production
- copy from the old installation
- ''/opt/redmine/apps/redmine/htdocs/files''
- ''/opt/redmine/apps/redmine/htdocs/plugins''
- ''/opt/redmine/apps/redmine/htdocs/public/themes''
-
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
==== 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'':
#!/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
Настройка cron:
sudo crontab -e
0 * * * * /data/jroboplc/backup
==== timezone ====
sudo dpkg-reconfigure tzdata
Отключение и включение синхронизации времени в сети:
timedatectl set-ntp 0
timedatectl set-ntp 1