مسدودسازی IP های حمله کننده به MySQL, MSSQL, RDP

مسدودسازی IP های حمله کننده به MySQL ,MSSQL ,RDP

758views

یکی دیگر از مواردی که قصد داریم در زاگریو به آن بپردازیم، مسدودسازی IP های حمله کننده به MySQL ،MSSQ ،RDP، است. تا مدیریت سرور شما، توسط این آی‌پی‌ها دیگر مورد حمله قرار نگیریند و امنیت سرور شما، همیشه برقرار باشد.

مسدودسازی IP های حمله کننده به MySQL, MSSQL, RDP ️

اگر سرویس‌هایی بر روی سرور خود دارید، که باید از بیرون از سازمان شما به آن منابع دسترسی پیدا کرد، ممکن است شما نیز قربانی حملات بی‌پایان و تلاش‌های هکرها برای Brute Force باشید، راه حل این موضوع مسدودسازی IP های حمله کننده به MySQL, MSSQL, RDP.

سرویس‌هایی نظیر RDP ،MYSQL ،MSSQL از امثال این سرویس‌ها هستند و مسدودسازی IP های حمله کننده تنها راه است.

حملات صورت گرفته علاوه بر مصرف میزان پهنای باند شما و کند کردن سرعت اتصال، منابع بسیاری از پردازنده و حافظه را نیز هدر می‌دهند، از طرفی داشتن رمز عبورهای ضعیف خصوصا در محیط‌های اشتراکی، باعث نفوذ هکرها به سیستم شده و مشکلات فراوانی را برای شما پدید می‌آورد.

مسدودسازی IP

در این آموزش سعی داریم تا با استفاده از پاورشل، لاک‌های درج شده در Event Log را استخراج و پس از جدا کردن قسمت‌های آدرس IP که برای فرض مثال بیش از ۳ بار خطای ورود ناموفق داشته‌اند یک Rule با شرط Block در سیستم فایروال ویندوز ایجاد کنیم.

ما در این روش، به منظور امکان بررسی IP هایی که مسدود شده‌اند، تمامی آدرس‌ها را در فایل ذخیره کرده و برای استفاده‌های آتی نگهداری می‌کنیم.

️نکته️:
– می‌توان لاگ‌ها را حذف نکرد و در ابتدا تاریخ و ساعت مشخص کرد که اسکریپت صرفا لاگ‌های یک روز پیش را جستجو کند.
– می‌توانید هیچ گونه فایلی نگهداری نکنید و مستقیما آن‌ها را در فایروال مسدود کنید.
– در یک بخش از کد مقداری تحت عنوان “{ $_.Count -gt 3 }” آمده است، که با افزایش یا کاهش این عدد می‌توانید به تعداد خطاهای لاگین مورد نظر برسید.
– برای اتوماتیک کردن پروسه، می‌توانید در Scheduled Tasks یک TASK با عنوان و زمان‌بندی مورد نظر خود ایجاد کنید.
– فایل دوم صرفا وظیفه وارد کردن آدرس IP ها از یک فایل برای ایجاد RULE های BLOCK را دارد و می‌توانید از آن در موارد دیگر نیز استفاده کنید و مسدودسازی IP را انجام دهید.

فایل شماره ۱- Block-Brute.ps1 | مسدودسازی IP

$datetime = (((get-date).ToUniversalTime()).ToString("yyyyMMddhhmmss"))
$regex = ‘\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b’

## MySQL ##
$input_path = "C:\BLOCK\mysql-raw.txt"
$output_file = "C:\BLOCK\mysql-all-ip.txt"
$output_unique = "C:\BLOCK\MySQL-Bruteforce-$datetime.txt"
Get-EventLog -Source MySQL -LogName Application | select Message | Out-File $input_path
Select-String -Path $input_path -Pattern $regex -AllMatches | % { $_.Matches } | % { $_.Value } > $output_file
Get-Content $output_file | sort | Group-Object | Where-Object { $_.Count -gt 3 } | Select -ExpandProperty Name | Get-Unique > $output_unique
c:\BLOCK\import-firewall-blocklist.ps1 -inputfile $output_unique
Remove-Item $input_path
Remove-Item $output_file

## MSSQL ###
$MSSQLinput_path = "C:\BLOCK\mssql-raw.txt"
$MSSQLoutput_file = "C:\BLOCK\mssql-all-ip.txt"
$MSSQLoutput_unique = "C:\BLOCK\MSSQL-Bruteforce-$datetime.txt"
Get-EventLog -LogName Application | Where-Object { $_.eventid -eq 18456 } | select Message | Out-File $MSSQLinput_path
Select-String -Path $MSSQLinput_path -Pattern $regex -AllMatches | % { $_.Matches } | % { $_.Value } > $MSSQLoutput_file
Get-Content $MSSQLoutput_file | sort | Group-Object | Where-Object { $_.Count -gt 3 } | Select -ExpandProperty Name | Get-Unique > $MSSQLoutput_unique
c:\BLOCK\import-firewall-blocklist.ps1 -inputfile $MSSQLoutput_unique
Remove-Item $MSSQLinput_path
Remove-Item $MSSQLoutput_file

Clear-EventLog -LogName Application

 

فایل شماره ۲- import-firewall-blocklist.ps1 | مسدودسازی IP

####################################################################################
#.Synopsis
# Block all IP addresses listed in a text file using the Windows Firewall.
#
#.Description
# Script will create inbound and outbound rules in the Windows Firewall to
# block all the IPv4 and/or IPv6 addresses listed in an input text file. IP
# address ranges can be defined with CIDR notation (10.4.0.0/16) or with a
# dash (10.4.0.0-10.4.255.255). Comments and blank lines are ignored in the
# input file. The script deletes and recreates the rules each time the
# script is run, so don't edit the rules by hand. Requires admin privileges.
# Multiple rules will be created if the input list is large. Requires
# Windows Vista, Windows 7, Server 2008 or later operating system. Blocking
# more than 5000 IP address ranges does delay initial connections, will slow
# the loading of the Windows Firewall snap-in, and will lengthen the time
# to disable/enable a network interface. This script is just a wrapper for
# the netsh.exe tool. You can block individual IP addresses too, you do not
# need to use CIDR notation for this (10.1.1.1/32), though this does work.
#
#.Parameter InputFile
# File containing IP addresses and ranges to block; IPv4 and IPv6 supported.
# By default, the script will look for and use a file named 'blocklist.txt'.
#
#.Parameter RuleName
# (Optional) Override default firewall rule name; default based on file name.
# When used with -DeleteOnly, just give the rule basename without the "-#1".
#
#.Parameter ProfileType
# (Optional) Comma-delimited list of network profile types for which the
# blocking rules will apply: public, private, domain, any (default = any).
#
#.Parameter InterfaceType
# (Optional) Comma-delimited list of interface types for which the
# blocking rules will apply: wireless, ras, lan, any (default = any).
#
#.Parameter DeleteOnly
# (Switch) Matching firewall rules will be deleted, none will be created.
# When used with -RuleName, leave off the "-#1" at the end of the rulename.
#
#.Example
# import-firewall-blocklist.ps1 -inputfile IpToBlock.txt
#
#.Example
# import-firewall-blocklist.ps1 -inputfile iptoblock.txt -profiletype public
#
#.Example
# import-firewall-blocklist.ps1 -inputfile iptoblock.txt -interfacetype wireless
#
#.Example
# import-firewall-blocklist.ps1 -inputfile IpToBlock.txt -deleteonly
#
#.Example
# import-firewall-blocklist.ps1 -rulename IpToBlock -deleteonly
#
#Requires -Version 1.0
#
#.Notes
# Author: Jason Fossen (http://www.sans.org/windows-security/)
# Version: 1.2
# Updated: 20.Mar.2012
# LEGAL: PUBLIC DOMAIN. SCRIPT PROVIDED "AS IS" WITH NO WARRANTIES OR GUARANTEES OF
# ANY KIND, INCLUDING BUT NOT LIMITED TO MERCHANTABILITY AND/OR FITNESS FOR
# A PARTICULAR PURPOSE. ALL RISKS OF DAMAGE REMAINS WITH THE USER, EVEN IF
# THE AUTHOR, SUPPLIER OR DISTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF
# ANY SUCH DAMAGE. IF YOUR STATE DOES NOT PERMIT THE COMPLETE LIMITATION OF
# LIABILITY, THEN DELETE THIS FILE SINCE YOU ARE NOW PROHIBITED TO HAVE IT.
####################################################################################

param ($InputFile = "BlockList.txt", $RuleName, $ProfileType = "any", $InterfaceType = "any", [Switch] $DeleteOnly)

# Look for some help arguments, show help, then quit.
if ($InputFile -match '/[?h]') { "nPlease run 'get-help .\import-firewall-blocklist.ps1 -full' for help on PowerShell 2.0 and later, or just read the script's header in a text editor.n" ; exit }

# Get input file and set the name of the firewall rule.
$file = get-item $InputFile -ErrorAction SilentlyContinue # Sometimes rules will be deleted by name and there is no file.
if (-not $? -and -not $DeleteOnly) { "nCannot find $InputFile, quitting...n" ; exit }
if (-not $rulename) { $rulename = $file.basename } # The '-#1' will be appended later.

# Description will be seen in the properties of the firewall rules.
$description = "Rule created by script on $(get-date). Do not edit rule by hand, it will be overwritten when the script is run again. By default, the name of the rule is named after the input file."

# Any existing firewall rules which match the name are deleted every time the script runs.
"nDeleting any inbound or outbound firewall rules named like '$rulename-#*'n"
$currentrules = netsh.exe advfirewall firewall show rule name=all | select-string '^[Rule Name|Regelname]+:\s+(.+$)' | foreach { $_.matches[0].groups[1].value }
if ($currentrules.count -lt 3) {"nProblem getting a list of current firewall rules, quitting...n" ; exit }
# Note: If you are getting the above error, try editing the regex pattern two lines above to include the 'Rule Name' in your local language.
$currentrules | foreach { if ($_ -like "$rulename-#*"){ netsh.exe advfirewall firewall delete rule name="$_" | out-null } }

# Don't create the firewall rules again if the -DeleteOnly switch was used.
if ($deleteonly -and $rulename) { "nReminder: when deleting by name, leave off the '-#1' at the end of the rulename.n" }
if ($deleteonly) { exit }

# Create array of IP ranges; any line that doesn't start like an IPv4/IPv6 address is ignored.
$ranges = get-content $file | where {($_.trim().length -ne 0) -and ($_ -match '^[0-9a-f]{1,4}[\.\:]')}
if (-not $?) { "nCould not parse $file, quitting...n" ; exit }
$linecount = $ranges.count
if ($linecount -eq 0) { "nZero IP addresses to block, quitting...n" ; exit }

# Now start creating rules with hundreds of IP address ranges per rule. Testing shows
# that netsh.exe errors begin to occur with more than 400 IPv4 ranges per rule, and
# this number might still be too large when using IPv6 or the Start-to-End format, so
# default to only 100 ranges per rule, but feel free to edit the following variable:
$MaxRangesPerRule = 100

$i = 1 # Rule number counter, when more than one rule must be created, e.g., BlockList-#001.
$start = 1 # For array slicing out of IP $ranges.
$end = $maxrangesperrule # For array slicing out of IP $ranges.
do {
$icount = $i.tostring().padleft(3,"0") # Used in name of rule, e.g., BlockList-#042.

if ($end -gt $linecount) { $end = $linecount }
$textranges = [System.String]::Join(",",$($ranges[$($start - 1)..$($end - 1)]))

"nCreating an inbound firewall rule named '$rulename-#$icount' for IP ranges $start - $end"
netsh.exe advfirewall firewall add rule name="$rulename-#$icount" dir=in action=block localip=any remoteip="$textranges" description="$description" profile="$profiletype" interfacetype="$interfacetype"
if (-not $?) { "
nFailed to create '$rulename-#$icount' inbound rule for some reason, continuing anyway..."}

"nCreating an outbound firewall rule named '$rulename-#$icount' for IP ranges $start - $end"
netsh.exe advfirewall firewall add rule name="$rulename-#$icount" dir=out action=block localip=any remoteip="$textranges" description="$description" profile="$profiletype" interfacetype="$interfacetype"
if (-not $?) { "
nFailed to create '$rulename-#$icount' outbound rule for some reason, continuing anyway..."}

$i++
$start += $maxrangesperrule
$end += $maxrangesperrule
} while ($start -le $linecount)

# END-O-SCRIPT

# Incidentally, testing shows a delay of 2-5 seconds sometimes for the initial
# connection when there are more than 5000 IP address ranges total in the various
# outbound rules (once established, there is no delay). However, it does not seem
# consistent. Also, at 5000+ subnets in one's rules, it delays the opening of the
# Windows Firewall snap-in, and at 9000+ subnets it sometimes prevents the WF snap-in
# from opening successfully at all. However, this behavior is not consistent either.

بهینه سازی و تعمیر دیتابیس MySQL

 

 

در این آموزش کوتاه قصد داریم به شما آموزش دهیم چگونه دیتابیس MySQL خود را تعمیر نمایید و آن را بهینه کنید.

فرض کنید که ما دو دیتابیس با نام‌های zagrio1 و zagrio2 داریم. برای تعمیر این دو دیتابیس به صورت همزمان می‌توانید از دستور:

استفاده نمایید، بعضی اوقات هست که ممکن است با خطای: note : The storage engine for the table doesn't support repair روبرو شویم این بدان معنی است که دیتابیس ما InnoDB است و نه MySQL و در این دیتابیس نمی‌توان از این دستور استاده نمود.

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

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

حال اگر دیتابیس شما دارای پسورد است که مسلما اکثر دیتابیس‌ها دارای پسورد هستند، و توصیه اکید ما نیز استفاده از پسورد برای امنیت بیشتر می‌باشد. می‌توانید از دستور زیر استفاده نمایید.

 

MySQL: آموزش لیست کردن تمامی دیتابیس‌ ها

669views

 

 

در این مقاله به شما نشان خواهیم داد که چگونه تمام دیتابیس‌های خود را در MySQL لیست نمایید. قبل از شروع عملیات نیاز است که با اکانت root یا اکانتی که با دستور sudo مجوزهای لازم را دارا است استفاده نمایید. زمانی که با استفاده از SSH به سرور خود وصل شدید لازم است کامند زیر را اجرا نمایید تا مطمئن شوید که MySQL بر روی سرور شما نصب شده است و ورژن آن چند است:

خروجی چیزی شبیه به خروجی زیر میباشد:

حالا نیاز است با حساب کاربری روت به MySQL متصل شویم:

بعد از آن MySQL از شما می‌خواهد تا پسورد MySQL خود را وارد نمایید تا اجازه دهد به دیتابیس دسترسی داشته باشید. اگر برای حساب کاربری root خود رمزی درذ نظر نگرفته‌اید با دستور زیر می‌توانید وارد اسن بخش شوید:

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

حالا دوباره با استفاده از کامند اتصال به MySQL و پسورد جدیدیتان به MySQL وصل شوید.

حالا برای لیست کردن تمام دیتابیس‌های MySQL خود از کامند زیر استفاده نمایید این دستور هم در VPS هایی با سیتم‌عامل ابنتو و هم CentOS برای شما کار خواهد نمود:

خروجی این دستور چیزی شبیه به خروجی زیر است:

این دستور تمام دیتابیس‌های شما را لیست خواهد نمود، اما اگر می‌خواهید تمام جداول یا تیبل‌های یک دیتابیس را لیست کنید باید از دستور زیر استفاده نمایید.

برای لیست کردن جداول می‌توانید از کامند زیر استفاده نمایید:

خروجی چیزی شبیه به خروجی زیر خواهد بود:

حالا اگر نیاز دارید تا درمورد ساختار خاص یک جدول اطلاعات بیشتری بدست آورید می‌توانید از دستور زیر استفاده نمایید:

 

 

 

 

CentOS 7: آموزش نصب Apache ،MariaDB و PHP

4.5kviews

در این مقاله نحوه نصب وب سرور آپاچی (آخرین نسخه)، بانک اطلاعاتی ماریا دی‌بی (آخرین نسخه) و پی‌اچ‌پی (آخرین نسخه) را به همراه ماژول‌های آن روی سیستم عامل‌های CentOS 7 با استفاده از مخزن EPEL و دستور YUM آموزش خواهیم داد.

Install-LAMP

آپاچی (Apache) چیست؟

آپاچی یک وب سرور HTTP متن باز رایگان است که روی تمامی توزیع‌های لینوکس و همچنین سیستم عامل ویندوز قابل نصب و اجراست. وب سرور آپاچی توانایی سرویس‌دهی به صفحات برنامه‌نویسی شده (.htm .php .pl .cgi .js) و موارد بسیاری دیگر را دارد. بر اساس آمارهای به دست آمده در اسفند ماه ۱۳۹۱ حدود ۶۵٫۲۴% دامنه‌های وب‌سایت‌های توسط آپاچی سرویس‌دهی می‌شوند.

ماریا دی بی (MariaDB) چیست؟

MariaDB یکی از محبوب‌ترین رابط‌های بانک‌های اطلاعاتی در جهان محسوب می‌شود که روی هر نوع سروری قابل اجراست توانایی دادن دسترسی چندین کاربر به چندین بانک اطلاعاتی را دارد. MariaDB نام جدید MySQL برای سرورهای CentOS 7 است.

پی اچ پی (PHP) چیست؟

یک زبان برنامه‌نویسی سرور محور متن باز رایگان است که از بهترین گزینه‌ها جهت گسترش صفحات وب است. این مفسر قابلیت تولید سایت‌های پویا (Dynamic) را داراست.

مرحله اول: نصب دایرکتوری مخزن EPEL

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

 

مرحله دوم: نصب Apache ،MariaDB و PHP

yum -y install mariadb-server mariadb httpd php

مرحله سوم: نصب ماژول های PHP

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel mod_ssl mod_security php-ioncube-loader php-mcrypt php-suhosin php-xml php-magickwand libexif php-imap openssl zip zlib

مرحله چهارم: فعال/غیرفعال کردن سرویس‌های Apache و MySQL

## Enable Apache and MariaDB on Run-Levels ##
## Apache Commands ##
systemctl start httpd.service
systemctl enable httpd.service
## MariaDB Commands ##
systemctl start mariadb.service
systemctl enable mariadb.service

مرحله پنجم: تنظیمات MariaDB

با استفاده از دستور زیر نسبت اعمال تنظیمات MariaDB اقدام کنید.

mysql_secure_installation

مرحله ششم: تنظیمات Firewall

با استفاده از دستورات زیر پورت ۸۰ و ۴۴۳ که مربوطه به HTTP و HTTPS است را در فایروال آزاد می‌کنیم.

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

مرحله هفتم: تنظیمات Hostname

با استفاده از دستور زیر نام سرور را مطابق نیاز خود تنظیم کنید.

hostnamectl set-hostname centos7.zagrio.com

مرحله هشتم: کنترل نصب Apache ،MySQL و PHP

۱- یک فایل با نام phpinfo.php بسازید، موارد زیر را درون آن قرار دهید و در مسیر /var/www/html/phpinfo.php ذخیره کنید.

<php
phpinfo ();
?>

۲- حالا بوسیله مرورگر خود آدرس http://SERVER_IP/phpinfo.php را باز نمائید. خروجی شما مانند صفحه زیر خواهد بود.

Install LAMP

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

CentOS: آموزش نصب Apache ،MySQL و Fedora

4.7kviews

در مقاله قبل نحوه نصب وب سرور آپاچی (آخرین نسخه)، بانک اطلاعاتی ماریا دی‌بی (آخرین نسخه) و پی‌اچ‌پی (آخرین نسخه) را به همراه ماژول‌های آن روی سیستم عامل‌های CentOS 7 با استفاده از مخزن EPEL و دستور YUM آموزش داده شد .در این مقاله نحوه نصب وب سرور آپاچی (آخرین نسخه)، بانک اطلاعاتی مای اس کیو ال (آخرین نسخه) و پی‌اچ‌پی (آخرین نسخه) را به همراه ماژول‌های آن بر روی سیستم عامل‌های RHEL 6.4/6.3/6.2/6.1/6.0/5.9/5.8/5.6, CentOS 6.4/6.3/6.2/6.1/6.0/5.9/5.8/5.6/6.0/6.5/6.6/6.7  و  Fedora 12,13,14,15,16,17,18,19 با استفاده از مخزن Remi و دستور YUM آموزش خواهیم داد.

Install-LAMP CentOS

آپاچی (Apache)  چیست؟

آپاچی یک وب سرور HTTP متن باز رایگان است که بر روی تمامی توزیع‌های لینوکس و همچنین سیستم عامل ویندوز قابل نصب و اجراست. وب سرور آپاچی توانایی سرویس‌دهی به صفحات برنامه‌نویسی شده (.htm .php .pl .cgi .js) و موارد بسیاری دیگر را دارد. بر اساس آمارهای به دست آمده در اسفند ماه ۱۳۹۱ حدود ۶۵٫۲۴% دامنه‌های وب سایت‌های توسط آپاچی سرویس‌دهی می‌شوند.

ما اس کیو ال (MySQL) چیست؟

MySQL یکی از محبوب‌ترین رابط‌های بانک‌های اطلاعاتی در جهان محسوب می‌شود که بر روی هر نوع سروری قابل اجراست توانایی دادن دسترسی چندین کاربر به چندین بانک اطلاعاتی را داراست. MySQL به همراه Apache اجرا می‌شود.

پی اچ پی (PHP) چیست؟

یک زبان برنامه‌نویسی سرور محور متن باز رایگان است که از بهترین گزینه‌ها جهت گسترش صفحات وب است. این مفسر قابلیت تولید سایت‌های پویا (Dynamic) را داراست.

ماژول‌های PHP

در این آموزش قصد داریم ماژول‌های زیر را نصب کنیم:

MySQL (php-mysql) – A extension for PHP applications that use MySQL databases.
PostgreSQL (php-pgsql) – A extension for PostgreSQL database for PHP.
MongoDB (php-pecl-mongo) – A driver for MongoDB database.
SQLite (php-sqlite) – Extension for SQLite Database Engine.
Memcache (php-pecl-memcache) – Memcached caching daemon.
Memcached (php-pecl-memcached) – Memcached caching daemon.
GD (php-gd) – GD extension for PHP application to serve graphics.
XML (php-xml) – XML Parser for PHP applications.
MBString (php-mbstring) – Mbstring extension is used to handle multi-byte string in PHP applications.
MCrypt (php-mcrypt) – A Mcrypt library for PHP scripts.
APC (php-pecl-apc) – APC module used to optimize and cache PHP code.
CLI (php-cli) – Command-line interface for PHP. PEAR (php-pear) – Application Repository framework for PHP.
PDO (php-pdo) – Database access module for PHP applications.

 

مرحله اول: نصب دایرکتوری مخزن Remi

 

## Install Remi Repository on Fedora 19, 18, 17, 16, 15 ##
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
## Fedora 19 ##
# rpm -Uvh http://rpms.famillecollet.com/remi-release-19.rpm
## Fedora 18 ##
# rpm -Uvh http://rpms.famillecollet.com/remi-release-18.rpm
## Fedora 17 ##
# rpm -Uvh http://rpms.famillecollet.com/remi-release-17.rpm
## Fedora 16 ##
# rpm -Uvh http://rpms.famillecollet.com/remi-release-16.rpm
## Fedora 15 ##
# rpm -Uvh http://rpms.famillecollet.com/remi-release-15.rpm
## Fedora 14 ##
# rpm -Uvh http://rpms.famillecollet.com/remi-release-14.rpm
## Fedora 13 ##
# rpm -Uvh http://rpms.famillecollet.com/remi-release-13.rpm
## Fedora 12 ##
# rpm -Uvh http://rpms.famillecollet.com/remi-release-12.rpm
## Install Remi & Epel Repository on RHEL/CentOS 6.4-6.0 - 32 Bit##
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
## Install Remi & Epel Repository on RHEL/CentOS 6.4-6.0 - 64 Bit ##
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
## Install Remi Repository on RHEL/CentOS 5.9-5.0 - 32 Bit ##
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
## Install Remi Repository on RHEL/CentOS 5.9-5.0 - 64 Bit ##
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

 

مرحله دوم: نصب Apache ،MySQL و PHP

## Installing on Fedora 12, 13, 14, 15, 16, 17, 18, 19 ##
# yum --enablerepo=remi install httpd mysql mysql-server php php-common
## Installing on RHEL/CentOS 5-6 ##
# yum --enablerepo=remi,remi-test install httpd mysql mysql-server php php-common

 

مرحله سوم: نصب ماژول‌های PHP

## Installing on Fedora 12, 13, 14, 15, 16, 17, 18, 19 ##
# yum --enablerepo=remi install php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo
## Installing on RHEL/CentOS 5-6 ##
# yum --enablerepo=remi,remi-test install php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo

 

مرحله چهارم: فعال/غیرفعال کردن سرویس‌های Apache و MySQL

## Enable Apache and MySQL on Run-Levels ##
# chkconfig --levels 235 httpd on
# chkconfig --levels 235 mysqld on
## Apache Commands ##
# /etc/init.d/httpd start
# /etc/init.d/httpd stop
# /etc/init.d/httpd status
## MySQL Commands ##
# /etc/init.d/mysqld start
# /etc/init.d/mysqld stop
# /etc/init.d/mysqld status

مرحله پنجم: کنترل نصب Apache ،MySQL و PHP

۱-    یک فایل با نام phpinfo.php بسازید، موارد زیر را درون آن قرار دهید و در مسیر /var/www/html/phpinfo.php ذخیره کنید.

<php
phpinfo ();
?>

۲-    حالا بوسیله مرورگر خود آدرس http://localhost/phpinfo.php را باز نمائید. خروجی شما مانند صفحه زیر خواهد بود.

CentOS Install LAMP

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

آموزش ساخت Database در cPanel

2.7kviews

در این آموزش کوتاه و تصویری قصد داریم به مبحث آموزش ساخت Database در cPanel بپردازیم این آموزش کوتاه به صورت تصویری نحوه ساخت Database  را نشان می‌دهد.

ساخت دیتابیس با استفاده از گزینه MySQL Database Wizard خیلی سریع و راحت در سه مرحله پشت‌ سر هم انجام می‌شود.

قدم اول: برای ساخت دیتابیس ابتدا وارد cPanel خود شوید.

قدم دوم: از قسمت Databaese گزینه MySQL Database Wizard را انتخاب نمایید.
Database01
قدم سوم: در مرحله اول نام دیتابیس خود را وارد می‌کنیم و روی گزینه Next Step کلیک می‌کنیم. ما نام دیتابیس را TEST انتخاب کرده‌ایم.
Database02
قدم چهارم: در مرحله بعد باید یک یوزر برای Database ایجاد کنیم. برای ساخت یوزر فیلدهای موجود در صفحه باز شده را پر می‌کنیم.

نام کاربری و رمز عبور Database را وارد کنیم. ما نام کاربری TEST را وارد می‌کنیم. برای پسورد می‌توان از گزینه Password Generator استفاده کرد.

قدم پنجم: با کلیک روی Password Generator پسوردی برای ما ساخته می‌شود که با انتخاب گزینه I have copied this password in a safe place و کلیک بر روی گزینه Use Password، پسورد تولید شده در فیلدهای مربوطه کپی می‌شود. در نهایت بر روی گزینه Create user کلیک می‌کنیم.

Database03
قدم ششم: در مرحله بعد دسترسی به دیتابیس را ایجاد می‌کنیم. با زدن تیک «ALL PRIVILEGES» همه دسترسی‌ها را به کاربر می‌دهیم، سپس دکمه‌ Next Step را کلیک کنید.
Database04
دیتابیس ما با موفقیت ساخته شد.
Database06
قدم هفتم: در این صفحه پایانی ما ۴ گرینه داریم:
  1. Add another database: برای ساخت دیتابیس جدید استفاده می‌شود.
  2. Add another user for your MySQL: اگر می‌خواهید بیش از یک کاربر به دیتابیس دسترسی داشته باشد از این گزینه برای ساخت کاربر جدید استفاده می‌شود.
  3. Return to Mysql Databases: با انتخاب این گزینه به صفحه اول ساخت دیتابیس منتقل می‌شوید.
  4. Return Home: این گزینه شما را به صفحه اصلی cPanel برمی‌گرداند.
قدم هشتم: با کلیک روی گزینه Return to Mysql Databases صفحه‌ای باز می‌شود که در قسمت Current Databases می‌توانیم نام دیتابیس و کاربری که ایجاد کردیم را ببینیم که با استفاده از گزینه‌های Rename و Delete داخل کادر قرمز رنگ می‌توانیم نام دیتابیس را تغییر دهیم و یا اینکه دیتابیس را حذف کنیم.
Database07

ساخت دیتابیس با استفاده از گزینه MySQL Database:

ما با استفاده از گزینه MySQL Database می‌توانیم دیتابیس بسازیم اما با این گزینه هر مرحله از ساخت دیتابیس را باید جداگانه انجام دهیم. ابتدا وارد cPanel می‌شویم و بر روی گزینه MySQL Database کلیک می‌کنیم.

 

Database08
در پنجره باز شده یک نام برای دیتابیس وارد کرده و بر روی گزینه Create Database کلیک می‌کنیم.
Database09
درصورتی‌که دیتابیس با موفقیت ساخته شود پیغام زیر را مشاهده می‌کنیم. روی گزینه GO Back کلیک می‌کنیم و وارد صفحه قبل می‌شویم.
Database10
در صفحه باز شده بر روی گزینه Jump to MySQL Users کلیک می‌کنیم.
Database11
در این صفحه یک نام برای بخش Username انتخاب کرده و رمز عبور را وارد کرده و بر روی گزینه Create User کلیک می‌کنید.
Database12
 با کلیک بر روی Create User بوزر ساخته می‌شود و پیغام زیر را مشاهده می‌کنیم. بر روی گزینه Go Back کلیک می‌کنیم.
Database13
با کلیک بر روی گزینه Go Back وارد صفحه زیر می‌شویم. در این صفحه از قسمت Add User To Database که با کادر قرمز رنگ مشخص شده از منوی آبشاری User کاربر و از منوی آبشاری Database بانک اطلاعاتی مورد نظر خود را برای تصدیق اجازه استفاده کاربر با آن را انتخاب می‌کنیم و روی Add کلیک می‌کنیم.
Database14
بعد از انجام مراحل بالا باید دسترسی‌های کاربر را تعیین کنیم که ما گزینه ALL PRIVILEGES را انتخاب می‌کنیم و در نهایت بر روی گزینه Make Change کلیک می‌کنیم.
Database15در پایان پیغام زیر را مشاهده می‌کنیم.
Database16

آموزش phpMyAdmin در cPanel

2.6kviews

با استفاده از نرم‌افزار phpMyAdmin می‌توانیم پایگاه داده‌های MySQL را مدیریت کنیم.

قدم اول: برای دسترسی به این گزینه وارد cPanel می‌شویم و از قسمت Databases روی گزینه phpMyAdmin کلیک می‌کنیم.

phpMyAdmin2

قدم دوم: بعد از ورود به صفحه phpMyAdmin پنجره‌ای مطابق شکل زیر مشاهده می‌کنیم.

phpMyAdmin1

قدم سوم: در این صفحه می‌توانیم پایگاه داده‌های موجود را ببینیم و تنظیمات مربوط به پایگاه داده را تغییر دهیم و یا با استفاده از گزینه Database در صورت نیاز پایگاه داده جدید بسازیم.