mirror of
https://github.com/dani-garcia/vaultwarden.git
synced 2026-02-05 00:29:40 +03:00
Installing bitwarden_rs in a vm #259
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @shd128 on GitHub (Mar 20, 2019).
Is there a way to install bitwarden_rs on a virtual machine? for example with RedHat 7.6.
@mqus commented on GitHub (Mar 20, 2019):
Could you expand on your issue? I don't see how it should be different than building it without a VM.
Eg. you could build it from source and then use systemd to let it start automatically
@LostSoulfly commented on GitHub (Mar 20, 2019):
I built it on Windows 10.. you can build it yourself and run it in a VM of your choosing no problem.
@pgaskin commented on GitHub (Mar 20, 2019):
Also see https://github.com/dani-garcia/bitwarden_rs/issues/355#issuecomment-456144762
@shd128 commented on GitHub (Mar 20, 2019):
Ok, thank you guys, I'll give it a try
@BlackDex commented on GitHub (Mar 25, 2019):
Depending on with type of virtual machine you should be able to just run the docker image if the hypervisors allows it. KVM for instance needs to be configured to allow nested virtualization.
VirtualBox needs the "Enable nested VT-x/AMD-V" option to be enabled.
@mprasil commented on GitHub (Mar 25, 2019):
@BlackDex I don't think you need nested virtualization to run Docker. Docker is just using namespaces, not virtualization to create the containers.
@shd128 commented on GitHub (Mar 25, 2019):
Thanks guys, but I don't want to use bitwarden with docker, I want to
install it directly on the vm's os.
I will try to built it from source, I don't know how its done but I will
research how.
El lun., 25 mar. 2019 a las 7:54, mprasil (notifications@github.com)
escribió:
--
Lic. Sabrina Lanzotti
@shd128 commented on GitHub (Mar 25, 2019):
Guys, could you please explain to me how to build it so that I can install it in a vm and not with docker?
Thanks
@dani-garcia commented on GitHub (Mar 25, 2019):
https://github.com/dani-garcia/bitwarden_rs/wiki/Building-binary
You'll need to install the OpenSSL library from your package manager (it's usually something like
libopenssloropenssl-dev), and rust using rustup. There are links in that wiki page. Then just runcargo build --release.@shd128 commented on GitHub (Mar 26, 2019):
dani-garcia, I've installed all the dependecies but when I run cargo build --release I get
[root@bitwarden01 tmp]# cargo build --release
-bash: cargo: command not found
@dani-garcia commented on GitHub (Mar 26, 2019):
If you installed rustup correctly, you should have the rust and cargo binaries in
$HOME/.cargo/bin, can you check there? You might need to add them to the path.@mqus commented on GitHub (Mar 26, 2019):
First, restart your terminal and/or virtual machine and check if it still can't find cargo.
If it still doesn't work:
<your user directory>/.cargo/binin yourPATHvariable? (runecho $PATHand look at the output)If you had to answer no to the last question you have to look if
<your user directory>/.cargo/binexists inside of your VM and if it does, addexport PATH=~/.cargo/bin:$PATHto your.bashrc.If it doesn't, your answer to the first question would really help.
EDIT: 30 seconds too late :D
@shd128 commented on GitHub (Mar 26, 2019):
Hi mqus,
I installed rustup with this command: curl https://sh.rustup.rs -sSf | sh
When I run the cargo command I get this:
[root@bitwarden01 ~]# cargo run --release
error: could not find
Cargo.tomlin/rootor any parent directoryWhen running echo $PATH I get:
[root@bitwarden01 ~]# echo $PATH
/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
@shd128 commented on GitHub (Mar 26, 2019):
[root@bitwarden01 ~]# ll ~/.cargo/bin
total 126528
-rwxr-xr-x. 12 root root 10794568 Mar 25 17:11 cargo
-rwxr-xr-x. 12 root root 10794568 Mar 25 17:11 cargo-clippy
-rwxr-xr-x. 12 root root 10794568 Mar 25 17:11 cargo-fmt
-rwxr-xr-x. 12 root root 10794568 Mar 25 17:11 cargo-miri
-rwxr-xr-x. 12 root root 10794568 Mar 25 17:11 clippy-driver
-rwxr-xr-x. 12 root root 10794568 Mar 25 17:11 rls
-rwxr-xr-x. 12 root root 10794568 Mar 25 17:11 rustc
-rwxr-xr-x. 12 root root 10794568 Mar 25 17:11 rustdoc
-rwxr-xr-x. 12 root root 10794568 Mar 25 17:11 rustfmt
-rwxr-xr-x. 12 root root 10794568 Mar 25 17:11 rust-gdb
-rwxr-xr-x. 12 root root 10794568 Mar 25 17:11 rust-lldb
-rwxr-xr-x. 12 root root 10794568 Mar 25 17:11 rustup
@dani-garcia commented on GitHub (Mar 26, 2019):
You need to do that from the directory where you have the bitwarden source code. You can use git to download it or one of these links.
For the latest code:
https://github.com/dani-garcia/bitwarden_rs/archive/master.zip
For the latest release:
https://github.com/dani-garcia/bitwarden_rs/archive/1.8.0.zip
@shd128 commented on GitHub (Mar 26, 2019):
Ok, so I download the last release from your link, I copied the folder to my server, run cargo run --release but I got an error:
[root@bitwarden01 bitwarden_rs-1.8.0]# cargo run --release
info: syncing channel updates for 'nightly-2019-03-14-x86_64-unknown-linux-gnu'
info: latest update on 2019-03-14, rust version 1.35.0-nightly (719b0d984 2019-03-13)
info: downloading component 'rustc'
87.3 MiB / 87.3 MiB (100 %) 2.0 MiB/s ETA: 0 s
info: downloading component 'rust-std'
57.7 MiB / 57.7 MiB (100 %) 2.0 MiB/s ETA: 0 s
info: downloading component 'cargo'
4.3 MiB / 4.3 MiB (100 %) 1.5 MiB/s ETA: 0 s
info: downloading component 'rust-docs'
10.3 MiB / 10.3 MiB (100 %) 1.8 MiB/s ETA: 0 s
info: installing component 'rustc'
87.3 MiB / 87.3 MiB (100 %) 11.2 MiB/s ETA: 0 s
info: installing component 'rust-std'
57.7 MiB / 57.7 MiB (100 %) 14.4 MiB/s ETA: 0 s
info: installing component 'cargo'
info: installing component 'rust-docs'
10.2 MiB / 10.3 MiB (100 %) 3.9 MiB/s ETA: 0 s
Updating git repository
https://github.com/dani-garcia/msgpack-rustUpdating crates.io index
Downloaded fern v0.5.7
Downloaded diesel v1.4.2
Downloaded num-derive v0.2.4
Downloaded chashmap v2.2.2
Downloaded reqwest v0.9.12
Downloaded derive_more v0.14.0
Downloaded serde_derive v1.0.89
Downloaded data-encoding v2.1.2
Downloaded lettre v0.9.0
Downloaded uuid v0.7.2
Downloaded rocket_contrib v0.4.0
Downloaded dotenv v0.13.0
Downloaded lazy_static v1.3.0
Downloaded jsonwebtoken v5.0.1
Downloaded chrono v0.4.6
Downloaded yubico v0.5.1
Downloaded oath v0.10.2
Downloaded libsqlite3-sys v0.12.0
Downloaded regex v1.1.2
Downloaded num-traits v0.2.6
Downloaded soup v0.3.0
Downloaded serde_json v1.0.39
Downloaded u2f v0.1.4
Downloaded log v0.4.6
Downloaded lettre_email v0.9.0
Downloaded native-tls v0.2.2
Downloaded serde v1.0.89
Downloaded rocket v0.4.0
Downloaded ws v0.8.0
Downloaded rmpv v0.4.0
Downloaded diesel_migrations v1.4.0
Downloaded handlebars v1.1.0
Downloaded multipart v0.16.1
Downloaded owning_ref v0.3.3
Downloaded num-integer v0.1.39
Downloaded proc-macro2 v0.4.27
Downloaded diesel_derives v1.4.0
Downloaded cc v1.0.31
Downloaded memchr v2.2.0
Downloaded thread_local v0.3.6
Downloaded itoa v0.4.3
Downloaded untrusted v0.6.2
Downloaded ring v0.13.5
Downloaded nom v4.2.3
Downloaded flate2 v1.0.7
Downloaded fast_chemail v0.9.6
Downloaded parking_lot v0.4.8
Downloaded tokio-executor v0.1.7
Downloaded toml v0.4.10
Downloaded version_check v0.1.5
Downloaded http v0.1.16
Downloaded httparse v1.3.3
Downloaded mio-extras v2.0.5
Downloaded sha-1 v0.8.1
Downloaded pkg-config v0.3.14
Downloaded aho-corasick v0.6.10
Downloaded threadpool v1.7.1
Downloaded base64 v0.9.3
Downloaded hmac v0.1.1
Downloaded failure_derive v0.1.5
Downloaded openssl-sys v0.9.43
Downloaded bytes v0.4.12
Downloaded hyper-tls v0.3.2
Downloaded tokio-io v0.1.12
Downloaded num-traits v0.1.43
Downloaded sha1 v0.6.0
Downloaded aes-soft v0.3.3
Downloaded hmac v0.7.0
Downloaded regex-syntax v0.6.5
Downloaded base64 v0.10.1
Downloaded hostname v0.1.5
Downloaded state v0.4.1
Downloaded openssl-probe v0.1.2
Downloaded rocket_codegen v0.4.0
Downloaded mime v0.3.13
Downloaded block-modes v0.3.2
Downloaded hyper v0.12.25
Downloaded url v1.7.2
Downloaded notify v4.0.10
Downloaded r2d2 v0.8.3
Downloaded slab v0.4.2
Downloaded syn v0.15.29
Downloaded failure v0.1.5
Downloaded mime_guess v2.0.0-alpha.6
Downloaded digest v0.5.2
Downloaded tokio-timer v0.2.10
Downloaded num_cpus v1.10.0
Downloaded byteorder v1.3.1
Downloaded time v0.1.42
Downloaded serde_urlencoded v0.5.4
Downloaded sha-1 v0.3.4
Downloaded bufstream v0.1.4
Downloaded tokio-threadpool v0.1.13
Downloaded openssl v0.10.20
Downloaded pear v0.1.2
Downloaded rocket_http v0.4.0
Downloaded email v0.0.20
Downloaded crypto-mac v0.7.0
Downloaded tokio v0.1.18
Downloaded cfg-if v0.1.7
Downloaded quote v0.6.11
Downloaded encoding_rs v0.8.17
Downloaded rand v0.6.5
Downloaded futures v0.1.25
Downloaded rustc-hex v1.0.0
Downloaded ryu v0.2.7
Downloaded utf8-ranges v1.0.2
Downloaded subtle v2.0.0
Downloaded html5ever v0.22.5
Downloaded yansi v0.5.0
Downloaded mio v0.6.16
Downloaded webpki v0.18.1
Downloaded isatty v0.1.9
Downloaded bitflags v1.0.4
Downloaded stable_deref_trait v1.1.1
Downloaded synstructure v0.10.1
Downloaded sha2 v0.5.3
Downloaded parking_lot_core v0.2.14
Downloaded quick-error v1.2.2
Downloaded unicase v2.3.0
Downloaded rand_core v0.4.0
Downloaded rand_os v0.1.3
Downloaded pest v2.1.0
Downloaded scheduled-thread-pool v0.2.0
Downloaded buf_redux v0.8.1
Downloaded iovec v0.1.2
Downloaded miniz_oxide_c_api v0.2.1
Downloaded tokio-tcp v0.1.3
Downloaded crossbeam-deque v0.7.1
Downloaded phf v0.7.24
Downloaded percent-encoding v1.0.1
Downloaded smallvec v0.6.9
Downloaded digest-buffer v0.3.1
Downloaded opaque-debug v0.2.2
Downloaded twoway v0.1.8
Downloaded digest v0.8.0
Downloaded ucd-util v0.1.3
Downloaded rustc_version v0.2.3
Downloaded rand v0.4.6
Downloaded cookie v0.11.0
Downloaded rand_jitter v0.1.3
Downloaded mime v0.2.6
Downloaded fake-simd v0.1.2
Downloaded h2 v0.1.17
Downloaded markup5ever v0.7.5
Downloaded tokio-current-thread v0.1.6
Downloaded antidote v1.0.0
Downloaded lazycell v1.2.1
Downloaded indexmap v1.0.2
Downloaded block-padding v0.1.3
Downloaded pear_codegen v0.1.2
Downloaded subtle v1.0.0
Downloaded migrations_internals v1.4.0
Downloaded walkdir v2.2.7
Downloaded rand_hc v0.1.0
Downloaded autocfg v0.1.2
Downloaded futures-cpupool v0.1.8
Downloaded tokio-trace-core v0.1.0
Downloaded crossbeam-queue v0.1.2
Downloaded generic-array v0.12.0
Downloaded idna v0.1.5
Downloaded libc v0.2.50
Downloaded mac v0.1.1
Downloaded crypto-mac v0.3.0
Downloaded encoding v0.2.33
Downloaded rand_isaac v0.1.1
Downloaded rand_xorshift v0.1.1
Downloaded devise v0.2.0
Downloaded crossbeam-utils v0.6.5
Downloaded matches v0.1.8
Downloaded unicode-xid v0.1.0
Downloaded migrations_macros v1.4.0
Downloaded rand_chacha v0.1.1
Downloaded crc32fast v1.2.0
Downloaded net2 v0.2.33
Downloaded hyper v0.10.15
Downloaded rustls v0.14.0
Downloaded filetime v0.2.4
Downloaded safemem v0.3.0
Downloaded foreign-types v0.3.2
Downloaded tokio-reactor v0.1.9
Downloaded rand_pcg v0.1.2
Downloaded mime_guess v1.8.6
Downloaded want v0.0.6
Downloaded phf_codegen v0.7.24
Downloaded block-cipher-trait v0.6.2
Downloaded dtoa v0.4.3
Downloaded byte-tools v0.1.3
Downloaded fnv v1.0.6
Downloaded unicase v1.4.2
Downloaded tempfile v3.0.7
Downloaded pest_derive v2.1.0
Downloaded backtrace v0.3.14
Downloaded inotify v0.6.1
Downloaded hyper-sync-rustls v0.3.0-rc.4
Downloaded block-buffer v0.7.0
Downloaded quote v0.3.15
Downloaded semver v0.9.0
Downloaded ascii_utils v0.9.3
Downloaded encoding-index-singlebyte v1.20141219.5
Downloaded rand_core v0.3.1
Downloaded generic-array v0.7.3
Downloaded phf_generator v0.7.24
Downloaded parking_lot v0.7.1
Downloaded unicode-bidi v0.3.4
Downloaded byte-tools v0.3.1
Downloaded ucd-trie v0.1.1
Downloaded traitobject v0.1.0
Downloaded encoding-index-korean v1.20141219.5
Downloaded backtrace-sys v0.1.28
Downloaded remove_dir_all v0.5.1
Downloaded encoding-index-tradchinese v1.20141219.5
Downloaded string_cache v0.7.3
Downloaded string v0.1.3
Downloaded crossbeam-epoch v0.7.1
Downloaded sct v0.4.0
Downloaded encoding-index-japanese v1.20141219.5
Downloaded safemem v0.2.0
Downloaded crc v1.8.1
Downloaded unicode-normalization v0.1.8
Downloaded typeable v0.1.2
Downloaded typenum v1.10.0
Downloaded language-tags v0.2.2
Downloaded rustc-demangle v0.1.13
Downloaded phf_shared v0.7.24
Downloaded try-lock v0.2.2
Downloaded string_cache_codegen v0.4.2
Downloaded miniz_oxide v0.2.1
Downloaded constant_time_eq v0.1.3
Downloaded inotify-sys v0.1.3
Downloaded syn v0.11.11
Downloaded foreign-types-shared v0.1.1
Downloaded pest_generator v2.1.0
Downloaded encoding-index-simpchinese v1.20141219.5
Downloaded log v0.3.9
Downloaded yansi v0.4.0
Downloaded tokio-sync v0.1.4
Downloaded devise_core v0.2.0
Downloaded same-file v1.0.4
Downloaded tendril v0.4.1
Downloaded synom v0.11.3
Downloaded semver-parser v0.7.0
Downloaded siphasher v0.2.3
Downloaded scopeguard v0.3.3
Downloaded nodrop v0.1.13
Downloaded devise_codegen v0.2.0
Downloaded string_cache_shared v0.3.0
Downloaded parking_lot_core v0.4.0
Downloaded memoffset v0.2.1
Downloaded webpki-roots v0.15.0
Downloaded adler32 v1.0.3
Downloaded encoding_index_tests v0.1.4
Downloaded lock_api v0.1.5
Downloaded build_const v0.2.1
Downloaded unicode-xid v0.0.4
Downloaded new_debug_unreachable v1.0.3
Downloaded precomputed-hash v0.1.1
Downloaded arrayvec v0.4.10
Downloaded owning_ref v0.4.0
Downloaded utf-8 v0.7.5
Downloaded pest_meta v2.1.0
Downloaded futf v0.1.4
Downloaded maplit v1.0.1
Compiling autocfg v0.1.2
Compiling libc v0.2.50
error: linker
ccnot found|
= note: No such file or directory (os error 2)
error: aborting due to previous error
error: Could not compile
libc.warning: build failed, waiting for other jobs to finish...
error: build failed
@shd128 commented on GitHub (Mar 26, 2019):
It was a problem with rust. It assumed I had a compiler installed but I didn't.
I installed "gcc" and it worked like a charm.
I will let you know how it turns out after compiling
@shd128 commented on GitHub (Mar 26, 2019):
Now I'm getting this:
I've trying to figure out for a while what is this about but I have no clue, openssl seems to be installed and working
[root@bitwarden01 bitwarden_rs-1.8.0]# cargo run --release
Compiling openssl-sys v0.9.43
Compiling crossbeam-deque v0.7.1
error: failed to run custom build command for
openssl-sys v0.9.43process didn't exit successfully:
/root/bitwarden_rs-1.8.0/target/release/build/openssl-sys-014acdf595fca8a8/build-script-main(exit code: 101)--- stdout
cargo:rustc-cfg=const_fn
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset
cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
OPENSSL_LIB_DIR unset
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset
cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
OPENSSL_INCLUDE_DIR unset
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset
cargo:rerun-if-env-changed=OPENSSL_DIR
OPENSSL_DIR unset
run pkg_config fail: "
\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"did not exit successfully: exit code: 1\n--- stderr\nPackage openssl was not found in the pkg-config search path.\nPerhaps you should add the directory containing `openssl.pc'\nto the PKG_CONFIG_PATH environment variable\nNo package 'openssl' found\n"--- stderr
thread 'main' panicked at '
Could not find directory of OpenSSL installation, and this
-syscrate cannotproceed without this knowledge. If OpenSSL is installed and this crate had
trouble finding it, you can set the
OPENSSL_DIRenvironment variable for thecompilation process.
Make sure you also have the development packages of openssl installed.
For example,
libssl-devon Ubuntu oropenssl-develon Fedora.If you're in a situation where you think the directory should be found
automatically, please open a bug at https://github.com/sfackler/rust-openssl
and include information about your system as well as this message.
$HOST = x86_64-unknown-linux-gnu
$TARGET = x86_64-unknown-linux-gnu
openssl-sys = 0.9.43
', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.43/build/find_normal.rs:150:5
note: Run with
RUST_BACKTRACE=1environment variable to display a backtrace.warning: build failed, waiting for other jobs to finish...
error: build failed
@mqus commented on GitHub (Mar 26, 2019):
did you install
openssl?@shd128 commented on GitHub (Mar 26, 2019):
Yes, but I'm guessing that something went wrong with the installation because now I've reinstalled it and it worked.
Now I'm having this:
[root@preprod-bitwarden01 bitwarden_rs-1.8.0]# export OPENSSL_DIR=/usr/local/ssl/
[root@preprod-bitwarden01 bitwarden_rs-1.8.0]# cargo run --release
Finished release [optimized] target(s) in 0.30s
Running
target/release/bitwarden_rs/--------------------------------------------------------------------\
[2019-03-26 12:17:39][bitwarden_rs][INFO] JWT keys don't exist, checking if OpenSSL is available...
OpenSSL 1.0.2o 27 Mar 2018
[2019-03-26 12:17:39][bitwarden_rs][INFO] OpenSSL detected, creating keys...
Generating RSA private key, 2048 bit long modulus
.........................+++
..........................+++
e is 65537 (0x10001)
writing RSA key
writing RSA key
[2019-03-26 12:17:39][bitwarden_rs][INFO] Keys created correctly.
[2019-03-26 12:17:39][bitwarden_rs][ERROR] Web vault is not found. To install it, please follow the steps in https://github.com/dani-garcia/bitwarden_rs/wiki/Building-binary#install-the-web-vault
[root@preprod-bitwarden01 bitwarden_rs-1.8.0]#
I'm having another issue with the installation of the web vault but I will open a new thread.
Thanks for the help with this!
@mqus commented on GitHub (Mar 26, 2019):
you can also disable the vault temporarily by running
WEB_VAULT_ENABLED=false cargo run --releaseand check if it works by using the browser plugin or another client. You could also try to enable and access the admin panel which is included even without the vault.