Skip to Content

آرشیو دسته بندی ها:Uncategorized

آموزش نصب CentOS 7.2 Minimal

آموزش نصب CentOS 7.2 Minimal


CentOS یکی از پرکاربرد ترین و حرفه ای ترین توزیع یا distro سیستم عامل لینوکس می باشد.

این سیستم عامل رایگان بوده و روی اکثر کامپیوتر ها نصب می شود.

CentOS از سری سیتم عامل های Redhat لینوکس بوده و بیشتر برای مصارف تجاری و به عنوان سرور طراحی شده است.

در این آموزش شما نصب CentOS 7.2 را به همراه تنظیمات اولیه یاد خواهید گرفت.

تمام چیزهایی که قبل از نصب CentOS نیاز دارید:

یک کامپیوتر با حداقل 256MB حافظه RAM

حداقل 7GB فضای خالی هارد

یک DVD خالی برای ریختن فایل ISO لینوکس سرور CentOS روی آن

شما می توانید این فایل را از سایت این توزیع محبوب به آدرس http://www.centos.org/ دریافت کنید.

نکته: این آموزش بر اساس CentOS 7.2 سرور بوده و IP ما 192.168.1.100 بوده و نام هاست ما یا hostname ما server1.example.com می باشد.شما با توجه به IP و نام هاست خود تنظیمات را انجام دهید.

نکته: زمان دانلود CentOS از سایت شما با دو عبارت Minimal و Everything مواجه می شوید، منظور از Minimal این است که جز کرنل اصلی، نرم افزار های کمی روی آن نصب هست و شما می توانید به انتخاب خود با YUM روی آن نرم افزار نصب کنید. در نسخه Everything خیلی از پکیج های عمومی، گرافیکی، برنامه نویسی و درایور های مختلف به صورت پیش فرض نصب می شوند. برای شروع می توانید از Everything استفاده کنید اما حالت حرفه ای تر استفاده از نسخه Minimal می باشد.

شروع نصب Linux CentOS 7.2 Minimal:

از روی دی وی دی CentOS کامپیوتر خود را بوت کرده و سپس گزینه Install CentOS 7 را انتخاب کنید.

install centos7

و بعد ENTER بزنید.

install centos7 1

زبان نصب را انتخاب کنید. ما در اینجا زبان را روی English با English United States قرار داده و روی Continue کلیک می کنیم

install centos7 2

بعد از آن ما با این صفحه مواجه می شویم:

install centos7 3

برای تنظیمات از گزینه LOCALIZATION و بخش DATE & TIME شروع می کنیم.روی این قسمت کلیک کرده و timezone خود را انتخاب نمایید، در این قسمت ما Region را آسیا و شهر را تهران انتخاب می کنیم.بعد از آن روی Done کلیک کنید.

install centos7 4

بعد از آن روی قسمت KEYBOARD کلیک می کنیم تا وارد تنظیمات کیبورد شویم.

install centos7 5

برای اضافه کردن کیبورد Persian روی علامت + کلیک کنید.

install centos7 6

در این قسمت لیست کامل کیبرد های موجود وجود دارد، ما می توانیم Persian یا German رو هم به کیبورد خود اضافه کنیم و کافیه روی گزینه Add کلیک کنیم.

install centos7 7

سپس، برای تنظیمات LAYOUT SWITCHING OPTIONS روی گزینه Options کلیک می کنیم.

install centos7 8

شما می توانید از هر ترکیبی از دکمه ها برای تغییر زبان کیبرد استفاده کنید، در این مثال ما Alt_Ctrl رو برای این کار انتخاب کردیم. بعد از این انتخاب روی گزینه Done کلیک کنید.

install centos7 9

بعد بر روی Done کلیک نمایید.

install centos7 10

اگر نمی خواهید از زبان انگلیسی استفاده کنید می توانید LANGUAGE SUPPORT را اضافه کنید.

install centos7 11

به صورت پیشفرض CentOS با زبان انگلیسی نصب می شود، ولی شما می توانید زبان های متعددی به سادگی به آن اضافه کنید. در این مورد، ما زبان آلمانی و دانمارکی و فارسی را به آن اضافه کردم. روی Done کلیک نمایید.

install centos7 12

سپس، به قسمت SOFTWARE و INSTALLATION SOFTWARE رفته و حالت یا media نصب را انتخاب می کنیم.

install centos7 13

سپس، شما می بینید که منبع نصب روی Auto-detected installation media قرار دارد، اگر شما از منبع دیگری مثل شبکه برای نصب استفاده می کنید باید مسیر را روی On the network تنظیم کنید(در قسمت Proxy Setup می توانید بی/با proxy از روی شبکه CentOS را نصب کنید).

علاوه بر این، ما می توانیم با اضافه کردن گزینه Additional repositories منابع بیشتری به منابع موجود اضافه کنیم.

سپس بر روی Done کلیک کنید.

install centos7 14

بعد ما روی SOFTWARE SELECTION می زنیم، به صورت پیش فرض روی Minimal Install تنظیم شده است.

install centos7 15

شما می توانید در صورت نیاز پکیج های نرم افزاری بیشتری اضافه کنید(اگر شما از DVD نصب استفاده می کنید). در این مورد ما فقط به Minimal Install (Basic Functionality) نیاز داریم و بقیه نرم افزار ها رو بعدا با yum نصب می کنیم، پس ما تنظیمات را با زدن دکمه Done ذخیره می کنیم.

install centos7 16

INSTALLATION DESTINATION را انتخاب می کنیم.

install centos7 17

وقتی شما می خواهید به صورت غیر اتوماتیک پارتیشن بندی کنید باید I will configure partitioning را انتخاب کنید.در این آموزش ما Automatically configure partitioning را انتخاب می کنیم و بر روی Done می زنیم.

install centos7 18

سپس، با انتخاب قسمت های NETWORK و HOSTNAME آن ها را تنظیم می کنیم.

install centos7 19

ما از نام هاست server1.example.com استفاده می کنیم و برای تنظیمات اترنت (ethernet) روی Configure کلیک می کنیم.

install centos7 20

صفحه بعدی شبیه تصویر زیر است، حالا ما IPv4 رو با کلیک روی IPv4 Settings تنظیم می کنیم.اگر شما IPv6 دارید باید روی IPv6 Settings کلیک کنید.

install centos7 21

سپس، شما می توانید شبکه خود را کانفیگ کنید، در این آموزش ما از IP ثابت استفاده می کنیم، پس روی Manual کلیک می کنیم.

install centos7 22

ورودی آدرس را اضافه کنید، Netmask و Gateway به ازای IP شما تنظیم می گردد. در این آموزش ما از آدرس 192.168.1.100 و Netmask معادل 255.255.255.0 و Gateway معادل 192.168.1.1 و DNS servers برابر 8.8.8.8 و 8.8.4.4 استفاده می کنیم.احتمالا مقادیر شما هم باید ه مقادیر ما نزدیک باشند.بعد از ورود این اطلاعات روی Save کلیک کنید.

نکته: اگر شما دسترسی اینترنت IPv6 ندارید، حتما Ipv6 را از auto به ignore در قسمت Ipv6 تغییر دهید، در غیر اینصورت شما نمی توانید از طریق Ipv4 در CentOS به اینترنت دسترسی داشته باشید.

install centos7 23

سپس، ما این اتصال را شبیه تصویر زیر روشن یا ON می کنیم و روی Done کلیک می کنیم.

install centos7 24

حالا ما آماده ایم که نصب را آغاز کنیم، شما می توانید تمام تنظیمات را چک کرده و روی Begin Installation کلیک کنید.

install centos7 25

پروسه ی نصب حالا آغاز می شود و شما در صفحه بعد یک خط آبی باریک می بینید.حالا ما باید پسورد روت (Root) را تنظیم کنیم و بعد از قسمت USER CREATION یک کاربر غیر از root بسازیم . ما ابتدا پسورد root را تغییر می دهیم.

install centos7 26

یک کلمه عبور یا پسورد مطمئن برای کاربر root انتخاب می کنیم و سپس روی Done کلیک می کنیم.

install centos7 27

بعد میریم برای ساخت یک کاربر جدید از قسمت USER CREATION

install centos7 28

بعد می خواهیم کاربر جدیدی بسازیم، ما از نام کامل Administrator و نام کاربری administrator استفاده می کنیم.

تیگ گزینه Require the password to use this account را هم می زنیم و روی Done کلیک می کنیم. البته شما می توانید هر طور دوست دارید سیستم خود را کانفیگ کنید.

install centos7 29

روی Finish کلیک کنید و صبور باشید تا مراحل نصب تمام شود.

install centos7 30

پس از کامل شدن نصب از شما می خواهد سیستم را ریستارت کنید، روی گزینه Finish Configuration کلیک نمایید.

install centos7 31

سرور ریستارت شده و پس از بالا آمدن از شما نام کاربری و کلمه عبور می خواهد.

install centos7 32

حالا ما می توانیم با کاربری که ساختیم یا کاربر root وارد سیستم شویم.

اولین ورود ما روی CentOS

به دلیل این که می خواهیم آخرین تنظیمات را هم انجام دهیم با کاربر root وارد سیستم شوید.

به عنوان اولین کار تمام آپدیت های موجود را از طریق yum نصب می کنیم. yum update

اگر سوال پرسید می توانیم با y تایید کنیم.

برای این که راحت تر بتوانیم فایل های تنظیمات را ادیت کنیم دو ادیتور command line را به وسیله کامند yum install nano vim نصب می کنیم.

تنظیمات شبکه

سیستم عامل CentOS 7.2 Minimal هیچ برنامه از پیش نصب شده ای برای مدیریت شبکه ندارد پس ما از طریق دستور yum install net-tools پکیج های لازم را نصب می کنیم.

اگر شما می خواهید تنظیمات شبکه را تغییر دهید فقط فایل زیر را ادیت کنید:

nano /etc/sysconfig/network-scripts/ifcfg-ens33

وقتی با IP ثابت تنظیمات اولیه را انجام داده باشید خروجی دستور بالا به صورت زیر می باشد:

خروجی

TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="no"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="ens33"
UUID="eb1ba0ce-af9f-4953-a6a7-3d05a15c8d4f"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.1.100"
PREFIX="24"
GATEWAY="192.168.1.1"
DNS1="192.168.1.1"
DNS2="8.8.8.8"
DNS3="8.8.4.4"

و اگر از DHCP استفاده کنید خروجی به صورت زیر می باشد:

خروجی

TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="ens33"
UUID="eb1ba0ce-af9f-4953-a6a7-3d05a15c8d4f"
DEVICE="ens33"
ONBOOT="yes"
HWADDR="00:50:56:15:23:79"
PEERDNS="yes"
PEERROUTES="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_PRIVACY="no"

و می توانید هر مقداری را تغییر دهید.

نکته: نام DEVICE بالا می تواند مختلف باشد، بنابراین فایل معادل این فایل در پوشه /etc/sysconfig/network-scripts را چک کنید.

تنظیم /etc/hosts

فایل /etc/hosts را مانند زیر تنظیم کنید:

nano /etc/hosts

مقادیر را مانند زیر تغییر دهید:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.1.100   server1.example.com     server1

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

تبریک! حالا ما یک CentOS 7.2 Minimal با تنظیمات اولیه داریم که می تونیم بقیه آموزش ها رو به سادگی روی آن ادامه بدیم.

ادامه مطلب

نحوه نصب و ایمن‌سازی LDAP در لینوکس

نحوه نصب و ایمن‌سازی LDAP در لینوکس

در شبکه‌های رایانه‌ای، «دایرکتوری سرویس» زیرساخت به اشتراک‌گذاری منابع را مهیا نموده و به شما اجازه می‌دهد به صورت متمرکز منابع و المان‌های شبکه خود را مدیریت نمایید.


«دایرکتوری سرویس» اطلاعات مهمی را طبق استاندارد X.500 در خود نگهداری می‌کند. این اطلاعات می‌تواند شامل اطلاعات مربوط به کاربران و رمز عبور آن‌ها باشد. همچنین اطلاعات پرسنلی افراد سازمان، می‌تواند قسمت دیگری از این نوع اطلاعات باشد که حفظ محرمانگی و امنیت آن‌ها ضروری است. LDAP یا Lightweight Directory Access Protocol پروتکلی است که می‌توان با آن با دایرکتوری سرور ارتباط برقرار کرد و آن را مدیریت نمود. یکی از جنبه‌های مهم برقراری امنیت در دایرکتوری سرویس، برقراری یک ارتباط امن بین کلاینت و سرور دایرکتوری سرویس (LDAP Server) است. پروتکل LDAP به طور پیش فرض اطلاعات را بر روی بستر شبکه به صورت Clear Text ارسال می‌کند که ارسال اطلاعات به این روش دارای مزایایی از جمله موارد ذیل است:

  • پیکربندی و مدیریت آسان
  • سرعت بالاتر در سرویس دهی

اما این مزایا باعث می‌شود تا شما امنیت سیستم خود را از دست بدهید. بنابراین در بستر شبکه به‌ ویژه شبکه‌های بزرگ، نیاز است اطلاعات، رمزنگاری شود.

OpenLDAP یک نرم افزار متن باز است که سیستم «دایرکتوری سرویس» و پروتکل LDAP را به صورت مستقل از بستر پیاده سازی می‌کند و اکثر نسخه‌های لینوکس از آن پشتیبانی می‌نماید. OpenLDAP به دو روش، ترافیک ارسالی در شبکه را رمزنگاری می‌نماید.

در اولین روش OpenLDAP بر روی یک پورت خاص (پورت 636، LDAPS) به طور پیش‌فرض سرویس می‌دهد و اطلاعات ارسالی بر روی این پورت به صورت خودکار رمزنگاری می‌شوند. این روش به عنوان یک قابلیت جدید در نسخه دوم LDAP ارایه شد، اما امروزه چندان رایج نیست.

در روش دوم که در نسخه سوم LDAP ارایه شد، به کلاینت‌ها اجازه داده می‌شود که بر روی پورت استاندارد سرور (پورت 389) ارتباط برقرار کنند و نیز به آن‌ها اجازه داده می‌شود که ارتباط‌شان با سرور از حالت Clear Text به حالت رمزنگاری شده تبدیل شود.

رمزنگاری از طریق LDAPS:

در بستر شبکه، کلاینت و سرور LDAP می‌توانند با کمک SSL/TLS اطلاعات ارسالی و دریافتی را رمزنگاری کنند. به این صورت که سرور،
Certificate خود را به کلاینت ارسال می‌کند. ضمن آنکه یک سری اطلاعات از جمله Public Key در آن قرار گرفته است. Public Key پیام را رمزنگاری می‌کند اما رمزگشایی نمی‌کند و کلید دوم که Private Key نام دارد، جهت رمزگشایی استفاده می‌شود. مجوز خواندن Private Key تنها برای سرور تعریف شده است و تحت هر شرایطی آن را تنها نزد خود حفظ می‌کند. کلاینت، پیام رمزنگاری شده به کمک سرور را برای آن ارسال و سرور جهت پاسخ‌گویی به درخواست، پیام رمزنگاری شده را رمزگشایی می‌کند.

رمزنگاری از طریق StartTLS:

در حالت پشتیبانی LDAP Server از StartTLS، اگر کلاینت در برقراری ارتباط با سرور، دستور StartTLS را اجرا کند، آنگاه سرور شروع به رمزنگاری اطلاعات با TLS نموده و تمامی اطلاعات ارسالی و دریافتی میان سرور و کلاینت رمزنگاری شده و به طور امن انتقال داده می‌شوند.

یکی از مزیت‌های آشکار StartTLS این است که سرور برای LDAP تنها بر روی یک پورت سرویس می‌دهد. این امر به کلاینت‌ها و سرور اجازه می‌دهد تا اطلاعاتی را که از اهمیت کم‌تری برخوردارند، به صورت Clear Text ارسال نماید و در مقابل اطلاعات با اهمیت بالاتر را با کمک TLS رمزنگاری کند. با این روش اطلاعات غیرضروری رمزنگاری نشده و منابع سیستم بی‌مورد جهت رمزنگاری، استفاده نمی‌شود. در نتیجه کارایی سیستم افزایش پیدا خواهد کرد.

در ادامه مراحل نصب و ایمن سازی LDAP از طریق SSL/TLS بر روی یک بستره مبتنی بر Redhat آورده شده است.

گام اول: نصب سرور و کلاینت Openldap

# yum install openldap-servers openldap-clients
# cd /etc/openldap/
# cp DB_CONFIG.example /var/lib/ldap/DB_CONFIG

گام دوم: پیکربندی سرور ldap server) SLAP)

# vim slapd.conf
suffix "dc=lpi,dc=org"
rootdn "cn=Manager,dc=lpi,dc=org"
rootpw secret

گام سوم: ایجاد مجوز SSL سرور

# cd /etc/pki/tls/certs
# make server.key
umask 77 ; \
/usr/bin/openssl genrsa -des3 1024 > server.key

Generating RSA private key, 1024 bit long modulus
......................................................++++++
.............++++++
e is 61251 (0x10001)
Enter pass phrase: # set passphrase
Verifying - Enter pass phrase: # verify

گام چهارم: حذف گذرواژه (passphrase) از کلید اختصاصی

# openssl rsa -in server.key -out server.key

گام پنجم: ایجاد درخواست ثبت پروانه

# make server.csr

گام ششم: ثبت درخواست مجوز ثبت شده

# openssl x509 -in server.csr -out server.crt
-req -signkey server.key -days 3650

گام هفتم: محدود نمودن دسترسی به فایل‌ها

# chmod 400 server.*

گام هشتم: پیکربندی سرور LDAP

# cp /etc/pki/tls/certs/server.* /etc/openldap/cacerts/
# chown ldap. /etc/openldap/cacerts/*
# vi /etc/openldap/slapd.conf

دو خط زیر را در فایل، ذخیره کنید:

TLSCertificateFile /etc/openldap/cacerts/server.crt
TLSCertificateKeyFile /etc/openldap/cacerts/server.key

گام نهم: برای اعمال تغییرات سرور LDAP را راه‌اندازی مجدد کنید

# /etc/rc.d/init.d/ldap restart

گام دهم: برای دسترسی به دامنه در سرور محلی، در فایل etc/hosts/، خط زیر را اضافه کنید

127.0.0.1 ldap.lpi.org

گام یازدهم: پیکربندی فایل کلاینت (etc/openldap/ldap.conf/)

Base dc=lpi, dc=org
URI ldap://ldap.lpi.org
TLS_CACERT /etc/openldap/cacerts/server.crt

گام دوازدهم: اکنون زمان آزمون فرایند طی شده از طریق STARTTLS است

# ldapsearch -x -D "cn=Manager,dc=lpi,dc=org" -W -ZZ

گام سیزدهم: آزمون فرایند طی شده از طریق LDAPS ( پورت 636)

# ldapsearch -x -D "cn=Manager,dc=lpi,dc=org" -W -H ldaps://ldap.lpi.org

گام چهاردهم: پایش فعالیت‌ها و پورت‌های فعال

# netstat –antp | grep slapd

گام پانزدهم: بررسی ترافیک معمولی شبکه و نمایش رمزهای کاربران

# tcpdump port ldap -i lo -X -s 1024

و اگر ارتباط، رمزشده باشد، دیگر رمزی نمایش داده نمی‌شود.

# tcpdump port ldap -i lo -X -s 1024

منبع: salam-donya

ادامه مطلب

آموزش نصب Ubuntu کنار ویندوز

آموزش نصب Ubuntu کنار ویندوز

سلام وعرض ادب امروز برای شما آموزش نصب Ubuntu کنار ویندوز قرار میدم یعنی دوسیستم عامل کنار هم برای نصب Ubuntu کنار ویندوز ابتدا cd بوت Ubuntu را درون سیستم قرار می دهیم و سپس تنظیمات BIOS را برای BOOT  بر روی CD قرار می دهیم

 

دانلود Ubuntu 17.04 Final + 16.04.2 LTS

آموزش نصب Ubuntu کنار ویندوز

 

سپس تنظیمات را save می کنیم که سیستم Restart می شود و سپس وارد مرحله نصب Ubuntu می شویم

آموزش نصب Ubuntu کنار ویندوز

 

ر این قسمت می توانیم با انتخاب گزینه TryUbuntu به صورت LIVE سیستم را راه اندازی کنیم

اما برای نصب باید گزینه Install Ubuntu  را بزنیم

آموزش نصب Ubuntu کنار ویندوز

در این قسمت اگر گزینه Download Updates while installing ubuntu را بزنید همراه با نصب، آخرین اپدیت های Ubuntu  را هم نصب می کند اما زمان بر است و می توان در صورت نبود اینترنت یا کم بودن سرعت انترنت بعدا هم این کار را انجام داد.

اما اگر گزینه دو را انتخاب کنید همراه با نصب Ubuntu کدک های پخش موزیک و ویدیو نیز دانلود و نصب می شوند  .با این که کدک ها حجم بالایی ندارند ولی باز این کار سرعت نصب را کم می کند ولی اگر اینترنت پر سرعت دارید این گزینه رو تیک بزنید ,  ولی بعدا به صورت دستی نیز می توانید کدک ها  رو نصب کنید.

آموزش نصب Ubuntu کنار ویندوز

 

در این قسمت گزینه اول را انتخاب می کنیم که کنار ویندوز مان نصب شود. البته می توان با زدن گزینه Something Else می توانیم به صورت دستی میزان هر دایرکتوری را مشخص کنیم اما با انتخاب این گزینه باید دقت کنید که به پارتیشنی که ویندوز روی آن نصب است تغییر انجام ندهید چون ممکن است ویندوز شما دچار مشکل شود و دیگر بالا نیاید اگه تازه کار هستین بهتر است که گزینه اول را انتخاب کنید

آموزش نصب Ubuntu کنار ویندوز

 

در این قسمت اگر چنت هارد روی سیستم باشد می توانید یکی از انهارا انتخاب کنید

آموزش نصب Ubuntu کنار ویندوز

در قسمت یعد Location را مشخص می کنیم

آموزش نصب Ubuntu کنار ویندوز

در قسمت آخر یوزر و پسورد برای سیستم ایجاد می کنیم تا سیستم شروع به نصب کند

آموزش نصب Ubuntu کنار ویندوز

 

با دیدن این پیغام کار تمام است  و بعد از Restart می توانید وارد سیستم Linux یا ویندوزتان شوید

آموزش نصب Ubuntu کنار ویندوز

 

 

 

 

 

 

 

 

 

ادامه مطلب

اموزش نصب تلگرام در اوبونتو

اموزش نصب تلگرام در اوبونتو

سلام وعرض ادب شما حتما با تلگرام زیاد کار کرده اید و میدانید یک پیام رسان قدرتمند هست و پر کاربرد . پیام رسان تلگرام علاوه بر نسخه‌های اندروید، آی او اس و … نسخه لینوکس خود را نیز منتشر کرده است که از راه‌های زیر قابل نصب هست.

روش اول: نصب از طریق ترمینال

ترمینال را باز کرده و دستورات زیر را وارد نمایید.

sudo add-apt-repository ppa:atareao/telegram
sudo apt-get update
sudo apt-get install telegram

 

روش دوم: دانلود فایل نصبی از سایت تلگرام

فایل نصبی تلگرام را از سایت تلگرام دانلود کنید.

سپس فایل را حالت فشرده خارج کنید و فایل telegram را اجرا کنید.

 

اموزش نصب تلگرام در اوبونتو

ادامه مطلب

آموزش ریست کردن پسورد Root در Debian

آموزش ریست کردن پسورد Root در Debian

سلام وعرض ادب خیلی وقت ها ممکنه برای همه ما این قضیه اتفاق بیفته که رمز کاربر root سیستم را فراموش کنیم، در چنین شرایطی دو راه برای ما وجود دارد. یا مجددا os را از اول نصب کنیم و یا پسورد را ریست کنیم. در این مطلب قصد داریم راه حل دوم را که راه حل ساده تری نیز می باشد یعنی نحوه ریست کردن پسورد در Debian را به شما عزیزان آموزش دهیم.

 

ابتدا وارد محیط GRUB یا همان Boot Loader لینوکس می شویم (برای وارد شدن به این محیط کافیست لحظه بوت شدن سیستم عامل دکمه Shift را نگهدارید)

آموزش ریست کردن پسورد Root در Debian

 

 

سپس برای وارد شدن به Edit Mode دکمه e را وارد کرده و با استفاده از Arrow key ها به سمت پایین حرکت کرده و در انتهای خط Kernel که همانطور که در تصویر می بینید با /boot/vmlinuz/ شروع می شود قرار گرفته و پس از زدن دکمه Space خط زیر را به آن اضافه می کنیم و Enter را می زنیم:

init=/bin/bash

 

آموزش ریست کردن پسورد Root در Debian

 

سپس دکمه  ctrl+x را وارد کرده تا سیستم reboot شود و یک خط فرمان در اختیار ما قرار می دهد.

 

آموزش ریست کردن پسورد Root در Debian

سپس دستورات زیر را به همین ترتیبی که در زیر آمده است وارد می کنیم، پس از وارد کردن دستور passwd باید پسورد جدید خود را وارد نمایید و در نهایت هم با اجرای دستور reboot سیستم را ریستارت می کنید:

# mount -o remount,rw /
# passwd
# sync
# reboot

آموزش ریست کردن پسورد Root در Debian

 

 

 

پس از بالا آمدن سیستم کافی است پسورد جدید را وارد کرده و عملیات لاگین را با موفقیت انجام دهید.

ادامه مطلب

دستورات پر کاربرد لینوکس برای کار با رزبری پای

دستورات پر کاربرد لینوکس برای کار با رزبری پای

در این مقاله سعی داریم با برخی از دستورات ساده اما پر کاربرد محیط متنی لینوکس آشنا شویم. محیط متنی لینوکس، برخلاف آنچه به نظرمی‌رسد بسیار کاربردی و انعطاف‌پذیر است. اغلب سیستم‌های کاری که سرویس‌های مهمی را به کاربران ارائه می‌دهند

بدلیل امکان کاهش کارایی، فاقد محیط گرافیکی هستند. علاوه بر آن مدیر یک سیستم مبتنی بر لینوکس اغلب مجبور است از راه دور، به تنظیم و یا رفع عیب سیستم خود بپردازد که این امر با استفاده از پروتکل‌های امن بعلاوه‌ی امکانات محیط متنی بسیار راحت انجام‌پذیر است. به همین دلایل است که اغلب برای لینوکس‌کارها هیچ کاری لذت‌بخش‌تر از کار با محیط متنی نیست!!!

اطلاعات سیستم

  • date – تاریخ و ساعت جاری را نمایش می‌دهد.
  • cal – تقویم ماه‌ها را نمایش می‌دهد.
  • uptime –  زمان روشن بودن سیستم و کاربران فعال را نشان می‌دهد.
  • – کاربران جاری که از سیستم استفاده می‌کنند را همراه با توضیحاتی درباره استفاده آن‌ها نشان می‌دهد. دستور شامل اطلاعات خروجی دستور ‌uptime نیز هست.
  • whoami – کاربر جاری که شما اکنون از طریق آن با سیستم کار می‌کنید را نمایش می‌دهد.
  • finger user – اطلاعاتی درباره کاربری user (به جای آن نام‌کاربری مورد نظر را بنویسید) در اختیار شما می‌گذارد.
  • uname – نام سیستم یونیکس شما که همان لینوکس است را نمایش می‌دهد.
  • uname -a – دستور uname همراه با سویچ a اطلاعات تکمیلی از سیستم‌عامل شما شامل نسخه کرنل لینوکس را نمایش می‌دهد.
  • cat /proc/cpuinfo – نمایش اطلاعات پردازنده (CPU).
  • cat /proc/meminfo – نمایش اطلاعات حافظه اصلی (RAM).
  • df – مقدار استفاده از دیسک‌های حافظه را نمایش می‌دهد.
  • du – مقدار فضای استفاده شده تمامی دایرکتوری ها
  • free – نمایش فضاهای خالی و استفاده شده حافظه رم و سواپ (swap)

 

دستورات فایل

  • ls – گرفتن لیست محتویات مسیر جاری شامل پوشه و فایل ها.
  • ls -l – دستور ‌ls همراه با سویچ l لیست محتویات مسیر جاری را با اطلاعات کامل نمایش می‌دهد.
  • ls -laC – مانند دستور ls -l است اما اطلاعات را به صورت ستونی نشان می‌دهد.
  • ls -F – سویچ f در دستور ls لیست محتویات را همراه با فرمت فایل‌ها نمایش می‌دهد.
  • ls -al – سویچ a در دستور ls لیست فایل‌ها را همراه با فایل‌های مخفی نشان می‌دهد. (فایل و پوشه مخفی در لینوکس یک نقطه قبل نام خود دارند)
  • cd dir – تغییر مسیر جاری به شاخه مورد نظر (بجای dir پوشه مورد نظر را وارد کنید)
  • cd – مسیر جاری را به مسیر اصلی (home) بر می‌گرداند. (مسیر اصلی برای هر کاربر متفاوت است که پوشه‌های شخصی و تنظیمات در آن‌جا قرار می‌گیرند).
  • mkdir dir – ساخت یک شاخه (به جای dir نام پوشه که می‌خواهید بسازید را بنویسید).
  • pwd – مسیر جاری را نشان می‌دهد.
  • rm name – حذف (پاک کردن) فایل یا دایرکتوری مورد نظر (به جای name نام فایل یا پوشه نوشته می‌شود).
  • rm -r dir – حذف یک دایرکتوری با محتویات درون آن (به جای dir نام پوشه را بنویسید).
  • rm -f file – اجبار کردن به حذف یک فایل برای مواقعی که فایل به دلایلی حذف نمی‌شود (نام فایل بجای file نوشته می‌شود).
  • rm -rf dir – اجبار کردن به حذف یک دایرکتوری برای مواقعی که آن به دلایلی حذف نمی‌شود (نام پوشه بجای dir نوشته می‌شود).
  • cp file1 file2 – کپی کردن فایل در مسیر دیگر (file1 نام و مسیر فایل مبدا و file2 نام و مسیر فایل مقصد است).
  • cp -r dir1 dir2 – کپی کردن پوشه در مسیر دیگر (dir1 نام و مسیر پوشه مبدا و dir2 نام و مسیر پوشه مقصد است).
  • cp file dir – کپی کردن فایل مورد نظر در مسیر دیگر با همان نام (file نام فایل و dir مسیر پوشه مقصد است).
  • mv file dir – جابجایی (مانند cut) کردن فایل مورد نظر در مسیر دیگر با همان نام (file نام فایل و dir مسیر پوشه مقصد است).
  • mv file1 file2 – جابجایی کردن فایل به مسیر دیگر (file1 نام و مسیر فایل و file2 نام و مسیر فایل در مقصد است).
  • ln -s file link – ساخت لینک سیمبولیک از فایل در مسیر مورد نظر (file نام و مسیر فایل یا پوشه و link نام و مسیر لینک است).
  • touch file – ساخت یک فایل.
  • cat > file – نوشتن متن در فایل.
  • cat file – نمایش محتویات یک فایل یا فراخوانی آن.
  • more file – نمایش محتویات فایل به صورت کم کم (برای فایل با محتویات زیاد).
  • command | more – نمایش خروجی دستور به صورت کم کم.
  • less file – نمایش محتویات فایل به صورت صفحه به صفحه (برای فایل با محتویات زیاد).
  • command | less – نمایش خروجی دستور به صورت صفحه به صفحه.
  • head file – نمایش ۱۰ خط اول محتویات یک فایل
  • head -20 file – نمایش ۲۰ خط اول محتویات یک فایل
  • tail file – نمایش ۱۰ خط آخر محتویات یک فایل
  • tail -20 file – نمایش ۲۰ خط آخر محتویات یک فایل

 

پروانه فایل

  • chmod octal file – تغییر مجوز یک فایل با استفاده از کد دسترسی
    • مجوز یک فایل سطح دسترسی یک فایل را مشخص می‌کند. سطح دسترسی می‌تواند خواندنی (عدد ۴)، نوشتنی (عدد ۲) و اجرا (عدد ۱) باشد که سطح دسترسی یک فایل با جمع کردن این اعداد بدست می‌آید. یعنی سطح دسترسی ۷ تمامی مواد را شامل می‌شود.
    • هر فایل دسترسی آن برای سه دسته کاربری روت، گروه و عمومی تعریف می‌شود که از روش عددی بالا استفاده می‌کند و این سه عدد کنار هم سطح دسترسی یک فایل را مشخص می‌کنند. مثال‌های زیر را مشاهده کنید.
  • chmod 777 file – مجوز خواندن، نوشتن و اجرا فایل را به سه دسته روت، گروه و عمومی می‌دهد.
  • chmod 755 file – مجوز خواندن، نوشتن و اجرا برای کاربری روت و مجوزهای خواندن و اجرا برای کاربران گروه و عمومی.

 

فشرده سازی

به صورت پیش‌فرض لینوکس از فشرده‌سازی با فرمت tar استفاده می‌کند که دستورات کار با آن را نیز پشتیبانی می‌کند. لینوکس از فشرده‌ساز Gzip برای کار با فایل‌های فشرده با فرمت tar.gz و gz فشرده‌ساز Bzip2 برای کار با فایل‌های فشرده با فرمت tar.bz2 استفاده می‌کند.

  • tar cf file.tar files – Create a tar named file.tar containing files
  • tar xf file.tar – استخراج محتویات فایل فشرده.
  • tar czf file.tar.gz files – ساخت فایل فشرده با فرمت ‌tar.gz از فایل‌ها توسط فشرده‌ساز Gzip.
  • tar xzf file.tar.gz – استخراج محتویات فایل فشرده با فرمت tar.gz توسط فشرده‌ساز Gzip.
  • tar czf file.gz files – ساخت فایل فشرده با فرمت ‌gz از فایل‌ها توسط فشرده‌ساز Gzip.
  • tar xzf file.gz – استخراج محتویات فایل فشرده با فرمت gz توسط فشرده‌ساز Gzip.
  • tar cjf file.tar.bz2 – ساخت فایل فشرده با فرمت ‌tar.bz2 از فایل‌ها توسط فشرده‌ساز.
  • tar xjf file.tar.bz2 – استخراج محتویات فایل فشرده با فرمت tar.bz2 توسط فشرده‌ساز Bzip2.

 

جستجو

  • grep pattern files – جستجوی عبارت در فایل مورد نظر.
  • grep pattern dir – جستجوی عبارت در فایل‌های موجود در شاخه مورد نظر.
  • grep -r pattern dir – جستجوی عبارت در فایل‌های موجود در شاخه مورد نظر به صورت بازگشتی.
  • command | grep pattern – جستجوی عبارت در خروجی دستور.
  • locate file – یافتن فایل مورد نظر ما در مسیر جاری.
  • find ‌dir -name filename – یافتن فایل مورد نظر ما در شاخه مورد نظر.
  • find ”*filename*” – جستجوی تمامی فایل‌هایی که نام آن‌ها شامل نام فایل مورد نظر ما است (در مسیر جاری).
  • updatedb – ساختن یا به‌روز رسانی دیتابیس فایل‌های سیستمی شاخه روت لینوکس.
  • locate filename – جستجوی فایل با ‌‌locate. فرض شده است که قبلا از دستور updatedb استفاده کرده‌اید.
  • which filename – نمایش شاخه بالایی فایل مورد نظر (پوشه‌ای که فایل ما در آن قرار دارد).

شبکه

  • ifconfig – نمایش لیست آی پی تمامی دستگاه‌های متصل (وایرلس، کارت شبکه، شبکه‌های وی‌پی‌ان  و …).
  • ping host – گرفتن پینگ از هاست مورن نظر.
  • whois domain – گرفتن اطلاعات دامنه (مالک دامنه، آی‌پی، دی‌ان‌اس سرور و …).
  • dig domain – دریافت اطلاعات DNS دامنه.
  • dig -x host – مشاهده میزبان به صورت معکوس.
  • wget file – دانلود یک فایل از اینترنت.
  • wget -c file – ادامه دانلود کردن یک دانلود متوقف شده.

دستور DiG :

دستور DiG جايگزيني براي nslookup در سيستم هاي يونيكسي ، لينوكسي و همچنين مكينتاش مي باشد. تفاوت اين دستور با nslookup در اين است فاقد interactive mode است.  درست مانندnslookup دستور dig  مي تواند فرم ساده اي از يافتن dns شبكه را نمايش دهد و همچنين توسط خروجي اين دستور قادر به رفع مشكلات مربوط به DNS خواهيم بود. در زير نمونه اي از خروجي اين دستور آمده است :

DiG 8.2 xyz.com;
 res options: init recurs defnam dnsrch
 got answer:
 ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
 flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0
 QUERY SECTION:
 xyz.com, type = A, class = IN ANSWER SECTION:
xyz.com.        ۷h33m IN A    ۶۳٫۲۴۰٫۹۳٫۱۵۷

 

 AUTHORITY SECTION:
xyz.com.        ۷h33m IN NS    usrxdns1.ABC.com.
xyz.com.        ۷h33m IN NS    oldtxdns2.ABC.com.

Total query time: 78 msec
FROM: localhost.localdomain to SERVER: default — 209.53.4.130
 WHEN: Sat Oct 16 20:21:24 2004
 MSG SIZE  sent: 30  rcvd: 103

همانطور كه مشاهده مي كنيد خروجي اين دستور به سه قسمت Answer Section,Authority Section, و چهار خط پاياني تقسيم شده است. قسمت پاسخ يا answer section نام دامنه و آدرس شبكه آن را نمايش مي دهد. A در اين قسمت نشاندهنده نوع ركوردي است كه نمايش داده شده است. قسمت اعتبار يا authority section نشاندهند سرورهاي DNSاي است كه در عمل resolution بر پايه آن ها انجام شده است و اين اطلاعات به ما نشان مي دهد آيا DNS هاي مجاز نشانگر دامنه ما هستند يا خير. چهارخط پاياني اين خروجي نشان مي دهد كه چقدر طول كشيده تا عمل resolve شدن دامنه انجام گيرد همچنين آدرس DNSپايه را كه در عمل resolution مورد استفاده قرار گرفته است را نشان مي دهد. ساعت و تاريخ و همچنين اندازه پاكت هاي دريافتي و ارسالي نيز در اين قسمت نمايش داده شده اند.

 

دستور Ifconfig

در سيستم هاي يونيكس ، لينوكس و مكينتاش از دستور ifconfig به جاي ipconfig بايد استفاده كنيد. براي اينكه صفحه help مربوط به اين دستور را نگاه كنيد بايد از دستور ifconfig –helpاستفاده كنيد. خروجي زير پس از استفاده تنها از دستور ifconfig حاصل شده است.

eth0      Link encap:Ethernet  HWaddr 00:60:08:17:63:A0
inet addr:192.168.1.101  Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING  MTU:1500  Metric:1
RX packets:911 errors:0 dropped:0 overruns:0 frame:0
TX packets:804 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:5 Base address:0xe400

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
UP LOOPBACK RUNNING  MTU:3924  Metric:1
RX packets:18 errors:0 dropped:0 overruns:0 frame:0
TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0

دستور ifconfig آدرس IP  ، subnet mask و default gateway را براي كارت شبكه هاي محلي و loopback نشان مي دهد اما اطلاعات مربوط به وضعيت dhcp را نمايش نمي دهد. براي اين منظور بايد از دستور ديگري به شكل “pump s” استفاده كنيد. Pump همچنين قادر است IP آدرس شبكه اي را كه با DHCP و DNS  تنظيم شده است release و renew نمايد.

 

SSH

پروتکل SSH برای ارتباط و کنترل با سیستم از راه دور استفاده می‌شود که پیش‌فرض از پورت SSH با شماره ۲۱ استفاده می‌کند. بیشتر برای کنترل سرور توسط کاربری از راه دور استفاده می‌شود.

  • ssh user@host – اتصال به میزبان مورد نظر با نام کاربری مورد نظر (بعد از آن پسورد آن نام کاربری از شما پرسیده می‌شود).
  • ssh -p port user@host – اتصال به میزبان با نام کاربری توسط شماره پورت مشخص
  • ssh-copy-id user@host – اضافه کردن کلید برای اتصال کاربر از این سیستم راه دور. (برای مواقعی که نمی‌خواهیم پسورد را در هر اتصال وارد کنیم. ارسال پسورد اصلی امنیت میزبان را به خطر می‌اندازد اما کلید ساخته شده فقط برای سیستم جاری و نام کاربری مورد نظر اعتبار دارد).

 

مدیریت کاربران

  • adduser accountname – ساخت یک کاربر جدید در سیستم لینوکس خود.
  • passwd accountname – تغییر گذرواژه (password) کاربر مورد نظر.
  • su – ورود به خط فرمان با کاربری روت (کاربر روت مجوز دسترسی به تمامی فایل‌ها و تنظیمات سیستم را دارد).
  • exit – خروج از خط فرمان با کاربر جاری.

 

شروع و پایان

  • shutdown -h now – خاموش کردن سیستم.
  • halt – توقف تمام پردازش‌ها (مانند خاموش کردن سیستم است).
  • shutdown -r 5 – راه‌اندازی مجدد (ریست کردن) سیستم در مدت ۵ دقیقه بعد.
  • shutdown -r now – ریست کردن سیستم لینوکس.
  • reboot – راه‌اندازی مجدد سیستم لینوکس (مانند دستور بالا است).

 

نصب برنامه ها

  • به صورت عادی اگر سورس برنامه در اختیار ما باشد به شاخه سورس رفته و دستورات زیر را برای نصب اعمال می‌کنیم.
    • ./configure
    • make
    • make install
  • اگر از توزیع‌های خاص لینوکس استفاده می‌کنید از دستورات زیر (یا دستورات خاص آن توزیع) برای نصب بسته نرم‌افزاری تهیه شده برای آن توزیع استفاده کنید.
    • dpkg -i pkg.deb – نصب بسته نرم افزاری دبیان – برای توزیع‌های دبیان، ابونتو، مینت و … .
    • rpm -Uvh pkg.rpm – نصب بسته نرم افزاری RPM – برای توزیع‌های ردهت، فدورا و … .

 

چاپ

  • /etc/rc.d/init.d/lpd start – شروع به کار سیستم چاپ.
  • /etc/rc.d/init.d/lpd stop – پایان دادن به سیستم چاپ.
  • /etc/rc.d/init.d/lpd status – نمایش وضعیت سیستم چاپ.
  • lpq – نمایش کارهای موجود در صف چاپ.
  • lprm – حذف کارهای موجود در صف چاپ.
  • lpr – چاپ یک فایل.
  • lpc – تنظیمات کنترلی چاپ.
  • man subject | lpr – چاپ کتاب راهنمای یک دستور به صورت متنی.
  • man -t subject | lpr – چاپ کتاب راهنمای یک دستور به صورت اسکریپتی.
  • printtool – شروع رابط نصب پرینتر مورد نظر.

 

مدیریت پردازش ها

  • ps – نمایش پردازش های فعال جاری.
  • top – نمایش تمام پردازش های در حال اجرا.
  • kill pid – از بین بردن پردازش مورد نظر با شناسه pid.
  • killall proc – از بین بردن تمام پردازش هایی با نام ‌proc. در اجرای آن احتیاط کنید.
  • bg – نمایش پردازش های متوقف شده (stop) یا مکث کرده (puse) در بخش کارهای پس‌زمینه و ادامه اجرا پردارش های مکث کرده.
  • fg – آوردن کارهای به تازگی انجام شده در بخش کارهای پیش‌زمینه.
  • <strong”>fg n – آوردن کار n در بخش کارهای پیش‌زمینه.

 

آموزش نحوه عملکرد دستورات

  • apropos subject – لیست صفحات کتابچه راهنما برای موضوع مورد نظر.
  • man -k keyword – نمایش صفحات شامل کلمه کلیدی مورد نظر.
  • man command – نمایش کتابچه راهنما برای دستور مورد نظر.
  • man -t man | ps2pdf – > man.pdf  – ساخت فایل pdf از صفحه کتابچه راهنما.
  • which command – نمایش مسیر کامل دستور مورد نظر.
  • time command – نمایش زمان طول کشیدن دستور مورد نظر.
  • whereis app – نمایش مسیر بالقوه برنامه مورد نظر.
  • which app – نمایش میسر برنامه app که به صورت پیش‌فرض اجرا می‌شود.

 

دستور Shell در لینوکس:

Shell در واقع یک مفسر دستور العمل است ، شما می توانید با وارد کردن دستورات در shell با سیستم عامل ارتباط برقرار کنید.
Shell دستورات شما را پردازش کرده و به عنوان یک دستور العمل به سیستم عامل می فرستد .
چندین نوع  shell برای سیستم عامل لینوکس نوشته شده است که می توان از Bourn Again Shell (BASH) ، Korn Shell ،TCSH Shell و Z Shell را نام برد که بصورت پیش فرض در لینوکس BASH نصب می باشد .

این شل قابلیتهای زیادی را درون خود دارد و کلیدهای میانبر زیادی پشتیبانی می کند که در زیر به آنها اشاره می کنم .

  • Tab ⇆ : تکمیل خودکار از جایی که مکان‌نما وجود دارد.
  • Ctrl+a : انتقال مکان‌نما به ابتدای خط (معادل کلید Home)
  • Ctrl+e : انتقال مکان‌نما به انتهای خط (معادل کلید End)
  • Ctrl+p : فراخوانی فرمان قبلی (معادل کلید ↑)
  • Ctrl+n : فراخوانی فرمان بعدی (معادل کلید ↓)
  • Ctrl+r : جستجوی آخرین فرمانی که دارای کارکتر(های) مشخصی باشد. زدن دوباره‌ی این کلید در هنگام جستجو، به فرمان قبلی‌تر رجوع می‌کند.
  • Ctrl+o : اجرای فرمانی که در جستجو یافته شد.
  • Ctrl+l : پاک کردن محتویات صفحه‌نمایش (معادل فرمان clear).
  • Ctrl+u : پاک کردن محتویاتی از خط که قبل از مکان‌نما وجود دارند و کپی کردن آنها درون حافظه.
  • Ctrl+k : پاک کردن محتویاتی از خط که بعد از مکان‌نما وجود دارند و کپی کردن آنها درون حافظه.
  • Ctrl+w : پاک کردن کلمه‌ی قبل از مکان‌نما و کپی کردن آن درون بریده‌دان.
  • Ctrl+y : چسباندن محتویات حافظه از جایی که مکان‌نما وجود دارد.
  • Ctrl+d : ارسال یک نشانگر EOF که باعث بسته شدن خط فرمان فعلی می‌شود (معادل دستور exit). (تنها در زمانی این اتفاق می‌افتد که متنی در خط فعلی موجود نباشد)
  • Ctrl+c : ارسال یک سیگنال از نوع SIGINT به پروسه‌ی فعلی، که باعث پایان اجرا و بسته شدن آن می‌شود.
  • Ctrl+z : ارسال یک سیگنال از نوع SIGTSTP به پروسه‌ی فعلی، به باعث به تعلیق در آمدن آن می‌شود. که برای برگشت دادن آن می‌توان از دستور fg process-name-or-job-id استفاده کرد.
  • Ctrl+x Ctrl+e : ویرایش خط فعلی در ادیتوری که توسط متغیر EDITOR$ تعریف شده است.
  • Alt+f : حرکت به جلو به اندازه‌ی یک واژه.
  • Alt+b : حرکت به عقب به اندازه‌ی یک واژه.
  • Alt+Del : برش کلمه‌ی واقع در قبل از مکان‌نما
  • Alt+d : برش کلمه‌ی واقع در بعد از مکان‌نما
  • Alt+u : تبدیل تمام حروف کوچک به بزرگ، واقع در بعد از مکان‌نما تا انتهای کلمه‌ی فعلی
  • Alt+l : تبدیل تمام حروف بزرگ به کوچک، واقع در بعد از مکان‌نما تا انتهای کلمه‌ی فعلی
  • Alt+c : تبدیل حرف واقع در زیر مکان‌نما از کوچک به بزرگ و رفتن به انتهای کلمه‌ی فعلی
  • Alt+r : انصراف تغییرات و برگرداندن محتویات خط فعلی به همان شکلی که در تاریخچه‌ی خط فرمان موجود بود.

حذف فایلهایی با نام های خاص در لینوکس

شاید برای شما نیز این موضوع پیش آمده باشد که بخواهید تمام فایلها با یک پسوند خاص را در سرور  حذف کنید . با توجه به این که دستور rm قابلیت search ندارد نمی توان از این دستور استفاده نمود.

جهت انجام این کار می توانید از دستور زیر استفاده نمایید.

 find . -name “FILE-TO-FIND”-exec rm -rf {} \;

 و یا از دستور زیر استفاده نمایید.

 find . -type f -name “FILE-TO-FIND” -exec rm -f {} \;

 تفاوت ۲ دستور بالا در این است که در دستور اول علاوه بر فایلها ،  فولدرهایی را هم  ویژگی ذکر شده در دستور را دارند حذف خواهد کرد.ولی در دستور دوم فقط فایلها حذف خواهند شد.

 مثال اول : در این دستور تمام فایل ها را در شاخه کنونی و زیر شاخه های مربوطه که با پسوند .bak هستند را حذف خواهد کرد.

 find . -type f -name “*.bak” -exec rm -f {} \;

 مثال دوم : در این دستور تمام فایل ها و فولدرهایی را که در شاخه کنونی و زیر شاخه های مربوطه با پسوند .bak هستند را حذف خواهد کرد.

 find . -name “*.bak”-exec rm -rf {} \;

 مثال سوم : در این دستور تمام فایل ها را در شاخه کنونی و زیر شاخه های مربوطه که با پسوند .bak هستند را حذف خواهد کرد. با این تفاوت که قبل از حذف از شما تاییده خواهد گرفت .

  find . -type f -name “*.bak” -exec rm -i {} \;

حذف پوشه‌های خالی در لینوکس

 برای حذف پوشه‌هایی که خالی میباشند میتوانید از یکی از دستورات زیر استفاده نمایید:

 rmdir **/*(/^F)

find . -type d -empty -delete

 $ find . -depth -type d -exec rmdir {} \; 2>/dev/null

ادامه مطلب

آموزش نصب Java در لینوکس

آموزش نصب Java در لینوکس

به طور پیشفرض تمام توزیع های لینوکس همراه با openjdk از پیش نصب شده است. اگر می خواهید اوراکل جاوا JDK/JRE را بر روی سیستم خود نصب کنید، فقط مراحل زیر را دنبال کنید. در این آموزش خواهید دید که چطور آخرین اوراکل جاوا را بر روی centos 6.5 سرور نصب و پیکربندی می شود.

گام اول: بروزرسانی سرور شما

yum install update

گام دوم: سپس جستجو برای نسخه های قدیمی نصب شده بر روی سیستم شما

rpm -qa | grep -E ‘^open[jre|jdk]|j[re|dk]’

نمونه خروجی:

 

java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686 eject-2.1.5-17.el6.i686 perl-Object-Accessor-0.34-136.el6.i686 java-1.7.0-openjdk-1.7.0.45-2.4.3.4.el6_5.i686 openjpeg-libs-1.3-10.el6_5.i686

گام سوم: چک کردن جاوا از قبل نصب شده

java -version

نمونه خروجی:

java version “1.7.0_45” OpenJDK Runtime Environment (rhel-2.4.3.4.el6_5-i386 u45-b15) OpenJDK Client VM (build 24.45-b08, mixed mode, sharing)

گام چهارم: همانطور که در خروجی بالا می بینید روی سیستم جاوا 1.6 و 1.7 نصب شده است که با دستورات زیر هر دوی آن ها را بر می داریم

yum remove java-1.6.0-openjdk yum remove java-1.7.0-openjdk

دانلود و نصب اوراکل جاوا JDK

ابتدا به صفحه رسمی دانلود جاوا رفته و آخرین نسخه آن را بسته به نوع معماری توزیع خود انتخب کنید و همان بسته مورد نیاز RPM خود را دانلود کنید. سپس به دایرکتوری که بسته JDK در آن دانلود شده است رفته و با دستورزیر آن را نصب کنید.

http://www.oracle.com/technetwork/java/javase/downloads/index.html

rpm -ivh jdk-8u5-linux-i586.rpm

نمونه خروجی:

Preparing… ########################################### [100%] 1:jdk ########################################### [100%] Unpacking JAR files… rt.jar… jsse.jar… charsets.jar… tools.jar… localedata.jar… jfxrt.jar… plugin.jar… javaws.jar… deploy.jar…

اکنون برای چک کردن نسخه JDK از دستور زیر استفاده کنید.

java -version

نمونه خروجی:

java version “1.8.0_05” Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) Client VM (build 25.5-b02, mixed mode, sharing)

همانطور که در خروجی می بینید ، جاوا 1.8 نصب شده است.

چه می شود اگر من نسخه های قدیمی JDK را از سیستم حذف کنم؟

همانطور که قبلا ذکر شد، مطمئن شوید که شماتمام نسخه های قدیمی JDK را از سیستم شما حذف شده اند. اگر شما این نسخه های قدیمی تر را از سرور خود قبل از نصب آخرین نسخه JDK را حذف کرده اید، شما باید به سیستم خود بگویید که جاوا از کجا اجرا شود. به طور پیش فرض، JDK 1.8 x در محل

/ usr/java/jdk1.8.0_05 /

نصب خواهد شد. به عبارت دیگر به سیستم می گوییم که از کجا جاوا باید اجرا شود، ما نیاز به اجرای دستورات زیر را داریم.

alternatives –install /usr/bin/java java /usr/java/jdk1.8.0_05/jre/bin/java 20000 alternatives –install /usr/bin/jar jar /usr/java/jdk1.8.0_05/bin/jar 20000 alternatives –install /usr/bin/javac javac /usr/java/jdk1.8.0_05/bin/javac 20000 alternatives –install /usr/bin/javaws javaws /usr/java/jdk1.8.0_05/jre/bin/javaws 20000 alternatives –set java /usr/java/jdk1.8.0_05/jre/bin/java alternatives –set jar /usr/java/jdk1.8.0_05/bin/jar alternatives –set javac /usr/java/jdk1.8.0_05/bin/javac alternatives –set javaws /usr/java/jdk1.8.0_05/jre/bin/javaws

چک کردن سیستم:

 

ls -lA /etc/alternatives/

نمونه خروجی:

lrwxrwxrwx. 1 root root 29 May 9 16:40 jar -> /usr/java/jdk1.8.0_05/bin/jar lrwxrwxrwx. 1 root root 34 May 9 16:39 java -> /usr/java/jdk1.8.0_05/jre/bin/java lrwxrwxrwx. 1 root root 31 May 9 16:41 javac -> /usr/java/jdk1.8.0_05/bin/javac lrwxrwxrwx. 1 root root 36 May 9 16:41 javaws -> /usr/java/jdk1.8.0_05/jre/bin/javaws

برای دیدن نسخه ی جاوای مورد استفاده از دستور زیر استفاده می کنیم

java -version

نمونه خروجی:

java version “1.8.0_05” Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) Client VM (build 25.5-b02, mixed mode, sharing)

ادامه مطلب

آموزش نصب و راه اندازی SQL Server در لینوکس

 

آموزش جامع نصب SQL Server در لینوکس به همراه تست و راه اندازی :امروز یکی از دوستان سوالی در مورد نصب SQL بر روی لینوکس پرسیده بودن که بنده دیدم بهتره به جای سوال این موضوع در قالب مقاله ای مطرح کنم تا هم پاسخ ایشون داده بشه و هم اینکه دیگران هم در صورت نیاز از مطلب بهره ببرند اوایل سال 2016 بود که به نظرم مایکروسافت اعلام کرد کاربرانلینوکس هم از SQL استفاده کنن ولی فعلا برای همه نسخه های لینوکس این امکان وجود نداره و صرفا برای پلتفرم های زیر بصورت رسمی ارائه شده

خوب حالا در این مقاله مرحله به مرحله پیش میریم تا نحوه نصب SQL بر روی اوبونتو و ردهت رو باهم یاد بگیریم

این مطلب هم میتواند برای شما مفید باشد   جستجوی بهینه در بانک های اطلاعاتی : سوئیچ های کاربردی Query برای مقایسه و جستجوی بهینه در بانک های اطلاعاتی

نصب SQL بر روی اوبونتو 
برای شروع کار در اوبونتو ابتدا باید کلید پی جی پی رو وارد کنیم

مقادیر و اطلاعات مورد نیاز را از طریق دستور زیر در فایلی که در مسیر /etc/apt/sources.list.d/sql-server.list قرار دارد وارد میکنیم

فایل ها و ابزارها را بروزرسانی میکنیم

اسکریپت کانفیک رو اجرا میکنیم برای نصب


زمانیکه در حین استفاده از MS SQL Tools از شما برای تایید قبول شرایط سوالی پرسیده شود گزینه بلی را انتخاب کنید

این مطلب هم میتواند برای شما مفید باشد   Hot plug و hot swap درسخت افزار چیست

نصب SQL بر روی ردهت لینوکس
ابتدا اطلاعات زیر را در فایلی که در مسیر /etc/yum.repos.d/sql-server.repo قرار گرفته اضافه کنید

سپس در مسیر/etc/yum.repos.d/msprod.repo  فایل مورد نظر را ایجاد کنید و اطلاعات زیر را در آن وارد نمایید

و در پایان از طریق دستور زیر اقدام به نصب نمایید بعد از تکمیل نصب از مسیر /opt/mssql/bin/sqlservr-setup میتوانید فایل کانفیگ را اجرا و پسورد و دیگر اطلاعات را ست نمایید و اینکه تعیین کنید SQL در هر بوت سیستم اتوماتیک اجرا شود

نکته مهم در صورتیکه میخواهید کاربران از بیرون نیز بتوانند به بانک های شما وصل شوند بایستی پورت 1433/tcp را در فایروال باز کنید که این کار از دو طریق مقدور است
روش بازکردن پورت در فایروال

روش استفاده از آی پی تیبل

خوب حالا نصب تمام شده و میرویم برای تست اولیه ابتدا توسط دستورات زیر وارد SQL شدهو دیتابیسی با نام علی قلعه بان ایجاد می نماییم

سپس از طریق یک کلاینت دیگر با استفاده یوزر و پسوردی که برای SQL ست کرده ایم و ای پی سیستم مورد نظر اتصال برقرار میکنیم و در لیست بانک ها میتوانید بانک ساخته شده را نیز مشاهده نمایید

این مطلب هم میتواند برای شما مفید باشد   CSMA چیست ؟

 

این مطلب هم میتواند برای شما مفید باشد   مقایسه ای بر الگوریتم های فشرده سازی داده
ادامه مطلب

نصب CentOS 7 بر روی VMware با استفاده از open-vm-tools

Linux CentOS 7 install on VMware vSphere with open-vm-tools

 

This article covers the main steps for a Linux CentOS 7 install in a VMware vSphere environment together with the open-vm-tools. Same virtual machine will also be used for a PostgreSQL and pgAdmin deployment. The purpose is to create a sandbox environment and learn how to deploy and protect this popular database server and operating system as well.

The idea is to provide protection by leveraging the Veeam Agent for Linux and also create additional rules for custom SureBackup jobs. More articles and configurations specific to Linux CentOS will follow. The idea is to reproduce in a homelab possible enterprise scenarios with the intent to test and tweak the production environments when ready.

The overall Linux CentOS 7 install process is very easy and straight forward. For this purpose a VM with a single disk will be used which is enough for the initial OS installation and software updates and the latest versions of PostgreSQL 11 and pgAdmin 4. Pleasantly surprised about the speed of the installation, the look and feel and the overall experience seems to have improved a lot and the desktop GUI is very responsive. Actually Linux CentOS 7 VM is running with just 2 CPUs and 4 GB RAM Memory. Never seen the VM using more than 800 MB of RAM which it makes a good candidate for additional applications as well. First ones will be PostgreSQL, pgAdmin, Apache and more.

All the required binaries for the installation are included in “DVD ISO“. There is also an “Everything ISO” which also includes all the sources for the binaries. and it is also a lot bigger. Almost twice the size of the DVD ISO. The first one is sufficient to complete the Linux CentOS 7 install with a full desktop environment along with the most popular applications. Should more or new packages be required it is possible to automatically install them using “Yum” an excellent package manager included in the main install.

 

Linux CentOS 7 install on VMware

From the vSphere Client let’s create a new virtual machine to start with the Linux CentOS 7 install.

domalab.com Linux CentOS 7 install create a new machine

Let’s provide a virtual machine name and the folder location.

domalab.com Linux CentOS 7 install vm name and folder

At this point in the wizard let’s specify the VMware vSphere Host associated to the VM.

domalab.com Linux CentOS 7 install vmware compute resource

In the storage selection we can choose between available datastores.

domalab.com Linux CentOS 7 install vmware select storage

At this point the wizard shows the available “virtual hardware templates” for compatibility purposes. Unless there are earlier versions of the vSphere Hosts this VM should work with, the latest version is always better.

domalab.com Linux CentOS 7 install vmware select compatibility

In this step it is possible to choose the desired template for the Linux CentOS 7 install. In this case the 64-bit version.

domalab.com Linux CentOS 7 install vmware selcet guest OS

For the virtual hardware the following settings provide very good performances:

  • 2 CPU
  • 4 GB RAM
  • 40 GB Disk

As per screenshot in the wizard the CD drive is configured to point directly to the CentOS installation ISO file. For the network optionally a Port Group which provides access to a DHCP would be great. In reality during the installation it is possible to configure manual and DHCP network settings.

domalab.com Linux CentOS 7 install vmware customize hardware

And finally a quick summary from the wizard showing the main details before committing.

domalab.com Linux CentOS 7 install vmware wizard

Everything is ready to start the with the Linux CentOS 7 install. From the boot menu the options to install, test the media before proceeding with the deployment and also the troubleshooting section. Eventually the ability to start the install with parameters specific to the hardware used. In the case of a VM the virtual hardware is fully identified and installed with the proper built-in drivers.

domalab.com Linux CentOS 7 install vmware remote console

In the welcome screen we can select the desired language. This choice also gives/changes the desired keyboard layout. The text box is useful to test special characters for strong passwords.

domalab.com Linux CentOS 7 install welcome screen

At this point it is just matter of choosing the specific configurations for each section. The incomplete ones are highlighted with an orange icon.

domalab.com Linux CentOS 7 install settings

In the case of the “installation destination” the wizard offers a default partitioning scheme suitable for the large majority of installations and based on detected hardware. Eventually it is allowed to create a custom partition layout. Useful for Server Applications requiring specific configurations.

domalab.com Linux CentOS 7 install drive partition

Next is the network configuration. In this case my preference is to configure a manual IP address having the FQDN already setup for this server.

domalab.com Linux CentOS 7 install network configuration

There are plenty of settings organised in pertinent tabs. From IPv4 let’s select Manual and provide the IP addresses.

domalab.com Linux CentOS 7 install network

Once ready and verified the network settings, let’s click on “Done” and continue.

domalab.com Linux CentOS 7 install network review

For this install a full desktop experience is used with GNOME Desktop and in addition a set of commonly used applications. Other ones can be easily installed using the built-in Software Manager.

domalab.com Linux CentOS 7 install software selection

At this point everything is ready to begin the Linux CentOS 7 install.

domalab.com Linux CentOS 7 install begin

During the initial copy and install of the binaries the wizard prompts for the creation of a root password and a non-admin account.

domalab.com Linux CentOS 7 install root password

The creation of a simple user with no admin permissions is a great idea from a security perspective.

domalab.com Linux CentOS 7 install user creation

A few minutes later the installation phase is completed. A reboot is required at this point.

domalab.com Linux CentOS 7 install completed

On the first boot the wizard shows an initial setup page to accept the licensing (still free!). With an automated install this step can be omitted. Since the network is connected we can proceed to the next step.

domalab.com Linux CentOS 7 install license information

Let’s accept the license and continue.

domalab.com Linux CentOS 7 install licensing

We can now finish the configuration.

domalab.com Linux CentOS 7 install finish configuration

In the getting started just a few questions about social profiles and locations.

domalab.com Linux CentOS 7 install Gnome welcome

The Linux CentOS 7 is now ready. Next steps include installing open-vm-tools and run all the OS updates.

domalab.com Linux CentOS 7 install desktop

Right click on Desktop to open the “Terminal” and issue a “su” command to impersonate the root account providing the password at the installation time.

domalab.com Linux CentOS 7 install su root

Using “yum” package manager let’s install the open-vm-tools with:

“yum install open-vm-tools”

Yum will automatically search and check the dependencies in the built-in repositories.

domalab.com Linux CentOS 7 install yum open-vm-tools

Let’s click on “y” to the question and yum will proceed with installation. Job done. Open-vm-tools are installed and running!

domalab.com Linux CentOS 7 install open-vm-tools complete

Next from Applications > Software Update the option to check for all updates for the installed packages part of the default install. At the time of writing a bit more than 200. Thing is they are very small and do not take long to download and install.

domalab.com Linux CentOS 7 install browse software updates

A few minutes later the Linux CentOS 7 install is up and running with the latest version.

domalab.com Linux CentOS 7 install all updates

Next article will cover the installation of PostgreSQL and pgAdmin on Linux CentOS 7.

ادامه مطلب

نصب PostgreSQL و pgAdmin در لینوکس CentOS 7

Install PostgreSQL and pgAdmin on Linux CentOS 7

 

PostgreSQL is one of the most powerful and popular open source databases that built its reputation on architecture, features and the ability pretty much to run on a wide range of operating systems. The same VMware VCSA uses PostgreSQL as the embedded database option for the vCenter appliance. The purpose of this article is to show the simple steps on how to install PostgreSQL on a Linux CentOS 7 virtual machine running on VMware vSphere. Complementary to the PostgreSQL deployment also the pgAdmin install. A powerful tool that provides full management capabilities for all PostgreSQL aspects. From Database Server level to the manipulation of all database objects. Also in this case pgAdmin is available for multiple platforms.

This article shows the process to install PostgreSQL using the command line. Whereas the pgAdmin tool will be installed using the built-in Software Manager in the GNOME Desktop. The configuration for both applications will use the command line or bash shell. A third application that will be installed and configured is Apache or httpd daemon. This one will serve the pgAdmin install and provides a web based GUI to graphically manage the PostgreSQL Server.

The idea to install PostgreSQL on Linux CentOS 7 goes together with option to explore the configurations on how to protect both the server environment and also the PostgreSQL application with its databases. Separate articles will be dedicated on how to provide protection including a file and crash consistent backup. The scenario visits the ability to include the PostgreSQL Server into a Veeam Protection Group. Effectively the protection is operated by the Veeam Agent for Linux working in “Managed Mode”. Typically, this scenario is used for both Physical Servers and Cloud Instances. In this case the homelab offers both scenarios: protecting the Linux CentOS VM within the Hypervisor or simply installing the Veeam Agent. A dedicated article will show both.

 

How to install PostgreSQL on Linux CentOS 7

For this first part to install PostgreSQL Database Server a quick and easy way is to use the excellent Package Manager from the command line. First thing to make things even easier (and run the majority of commands without logging into root account) is to edit the “sudoers” file. Essentially this file controls who and what admin commands can be run from the user context. Its not required but recommended for security reasons and also because future installs might benefit from same configuration. In a nutshell let’s open a Terminal session and issue the “su” command and provide the root password.

At this point let’s run the command

“visudo”

This special command is authorized to make changes to the sudoers file. All we need to do is to add a line for the intended user similar to the one on the screenshot:

“yourUser ALL=(ALL)   ALL”

This is the “vi” editor:

  • i=enters INSERT mode
  • ESC=exit current mode
  • :=specify command
  • :w=write changes
  • :q=exit vi

Should this not be easy or intuitive to use, let;s not make any change and carry on with the rest of the process to install PostgreSQL with a root account.

domalab.com install postgreSQL pgAdmin CentOS 7 sudoers

Since the install will be done via the network and the Package repositories it’s a good idea to update the Package Manager itself. The operation is very quick. A few seconds.

“sudo yum update -y”

domalab.com install postgreSQL pgAdmin CentOS 7 yum update

Next step is to add the internet Linux CentOS repositories for the RPMs with the latest version to install PostgreSQL. To install the x86_64 version of 11.x release the command is:

“yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm”

domalab.com install postgreSQL pgAdmin CentOS 7 yum rpm repo

Next step is to install PostgreSQL Client, Server and additional packages for dependencies in the Contrib package:

“yum install postgresql11 postgresql11-server postgresql11-contrib”

domalab.com install postgreSQL pgAdmin CentOS 7 packages

Now that the necessary packages are installed it is possible to initialize the database, add the PostgreSQL database server to the list of automatic services to start at boot and start the service.

  • Initialize database
    • “/usr/pgsql-11/bin/postgresql-11-setup initdb”
  • Add PostgreSQL service to boot
    • systemctl enable postgresql-11
  • Start PostgreSQL service
    • “systemctl start postgresql-11”

domalab.com install postgreSQL pgAdmin CentOS 7 service enable

By default, Linux CentOS 7 runs both a firewall and SELinux configuration. Unless these are disabled the following ports need to be open and accept inbound connections. Network Port 5432 is used by default from PostgreSQL to listen incoming requests. of course this can be changed if required. Port 80 will be used by default from Apache (which will be installed later on). As an extra I’m adding Network Port 5500 to connect to this Linux CentOS 7 Server using a remote desktop.

The command to add the desired ports is:

  • “sudo firewall-cmd –permanent –add-port=5432/tcp”
  • “sudo firewall-cmd –permanent –add-port=80/tcp”
  • “sudo firewall-cmd –permanent –add-port=5500/tcp”

domalab.com install postgreSQL pgAdmin CentOS 7 firewall add

At this point the step to install PostgreSQL server are completed. To test the deployment it is possible to use the internal “psql” command utility to operate the server. By default, a Database user is created with username and password “postgres”. Ideally we can start changing the password for this user. From a Terminal session let’s run:

“sudo su – postgres”

this will output the bash prompt. Let’s enter “psql” to start the utility. This shows the PostgreSQL version installed (11.1) and the help command.

From here let’s run:

“sudo -u postgres psql postgres”

default password is postgres

“\password postgres”

At this point let’s enter a new password and confirm this again.

domalab.com install postgreSQL pgAdmin CentOS 7 password

Within the psql context it is possible to run many commands to create, delete users, databases and a lot more. A command like:

“SELECT version ();”

shows the current version installed.

“SHOW config_file;”

shows the actual configuration

“\l”

shows a list of databases.

domalab.com install postgreSQL pgAdmin CentOS 7 psql

Now that the Server Database is installed it’s  a matter to run the configuration for first use. First thing is to change how the passwords are sent to authenticate to the database. This can be changed to use the md5. To change this we can issue the command:

“nano /var/lib/pgsql/11/data/pg_hba.conf”

domalab.com install postgreSQL pgAdmin CentOS 7 configuration

In the method column all the peer and ident can be changed to md5.

domalab.com install postgreSQL pgAdmin CentOS 7 md5

the result should be something similar to this.

domalab.com install postgreSQL pgAdmin CentOS 7 md5 authentication

To make changes effective it is necessary to restart the PostgreSQL service:

“systemctl restart postgresql-11.service”

domalab.com install postgreSQL pgAdmin CentOS 7 restart service

Next options to change are the allowed connections and the listening port. By default PostgreSQL accepts only local connections and it is using Network Port 5432. With the following command it is possible to change these parameters:

“nano /var/lib/pgsql/11/data/postgresql.conf”

domalab.com install postgreSQL pgAdmin CentOS 7 config

The listening addresses and port show localhost and 5432.

domalab.com install postgreSQL pgAdmin CentOS 7 listening port

These can be changed to something similar to this. Also, these lines should be commented out to make this change effective.

domalab.com install postgreSQL pgAdmin CentOS 7 port config

Again time to restart the PostgreSQL service.

domalab.com install postgreSQL pgAdmin CentOS 7 restart service

All the initial configurations from the PostgreSQL server side are competed. Next steps include the installation of httpd and pgAdmin. The latter is located on the epel-release Package repository. Similarly, to what has been done before it’s a matter to the software repo from where to download and install the desired packages:

“sudo yum install epel-release -y”

followed by

“sudo yum install httpd -y”

pgAdmin will be actually installed using the graphical Software Manager.

domalab.com install postgreSQL pgAdmin CentOS 7 epel repo

 

 

Adding pgAdmin to the install of PostgreSQL on Linux CentOS 7

Now everything is ready to install pgAdmin and manage the PostgreSQL Database Server. From the Software Manager let’s look for “pgadmin4” and select to install the first one as per screenshot below.

domalab.com install postgreSQL pgAdmin CentOS 7 install

Let’s provide the root password to continue.

domalab.com install postgreSQL pgAdmin CentOS 7 root password

Now pgAdmin requires a bit of configuration together with Apache httpd daemon. From this perspective the first step is to add the location paths where pgAdmin will operate the internal db, logs and storage.

“nano /usr/lib/python2.7/site-packages/pgadmin4-web/config_distro.py”

domalab.com install postgreSQL pgAdmin CentOS 7 config

Using the editor lets add the following lines. Let’s pay attention to the current locations:

  • LOG_FILE = ‘/var/log/pgadmin4/pgadmin4.log’
  • SQLITE_PATH = ‘/var/lib/pgadmin4/pgadmin4.db’
  • SESSION_DB_PATH = ‘/var/lib/pgadmin4/sessions’
  • STORAGE_DIR = ‘/var/lib/pgadmin4/storage’

domalab.com install postgreSQL pgAdmin CentOS 7 config path

After making sure the locations are correct next step is to create and initialize the pgAdmin internal database:

“python /usr/lib/python2.7/site-packages/pgadmin4-web/setup.py”

domalab.com install postgreSQL pgAdmin CentOS 7 database initialisation

As a requirement it is a good idea to make sure the Apache user and Group have the ownership to the pgAdmin locations:

  • chown -R apache:apache /var/lib/pgadmin4
  • chown -R apache:apache /var/log/pgadmin4

In addition, if the SELinux is running (it is configured by default in Linux CentOS 7) the following is required:

  • chcon -R -t httpd_sys_content_rw_t “/var/log/pgadmin4/”
  • chcon -R -t httpd_sys_content_rw_t “/var/lib/pgadmin4/”

domalab.com install postgreSQL pgAdmin CentOS 7 chown chcon

This step provides the information to create the Apache virtual directory which will host the pgAdmin site.

“nano /etc/httpd/conf.d/pgadmin4.conf”

with the following configuration

ServerName YourFQDNName

  WSGIDaemonProcess pgadmin processes=1 threads=25

  WSGIScriptAlias / /usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi

  <directory “=”” usr=”” lib=”” python2.7=”” site-packages=”” pgadmin4-web=””>

        WSGIProcessGroup pgadmin

        WSGIApplicationGroup %{GLOBAL}

        Require all granted

 

domalab.com install postgreSQL pgAdmin CentOS 7 pgadmin conf

Apache server provides the capability to test the configuration for any syntax error:

“apachectl configtest”

If working ok it is now time to restart the Apache web server with:

“systemctl restart httpd”

domalab.com install postgreSQL pgAdmin CentOS 7 apache restart

Since SELinux is enabled by default an extra command line isrequired to allow pgAdmin to connect to PostgreSQL:

setsebool -P httpd_can_network_connect 1

 

Finally it is a matter of adding the rules for the firewall and restart the firewall service as root:

“firewall-cmd –permanent –add-service=http”

and

“firewall-cmd –reload”

domalab.com install postgreSQL pgAdmin CentOS 7 apache firewall

It’s now time to test the pgAdmin connection to the PostgreSQL Database Server. From any web browser let’s point to the host where the Apache web server is running. Simply the hostname or hostname is sufficient. If everything is working this should output something simlar to this where to enter the default user postgres and the chosen password.

domalab.com install postgreSQL pgAdmin CentOS 7 login

Success! pgAdmin can now manage the install PostgreSQL from any location using a web browser.

domalab.com install postgreSQL pgAdmin CentOS 7 GUI

ادامه مطلب