SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
One   RubyStack
 to Rule them All
 daniel.liszka@BitRock.com
       www.BitNami.org
me

    Daniel Liszka, Polish

    10 years with Linux / OpenSource

    Open Source conference organizer
    (InterInfo_2004) & speaker

    living in Spain / Seville now

    2 years in BitRock, working with Ruby,
    RoR, www.BitNami.org ...
BitNami.org

    Easy to install
    
        In just a few clicks, you can have your favorite open source applications up and running.


    Multiplatform
    
        Bitnami Stacks are available for Linux, Windows, and Mac OS X.


    Integrated
    
        By the time you click 'finish', the software will be integrated, configured and ready to go.


    Independent
    
        Bitnami Stacks won't interfere with any software already installed on your system.


    Run Natively
    
        The stacks install directly on your system ­ no virtual machine required.


    Open Source
    
        All Bitnami Stacks are free to download and use under the terms of the Apache License 2.0
It is my story

    We decided to start with RoR

    Lovely !

    me as a developer, I need development
    environment

    My team needs development environment – it
    would be cool if both are the same

    My graphics designer needs it as well

    They have different operating systems, different
    requirements (GUI,text mode,...) and skills

    I want to use several environments on one
    machine
It is my story (part 2)

    other things
    
        DEMO day is coming !!!
    
        deployment
    
        scale your application ­ > several servers
    
        deployment on many servers 
         
             chroot, Vmware, XEN, Solaris Zones, Amazon EC2
We need ...

    Ruby

    Ruby Gems

    RoR

    database: MySQL, SQLite

    Apache

    Subversion

    and libraries (RMagick, ...)
RubyStack Features
          (We need at least that . . .)

    completely self-contained

    re-locatable

    not interfere with existing software

    works on different operating systems
    (Linux, Windows and Mac OSX)

    easy to install
RubyStack Installer

    created using BitRock InstallBuilder

    easy to use

    multiplatform

    native look and feel

    GUI, text and unattended modes

    Platforms: Linux, Mac OS X, Windows,
    Solaris, ...

    No External Dependencies

    Uninstall Functionality, LZIP, Multiple
    Language Support
InstallBuilder   (RubyStack
        Installer)
InstallBuilder   (RubyStack
        Installer)
InstallBuilder   (RubyStack
        Installer)
InstallBuilder   (RubyStack
        Installer)
Unattended mode
Many different options:
# rubystack-1.0-linux-installer.bin --mode unattended --
  prefix /secure/tmp/ruby_unatended --rubystack_version
  production --apache_server_port 4568 --mysql_port 4321
  --mysql_db_name blabla
# cap bitrock:rubystack:install
RubyStack Components
zlib version: 1.2.3          ncurses version: 5.6
libiconv version: 1.9.2      readline version: 5.2
openssl version: 0.9.7l      ruby version: 1.8.6
sqlite version: 3.3.6        rubygems version: 0.9.4
httpd version: 2.2.4         rake version: 0.7.3
mysql version: 5.0.45        rails version: 1.2.3
libpng version: 1.2.10       fastthread version: 1.0
jpegsrc version: v6b         mongrel version: 1.0.1
freetype version: 2.3.4      rmagick version: 1.15.6
libwmf version: 0.2.8.4      mongrel_cluster version: 1.0.2
ghostscript version: 8.56    gruff version: 0.2.8
ImageMagick version: 6.3.4   capistrano version: 2.0.0
expat version: 2.0.0
neon version: 0.25.5
subversion version: 1.4.4
/bitrock/rubystack#   ldd subversion/bin/.svn.bin
     linux-gate.so.1 => (0xffffe000)

     libsvn_client-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_client-1.so.0 (0xb7f88000)

     libsvn_wc-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_wc-1.so.0 (0xb7f57000)

     libsvn_ra-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_ra-1.so.0 (0xb7f53000)

     libsvn_diff-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_diff-1.so.0 (0xb7f4a000)

     libsvn_ra_local-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_ra_local-1.so.0 (0xb7f44000)

     libsvn_repos-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_repos-1.so.0 (0xb7f24000)

     libsvn_fs-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_fs-1.so.0 (0xb7f1e000)

     libsvn_fs_fs-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_fs_fs-1.so.0 (0xb7f02000)

     libsvn_ra_svn-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_ra_svn-1.so.0 (0xb7ef0000)

     libsvn_ra_dav-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_ra_dav-1.so.0 (0xb7ebe000)

     libsvn_delta-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_delta-1.so.0 (0xb7eb3000)

     libsvn_subr-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_subr-1.so.0 (0xb7e83000)

     libaprutil-1.so.0 => /bitrock/rubystack/apache2/lib/libaprutil-1.so.0 (0xb7e6b000)

     libexpat.so.0 => /bitrock/rubystack/apache2/lib/libexpat.so.0 (0xb7e46000)

     libapr-1.so.0 => /bitrock/rubystack/apache2/lib/libapr-1.so.0 (0xb7e20000)

     libiconv.so.2 => /bitrock/rubystack/common/lib/libiconv.so.2 (0xb7d42000)

     librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7d21000)

     libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb7cf3000)

     libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7cdb000)

     libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7cd7000)
Lets take a look inside

   Building & testing system
   Integration
   logic inside XML files
   Wrappers
        LD_LIBRARY_PATH
        what about the shebang line
   rubyconsole & ctl.sh
Applications

    bitnami.org/stack/   JRubyStack
       includes ready-to-run versions of
        JRuby, Rails, Java, Tomcat, GlassFish
        gem, MySQL and Subversion.

    bitnami.org/stack/Tracks

    bitnami.org/stack/   Redmine
Future / Plans

           Rubinius
             JRuby
         Ruby 1.8 / 1.9
          ... together ...


             ... and ...
custom RubyStacks: merb, nginx, ...
Conclusions
 why it matters ?
Thanks to
Manuel Morales Castro
          &
Beltran Rueda Borrego
Questions ???
www.BitNami.org/
 /stack/rubystack
Thank you !
   Daniel Liszka
danoo@BitRock.com

Weitere ähnliche Inhalte

Was ist angesagt?

Node.js for Rubists
Node.js for RubistsNode.js for Rubists
Node.js for Rubists
Sagiv Ofek
 
Vagrant are you still develop in a non-virtual environment-
Vagrant  are you still develop in a non-virtual environment-Vagrant  are you still develop in a non-virtual environment-
Vagrant are you still develop in a non-virtual environment-
Anatoly Bubenkov
 
EuroBSDCon 2021 - (auto)Installing BSD Systems
EuroBSDCon 2021 - (auto)Installing BSD SystemsEuroBSDCon 2021 - (auto)Installing BSD Systems
EuroBSDCon 2021 - (auto)Installing BSD Systems
Vinícius Zavam
 
Lightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and PuppetLightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and Puppet
Hendrik Ebbers
 

Was ist angesagt? (20)

Node.js for Rubists
Node.js for RubistsNode.js for Rubists
Node.js for Rubists
 
Intro to Node.js (v1)
Intro to Node.js (v1)Intro to Node.js (v1)
Intro to Node.js (v1)
 
Vagrant are you still develop in a non-virtual environment-
Vagrant  are you still develop in a non-virtual environment-Vagrant  are you still develop in a non-virtual environment-
Vagrant are you still develop in a non-virtual environment-
 
[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode[DockerCon 2019] Hardening Docker daemon with Rootless mode
[DockerCon 2019] Hardening Docker daemon with Rootless mode
 
Rootless Containers & Unresolved issues
Rootless Containers & Unresolved issuesRootless Containers & Unresolved issues
Rootless Containers & Unresolved issues
 
FreeBSD hosting
FreeBSD hostingFreeBSD hosting
FreeBSD hosting
 
[DockerCon 2020] Hardening Docker daemon with Rootless Mode
[DockerCon 2020] Hardening Docker daemon with Rootless Mode[DockerCon 2020] Hardening Docker daemon with Rootless Mode
[DockerCon 2020] Hardening Docker daemon with Rootless Mode
 
EuroBSDCon 2021 - (auto)Installing BSD Systems
EuroBSDCon 2021 - (auto)Installing BSD SystemsEuroBSDCon 2021 - (auto)Installing BSD Systems
EuroBSDCon 2021 - (auto)Installing BSD Systems
 
Sinatraでわかる!webアプリの仕組み
Sinatraでわかる!webアプリの仕組みSinatraでわかる!webアプリの仕組み
Sinatraでわかる!webアプリの仕組み
 
Node js presentation
Node js presentationNode js presentation
Node js presentation
 
Lightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and PuppetLightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and Puppet
 
How can OpenNebula fit your needs - OpenNebulaConf 2013
How can OpenNebula fit your needs - OpenNebulaConf 2013 How can OpenNebula fit your needs - OpenNebulaConf 2013
How can OpenNebula fit your needs - OpenNebulaConf 2013
 
Getting Started with PureScript
Getting Started with PureScriptGetting Started with PureScript
Getting Started with PureScript
 
BSD for Linux Users
BSD for Linux UsersBSD for Linux Users
BSD for Linux Users
 
Lightweight Virtualization: LXC containers & AUFS
Lightweight Virtualization: LXC containers & AUFSLightweight Virtualization: LXC containers & AUFS
Lightweight Virtualization: LXC containers & AUFS
 
Introduction to Docker and deployment and Azure
Introduction to Docker and deployment and AzureIntroduction to Docker and deployment and Azure
Introduction to Docker and deployment and Azure
 
Minicurso de Vagrant
Minicurso de VagrantMinicurso de Vagrant
Minicurso de Vagrant
 
Rootless Kubernetes
Rootless KubernetesRootless Kubernetes
Rootless Kubernetes
 
Let's Containerize New York with Docker!
Let's Containerize New York with Docker!Let's Containerize New York with Docker!
Let's Containerize New York with Docker!
 
Sweden11
Sweden11Sweden11
Sweden11
 

Andere mochten auch

Andere mochten auch (6)

PostgreSQL Replication Solutions
PostgreSQL Replication SolutionsPostgreSQL Replication Solutions
PostgreSQL Replication Solutions
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 

Ähnlich wie One RubyStack to Rule them All

RubyStack: the easiest way to deploy Ruby on Rails
RubyStack: the easiest way to deploy Ruby on RailsRubyStack: the easiest way to deploy Ruby on Rails
RubyStack: the easiest way to deploy Ruby on Rails
elliando dias
 
Docker intro
Docker introDocker intro
Docker intro
spiddy
 
WJAX 2013: Die PaaS-Parade - Teil 2 - Cloud Foundry
WJAX 2013: Die PaaS-Parade - Teil 2 - Cloud FoundryWJAX 2013: Die PaaS-Parade - Teil 2 - Cloud Foundry
WJAX 2013: Die PaaS-Parade - Teil 2 - Cloud Foundry
martinlippert
 
Os Grossupdated
Os GrossupdatedOs Grossupdated
Os Grossupdated
oscon2007
 
POCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and OverviewPOCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and Overview
Günter Obiltschnig
 
20160201_resume_Vladimir_Chesnokov
20160201_resume_Vladimir_Chesnokov20160201_resume_Vladimir_Chesnokov
20160201_resume_Vladimir_Chesnokov
Vladimir Chesnokov
 

Ähnlich wie One RubyStack to Rule them All (20)

RubyStack: the easiest way to deploy Ruby on Rails
RubyStack: the easiest way to deploy Ruby on RailsRubyStack: the easiest way to deploy Ruby on Rails
RubyStack: the easiest way to deploy Ruby on Rails
 
Docker intro
Docker introDocker intro
Docker intro
 
A Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeA Tour of Open Source on the Mainframe
A Tour of Open Source on the Mainframe
 
WJAX 2013: Die PaaS-Parade - Teil 2 - Cloud Foundry
WJAX 2013: Die PaaS-Parade - Teil 2 - Cloud FoundryWJAX 2013: Die PaaS-Parade - Teil 2 - Cloud Foundry
WJAX 2013: Die PaaS-Parade - Teil 2 - Cloud Foundry
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
LibOS as a regression test framework for Linux networking #netdev1.1
LibOS as a regression test framework for Linux networking #netdev1.1LibOS as a regression test framework for Linux networking #netdev1.1
LibOS as a regression test framework for Linux networking #netdev1.1
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
Os Grossupdated
Os GrossupdatedOs Grossupdated
Os Grossupdated
 
The story of language development
The story of language developmentThe story of language development
The story of language development
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the world
 
POCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and OverviewPOCO C++ Libraries Intro and Overview
POCO C++ Libraries Intro and Overview
 
olibc: Another C Library optimized for Embedded Linux
olibc: Another C Library optimized for Embedded Linuxolibc: Another C Library optimized for Embedded Linux
olibc: Another C Library optimized for Embedded Linux
 
App container rkt
App container rktApp container rkt
App container rkt
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and Chef
 
Large-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesLarge-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 Minutes
 
20160201_resume_Vladimir_Chesnokov
20160201_resume_Vladimir_Chesnokov20160201_resume_Vladimir_Chesnokov
20160201_resume_Vladimir_Chesnokov
 
Настройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'aНастройка окружения для кросскомпиляции проектов на основе docker'a
Настройка окружения для кросскомпиляции проектов на основе docker'a
 
F19 slidedeck (OpenStack^H^H^H^Hhift, what the)
F19 slidedeck (OpenStack^H^H^H^Hhift, what the)F19 slidedeck (OpenStack^H^H^H^Hhift, what the)
F19 slidedeck (OpenStack^H^H^H^Hhift, what the)
 
PHPIDOL#80: Kubernetes 101 for PHP Developer. Yusuf Hadiwinata - VP Operation...
PHPIDOL#80: Kubernetes 101 for PHP Developer. Yusuf Hadiwinata - VP Operation...PHPIDOL#80: Kubernetes 101 for PHP Developer. Yusuf Hadiwinata - VP Operation...
PHPIDOL#80: Kubernetes 101 for PHP Developer. Yusuf Hadiwinata - VP Operation...
 

Mehr von elliando dias

Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
elliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
elliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
elliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
elliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
elliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
elliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
elliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
elliando dias
 
From Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn IntroductionFrom Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn Introduction
elliando dias
 
FleetDB A Schema-Free Database in Clojure
FleetDB A Schema-Free Database in ClojureFleetDB A Schema-Free Database in Clojure
FleetDB A Schema-Free Database in Clojure
elliando dias
 
Clojure and The Robot Apocalypse
Clojure and The Robot ApocalypseClojure and The Robot Apocalypse
Clojure and The Robot Apocalypse
elliando dias
 
Clojure - A new Lisp
Clojure - A new LispClojure - A new Lisp
Clojure - A new Lisp
elliando dias
 
Clojure - An Introduction for Lisp Programmers
Clojure - An Introduction for Lisp ProgrammersClojure - An Introduction for Lisp Programmers
Clojure - An Introduction for Lisp Programmers
elliando dias
 

Mehr von elliando dias (20)

Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 
From Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn IntroductionFrom Lisp to Clojure/Incanter and RAn Introduction
From Lisp to Clojure/Incanter and RAn Introduction
 
FleetDB A Schema-Free Database in Clojure
FleetDB A Schema-Free Database in ClojureFleetDB A Schema-Free Database in Clojure
FleetDB A Schema-Free Database in Clojure
 
Clojure and The Robot Apocalypse
Clojure and The Robot ApocalypseClojure and The Robot Apocalypse
Clojure and The Robot Apocalypse
 
Clojure - A new Lisp
Clojure - A new LispClojure - A new Lisp
Clojure - A new Lisp
 
Clojure - An Introduction for Lisp Programmers
Clojure - An Introduction for Lisp ProgrammersClojure - An Introduction for Lisp Programmers
Clojure - An Introduction for Lisp Programmers
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Kürzlich hochgeladen (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

One RubyStack to Rule them All

  • 1. One RubyStack to Rule them All daniel.liszka@BitRock.com www.BitNami.org
  • 2. me  Daniel Liszka, Polish  10 years with Linux / OpenSource  Open Source conference organizer (InterInfo_2004) & speaker  living in Spain / Seville now  2 years in BitRock, working with Ruby, RoR, www.BitNami.org ...
  • 3. BitNami.org  Easy to install  In just a few clicks, you can have your favorite open source applications up and running.  Multiplatform  Bitnami Stacks are available for Linux, Windows, and Mac OS X.  Integrated  By the time you click 'finish', the software will be integrated, configured and ready to go.  Independent  Bitnami Stacks won't interfere with any software already installed on your system.  Run Natively  The stacks install directly on your system ­ no virtual machine required.  Open Source  All Bitnami Stacks are free to download and use under the terms of the Apache License 2.0
  • 4. It is my story  We decided to start with RoR  Lovely !  me as a developer, I need development environment  My team needs development environment – it would be cool if both are the same  My graphics designer needs it as well  They have different operating systems, different requirements (GUI,text mode,...) and skills  I want to use several environments on one machine
  • 5. It is my story (part 2)  other things  DEMO day is coming !!!  deployment  scale your application ­ > several servers  deployment on many servers   chroot, Vmware, XEN, Solaris Zones, Amazon EC2
  • 6. We need ...  Ruby  Ruby Gems  RoR  database: MySQL, SQLite  Apache  Subversion  and libraries (RMagick, ...)
  • 7. RubyStack Features (We need at least that . . .)  completely self-contained  re-locatable  not interfere with existing software  works on different operating systems (Linux, Windows and Mac OSX)  easy to install
  • 8. RubyStack Installer  created using BitRock InstallBuilder  easy to use  multiplatform  native look and feel  GUI, text and unattended modes  Platforms: Linux, Mac OS X, Windows, Solaris, ...  No External Dependencies  Uninstall Functionality, LZIP, Multiple Language Support
  • 9. InstallBuilder (RubyStack Installer)
  • 10. InstallBuilder (RubyStack Installer)
  • 11. InstallBuilder (RubyStack Installer)
  • 12. InstallBuilder (RubyStack Installer)
  • 13. Unattended mode Many different options: # rubystack-1.0-linux-installer.bin --mode unattended -- prefix /secure/tmp/ruby_unatended --rubystack_version production --apache_server_port 4568 --mysql_port 4321 --mysql_db_name blabla
  • 15. RubyStack Components zlib version: 1.2.3 ncurses version: 5.6 libiconv version: 1.9.2 readline version: 5.2 openssl version: 0.9.7l ruby version: 1.8.6 sqlite version: 3.3.6 rubygems version: 0.9.4 httpd version: 2.2.4 rake version: 0.7.3 mysql version: 5.0.45 rails version: 1.2.3 libpng version: 1.2.10 fastthread version: 1.0 jpegsrc version: v6b mongrel version: 1.0.1 freetype version: 2.3.4 rmagick version: 1.15.6 libwmf version: 0.2.8.4 mongrel_cluster version: 1.0.2 ghostscript version: 8.56 gruff version: 0.2.8 ImageMagick version: 6.3.4 capistrano version: 2.0.0 expat version: 2.0.0 neon version: 0.25.5 subversion version: 1.4.4
  • 16. /bitrock/rubystack# ldd subversion/bin/.svn.bin linux-gate.so.1 => (0xffffe000) libsvn_client-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_client-1.so.0 (0xb7f88000) libsvn_wc-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_wc-1.so.0 (0xb7f57000) libsvn_ra-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_ra-1.so.0 (0xb7f53000) libsvn_diff-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_diff-1.so.0 (0xb7f4a000) libsvn_ra_local-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_ra_local-1.so.0 (0xb7f44000) libsvn_repos-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_repos-1.so.0 (0xb7f24000) libsvn_fs-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_fs-1.so.0 (0xb7f1e000) libsvn_fs_fs-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_fs_fs-1.so.0 (0xb7f02000) libsvn_ra_svn-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_ra_svn-1.so.0 (0xb7ef0000) libsvn_ra_dav-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_ra_dav-1.so.0 (0xb7ebe000) libsvn_delta-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_delta-1.so.0 (0xb7eb3000) libsvn_subr-1.so.0 => /bitrock/rubystack/subversion/lib/libsvn_subr-1.so.0 (0xb7e83000) libaprutil-1.so.0 => /bitrock/rubystack/apache2/lib/libaprutil-1.so.0 (0xb7e6b000) libexpat.so.0 => /bitrock/rubystack/apache2/lib/libexpat.so.0 (0xb7e46000) libapr-1.so.0 => /bitrock/rubystack/apache2/lib/libapr-1.so.0 (0xb7e20000) libiconv.so.2 => /bitrock/rubystack/common/lib/libiconv.so.2 (0xb7d42000) librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7d21000) libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb7cf3000) libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7cdb000) libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7cd7000)
  • 17. Lets take a look inside  Building & testing system  Integration  logic inside XML files  Wrappers  LD_LIBRARY_PATH  what about the shebang line  rubyconsole & ctl.sh
  • 18. Applications  bitnami.org/stack/ JRubyStack  includes ready-to-run versions of JRuby, Rails, Java, Tomcat, GlassFish gem, MySQL and Subversion.  bitnami.org/stack/Tracks  bitnami.org/stack/ Redmine
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. Future / Plans Rubinius JRuby Ruby 1.8 / 1.9 ... together ... ... and ... custom RubyStacks: merb, nginx, ...
  • 24. Conclusions why it matters ?
  • 25. Thanks to Manuel Morales Castro & Beltran Rueda Borrego
  • 27. Thank you ! Daniel Liszka danoo@BitRock.com