## page was renamed from redmine/InstallationMontreal/MigrationVers25 {{{ ##################################################################################### ## Recete pur migration du ## DebianSqueeze avec Redmine1.2.3 installé dans /opt ## vers DebianWheezy avec Redmine2.5.1-2 (package Debian) ##################################################################################### ##################################################################################### ## Migration du Redmine 1.2.3 vers 1.4.4 dans /opt ##################################################################################### # /etc/init.d/redmine_mongrel stop # cd /opt # wget http://www.redmine.org/releases/1.x/redmine-1.4.4.tar.gz # tar -zxf redmine-1.4.4.tar.gz # cat <> redmine/.gemrc install: --no-rdoc --no-ri update: --no-rdoc --no-ri EOT # chown -hR redmine.redmine /opt/redmine* # echo 'export PATH=/var/lib/gems/1.8/bin/:${PATH}' >> /opt/redmine/.bashrc # mysqldump redmine09 | gzip > /opt/redmine-1.4.4/database_`date +%y_%m_%d`.gz # gem install bundler # su redmine $ ln redmine/.bashrc redmine-1.4.4/.bashrc $ cat <> redmine-1.4.4/config/database.yml production: adapter: mysql2 database: redmine09 host: localhost username: redmine password: jhqs44dQSD7 encoding: utf8 EOT $ cp -a redmine/config/configuration.yml redmine-1.4.4/config/ $ rm redmine-1.4.4/files/delete.me $ cp -a redmine/files/* redmine-1.4.4/files/ $ cp -a redmine/vendor/plugins/redmine_http_auth/ redmine-1.4.4/vendor/plugins/ $ cd redmine-1.4.4 $ sed -i -e '/^gem "tzinfo"/agem "mysql2", "~> 0.2.7"' Gemfile $ sed -i -e '/^platforms :mri_19, :mingw_19 do$/,/^end$/d' Gemfile $ bundle install --path vendor/bundle --without test rmagick postgresql sqlite $ bundle exec rake config/initializers/session_store.rb $ bundle exec rake db:migrate RAILS_ENV=production $ bundle exec rake db:migrate_plugins RAILS_ENV=production $ bundle exec rake tmp:cache:clear $ bundle exec rake tmp:sessions:clear $ exit ##################################################################################### ## Upgrade du Debian Squeeze vers Wheezy en utilisant: ## http://wiki.auf.org/wikiteki/JeanChristopheAndr%C3%A9/Notes/Debian ##################################################################################### aptitude update ; aptitude safe-upgrade ; aptitude clean find /etc -name "*.dpkg*" -o -name "*.ucf*" unset LANG ; mkdir ~/squeeze cp -a /etc ~/squeeze/ cp -a /var/lib/dpkg ~/squeeze/_var_lib_dpkg cp -a /var/lib/apt/extended_states ~/squeeze/_var_lib_apt_extended_states cp -a /var/lib/aptitude/pkgstates ~/squeeze/_var_lib_aptitude_pkgstates dpkg --audit ; dpkg --get-selections "*" > ~/squeeze/dpkg--get-selections.txt aptitude search "~ahold" | grep "^.h" ; dpkg --get-selections | grep hold f="/etc/apt/preferences" ; [ -f "$f" ] && sed -i -e 's|^|#|' "$f" f="/etc/apt/preferences.d" ; [ -d "$f" ] && mv "$f" "$f".dpkg-disabled-before-upgrade && mkdir "$f" sed -i -e '/proposed-updates/s/^/#/' /etc/apt/sources.list sed -i -e 's/squeeze/wheezy/' /etc/apt/sources.list sed -i -e 's| [a-z]+/volatile | wheezy-updates |' -e 's|/volatile|/archive|' /etc/apt/sources.list sed -i -e '/wheezy-lts/s|^|#|' /etc/apt/sources.list sed -i -e '/backports/s|backports.debian.org/debian-backports|http.debian.net/debian|' /etc/apt/sources.list f="/etc/mysql/conf.d/local.cnf" ; [ -f "$f" ] && sed -i -e '/^default-character-set/s|^|#|' "$f" ## UPGRADING script -t -a 2>~/squeeze/mise-a-niveau-wheezy.time ~/squeeze/mise-a-niveau-wheezy.typescript apt-get update ; apt-get -o APT::Get::Trivial-Only=true dist-upgrade ; df --si apt-get upgrade && apt-get clean ##Configuration file `/etc/crontab' N ##Configuration file `/etc/sudoers' N ## DIST UPGRADE apt-get -o APT::Install-Recommends=false dist-upgrade ┌─────────────────────────────────┤ Configuring libc6 ├──────────────────────────────────┐ │ │ │ There are services installed on your system which need to be restarted when certain │ │ libraries, such as libpam, libc, and libssl, are upgraded. Since these restarts may │ │ cause interruptions of service for the system, you will normally be prompted on each │ │ upgrade for the list of services you wish to restart. You can choose this option to │ │ avoid being prompted; instead, all necessary restarts will be done for you │ │ automatically so you can avoid being asked questions on each library upgrade. │ │ │ │ Restart services during package upgrades without asking? │ │ │ │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────┘ YES ┌─────────────────────────────────┤ Configuring apticron ├─────────────────────────────────┐ │ A new version of configuration file /etc/cron.d/apticron is available, but the version │ │ installed currently has been locally modified. │ │ │ │ What do you want to do about modified configuration file apticron? │ │ │ │ install the package maintainer's version │ │ keep the local version currently installed │ │ show the differences between the versions │ │ show a side-by-side difference between the versions │ │ show a 3-way difference between available versions │ │ do a 3-way merge between available versions (experimental) │ │ start a new shell to examine the situation │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────────────────────┘ install the package maintainer's version ┌────────────────────────────┤ Modified configuration file ├─────────────────────────────┐ │ A new version of configuration file /etc/fusioninventory/agent.cfg is available, but │ │ the version installed currently has been locally modified. │ │ │ │ What do you want to do about modified configuration file agent.cfg? │ │ │ │ install the package maintainer's version │ │ keep the local version currently installed │ │ show the differences between the versions │ │ show a side-by-side difference between the versions │ │ start a new shell to examine the situation │ │ │ │ │ │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────┘ install the package maintainer's version apt-get clean ; aptitude search ~i\!~Odebian find /etc -name "*.dpkg*" -o -name "*.ucf*" auf-inventaire-config ##################################################################################### ## Du Redmine1.4.4(/opt) vers Redmine1.4.4(Debian) ##################################################################################### # apt-get install redmine-mysql # apt-get install redmine ruby-rmagick ┌─────────────────────────────┤ Configuring dbconfig-common ├─────────────────────────────┐ │ A new version of configuration file /etc/dbconfig-common/config is available, but the │ │ version installed currently has been locally modified. │ │ │ │ What do you want to do about modified configuration file config? │ │ │ │ install the package maintainer's version │ │ keep the local version currently installed │ │ show the differences between the versions │ │ show a side-by-side difference between the versions │ │ start a new shell to examine the situation │ │ │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────────────────────────────────────┘ install the package maintainer's version ┌─────────────────────────────────┤ Configuring redmine ├──────────────────────────────────┐ │ │ │ The redmine/instances/default package must have a database installed and configured │ │ before it can be used. This can be optionally handled with dbconfig-common. │ │ │ │ If you are an advanced database administrator and know that you want to perform this │ │ configuration manually, or if your database has already been installed and configured, │ │ you should refuse this option. Details on what needs to be done should most likely be │ │ provided in /usr/share/doc/redmine/instances/default. │ │ │ │ Otherwise, you should probably choose this option. │ │ │ │ Configure database for redmine/instances/default with dbconfig-common? │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────────────────────┘ YES ┌─────────────────────────────────┤ Configuring redmine ├──────────────────────────────────┐ │ The redmine/instances/default package can be configured to use one of several database │ │ types. Below, you will be presented with the available choices. │ │ │ │ Database type to be used by redmine/instances/default: │ │ │ │ sqlite3 │ │ pgsql │ │ mysql │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────────────────────┘ mysql ┌───────────────────────────────────┤ Configuring redmine ├───────────────────────────────────┐ │ Please provide the password for the administrative account with which this package should │ │ create its MySQL database and user. │ │ │ │ Password of the database's administrative user: │ │ │ │ ********___________________________________________________________________________________ │ │ │ │ │ │ │ └─────────────────────────────────────────────────────────────────────────────────────────────┘ ##Purgando redmine_default y creandola vacia y cargando la de nosotros: # mysqladmin drop redmine_default # mysqladmin create redmine_default # mysqldump redmine09 > /tmp/db09.sql # mysql redmine_default < /tmp/db09.sql && rm /tmp/db09.sql ### copiando configuración # cp /opt/redmine-1.4.4/config/configuration.yml /etc/redmine/default/ # chown root.www-data /etc/redmine/default/configuration.yml # chmod 640 /etc/redmine/default/configuration.yml ## migrando archivos # mv /opt/redmine-1.4.4/files/* /var/lib/redmine/default/files/ # chown -hR www-data:www-data /var/lib/redmine/default/files/ ##################################################################################### ## Cofig de Apache2 avec passenger ##################################################################################### # apt-get install libapache2-mod-passenger # /etc/init.d/apache2 stop # ln -s /usr/share/redmine /var/lib/redmine/default/passenger # a2enmod passenger # mv /etc/apache2/sites-available/redmine.auf.org /etc/apache2/sites-available/redmine.auf.org.2014-01-22 ###############CONFIG /etc/apache2/sites-available/redmine.auf.org-fredy # These modules must be enabled : rewrite, fcgid # (mod_fastcgi is much harder to configure) ServerName redmine.auf.org ServerAdmin technique@ca.auf.org Redirect permanent / https://redmine.auf.org/ ServerName redmine.auf.org ServerAdmin technique@ca.auf.org SSLEngine on SSLCertificateFile /etc/ssl/certs/_.auf.org-cert.pem SSLCertificateKeyFile /etc/ssl/private/_.auf.org-key.pem SSLCACertificateFile /etc/ssl/certs/GandiStandardSSLCA.pem SSLVerifyClient None ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined LogLevel warn # this is the passenger config RailsEnv production # create a link in /var/lib/redmine/default/passenger to /usr/share/redmine PassengerAppRoot /var/lib/redmine/default/passenger PassengerUser "www-data" SetEnv X_DEBIAN_SITEID "default" Alias "/plugin_assets/" /var/cache/redmine/default/plugin_assets/ DocumentRoot /usr/share/redmine/public Order allow,deny Allow from all AuthType "Mellon" MellonEnable "info" MellonUser "mail" MellonDefaultLoginPath "/" # préparation des méta-données MellonOrganizationName "redmine.auf.org" MellonOrganizationDisplayName "fr" "Redmine AuF" MellonOrganizationURL "http://www.auf.org/" MellonSPPrivateKeyFile /etc/ssl/private/saml-redmine.auf.org-key.pem MellonSPCertFile /etc/ssl/certs/saml-redmine.auf.org-cert.pem MellonIdPMetadataFile /etc/ssl/saml-id.auf.org-metadata.xml RewriteEngine On # allows redmine_http_auth plugin to work RequestHeader unset Remote-User RequestHeader set Remote-User "%{MELLON_mail}e" env=MELLON_mail RequestHeader unset Mellon-gn RequestHeader set Mellon-gn "%{MELLON_gn}e" env=MELLON_gn RequestHeader unset Mellon-sn RequestHeader set Mellon-sn "%{MELLON_sn}e" env=MELLON_sn RequestHeader unset Mellon-mail RequestHeader set Mellon-mail "%{MELLON_mail}e" env=MELLON_mail ########################################END CONFIG FILE # cd /etc/apache2/sites-available # mv redmine.auf.org-fredy redmine.auf.org # /etc/init.d/apache2 start # cd ############################################### ## upgrade vers redmine 2.5 (backport du debian) ################################################ # apt-get -t wheezy-backports install redmine ##################################################################################### ## Configuration du plugin auth. ##################################################################################### # mkdir /usr/share/redmine/plugins ## le plugin # cd /usr/share/redmine/plugins # unset GIT_DIR GIT_WORK_TREE # git clone https://github.com/caleno/redmine_http_auth.git cd /usr/share/redmine ; patch -p0 < /root/redmine-2.5-auf.diff # cd /usr/share/redmine/plugins/redmine_http_auth/lib # ln -s ../app/helpers/http_auth_helper.rb # cp -a /opt/redmine-1.2/public/idauf*.png /usr/share/redmine/public/ # /etc/init.d/apache2 restart ############################################################### ## FIN DE LA MIGRATION ############################################################### ################################################################## ## Post Migration ################################################################## # ln -s /var/cache/redmine/default/plugin_assets /usr/share/redmine/public/ # rm /etc/init.d/redmine_mongrel # rm /etc/rc?.d/*redmine_mongrel ## loop http with ID: http://mark.diatonic.de/linux/redmine-http-auth-plugin-fix # pwd /usr/share/redmine/plugins/redmine_http_auth/lib # diff http_auth_patch.rb* 100,101d99 < session[:ctime] = Time.now.utc.to_i < session[:atime] = Time.now.utc.to_i ###############notes ############ probleme: http://www.redmine.org/boards/2/topics/35656 ###You have a plugin installed that requires dispatcher (require 'dispatcher'). ##But dispatcher is no longer available in Rails 3. ############ solution: https://github.com/yakaz/redmine_http_auth/commit/37fadb646f61739020c558e356cd6057df6235f0 }}}