====== 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