10.10.10.23

i tried to install actix-web from source but it returned error about openssl:


error: failed to run custom build command for `openssl-sys v0.9.47`
process didn't exit successfully: `/mnt/A20EF3040EF2CFF1/work/rust/actix-web/target/debug/build/openssl-sys-f099451dfc156dca/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: "Failed to run `\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"`: No such file or directory (os error 2)"

--- stderr
thread 'main' panicked at '

Could not find directory of OpenSSL installation, and this `-sys` crate cannot
proceed without this knowledge. If OpenSSL is installed and this crate had
trouble finding it, you can set the `OPENSSL_DIR` environment variable for the
compilation process.

Make sure you also have the development packages of openssl installed.
For example, `libssl-dev` on Ubuntu or `openssl-devel` on 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.47


It looks like you're compiling on Linux and also targeting Linux. Currently this
requires the `pkg-config` utility to find OpenSSL but unfortunately `pkg-config`
could not be found. If you have OpenSSL installed you can likely fix this by
installing `pkg-config`.

', /home/guftall/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.47/build/find_normal.rs:150:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

warning: build failed, waiting for other jobs to finish...
error: build failed

and i already installed libssl-dev.

so, the problem was that openssl default install directory does not recognited  by rust and i used environment variables to tell it.


OPENSSL_LIB_DIR=/usr/lib/x86_64-linux-gnu OPENSSL_INCLUDE_DIR=/usr/include/openssl cargo build


۰ نظر موافقین ۰ مخالفین ۰ ۰۸ خرداد ۹۸ ، ۱۴:۲۴
امید ‌‌


docker login -u gitlab-ci-token registry.gitlab.com


https://gitlab.com/gitlab-org/gitlab-ce/issues/21309

۱ نظر موافقین ۰ مخالفین ۰ ۰۹ ارديبهشت ۹۸ ، ۱۳:۲۴
امید ‌‌

https://coderwall.com/p/j9btlg/reset-the-mysql-5-7-root-password-in-ubuntu-16-04-lts

۰ نظر موافقین ۰ مخالفین ۰ ۱۶ تیر ۹۷ ، ۱۵:۴۵
امید ‌‌
یک کتاب خیلی عالی برای یادگیری linux هستش، البته نه بخش رابط کاربری و اینها، بلکه برای برنامه نویسی توی این محیط
درک عالی از موضوعات زیر رو با خوندن این کتاب پیدا میکنید:
  • Thread
  • Socket
  • I/O


۰ نظر موافقین ۰ مخالفین ۰ ۲۲ ارديبهشت ۹۷ ، ۱۷:۵۵
امید ‌‌
اضافه کردن کاربر ریشه:

use admin
db.createUser(
  {
    user: "siteUserAdmin",
    pwd: "password",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)


اضافه کردن کاربر ادمین برای یک دیتابیس:

use records
db.createUser(
  {
    user: "recordsUserAdmin",
    pwd: "password",
    roles: [ { role: "userAdmin", db: "records" } ]
  }
)
۰ نظر موافقین ۰ مخالفین ۰ ۰۹ بهمن ۹۶ ، ۱۶:۱۶
امید ‌‌

برای نصب openssl از روی سورس کد باید مراحل زیر رو انجام داد:

- دانلود فایل فشرده از صفحه ی https://www.openssl.org/source/

- خارج کردن از حالت فشرده:

tar -xf openssl-1.0.2n.tar.gz

- رفتن به پوشه ی openssl-1.0.2n اجرای دستورات زیر :(۱)

./config shared no-ssl2 

make

sudo make install

این دستورات برنامه رو در پوشه ی زیر نصب میکنه:

/usr/local/ssl

پ.ن:

۱) اضافه کردن shared no-ssl2 برای اینه که از ورژن ۲ اس اس ال استفاده نشه. این کار برای نصب آپاچی سرور لازم میشه.

۰ نظر موافقین ۰ مخالفین ۰ ۱۹ دی ۹۶ ، ۱۳:۲۶
دولوپر
برای نصب این وب سرور دوتا راه وجود داره:
۱- نصب با apt-get
۲- کامپایل کردن سورس کد


ـ برای نصب در حالت ۱ که آسون هستش باید سیستم به اینترنت دسترسی داشته باشه.
دستور زیر رو وارد میکنیم و همه ی کارها توسط خود پکیج منیجر انحام میشه:

sudo apt-get install apache2
ـ حالت دوم زمانیه که بخواید سورس رو دانلود کنید و خودتون کامپایل و نصب کنید. کاربردی که برای من داشت وقتی بود که سرور مجازی که داشتم اجازه ی ارسال پکیج به شبکه اینترنت رو نداشت و فقط از بیرون میتونست درخواست دریافت کنه. پس با scp سورس رو روی سرور آپلود کردم و اون رو کامپایل کردم.
مراحل این کار بصورت زیره:
- دانلود APR و APR-util : از آدرس http://apr.apache.org/download.cgi فایل های APR و APR-util رو دانلود کنید.(۲)
- دانلود APACHE : از آدرس https://launchpad.net/ubuntu/xenial/+source/apache2 فایل فشرده شده رو دانلود کنید.(۳)
- فایل های دانلود شده رو از حالت فشرده خارج کنید: به پوشه ای که فایل های دانلود شده رو دارید برید و با دستور bzip2 و tar فایل ها رو از حالت فشرده خارج کنید(بجای نسخه ای که من دانلود کردم اون چیزی که دانلود کرده اید رو بذارید ):
bzip2 -d apr-1.6.3.tar.bz2
tar -xf apr-1.6.3.tar
bzip2 -d apr-util-1.6.1.tar.bz2
tar -xf apr-util-1.6.1.tar
bzip2 -d apache2_2.4.18.orig.tar.bz2
tar -xf apache2_2.4.18.orig.tar
- به پوشه ی apr-1.6.3 رفته و با دستورات زیر این برنامه رو نصب کنید:
./configure
make
sudo make install
- به پوشه ی apr-util-1.6.3 رفته و دستورات زیر رو اجرا کنید:
./configure --with-apr=/usr/local/apr (4)
make
sudo make install
- به پوشه ای که apache رو از حالت فشرده خارج کردید برید. برای من میشه httpd-2.4.18 و دستورات زیر رو وارد کنید :(۵)
./configure --prefix=/etc/apache2      --enable-access_compat=shared      --enable-actions=shared      --enable-alias=shared      --enable-allowmethods=shared      --enable-auth_basic=shared      --enable-authn_core=shared      --enable-authn_file=shared      --enable-authz_core=shared      --enable-authz_groupfile=shared      --enable-authz_host=shared      --enable-authz_user=shared      --enable-autoindex=shared      --enable-dir=shared      --enable-env=shared      --enable-headers=shared      --enable-include=shared      --enable-log_config=shared      --enable-mime=shared      --enable-negotiation=shared      --enable-proxy=shared      --enable-proxy_http=shared      --enable-rewrite=shared      --enable-setenvif=shared      --enable-ssl=shared      --enable-unixd=shared      --enable-ssl     --enable-ssl-staticlib-deps      --enable-mods-static=ssl --with-ssl=/usr/local/ssl
make
sudo make install
پ.ن:
۲) فایل هایی که پسوند bz2 دارند رو دانلود کنید

۳) فایلی که پسوند bz2 دارد را دانلود کنید

۴) آدرسی که APR به صورت پیشفرض نصب میشود
۵) اگر openssl رو قبلا نصب کردید آدرس اون رو بجای /usr/local/ssl بذارید. اگر openssl رو نصب نکردید، به *نصب openssl* مراجعه کنید.
۰ نظر موافقین ۰ مخالفین ۰ ۱۹ دی ۹۶ ، ۱۲:۳۹
دولوپر