- create a fresh uberspace account
- ssh into the uberspace
- execute the following line:
\curl -sSL https://gist.githubusercontent.com/tessi/c429a4c34cefb6c69ee7/raw | bash -s stable
- visit https://your-uberspace-name.uberspace-server.uberspace.de/
-
-
Save tessi/c429a4c34cefb6c69ee7 to your computer and use it in GitHub Desktop.
| #!/bin/sh | |
| set -e | |
| echo "this script installs openproject" | |
| echo "things might take a while, please be patient" | |
| echo "" | |
| echo "setup environment..." | |
| echo "gem: --user-install --no-rdoc --no-ri" > ~/.gemrc | |
| cat <<'__EOF__' >> ~/.bash_profile | |
| export PATH=/package/host/localhost/ruby-2.1.2/bin:$PATH | |
| export PATH=$HOME/.gem/ruby/2.1.0/bin:$PATH | |
| export PATH=/package/host/localhost/nodejs-0.10.33/bin:$PATH | |
| export LANG=en_US.UTF-8 | |
| __EOF__ | |
| cat > ~/.npmrc <<__EOF__ | |
| prefix = $HOME | |
| umask = 077 | |
| __EOF__ | |
| cat > ~/.bowerrc <<__EOF__ | |
| { | |
| "interactive": false | |
| } | |
| __EOF__ | |
| source ~/.bash_profile | |
| echo "seeding openproject directory..." | |
| mkdir apps; cd apps | |
| git clone https://github.com/opf/openproject.git > /dev/null 2>&1 | |
| cd openproject | |
| git checkout stable > /dev/null 2>&1 | |
| cat > config/configuration.yml <<__EOF__ | |
| production: | |
| email_delivery: | |
| delivery_method: :sendmail | |
| sendmail_settings: | |
| location: /usr/sbin/sendmail | |
| arguments: -i | |
| rails_cache_store: :memcache | |
| __EOF__ | |
| export OPENPROJECT_DB=${USER}_openproject | |
| export OPENPROJECT_DB_PASS=`grep -Po "(?<=password=).*(?= # )" ~/.my.cnf` | |
| cat > config/database.yml <<__EOF__ | |
| production: | |
| adapter: mysql2 | |
| database: $OPENPROJECT_DB | |
| host: localhost | |
| username: $USER | |
| password: $OPENPROJECT_DB_PASS | |
| encoding: utf8 | |
| development: | |
| adapter: mysql2 | |
| database: $OPENPROJECT_DB | |
| host: localhost | |
| username: $USER | |
| password: $OPENPROJECT_DB_PASS | |
| encoding: utf8 | |
| __EOF__ | |
| cat > Gemfile.local <<__EOF__ | |
| gem 'rails_12factor' | |
| gem 'openproject-translations', :git => 'https://github.com/opf/openproject-translations.git', :branch => 'stable' | |
| gem 'openproject-meeting', :git => 'https://github.com/finnlabs/openproject-meeting.git', :branch => 'stable' | |
| gem 'openproject-pdf_export', :git => 'https://github.com/finnlabs/openproject-pdf_export.git', :branch => 'stable' | |
| gem "openproject-backlogs", :git => "https://github.com/finnlabs/openproject-backlogs.git", :branch => 'stable' | |
| gem 'openproject-documents', :git => 'https://github.com/opf/openproject-documents.git', :branch => 'stable' | |
| __EOF__ | |
| echo "installing ruby dependencies..." | |
| gem install bundler > /dev/null 2>&1 | |
| bundle install --quiet --path ~/.gem --without postgres:sqlite:test > /dev/null 2>&1 | |
| echo "setting up database..." | |
| RAILS_ENV=production bundle exec rake generate_secret_token db:create db:migrate db:seed > /dev/null 2>&1 | |
| echo "installing bower dependencies..." | |
| npm install -g bower > /dev/null 2>&1 | |
| npm install > /dev/null 2>&1 | |
| echo "precomiling assets..." | |
| RAILS_ENV=production bundle exec rake assets:precompile > /dev/null 2>&1 | |
| echo "searching a free port..." | |
| export port=61000 | |
| export port_max=65535 | |
| export netstat_output=`netstat -atwn` | |
| export server_port=`python -c 'import socket; s=socket.socket(); s.bind(("", 0)); print(s.getsockname()[1]); s.close()'` | |
| echo "initiating openproject services..." | |
| test -d ~/service || uberspace-setup-svscan | |
| cat <<__EOF__ > ~/bin/openproject-web | |
| #!/bin/sh | |
| # This is needed to find gems installed with --user-install | |
| export HOME=$HOME | |
| # Include our profile to get Ruby 2.1.2 included in our PATH | |
| . \$HOME/.bash_profile | |
| # Get into the project directory and start the Rails server | |
| cd \$HOME/apps/openproject | |
| exec bundle exec unicorn --port $server_port --env production | |
| __EOF__ | |
| chmod +x ~/bin/openproject-web | |
| uberspace-setup-service openproject-web ~/bin/openproject-web | |
| cat <<__EOF__ > ~/bin/openproject-worker | |
| #!/bin/sh | |
| # This is needed to find gems installed with --user-install | |
| export HOME=$HOME | |
| # we're faster and use the right database in production | |
| export RAILS_ENV=production | |
| # Include our profile to get Ruby 2.1.2 included in our PATH | |
| . \$HOME/.bash_profile | |
| # Get into the project directory and start the Rails server | |
| cd \$HOME/apps/openproject | |
| exec bundle exec rake jobs:work | |
| __EOF__ | |
| chmod +x ~/bin/openproject-worker | |
| uberspace-setup-service openproject-worker ~/bin/openproject-worker | |
| echo "setting up apache rewrite rules..." | |
| cat > ~/html/.htaccess <<__EOF__ | |
| RewriteEngine On | |
| RewriteCond %{HTTPS} !=on | |
| RewriteCond %{ENV:HTTPS} !=on | |
| RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] | |
| RewriteRule (.*) http://localhost:$server_port/\$1 [P] | |
| __EOF__ |
I'm getting: /usr/bin/curl: /usr/bin/curl: cannot execute binary file
Hi Tessi,
when i ssh into uberspace an run the above command i get: /usr/bin/curl: /usr/bin/curl: cannot execute binary file
When i put the op_install.sh file in my uberspace directory and run it with ./op_install.sh it stops after creating the apps directory
this is the complete output:
[xxx@xxx ~]$ ./op_install.sh
this script installs openproject
things might take a while, please be patient
setup environment...
seeding openproject directory...
[xxx@xxx ~]$
Same problem here. it stops after creating the apps directory.
As this script is not maintained anymore, I did a new How To for OpenProject on Uberspace; including support for the latest version and Memcached: Install OpenProject (latest) with Memcached on Uberspace. I hope, this helps! :)
Thanks for this Guide Tessi.
I'd like to Upgrade my 3.0.14 install to 4.
How do I do that with this git installation?