مرحله اول با SSH به لینوکس وصل شوید. برای اینکار نرم افزار PuTTy را اجرا کنید. آیپی 192.168.1.19 و پورت 22 را وارد کنید. Connection type رو روی SSH بگذارید. روی Open کلیک کنید.
مرحله دوم
نام کاربری root و پسورد خود را وارد کنید.
2.jpgمرحله سوم
در این مرحله باید یک سری پکیج را نصب کنیم. پکیج هایی که باید نصب شوند را در زیر می بینید.
httpd
postgresql
postgresql-server
postgresql-python
php
perl
nano
wget
حال دستور زیر را وارد میکنیم
yum install -y httpd postgresql postgresql-server postgresql-python php perl nano wget
httpd که همان آپاچی است. postgresql که همان سیستم مدیریت پایگاه داده یا sql است. php و perl هم که زبان های برنامه نویسی هستند. nano که یک ویرایشگر است. wget که مدیریت دانلود را انجام می دهد.
کدی که شما در PuTTy وارد می کنید، کد آخر است. با yum که وظیفه مدیریت و نصب پکیج ها را دارد پکیج های بالا را نصب می کنیم. شما می توانید پکیج ها را جداگانه هم نصب کنید. اگر از دستور yum install –y Package استفاده کنید آنگاه Package بدون هیچگونه سوالی در حین نصب، نصب خواهد شد. برای اطلاعات بیشتر از دستور yum –help استفاده کنید.
کد yum install -y httpd postgresql postgresql-server postgresql-python php perl nano wget را در PuTTy وارد کنید.
این کار بسته به سرعت اینترنت، چند دقیقه ای طول می کشد.
3.jpg4.jpg
5.jpg
مرحله چهارم در این مرحله selinux را غیرفعال می کنم. کد های زیر را وارد کنید
cd /etc/selinux
ls -l
vi config
در خط اول وارد دایرکتوری selinux می شویم. در خط دوم فایل موجود در دایرکتوری را مشاهده می کنیم. در خط سوم فایل config را با ویرایشگر vi باز می کنم.
6.jpg
کلید Insert را فشار دهید. مقدار SELINUX را به disabled تغییر دهید. Esc را فشار دهید. دستور :wq را وارد کنید تا تغییرات ذخیره شوند.
7.jpg
برای احتیاط کاری بیشتر دستور setenforce 0 را وارد کنید.
8.jpgاگر selinux را disabled نکنید بعد از پایان مراحل با وجود اینکه در مرورگر یوزر و پسورد درستی را در فیلد های ورود IBSng وارد می کنید، ولی با پیغام خطای internal error, can not connect to IBS Core روبرو می شوید. پس حتما آن را disabled کنید.
مرحله پنجم
در این مرحله فایل IBSng-A1.24.tar.bz2 را با دستور wget دانلود می کنم.
با استفاده از دستور tar فایل را در مسیر usr/local باز و Extract کردم. عملیات Extract کردن چند ثانیه طول می کشد.
رای مشاهده فایل های Extract شده کد های زیر را وارد کنید.
cd /usr/local
ls -l
در اینجا فولدر IBSng را می توانید ببینید.
مرحله هفتم
در این مرحله postgresql را start می کنم. postgresql همان سیستم مدیریت پایگاه داده است. برای اینکار کد های زیر را وارد کنید. با وارد کردن دستور اول برای start با خطایی روبرو می شویم. این خطا هشدار می دهد که هنوز اولین پایگاه داده ایجاد نشده است. در دستور خط دوم پایگاه داده اول مقدار دهی می شود. سپس دستور خط اول را دوباره اجرا کنید تا پایگاه داده یا دیتابیس یا postgresql شروع به کار کند.
service postgresql start
service postgresql initdb
service postgresql start
12.jpg مرحله هشتم
در این مرحله برای IBSng، تنظیمات دیتابیس را انجام می دهم. برای اینکار کد های زیر را وارد کنید.
با دستور cd وارد دایرکتوری شوید.
14.jpgبا دستور nano فایل pg_hba.conf را ویرایش کنید. ابتدای اولین ردیف یک Enter بزنید. کد آخر را در بالای کد ها وارد کنید. سپس کلید ترکیبی Ctrl+X را بزنید. درجواب سوال y را بزنید. سپس Enter کنید تا تغییرات ذخیره شوند.
15.jpg
برای ایجاد یوزر و دیتابیس کد های زیر را وارد کنید.
su - postgres
createdb IBSng
createuser ibs
createlang plpgsql IBSng
logout OR exit
دستور خط اول را وارد کنید. با دستور createdb دیتابیس را با نام IBSng می سازید. با دستور createuser یک یوزر برای دیتابیس ساخته شده ایجاد می کنید. دستور بعدی هم createlang است که آن هم را وارد کردم. در پایان برای خروج از exit یا logout استفاده کنید.
16.jpgدر پایان این مرحله با دستور زیر، postgresql را ریستارت کنید.
service postgresql restart
21.jpg
ر این مرحله فایل های IBSng را نصب می کنم. برای این کار از کد زیر ا
ستفاده کنید.
/usr/local/IBSng/scripts/setup.py18.jpg
را تایپ کنید. توجه کنید با تایپ هر عدد در مرحله بعد پیامی برای شما نمایش داده می شود. به این پیام ها دقت کنید. (شکل زیر)
19.jpg
به همین ترتیب اعداد زیر را وارد کنید
1
2
2
1
enter pass admin
1
2
5
1
3
1
2
b
x
1
1 Install
2 Test DB Connection and Continue
2 Compile Configuration and Continue
1 Import Tables and Continueb
Enter System password
1 Copy ibs.conf to '/etc/httpd/conf.d'
2 Chown apache directories to 'apache'
5 Countinue
1 Copy Redhat init file to /etc/init.d
3
1
2 Set IBSng to start on reboot
b Back to main menu
x Exit
در این مرحله فایروال لینوکس را پیکربندی می کنم. این کار را با دستورات iptables انجام می دهم. برای کانفیگ فایروال لینوکس جهت نرم افزار IBSng دو راه وجود دارد.
- غیر فعال کردن فایروال لینوکس CentOS. با اینکار سطح امنیتی لینوکس پایین می آید. در آموزش های زیادی که دیدم فایروال رو غیرفعال می کردند.
- باز کردن پورت های مربوط به IBSng که این کار توصیه می شود.
غیر فعال کردن فایروال برای این کار دستور زیر را وارد کنید.
service iptables stop
با غیر فعال کردن Firewall سطح امنیتی لینوکس پایین می آید.
پیکربندی فایروال لینوکس با باز کردن پورت IBSng روی لینوکس
. مرحله اول از پیکربندی فایروال را با کد های زیر آغاز می کنم.
sysctl -p
echo 1 /proc/sys/net/ipv4/ip_forward
در خط اول با دستور sysctl –p یک سری از پارامتر های هسته کرنل لینوکس را می بینیم
34.jpg
در اینجا مقدار پارامتر net.ipv4.ip_forward = 0 است. 0 شدن آن یعنی اینکه بسته هایی که به کارت شبکه ارسال می شوند، از بین رفته و به مقصد Forward نمی شوند. پس باید مقدار آن به 1 تغییر کند. برای این کار از دستور خط دوم استفاده کنید.
- در خط دوم مقدار پارامتر ip_forward به 1 تغییر می کند. برای Forward کردن بسته های ارسال شده به کارت های شبکه دیگر در لینوکس باید مقدار این پارامتر برابر 1 شود. یک مشکل وجود دارد این است که این تنظیم موقتی خواهد بود. با ریستارت شدن لینوکس از بین می رود.
برای رفع این مشکل کد زیر را وارد کنید.
nano /etc/sysctl.conf
با دستور بالا فایل sysctl.conf در ویرایشگر nano باز می شود. پارامتر
ip_forward را پیدا کنید و مقدار 0 را به 1 تغییر می دهید. سپس Ctrl+X را
بگیرید. y را تایپ کنید. Enter را فشار دهید.35.jpg
پورت های IBSng ، پورت 1812 و 1813 می باشند. لازم است بدانید در حالت معمول نیازی به تغییری در فایروال نداریم. اما اگر در مواقعی نیاز شد که دو پورت IBSng باز شوند کد های زیر را وارد کنید.
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 1812 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 1813 -j ACCEPT
service iptables save
گر شما از سرور PPTP برای اتصال به IBSng استفاده می کنید باز کردن پورت
1723 و نوشتن Rule های زیر الزامی است ولی در حالت معمول نصب IBSng به این
کدها نیازی نیست.iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A INPUT -i eth0 -p tcp –dport 1723 -j ACCEPT
iptables -A INPUT -i eth0 -p gre -j ACCEPT
iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp+ -j ACCEPT
iptables -t filter -I FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1300:8000 -j TCPMSS --set-mss 1300service iptables save
- در خط اول دستور iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE را وارد کنید.
t nat- برای ترجمه آدرس استفاده می شود. t- مخفف table— است. A- مخفف append یا add است. POSTROUTING برای تغییر آدرس مبدا به کار می رود. o- مخفف out –interface— است. eth0 هم خود اینترفیس خروجی لینوکس است. j MASQUERADE- یک rule یا قانون برای chain یا زنجیر POSTROUTING است.
با این دستور تمامی بسته های فرستاده شده از سرویس های داخل لینوکس به اینترفیس eth0، به آیپی 192.168.1.19 تغییر آیپی می دهند. یعنی آیپی سرویس های مبدا به این آیپی ترجمه می شوند.
- در خط دوم دستور iptables -A INPUT -i eth0 -p tcp –dport 1723 -j ACCEPT را وارد کنید.
از زنجیر INPUT برای *****ینگ بسته هایی که داخل لینوکس می شوند استفاده می شود. i eth0- مخفف in –interface— است. eth0 هم که اینترفیس خروجی است. p tcp- هم مخفف پروتکل tcp است. dport- هم پورت مقصد را مشخص می کند. j ACCEPT- هم یک rul یا قانون است.
- در خط سوم دستور iptables -A INPUT -i eth0 -p gre -j ACCEPT را وارد کنید.
در این دستور اگر بسته ای از خارج به سمت اینترفیس eth0 لینوکس برود و از پروتکل gre که یک پروتکل امنیتی ppp است، تبعیت کند، با rule یا قانون ACCEPT اجازه ورود پیدا می کند.
- در خط چهارم دستور iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT را وارد کنید.
- در خط پنجم دستور iptables -A FORWARD -i eth0 -o ppp+ -j ACCEPT را وارد کنید.
از این دو دستور برای Forward بسته های ppp استفاده می شود. آدرس های مبدا و مقصد eth0 و سرویس ppp است. از FORWARD برای ارسال بسته ها بین کارت های شبکه استفاده می شود.
- در خط ششم در جدول filter تنظیماتی برای Forward شدن بسته ها اعمال می شود. به علت طولانی بودن این کد آن را در دو خط نوشتم.
- در خط آخر دستور service iptables save را برای ذخیره کردن دستور های بالا وارد کنید.
در شکل زیر روش وارد کردن کد ها را می بینید.
2_3.jpgاگر دستور خط ششم را بدرستی وارد نکنید، یوزر هایی که به سرور وصل می شوند، می توانند به سرور وبسایت پینگ داشته باشند ولی نمی توانند آن وب سایت را باز کنند.
اگر در فایل iptables کدهایی بودند که packet ها رو reject می کنند اون ها رو پاک کنید. مثلا در شکل زیر کدی هست که packet ها رو reject می کند. این هایی که به Reject ختم می شوند رو پاک کنید.
به دلیل مشکل در فایل پیوست
ادامه اموزش در پست بعدی |
- - - Updated - - -
اگر می خواهید تنظیمات انجام شده را ببینید و از صحت کار خود مطمئن شوید از کد زیر استفاده کنید.