جستجو در تک بوک با گوگل!


بازدید
فریمورک متاسپلویت اجازه می دهد که بر روی جنبه های خیلی تخصصی و حرفه ای نفوذگری در کامپیوتر تمرکز کنید و هدف های خود را از نقطه نظر امنیت و نفوذ پذیری مورد بررسی قرار بدهید و ضعف های امنیتی آن ها را کشف و برای ضعف های امنیتی کشف شده، اکسپلویت دلخواه خود را تولید کنید.
برنامه متاسپلویت در اصل یک نرم افزار لینوکسی است و انتظار می رود روی تمام لینوکس هایی که دارای مفسر روبی هستند اجرا شود. با پیشرفت در خواندن فصل های این کتاب و مطالعه متد هایی که ارائه شده است، شما مشاهده خواهید کرد که می توان در تمامی جنبه های گوناگون آزمودن امنیت از فریمورک متاسپلویت استفاده کرد. در حالت کلی در این کتاب می آموزید که چگونه کار با متاسپلویت را شروع کنید و سطح خودتان را از یک کاربر معمولی یا آماتور به یک کاربر نیم حرفه ای بالا ببرید.
بخش هایی از این کتاب:
مبانی مطلق در آزمون نفوذ
فاز های استاندارد آزمایشن امنیت
تحلیل آسیب پذیری ها
اکسپلویت کردن آسیب پذیری
انواع آزمون های نفوذ
آزمایش امنیت آشکارا
آزمایش امنیت پنهان
واسطه کاربری متاسپلویت
کنسول متاسپلویت
واسط کنسول متاسپلویت
واسط خط فرمان
واسط آرمیتج
کار با پایگاه داده در متاسپلویت
نصب پایگاه داده
متصل شدن به بانک اطلاعاتی
بازدید
بسیاری از شرکتها در صنعت پزشکی و سلامتی، همراه با جستجوهای علمی و بخشهای توسعه یافته، این نوع از کارهای نظیر به نظیر را برای مدیریت، توسعه، و بازیابی دادهها و اطلاعات مهم استفاده میکنند. بنیان اطلاعاتی توزیع شده یک راه موثر برای محدودیتهای جغرافیایی و سازماندهی است.
بازدید
این دستور که دستوری مستقل نیست و حتما باید با اجزایی بکار رود جهت ساخت پرس و جو بر روی بانک اطلاعاتی بکار میرود و رکوردهایی که با شرایط این دستور همخوان باشد به عنوان نتیجه پرس و جو برمیگرداند . چهار کلمه کلیدی وجود دارند که بخشهای ارزشمند این دستور را تشکیل میدهند :
۱- select
۲- from
۳- where
۴- order by
شکل کلی دستور :
Select [*|distinct column1, column2,…]
From table[,table2,…]
Where شرط
Order by نام فیلد یا شماره فیلد
مثال :
Select * from customers
این دستور تمام رکوردهای جدول customers را برمیگرداند.
که نتیجه ۹۱ سطر از اطلاعات این جدول خواهد بود
حال اگر شرط Country =uk اضافه کنیم ، فقط اطلاعات مشتریان انگلیس جواب خواهند بود که به ۷ سطر تقلیل مییابد.
select * from customers
where Country =uk
حال
select City,Country from customers
order by city
فقط ستونهای نام شهر (city) و نام کشور (Country) را بر گردانده و بر اساس نام شهر مرتب میکند. دستور بالا با دستور پایین هردو یک جواب را میدهند :
select City,Country from customers
order by 1
که ۹۱ سطر بازگردانده خواهد شد . در نتیجه پرس و جو تعدادی سطر تکراری وجود دارد مانند شهر London که اگر از کلمه Distinct در Select استفاده کنیم این سطرهای تکراری حذف خواهد شد .
select distinct City,Country from customers
order by 1
و جواب ۶۹ سطر خواهد بود.
استفاده از توابع در Select
۱- Count : تعداد سطرهای بازگردانده شده توسط select را میشمارد.
Select Count(*) from Customers
where Country =uk
در اصل تعداد مشتریانی را میشمارد که در کشور انگلیس هستند. که عدد ۷ جواب است.
۲- Sum : مجموع یک فیلد عددی را برمیگرداند.
Select sum(Quantity) from [Order Details]
where productid = 11
مجموع فیلد Quantity را برای فیلدهایی که شماره محصول آنها ( Productid) برابر ۱۱ است را محاسبه میکند
نکته ۱ : در دستور select میتوان از اسم مستعار استفاده کرد ، یعنی نام جدیدی را برای یک ستون در نظر گرفت به عنوان مثال select قبل را به شکل زیر بکار برد :
Select sum(Quantity) as Sum_QTY
from [Order Details]
where productid = 11
که Sum_QTY یک اسم مستعار برای مجموع است. استفاده از کلمه کلیدیas اختیاری است.
نکته ۲ : در دستور select هرگاه اسم فیلدی اسم خاص باشد و یا فاصله بین اسم باشد مثل Order Details که فاصله بین اسم جدول است حتماُ از علامت براکت [] میبایست استفاده کرد.
نکته ۳ : استفاده از group by :
هنگامی که از توابع count و Sum به همراه یک فیلد دیگر در دستور select استفاده میشود از group by استفاده میکنیم .
به عنوان مثال دستور زیر جمع مقادیر فیلد Quantity را برای هر شماره محصول محاسبه میکند .
Select productid, sum(Quantity) as sum_qty
from [Order Details]
group by productid
که نتیجه مانند زیر خواهد بود :
productid sum_qty
———– ———–
۶۱ ۶۰۳
۳ ۳۲۸
۳۲ ۲۹۷
۶ ۳۰۱
۴۱ ۹۸۱
۶۴ ۷۴۰
۹ ۹۵
۱۲ ۳۴۴
در صورتیکه دستور ordr by 1 بعد از group by استفاده کنیم نتیجه بر اساس کد محصول مرتب خواهد شد.
نکته ۴ : دستور where می تواند خود شامل یک دستور select باشد :
select * from Products
where ProductID in
( select distinct ProductID from [order details] where Quantity >70)
order by ProductID
تنها نکته ای که می بایست توجه کرد این است که نام فیلدی که در شرط آورده می شود حتما در دستور select آورده شود, به عبارت دیگر select درون شرط تنها یک ستون را می بایست برگرداند .
تمرین : با فرض اینکه دو جدول Products و order details دارای ستون (فیلد) یکسان ProductID هستند , یک دستور Select بنویسید که تمام فیلدهایی از Products را نشان دهد که فیلد ProductID آن با ProductID جدول order details یکی باشد.؟
حل :
Select pr.*
From Products as pr , [order details] as od
Where pr. ProductID = od. ProductID
قابل به ذکر است که بیش از ۹۰% از کارهایی که ما برروی جداول انجام می دهیم با select و ترکیبات آن انجام می شود. لذا بدست آوردن تبحر در نوشتن select ها می تواند شما را در تهیه برنامه ها یاری کند.
۳- Min,max : بیشترین و کمترین مقدار فیلد را در بانک اطلاعاتی بدست می دهد.
Select min (Quantity)
from [Order Details]
۴- Top n : تعداد n سطر اول بانک اطلاعاتی را برمی گرداند.
Select top 5 *
from [Order Details]
۵ سطر اول بانک را برمی گرداند.
نکته ۳ : در حالت بالا اگر مقدار سطر ۵ و ۶ یکی باشد فقط سطر ۵ جواب خواهد بود برای گریز از این حالت از شکل زیر در این دستور استفاده میکنیم :
Select top n with ties *
From table
۵- Into
Select * from table1 into table2
اطلاعات table1 را به table2 کپی میکند. البته table2 باید از قبل وجود نداشته باشد.
این دستور خود table2 را میسازد.
دستور select قویترین و کاربردی ترین دستور در sql است که خود ماهها نیازمند تمرین و آموزش است . برای اطلاعات بیشتر به books online خود Sql Server مراجع کنید.
دستور Delete
برای حذف اطلاعات از یک بانک اطلاعاتی استفاده میشود.
شکل کلی دستور :
Delete table1
Where شرط
مثال :
فرض کنید جدول authors موجود باشد و فیلد کلید آن au_id باشد. برای حذف ۱۰ سطر اول این جدول از دستور زیر استفاده می کنیم :
DELETE authors
FROM (SELECT TOP 10 * FROM authors) AS t1
WHERE authors.au_id = t1.au_id
دستور insert
برای اضافه کردن اطلاعات به یک جدول از این دستور استفاده میشود.
Insert into table1 (f1,f2,…)
Values (v1,v2,…)
که f1,f2 نام فیلدها و v1,v2 مقادیر آنها میباشد.
البته میتوانید مقادیر را نتیجه یک select قرار داد.
مثال :
Insert into table1
Select top 10
From table2
مقدار ۱۰ سطر اول را از table2 را در table1 درج میکند. البته باید تعداد فیلدها یکی باشد. در غیر اینصورت از values استفاده کنید .
آموزش Enterprise Manager
میتوان گفت قلب Sql Server است. در Enterprise Manager شما میتوانید یک اتصال به سرور Sql برقرار کنید . table بسازید. User تعریف کنید و…..
علامت فلش سبز نمایانگر فعال بودن سرور است.
سرور میتواند local باشد مانند بالا و یا یک Sqlserver باشد برروی یک سرور . برای ایجاد یک سرور جدید یا به عبارت دیگر وصل شدن client (ویندوز ۹۸) به یک سرور دیگر بر روی یکی Microsoft Sql Server یا SQL Server Group و یا برروی سرور موجود کلیک سمت راست کرده و گزینه New Sql Server Registratin را انتخاب کنید. سپس کلید next را انتخاب کنید. سپس در منوی بعدی در available Server نام سرور خود را تایپ کنید . (نام سرور SQL خود را که برروی ویندوز ۲۰۰۰ خود نصب کرده اید) و بعد کلید add را فشار دهید.و گزینه next را انتخاب کنید.
در پتجره بعد از شما سوال میکند که آیا از username ویندوز استفاده کند و یا اینکه از یک username مخصوص خود Sql Server استفاده کنید. گزینه دوم را انتخاب کرده و سپس Login Name و Password را وارد کنید. (در حالت پیش فرض sa بعنوان login name و فضای خالی بجای Password وارد کنید.) پس از چند بار فشار کلید next شروع به وصل شدن به Server میکند. در صورت موفقیت آمیز بودن با پیامی این کار را اطلاع میدهد.
از دیگر گزینه ها شما بیشترین استفاده را از Databases خواهید کرد.
به عبارت دیگر هر کار و پروژه ما بعنوان یک Database در سرور sql قرار میگرد. همه جداول و دستورات مربوط به آنها در این محل نگهداری می شود.
با کلیک سمت راست برروی Databases و انتخاب New Database… میتوانید یک Database جدید برای خودتان بسازید.
پس از انتخاب نام آن را تایید کنید.
هر Database شامل موارد زیر است :
۱- Diagram : ارتباط جداول را نشان میدهد.
۲- Tables : جداول پروژه را نشان میدهد.
۳- Views : دیدهای پروژه را نشان میدهد.
۴- Stored Procedure : کدهای sql مربوط به عملیاتهای روی جداول را نگهداری میکند.
۵- Users : کاربران تعریف شده بر روی این database را نشان میدهد.
۶- Roles: قوانین دسترسی به جداول و پروسیجرها را نشان میدهد.
۷- Rules : قوانین مربوط به داده ها را در جداول نشان میدهد.
گزینه های ۷ به بعد کاربرد آنچنانی برای کارهای ابتدایی ندارند
ایجاد یک جدول جدید :
برای ایجاد یک جدول جدید بروی tables کلیک سمت راست کرده و گزینه New Table را انتخاب کنید. سپس در کادر بعدی نام جدول را انتخاب کنید. حال فیلدها و نوع آنها را مشخص کنید .
بعد از مشخص کردن نوع و احتمالاً طول فیلد , باید مشخص کنید که آیا فیلد همیشه می بایست مقدار داشته باشد و یا می تواند null باشد. Allow Nulls اگر تیک داشته باشد یعنی اینکه این فیلد می تواند هیچ مقداری به خود اختصاص ندهد.
تذکر : مقدار null را با فضای خالی اشتباه نگیرید.
در قسمت Default Value مقدار اولیه برای فیلد وارد کنید. تا در صورتیکه هیچ مقداری درج نشد آن مقدار درج شود. (در دستور insert )
اگر Identity را تیک بزنید این فیلد بشکل خود افزا خواهد شد که اولا باید نوع فیلد عددی و ثانیا مقدار گامها در Identity increment مشخص شود. مقدار اولیه آن را هم می توانید در Identity Seed قرار دهید. بدین شکل با این مقدار شروع و با گامهای مشخص شده حرکت خواهد کرد.
تذکر : هیچ مقداری در این فیلد نمی توانید درج کنید , چراکه خود سیستم این مقدار را تولید می کند .
برای مشخص کردن فیلد کلید (یا فیلدهای کلیدی) فیلد(ها) را انتخاب و بر روی علامت کلید بر روی Toolbar کلیک کنید .
تذکر : فیلد کلیدی نمی تواند Allow Nulls باشد.
تذکر : برای تعریف index کلیک سمت راست کرده و index/keys را انتخاب کنید .
( در مورد index بطور مفصل صحبت خواهد شد )
ایجاد Stored Procedure :
مانند هر زبان دیگر رویه ها در sqlServer نیز موجود می باشند. و بکار میروند. سه رویه insert , Updaet و Delete را می توانید براحتی با ویزاردهای خود SqlServer بسازید. از اینجا به بعد از واژه SP بجای رویه استفاده خواهیم کرد.
ابتدا با ساختار کلی SP آشنا شده و سپس به ویزارد موجود خواهیم پرداخت.
برای ایجاد یک SP جدید ابتدا برروی گزینه Stored Procedure کلیک سمت راست کرده و گزینه new Stored Procedure… را انتخاب کنید. در پنچره بعدی شما می توانید متن SP را وارد کنید.
۱- نام sp : ابتدا بجای [PROCEDURE NAME] یک نام برای SP خود در نظر بگیرید. من خود از ساختار زیر بدین منظور استفاده میکنیم : عملیات_نام جدول
عنوان مثال اگر نام جدول Sale و عملیات مورد نظر یک عملیات insert باشد نام SP را Sale_INSERT میگذاریم. بهتر است نام عملیات با حروف بزرگ تایپ شود . البته بعضی از دوستان از سه حرف عملیات استفاده می کنند. برای مثال بالا خواهیم داشت :Sale_INS .
۲- تعریف پارامترها : برای تعریف پارامترهای ورودی SP قبل از کلمه کلیدی As آنها را داخل پرانتز مشخص کنید. بدین شکل که ابتدا علامت @ سپس نام پارامتر بعد فاصله و نوع پارامتر.
تذکر : تمامی متغییرها در SP از ساختار نام متغییر@ پیروی میکنند.
بعنوان مثال فرض کنید یک SP دارای دو پارامتر با نامهای Id از نوع int و Name از نوع Varchar(20) باشد , داریم :( @id int,@name varchar(20))
حال بعد از As دستورات مورد نظر را تایپ میکنیم :
مثال ۱ : SP بنویسید که چهار حرف اول فیلد LastName و فیلد FirstName را از جدول Employees انتخاب کند به شرطی که فیلد LastName با حرف A شروع شود ؟
ابتدا برروی Stored procedure کلیک سمت راست کرده و گزینه New stored procedure را انتخاب کرده و خطوط زیر را تایپ کنید. بعضی از دستورات پایین در کادر باز شده موجود هستند که نیازی به تایپ مجدد آنها نیست .
create Stored Procedure Employees_BROWSE
As
Select substring(Lastname,1,4) as LastNmae,FirstName
From Employees
Where LastName Like ‘%A’
حال بر روی دکمه ok کلیک نمایید. حال SP با نام Employees_BROWSE در لیست SP اضافه شده است .
مثال ۲ : تمام فیلدهای Employees را انتخاب کنید که فیلد BirthDate در یک بازه تاریخی که به شکل پارامتر وارد میشود قرار گیرد ؟
create Stored Procedure Employees_BROWSE2
(@StartDate char(10) , @EndDate char(10))
As
Select *
From Employees
Where BirthDate between @StartDate and @EndDate
حال برای اجرای SP ها در Query Analyzer کافی است بنویسیم : نام Exec SP
بعنوان مثال :Exec Employees_browse
اگر پارامتر داشت مقدار پارامترها را هم می آوریم :
Exec Employees_Browse2 ‘01/01/1940’ , ‘15/06/1955’
۳- تعریف متغیرها : برای تعریف متغیرها می بایست از کلمه کلیدی Declare استفاده کنیم. بعنوان مثال : Declare @myname varchar(50)
متغییر @myname از نوع کارکتری پویا تعریف میکند.
۴- برگرداندن کد خطا : بدین منظور از دستور return @@Error
گرچه هرمقداری را که بخواهیم می توانیم با دستور return برگردانیم.
۵- تعریف پارامترها که مقداری را برمی گردانند : برای این منظور هنگامی که پارامتر را در ابتدای پروسیجر تعریف میکنیم بعد از نوع آن از کلمه کلیدی output می کنیم بعنوان مثال :
create Stored Procedure Employees_BROWSE2
(@StartDate char(10) , @EndDate char(10) , @pp varchar(10) output)
As
۶- مقدار دهی به متغییرها : به دو روش می توانید این کار را بکنید یکی با دستور Set و دیگری با دستور Select .
۷- دستورات شرطی :مانند دیگر زبانها شما می توانید در Sql دستورات شرطی را بکار ببرید. ساختار آن به شکل زیر است :
If شرط then دستور
If شرط then
Begin
دستور۱
دستور۲
…
end
مثال :
If @Sdate > @Edate set @newDate = @Sdate
۸- دستور Set NOCOUNT on : این دستور از نوشت تعداد سطرهای برگردانده شده توسط دستورات جلوگیری میکند. کاربرد مهم آن زمانی است که شما چند کار را پشت سرهم در SP انجام میدهید. مثلا یک جدوی موقت میسازید و سپس از آن یک تعدادی از فیلدها را با دستور Select انتخاب می کنید. اگر این دستور را در ابتدای SP استفاده نکتید , هنگامی که میخواهید از آن SP در یک زبان برنامه نویسی استفاده کنید با خطای SP هیچ dataset ی برنمی گرداند مواجه خواهید شد.
تذکر۱ : شما می توانید یک SP را در یک SP دیگر فراخوانی کنید. برای این منظور همانطور که قبلا گفته شد از دستور exec استفاده نمایید.
تذکر ۲ : با دستور exec شما می توانید یک دستور sql را نیز اجرا کنید. این کار زمانی بکار می آید که دستور مورد نظر پویا و متغیر باشد.
مثال :
Exec (“ select * From Employees Where “+@Shart)
این شرط میتواند بر اساس فیلدهای بانک تولید گردد.
مثال : یک SP بنویسید که اختلاف تعداد سفارشاتی که فیلد ShipCountry آنها France یا German باشد. را برگرداند ؟
create Stored Procedure Order_France_German ( @Outp int output)
as
declare @Count_France int , @Count_German int
select @Count_France = Count(*)
from orders
where ShipCountry = France
select @Count_German = Count(*)
from orders
where ShipCountry = German
if @Count_France is null set @Count_France = 0
if @Count_German is null set @Count_German = 0
set @outp = @Count_France – @Count_German
بازدید
بازدید
بازدید
بازدید
بازدید
۱- مقدمه
انتشار اطّلاعات در اینترنت، تبدیل به یکی از مهمترین فعالیتها در زندگی ما شده است. با این حال، بسیاری از سیستم های موجود اغلب از تأخیرهای طولانی مدّت تجربه شده توسط مراجعه کنندگان خصوصاً در ساعات پیک رنج می برند.
یک ایده کلیدی برای حل این مشکل، فراهم کردن سرورهای تکرار شده در محل های متفاوت برای کاهش تعداد عملیاتهای بازیابی شیء در فواصل زیاد و متعادل کردن بار سایت های پرطرفدار می باشد. این کار هزینه را کاهش داده و زمان کلی پاسخگویی در شبکه را ارتقاء می دهد. بسیاری از الگوریتم ها برای تکرار شیء ظرف سالهای گذشته پیشنهاد شده اند. با این حال بسیاری از آنها توجه کمّی به ظرفیت سرور در طی جاگذاری تکرار برای تضمین بار کافی محاسبه شده مجموع تحمیل شده به یک سرور خاص از مجموع ظرفیت محاسبه ای آن بیشتر نشود، داشته اند.
در [۱۰] لی و همکاران، اعلام کردند که قرار دادن پروکسی های وب، برای عملکرد وب حیاتی بوده و سیاست بهینه جاگذاری پروکسی ها برای سرور وب هدف در اینترنت برای یک محیط فقط خواندنی را بررسی کردند. آنها نشان دادند که مسأله را می توان به عنوان یک مسأله برنامه نویسی پویا، الگوسازی کرد و از این تکنیک برای بهینه سازی مدّت زمان کلی دستیابی به سرورهای وب استفاده کردند. آنها یک الگوریتم با پیچیدگی زمانی (M3n2) پیشنهاد کردند که در آن M اندازه درخت و n تعداد پروکسی هاست.
کیسو و همکارانش مسأله قرار دادن پروکسی های متعدد تکراری در یک شبکه را به عنوان یک مسأله بهینه سازی فرمولیزه کردند. آنها نشان دادند که –NP کامل می باشد و تعدادی از استدلال ها را از نظر معاوضه های بین هزینه و پیچیدگی های الگوریتم مقایسه کردند. سپس آنها چند الگوریتم جاگذاری را ایجاد کردند که از اطّلاعات بار کاری مانند اختفای مراجعه کننده و میزان درخواست برای انجام تصمیمات آگاهانه در مورد جاگذاری استفاده کردند.
نوآوری رویکردی که در این فصل در پیش می گیریم این است که در زمان تصمیم گیری در مورد محل قرار دادن موارد تکثیر شده و میزان تکرارها، ما ظرفیت سرور را یکنواخت محسوب می کنیم. این محدودیت بسیار مهم است زیرا میانگین تعداد درخواستهای ارائه خدمات شده توسط یک المثنی u بر میانگین زمان پاسخی که گره ها توسط مشاهده گر u خدمات دهی می شوند، تأثیر می گذارد. به علاوه در انواع خاصی از برنامه های پرطرفدار مبتنی بر وب، من جمله تصویر و ویدئو در زمان تقاضا، قرار دادن یک کپی از سیستم نرم افزار مناسب، مثلاً یک DBMS یا یک سیستم GIS برای خدمات دهی درخواستهای خواندن و نوشتن به همراه هر کپی از شیء، اغلب ضروری است. با این حال در بسیاری از موارد چنین سیستم هایی محدودیتهایی را برای کاربران همزمان اعمال می کنند. عملکرد سیستم در چنین موقعیتهایی را می توان با مدنظر قرار دادن بارها و محدودیتهای ظرفیت گره ها به طور قابل ملاحظه ای ارتقاء داد. به علاوه شبکه منبع اطّلاعات مولتی مدیای زیادی می شود و ارسال فایل های بزرگ برای کاربران همانند فیلم، انتظار می رود که یکی از شروط شبکه نیازمند به ظرفیت پهنای باند بالا باشد. این کار ارائه کنندگان خدمات را تشویق می کند تا زمان مد نظر قرار دادن ظرفیت گره های سرور و همچنین ظرفیت لینک ها، خدمات ارسال را بهینه سازی کنند.
مدل سیستم
شبکه از تعدادی از سایت های به هم پیوسته توسط یک شبکه ارتباطی تشکیل شده است. اشیاء می توانند در تعدادی از سایت ها تکثیر شوند از طریق گروه فرآیندها به نام المثنی که در محل نسخه دوم اجرا می شوند، کنترل می شوند. توپولوهای شبکه به وسیله یک گراف G=(V,E) نمایش داده می شود که در آن u مجموعه رئوس (یا گره ها) بوده و نشان دهنده سرورهای وب یا پروکسی ها است (n=|v| مجموع تعداد گره ها E مجموع لبه ها بوده و نشان دهنده لینک های فیزیکی متصل کننده سرورها و پروکسی ها است.) یک شیءِ درخواست شده توسط مراجعه کننده C و قرار گرفته در سرور S، از طریق یک مسیر sr1r2 …rn c به نام مسیر ترجیع داده شده توسط حرکت می کند. این مسیر از توالی گره ها با مسیرهای متناظر آن تشکیل شده است. مسیرها از S به مراجعه کننده های مختلف، یک درخت مسیریابی تشکیل می دهند که در طول آن درخواستها منتشر می شوند. متعاقب آن برای هر سرور وب S، یک درخت پوشای T، ریشه دارنده در S را می توان ساخت تا درخت مسیریابی را نشان دهد و کل شبکه را می توان به عنوان مجموعه ای از چنین درختهای پوشا نشان داد که هر کدام در یک سرور وب معلوم مسیریابی شده اند.
از آنجا که یک شیء از S به C توسط گره های مسیر ترجیح عبور می کند، در صورتی که درخواست توسط یکی از گره های داخلی در مسیر سرویس دهی شود، می تواند مفید باشد. در حقیقت هر چقدر داده ها در عدد به C نزدیکتر باشند، مزیت های آن بیشتر است.
۳- الگوریتمی برای قرار دادن بهینه پروکسی ها در شبکه های درختی
پروکسی های مورد بحث قرار گرفته در این تحقیق، پروکسی های شفاف بوده یعنی در طول مسیرها از مراجعه کنندگان به یک سرور وب مسیریابی شده اند و برای مراجعه کنندگان شفاف می باشند. قرار دادن مؤثر پروکسی ها منجر به سرویس دهی بیشتر به درخواستهای مشتری در پروکسی ها بدون وادار کردن آنها به حرکت بیشتر در سرور می شود. برای تعریف رسمی مسأله قرار دادن مجموعه ای از پروکسی ها در یک شبکه درختی با قرار دادن ظرفیت سرورها به عنوان یک محدودیت، تعریف زیر را معرفی می کنیم.
تعرف ۱٫ یک مجموعه اسکان، گراف، مجموعه ای از رئوس می باشد که در آن کپی هایی از شیء قرار داده می شود. حداقل مجموعه محل اسکان یک مجموعه محل اسکان است که حداقل هزینه (مثلاً حداقل زمان میانگین زمان پاسخ) را در بین تمام مجموعه های محل اسکان در گراف ارائه می کند. یک مجموعه محل اسکان n مینیمم، یک مجموعه محل اسکان مینیمم حاوی n رأس است.
اکنون اگر d(u,v) فاصله بین هر دو گره v , u در شبکه درختی باشد که مساوی با طول کوتاهترین مسیر، بین v , u می باشد. به عبارت دیگر، طول درخت که در آن درخواست ها منتشر می شوند. در نتیجه برای هر سرور وب S، یک درخت پوشای T، کار گذاشته شده در S می تواند ساخته شود تا درخت مسیریابی را توصیف کند (شکل ۱ را ببینید). و وب کلی باید به شکل مجموعه ای از این درختهای پوشا نشان داده شود که هر کدام در یک سرور وب مشخص مسیریابی می شوند.
از آنجا که یک شیء از S تا C از گره های مسیر ترجیحی عبور می کند، اگر درخواست توسط یکی از گره های داخلی سرویس دهی شود، سودمند و مقرون به صرفه خواهد بود. در حقیقت اطّلاعات و داده ها در به C نزدیکتر است و مزایا و فواید بیشتری دارد.
(۱)
P(V,S) را اوّلین پروکسی می گیریم که در حالیکه از V به S در درخت Ts حرکت می کند با درخواست مواجه می شود. ما P(V,S) را پروکسی مطلوب می گیریم. این می تواند خود V باشد اگر V یک پروکسی باشد، یا S باشد اگر هیچ پروکسی در طول راه به طرف سرور ریشه درگیر نشود. fv را توالی دسترسی از مشتری V به سرور S در طول یک دوره زمانی می گیریم. دوره میان دو درخواست الگوریتم جاگذاری پروکسی- و بار تحمیل شده بر پروکسی P(V,S) است توسط گره V. اگر P برنامه تکرار باشد (مجموعه پروکسی ها برای درخت Ts که همراه با عملکرد P(V,S) است) آنگاه فاصله کل برای دسترسی به پروکسی ها چنین است و هزینه کلی دسترسی به اطّلاعات از این طریق به دست می آید:
(۲)
هر گره V دارای پروکسی مطلوب چنین است U=P(V,S) که یک بار را بر u تحمیل می کند. را یک بردار می گیریم که ظرفیت های تمام گره ها را در درخت ذخیره می کند و Kv، ظرفیت گره باشد.
با محدودیت در ظرفیت مجموع گره های دارای پروکسی مطلوب u، نباید بار بیشتر از ظرفیت Kvیِ u تحمیل شود.
اگر آنگاه نابرابری همیشه باید وجود داشته باشد.
اکنون برای یک تعداد ثابت از پروکسی ها، که به این شکل بیان می شود: ، اجازه دهید تا مجموعه محل اسکان مینیمم R را پیدا کنیم که هزینه را بر حسب زمان در درخت TS، کاهش می دهد با توجه به ظرفیتی که پروکسی ها را محدود می سازد. بنابراین مشکل کم می شود با هزینه دسترسی به طوری که مشروط به: (۳)
در کل، مسأله جاگذاری نسخه ها در درخت در زمان محدودیت بر ظرفیت گره ها، یک مسأله تکمیلی NP است[۸]. امّا وقتی ما به پروکسی ها توجه می کنیم در جایی که جهت درخواستهای خواندنی همیشه به طرف سرور هدف است، مسأله دیگر تکمیل NP نیست.
شکلهای ۲b , 2-a، تقسیم Tv به سه درخت فرعی را نشان می دهند. مسأله اصلی، تقسیم مسأله به مسایل فرعی در مقیاس های کوچک است. به همین دلیل ما نیاز به تقسیم بندی بیشتر Rv,u، به درخت های فرعی کوچکتر داریم. برای هر ، چنین می گوییم:
y} در سمت چپ قرار دارد و
خاصیت تکرار شدن راه حل، ، معادله ۳، برای حاصل های Tv به کار می رود.
۱-۳- الگوریتم مورد نظر
درخت Ts قرار گرفته در S با مجموعه V و رئوس را در نظر بگیرید. فرض کنید که بجه هر رأس بدون برگ از چپ به راست قرار گرفته است به طوری که با داشتن هر کدام از دو خواهر V , U، می توانیم مشخص کنیم که U در سمت چپ V است یا برعکس. به طور کل، با داشتن y , x در Ts، گفته می شود که X در سمت چپ X قرار می گیرد اگر U,V وجود داشته باشد به طوری که ، و v , u با u خواهر هستند که در سمت چپ v قرار دارند. به ازاءِ ، Tv درخت فرعی Ts است که در v قرار گرفته است. به ازاءِ هر ، ما می توانیم Tv را به ۳ درخت فرعی تقسیم کنیم (شکل ۲ را ببینید):
• درخت فرعی Lv,u شامل تمام گره های سمت چپ u می باشد.
• درخت فرعی شامل تمام گره ها در Tu است.
• درخت فرعی .Rv,u شامل بقیه گره هاست.
به شکل منظم داریم:
• x} سمت چپ u است:
• درخت فرعی Tv قرار گرفته در Tu=u
•
به شرط اینکه
(۴)
در اینجا ، هزینه دسترسی مینیمم به دست آمده با جاگذاری n پروکسی در Tv. بردار ظرفیت باری گره ها در Tv به دست می آید. وقتی n=1 باشد، پروکسی همیشه در ریشه v قرار دارد. وقتی n>1 باشد، همیشه یک گره u پیدا می کنیم، که بیان می کند:
• یک پروکسی در u قرار گرفته است.
• در Lv,u هیچ پروکسی قرار نگرفته.
• هیچ پروکسی در قرار نگرفته
که کوتاه ترین مسیر میان گره های v,u است بدون در نظر گرفتن v,u.
با فرض اینکه Tv در گره u تقسیم شده و اینکه پروکسی های در Tu جاگذاری شده اند، ، آنگاه پروکسی های در Rv.u قرار داده شده اند. بنابراین می توانیم بنویسیم: فرمول ها در متن (۵) و (۶) برای تمام پروکسی های n، ما نیاز داریم تا تمام محل های تقسیم بندی و تمام مقادیر ممکن را پیدا کنیم. به طور تکراری ما پروکسی ها را در Tu و Rv,u می گذاریم، به همان روشی که در Tu قرار دادیم. بنابراین روش برنامه ریزی دینامیک می تواند از طریق معادلات زیر فرمول بندی شود:
(۷) فرمول در متن
(۸) فرمول در متن
در معادله (۷)، ثابت است و مساوی با هزینه کل دسترسی به گره v از تمام گره ها در Lv,u می باشد. این هزینه غیرمشخص است اگر بار کلی گره ها در Lv,u بیشتر از ظرفیت Kv گره v باشد.
به طور مکرر در Tv تعیین شده با ظرفیت محدود کننده مربوط به گره های . Rv,u به ، و در اطراف گره ، جایی که یک پروکسی گذاشته شده است، تقسیم شده است. ظرفیت محدود کننده Rv,u نسبت به پروکسیv، ظرفیت است که با کسر از Kv، بار کلی تحمیل شده بر v از طرف گره ها در Lv,u به دست آمده است.
۴- تجزیه تحلیل عملکرد
یک شبیه ساز مشتق شده از پیشامد برای ارزیابی عملکرد الگوریتم مورد نظر ما ایجاد شده است. درخواست ها در یک گره مشخص از یک مجموعه معین از مشتری ها می رسد، هر مشتری x دارای یک میزان درخواست مشخص است بر اساس درجه اش یعنی . (این نظریه چنین است که مشتریان را طبق تکرار درخواست آنها درجه بندی می کند. در شبیه سازی ما به هر مشتری یک درجه تصادفی داده می شود). ما فرض می کنیم که میزان درخواست از مشتری x درجه iام، یک توزیع ZipF [3] را دنبال می کند.
(B نزدیک ۱ است). میزان درخواست، تکرار درخواست هاست که از طرف مشتری x صورت می گیرد. فاصله d(c,v)، دو گره را جدا می سازد یعنی v,u و ظرفیت هر گره در شبکه نیز به طور تصادفی ایجاد شده است. وقتی که درخت ایجاد می شود و پارامترهای ورودی مختلف ایجاد می شوند الگوریتم مورد نظر، برای تعیین جاگذاری بهینه که کمترین اختفا را ایجاد می کند و به طرفیت محدودکننده گره ها توجه می کند، به کار می رود.
ما عملکرد الگوریتم مورد نظرمان (بعد از این به الگوریتم ۱ برمی گردد) را با یک الگوریتم که شبیه به مال ماست و بر اساس تکنیک DP ایجاد شده امّا توجهی به تحمیل هیچگونه ظرفیت محدودکننده بر سرورهای پروکسی نمی کند (بعد از این با عنوان الگوریتم ۲ نامیده می شود) مقایسه می کنیم. ما همچنین به یک الگوریتم که پروکسی ها را در شبکه قرار می دهد با روشی ساده و بی تجربه، یعنی بدون محاسبه ظرفیت سرورها و هزینه کل جاگذاری، توجه کرده ایم. (از این به بعد با عنوان الگوریتم ۳ نامیده می شود). الگوریتم ۳ به عنوان یک بسترست برای تخمین ارتقاءِ خاصی که روش تعیین جای پیشنهاد شده ما نسبت به قرار دادن پروکسی ها به صورت تصادفی ارائه می کند، گنجانده شده است.
شکل ۵ نتایج اختفا برای خدمات دهی به یک درخواست به عنوان تابعی از تعداد پروکسی ها در شبکه ها برای سه الگوریتم را نشان می دهد. اختفا برای هر مشتری با ضرب کردن فرکانس و هزنه ارتباط تعیین می شود. میانگین اختفا سپس در تمام مشتریان محاسبه می شود. نتایج شبیه سازی برای شبکه ای از هزار گره اندازه که در آن تعداد پروکسی ها بین ۳۰ تا ۱۰۰ بوده است انجام شد. دیده شد که نتایج در فرمانی که دیگر اندازه های شبکه مد نظر قرار گرفته. تغییر زیادی نکرده است. رقم نشان می دهد که وقتی تعداد پروکسی ها کم باشد (کمتر از ۸ درصد) میانگین اختفا در الگوریتم۱، کمتر از الگوریتم های ۲ و ۳ است، با این حال با افزایش تعداد پروکسی ها مزیت های عملکردی الگوریتم ۱ کاهش می یابد. این را می توان با این حقیقت توضیح داد که وقتی تعداد زیادی پروکسی وجود دارد، توزیع پروکسی ایجاد شده در هر دو الگوریتم شبیه بوده و کمتر احتمال دارد که از ظرفیت پروکسی فراتر روند. در نتیجه هرگونه تعیین جای بهینه ایجاد شده توسط الگوریتم ۱ را می توان به طور قابل مقایسه با آنچه که توسط الگوریتم ۲ ایجاد شده است منطبق کرد. در مقابل، آن طور که انتظار می رود، میانگین اختفا برای رویکرد تصادفی (الگوریتم ۳) همیشه بالاتر است. با افزایش تعداد پروکسی ها اختفا کاهش می یابد امّا با سرعت کمتر، این موضوع با کاهش جزیی در اختفا با افزایش پروکسی ها از ۳۰ به ۱۰۰، در شکل ۶ نشان داده شده است.
شکل ۶٫ نتایج عملکرد در زمانی که میزان درخواست N در ۳ الگوریتم متفاوت است را نشان می دهد. ما با درخواست/ثانیه ۳۰=N شروع کرده و آن را افزایش می دهیم تا به ۱۵۰ درخواست/ثانیه برسیم. اندازه شبکه و تعداد پروکسی ها به ترتیب ۱۰۰۰ و ۶۰ تعیین شده است. وقتی میزان درخواستها پایین است، الگوریتم ۲ از الگوریتم ۱ عملکرد بهتری دارد. با افزایش بیشتر میزان درخواست، الگوریتم ۱ نسبت به الگوریتم ۲ عملکرد بهتری ارائه می کند.
این روند برای تمام مقادیر N بیشتر از ۷۰ درخواست/ثانیه ادامه پیدا می کند. این را می توان با این واقعیت که در ابتدا تعداد درخواستها کم و بار روی سرور پایین است، توضیح داد. بنابراین زمان ارتباط از مدت زمانی که یک درخواست منتظر می ماند تا در یک سرور پروکسی خدمات دهی شود، مهمتر است و در نتیجه الگوریتم ۲، اختفای پایین تری ارائه می کند. با این حال وقتی میزان درخواست از ۷۰ درخواست/ثانیه بیشتر می شود، الگوریتم ۱ مزیت عملکردی شفاهی نسبت به الگوریتم ۲ به نمایش می گذارد. این به خاطر آن است که بار سرورها با افزایش صفحه ها در سرور، حیاتی می شود و زمان انتظار یک عامل تعیین کننده در مجموع خدمات دهی به یک درخواست می شود. در تمام موارد، الگوریتم ۳ بدترین عملکرد را به نمایش می گذارد. با افزایش درخواست ها، اختفا در این الگوریتم به شیوه ای یکنواخت افزایش می یابد.
شکل ۷، نتایج را زمانی که اندازه شبکه متفاوت بوده و در عین حال تعداد مشابهی از پروکسی ها (۶ درصد اندازه شبکه) را حفظ می کند را نشان می دهد. الگوریتم ۱ به طور مرتب برای تمام اندازه های شبکه بررسی شده، عملکرد بهتری نسبت به الگوریتم ۲ دارد، با این حال هر دو الگوریتم نشان می دهند که میانگین اختفا، چندان تحت تأثیر اندازه شبکه قرار نمی گیرد (به خاطر داشته باشید که ما از درصد مشابهی از پروکسی ها نسبت به اندازه شبکه استفاده می کنیم. با بزرگتر شدن اندازه سیستم، تنها یک افزایش جزیی در میانگین اختفا اتفاق می افتد. این را می توان به توپولوژی شبکه اختصاص داد. برای الگوریتم ۳، میانگین اختفا نسبت به الگوریتم ۱ و ۲ برای تمام اندازه ها بیشتر است و یک افزایش قابل توجه با اندازه سیستم وجود دارد.
نتیجه گیری ها
این مقاله، مسأله تعیین جای سرور پروکسی با محدودیت های ظرفیت گره در یک محیط شبکه فقط خواندنی را بررسی کرد. نشان دادیم که وب می تواند فقط به عنوان مجموعه ای از درختهای ریشه گرفته در سرورهای هدف، الگوسازی شود تا تعیین جای بهینه پروکسی های m در یک شبکه درختی متشکل از n گره را تکثیر و تعبیر کند. رویکرد برنامه نویسی پویا برای الگوسازی مصرف و پیشنهاد کردن الگوریتمی که پروکسی ها را در یک شبکه درختی قرار می دهد مورد استفاده قرار گرفته است. نتایج حاصل از آزمایش شبیه سازی نشان داده که مد نظر قرار دادن ظرفیت سرورها، الگوریتم پیشنهاد شده را قادر می سازد تا از نظر دستیابی به زمان پاسخ کمتر در سطح مراجعه کننده نسبت به الگوریتم مشابهی که ظرفیت سرور را نادیده می گیرد، ویژگی های بهتری را به نمایش می گذارد. الگوریتم پیشنهاد شده همچنین مزیت های عملکردی بهتری را نسبت به رویکرد ساده ای که پروکسی ها را به شیوه ای تصادفی تکثیر می کند، به نمایش می گذارد. یک بسط آتی احتمالی در این کار می تواند مد نظر قرار دادن توپولوژی اینترنت واقعی با استفاده از رگه های داده های واقعی به جای داده های به صورت تصادفی شبیه سازی شده باشد. مقایسه عملکرد این الگوریتم با الگوریتم های دیگر انجام خواهد شد و ارزیابی واقعی تری از الگوریتم در یک مقیاس اینترنت ارائه خواهد شد.
بازدید
فصل اول
سیستم های مدیریت محتوی (cms)
دنیای امروز دنیای اطلاع رسانی است. در صحنه رقابت تنگاتنگی که امروزه بین شرکتها و موسسات وجود دارد، یکی از اصول اولیه برای بقا و پیشرفت اطلاع رسانی صحیح و لحظه به لحظه است. واضح است که اولین وسیله ارتباطی و اطلاعاتی در عصر حاضر شبکه جهانی اینترنت میباشد. تقریبا هیچ شرکت یا موسسه ای را در دنیا نمیتوانید پیدا کنید که در زمینه کاری خود موفق باشد بدون اینکه از طریق وب سایت اینترنتی خود را به دیگران معرفی کرده باشد. با توجه به اهمیت بالایی که پایگاه های اینترنتی در دنیای تجارت دارند،معمولا مدیران ارشد شرکتها تمایل دارند خود شخصا بر محتویات آن نظارت داشته باشند این در حالی است که آنان معمولا فاقد دانش فنی در مورد نحوه طراحی و تولید و ایجاد تفکرات در یک سایت اینترنتی هستند. در این موارد سیستم مدیریت محتوا میتواند بهترین راه حل باشد. سیستم مدیریت محتوا CMS چیست؟ این سیستم ها که امروزه در وب به نام CMS شناخته میشوند مخفف Content Management System میباشند که یک برنامه نرم افزاری روی سرور هستند و به مدیر سایت اجازه میدهند تا بدون نیاز به طراحی دوباره سایت محتوای سایت را تغییر دهد. سیستم مدیریت محتوای سایت این امکان را به شما میدهد خودتان سایت خود را تولید کرده و آن را به طور کامل مدیریت نمایید و برای این امر نیاز به دانش تخصصی در این زمینه ندارید. با استفاده از این نرم افزار بسیار ساده تر از آنچه تصور کنید میتوانید بخشهای مختلف سایت خود را مدیریت کنید بخشهای جدید ایجاد کرده و به سایت خود اضافه کنید و یا محتویات آنها را تغییر دهید. برای این منظور حتی لازم نیست اطلاعات را مجددا بر روی وب سرور خود بارگذاری کنید. کلیه این تغییرات بلافاصله پس از آنکه دستور تغییر وارد میشود اعمال میشوند همه چیز بسیار ساده تر از آنچه شما تصور میکنید انجام خواهد شد. چرا شما یک CMS لازم دارید؟ اگر سایت شما هر چند وقت یکبار به روز میشود میتوانید بجای اینکه هر بار به یک شرکت طراحی وب مراجعه کنید خودتان با استفاده از برنامه های مدیریت محتوا تغییراتتان را روی سایت اعمال کنید.
مزایای سیستم های مدیرت محتوا
چیست و چگونه می توان آنها را به طور موفق پیاده سازی کرد؟ برای روشن شدن معنای عبارت «مدیریت محتوا» باید گفت توصیف آن وابسته به نیازمندی های سازمان دارد و یا این که ارائه دهنده CMS چه امکاناتی را فراهم آورده است، در حال حاضر هدف و یا استاندارد مشخصی برای سیستم های مدیریت محتوا وجود ندارد که بتواند نیازهای متنوع مطرح شده موجود در صنعت IT مرتبط با سازمان ها را پوشش دهد.
بنابر این عامل موفقیت در اجرا و پیاده سازی یک سیستم مدیریت محتوا می تواند راهاندازی و ارزیابی کامل یکی از کاربردهای مشخص تجاری سازمان با فرآیند های مشخص موجود سازمان باشد. به عنوان مثال می تواند گردش اسناد رسیدگی به درخواست های مشتریان یا فرایند پرداخت حقوق و مطالبات بیمه ای یا فرآیند گردش حساب های پرداختنی یا هر فرآیند شناخته شده دیگر سازمان باشد. یکی از این فرآیندها را بتوانید پیاده کنید می توانید راحتتر در مورد انتخاب سیستم مدیریت محتوا تصمیم بگیرید. تا سیستم پیاده شده نزدیکترین وضعیت را به فرایندها و کاربردهای سازمان داشته باشد. سرانجام باید گفت که اجرای موفق باید مزایای تجاری برای سازمان در برداشته باشد.
آنهایی که توانسته اند سیستم های مدیریت محتوا را موفق اجرا کنند مزایای پایه ای این سیستم را چنین بیان می کنند:
– بهبود کارآیی تجاری
– کاهش هزینه های عملیاتی و اجرایی
– سرعت بخشیدن به رسیدگی به اعتراضات و نارسائی ها
– ارائه وسیعتر کالا و خدمات
– کاهش میزان ریسک
بنابر این با ارزیابی آگاهانه و دقیق و ارای راه حلی که نیازهای تجاری را پوشش دهد، سازمان خواهد توانست به افزایش تولید، رضایت مشتری و سود دهی مناسب دست یابد. ایا سیستم های مدیریت محتوای تحت وب برای سازمان های با توانایی مالی کم نیز وجود دارد؟ در مطرح کردن این سئوال قدری تامل کنید.
شیوههای مختلف ارزیابی cms ها
شیوههای مختلفی برای ارزیابی cmsها وجود دارد، هزینه ریالی اجرای سیستم فقط یک وجه ارزیابی است. شما باید هزینه نبودن آن را نیز برطرف کنید. برای این منظور سوالات زیر را برای خود مطرح کنید و در پاسخ به آنها به این نکته توجه داشته باشید که، کل دانش سازمان از اطلاعات پایگاه داده گرفته تا آنچه کارمندان به عنوان دانش و مهارت میدانند، سرمایه و دانش فنی سازمان را تشکیل میدهد. در دسترس نبودن اطلاعات ذر سطوح مختلف سازمان چقدر هزینه، یا عدم سود دهی دارد؟ ریسک استفاده از اطلاعات قدیمی و نادقیق روی وب سایت و فرآیندهای در گردش سازمان چقدر است؟ هزینه بیمه شدن در مقابل این ریسکها چقدر است؟ اگر مدیر IT یا مدیر سایت اینترنتی شما نباشد، چگونه میتوانید اطلاعات قدیمی و نادقیق را تصحیح و جایگزین کنید.؟ با سرمایهگذاری نامناسب، همه این موضوعها از طریق یک cms که موفق اجرا شود پوشش داده میشود.
گرچه ممکن است هزینه اولیه آن بالا به نظر برسد ولی سریعاً جایگزین خواهد شد. امروزه راهاندازی و راهبردی سایتهای وب درگیر شدن با کد HTML نیست. ابزارهای CMS همه فرایند را خودکار سازی میکنند و بدون دانستن تکنولوژی صفحات وب میتوانید بدون در نگرانی و تاخیر همیشه اطلاعات بروز ارائه دهید.
در نهایت، این تصویر شما است که افزایش سوددهی سازمان را در مقابل هزینههایی که برای CMS میبینید تحقق خواهد بخشید. بنابراین با وجود آگاهی از این حقیقت که حجم و تعداد مستندات الکترونیک! افزایش روز افزون غیر قابل تصور دارند، CMS ها با هر تعریفی جزء ابزارهای مهم و کارآمد صنعت IT خواهند بود. میتوانید با اطمینان در زمینههای CMS سرمایهگذاری کنید، چرا که میزان فروش سیستمهای مدیریت محتوا در سطح دنیا در سالهای ۲۰۰۰ تا ۲۰۰۳ با ۳۵ درصد افزایش ، ۳ میلیارد دلار بوده است. استفاده از CMS به جای روش قدیمی صفحات ثابت از لحاظ تجاری و اقتصادی مزایای بسیار زیادی دارد از جمله:
• صرفهجویی در زمان برای ایجاد و بروزرسانی صفحات وب
• سازگاری و استحکام بیشتر
• راهبردی (navigation) پیشرفته
• کنترل نامتمرکز سایت
• امنیت بالاتر وب سایت
• کاهش ورود اطلاعات تکراری
• کاهش چشمگیر هزینههای نگهداری
قابلیتهای لازم برای یک CMS
در زیر برخی قابلتیهایی که برای یک CMS لازم است و حتماً قبل از اتخاذ تصمیم نهایی برای استفاده از آن باید در نظر گرفته شود آمده است:
• چه سرویسها و خدماتی ارائه میکند، مثلاً برای تهیه backup مرتب از مطالب
• محدودیتهای سختافزاری و شبکه
• سیستمهای عاملی که CMS با آنها سازگار است.
• از چه web- serverهایی پشتیبانی میکند؟
• آیا بازدید کنندگان سایت شما، نزمافزار یا plug- in دیگری نیاز دارند؟
• CMS از چه مرورگرهایی پشتیبانی میکند؟
• امکان ورود و خروج اطلاعات از سیستم به برنامه دیگر چگونه است؟
• راهنما و document های ارائه شده چقدر نیاز شما را برای تماس با بخش پشتیبانی کاهش میدهد؟
• آیا شرکت پشتیبانی ۲۴ ساعته و موثر برای مشکلات احتمالی دارد؟
• آیا قابلیت جستجوی مطابل برای بازدیدکننده وجود دارد؟
• چه تضمینی برای امنیت مطالب شماو قابلت کنترل غیر متمرکز را دارد؟
• امکان تغییر واسط کاربری با طرح گرافیکی به راحتی وجود دارد؟
• آیا امکان ثبت سوابق وب سایتlogging وجود دارد؟
چرا شمایک CMS لازم دارید؟
اگر سایت شما هر چند وقت یکبار (مثلاً هز دو هفته) به روز میشود میتوانید به جای اینکه هر بار به یک شرکت طراحی وب مراجعه کنید، خودتان با نصب یکی از این برنامههای مدیریت محتوا، تغیراتتان را روی سایت اعمال کنید.
اگر شما سایت خود را اصلاً بروز نمیکنید، باید کم کم به فکر بیافتید، چون بینندههای شما وقتی هیمشه با یک صفحه همیشگی روبهرو شوند کم کم شما را فراموش میکنند، چون چیز جدیدی برای عرضه ندارید.
یک CMS چه امکاناتی دارد؟
طیف وسیعی از امکانات اکثراً CMS ها در ورژنهای مختلف و با قابلیتهای مختلف در بازار عرضه میشوند. البته قابلیت بروز کردن اطلاعات در همه مشترک است اما قابلیتهای ویژه دیگری دارند که با قیمتهای مختلف به شما پیشنهاد میدهند. از جمله:
۱- مدیریت اطلاعات فرستاده شده توسط کاربران و تایید اطلاعات
۲- چند زبانه بودن.
۳- ایجاد نقشه سایت داینامیک
۴- امکان ایجاد تجارت الکترونیک با فروشگاه مجازی
۵- ایجاد فرم برای دریافت اطلاعات کاربران
۶- بهینه سازی تصاویر آپولود شده
۷- ایجاد و بروز کردن متاتگ ها
۸- امکان جستجو در مطالب سایت.
۹- امنیت بیشتر
۱۰- گرایش آمار بازدید ازصفحات
۱۱- و …
CMSهای اطلاعاتی
این سیستمها معمولاً کار طراحی صفحات سایت است. امکاناتی که این سیستمها دارند تقریباً به شرح زیر است:
۱- امکان فرستادن اطلاعات به سایت توسط چند کاربر .
۲- آرشیوبندی اتوماتیک اطلاعات بر اساس تاریخ و موضوع
۳- ایجاد امکان جستجو در اطلاعات قبلی
۴- ایجاد لینک دائم برای هر مطلب و متا تگ برای آن
۵- و امکانات جانبی دیگر مثلاً ایجاد یک صفحه به عنوان لینکستان و …
مزایای سیستم های مدیرت محتوا
چیست و چگونه می توان آنها را به طور موفق پیاده سازی کرد؟ برای روشن شدن معنای عبارت «مدیریت محتوا» باید گفت توصیف آن وابسته به نیازمندی های سازمان دارد و یا این که ارائه دهنده CMS چه امکاناتی را فراهم آورده است، در حال حاضر هدف و یا استاندارد مشخصی برای سیستم های مدیریت محتوا وجود ندارد که بتواند نیازهای متنوع مطرح شده موجود در صنعت IT مرتبط با سازمان ها را پوشش دهد.
بنابر این عامل موفقیت در اجرا و پیاده سازی یک سیستم مدیریت محتوا می تواند راهاندازی و ارزیابی کامل یکی از کاربردهای مشخص تجاری سازمان با فرآیند های مشخص موجود سازمان باشد. به عنوان مثال می تواند گردش اسناد رسیدگی به درخواست های مشتریان یا فرایند پرداخت حقوق و مطالبات بیمه ای یا فرآیند گردش حساب های پرداختنی یا هر فرآیند شناخته شده دیگر سازمان باشد. یکی از این فرآیندها را بتوانید پیاده کنید می توانید راحتتر در مورد انتخاب سیستم مدیریت محتوا تصمیم بگیرید. تا سیستم پیاده شده نزدیکترین وضعیت را به فرایندها و کاربردهای سازمان داشته باشد. سرانجام باید گفت که اجرای موفق باید مزایای تجاری برای سازمان در برداشته باشد.
آنهایی که توانسته اند سیستم های مدیریت محتوا را موفق اجرا کنند مزایای پایه ای این سیستم را چنین بیان می کنند:
– بهبود کارآیی تجاری
– کاهش هزینه های عملیاتی و اجرایی
– سرعت بخشیدن به رسیدگی به اعتراضات و نارسائی ها
– ارائه وسیعتر کالا و خدمات
– کاهش میزان ریسک
بنابر این با ارزیابی آگاهانه و دقیق و ارای راه حلی که نیازهای تجاری را پوشش دهد، سازمان خواهد توانست به افزایش تولید، رضایت مشتری و سود دهی مناسب دست یابد. ایا سیستم های مدیریت محتوای تحت وب برای سازمان های با توانایی مالی کم نیز وجود دارد؟ در مطرح کردن این سئوال قدری تامل کنید.
شیوههای مختلف ارزیابی cms ها
شیوههای مختلفی برای ارزیابی cmsها وجود دارد، هزینه ریالی اجرای سیستم فقط یک وجه ارزیابی است. شما باید هزینه نبودن آن را نیز برطرف کنید. برای این منظور سوالات زیر را برای خود مطرح کنید و در پاسخ به آنها به این نکته توجه داشته باشید که، کل دانش سازمان از اطلاعات پایگاه داده گرفته تا آنچه کارمندان به عنوان دانش و مهارت میدانند، سرمایه و دانش فنی سازمان را تشکیل میدهد. در دسترس نبودن اطلاعات ذر سطوح مختلف سازمان چقدر هزینه، یا عدم سود دهی دارد؟ ریسک استفاده از اطلاعات قدیمی و نادقیق روی وب سایت و فرآیندهای در گردش سازمان چقدر است؟ هزینه بیمه شدن در مقابل این ریسکها چقدر است؟ اگر مدیر IT یا مدیر سایت اینترنتی شما نباشد، چگونه میتوانید اطلاعات قدیمی و نادقیق را تصحیح و جایگزین کنید.؟ با سرمایهگذاری نامناسب، همه این موضوعها از طریق یک cms که موفق اجرا شود پوشش داده میشود.
گرچه ممکن است هزینه اولیه آن بالا به نظر برسد ولی سریعاً جایگزین خواهد شد. امروزه راهاندازی و راهبردی سایتهای وب درگیر شدن با کد HTML نیست. ابزارهای CMS همه فرایند را خودکار سازی میکنند و بدون دانستن تکنولوژی صفحات وب میتوانید بدون در نگرانی و تاخیر همیشه اطلاعات بروز ارائه دهید.
در نهایت، این تصویر شما است که افزایش سوددهی سازمان را در مقابل هزینههایی که برای CMS میبینید تحقق خواهد بخشید. بنابراین با وجود آگاهی از این حقیقت که حجم و تعداد مستندات الکترونیک! افزایش روز افزون غیر قابل تصور دارند، CMS ها با هر تعریفی جزء ابزارهای مهم و کارآمد صنعت IT خواهند بود. میتوانید با اطمینان در زمینههای CMS سرمایهگذاری کنید، چرا که میزان فروش سیستمهای مدیریت محتوا در سطح دنیا در سالهای ۲۰۰۰ تا ۲۰۰۳ با ۳۵ درصد افزایش ، ۳ میلیارد دلار بوده است. استفاده از CMS به جای روش قدیمی صفحات ثابت از لحاظ تجاری و اقتصادی مزایای بسیار زیادی دارد از جمله:
• صرفهجویی در زمان برای ایجاد و بروزرسانی صفحات وب
• سازگاری و استحکام بیشتر
• راهبردی (navigation) پیشرفته
• کنترل نامتمرکز سایت
• امنیت بالاتر وب سایت
• کاهش ورود اطلاعات تکراری
• کاهش چشمگیر هزینههای نگهداری
قابلیتهای لازم برای یک CMS
در زیر برخی قابلتیهایی که برای یک CMS لازم است و حتماً قبل از اتخاذ تصمیم نهایی برای استفاده از آن باید در نظر گرفته شود آمده است:
• چه سرویسها و خدماتی ارائه میکند، مثلاً برای تهیه backup مرتب از مطالب
• محدودیتهای سختافزاری و شبکه
• سیستمهای عاملی که CMS با آنها سازگار است.
• از چه web- serverهایی پشتیبانی میکند؟
• آیا بازدید کنندگان سایت شما، نزمافزار یا plug- in دیگری نیاز دارند؟
• CMS از چه مرورگرهایی پشتیبانی میکند؟
• امکان ورود و خروج اطلاعات از سیستم به برنامه دیگر چگونه است؟
• راهنما و document های ارائه شده چقدر نیاز شما را برای تماس با بخش پشتیبانی کاهش میدهد؟
• آیا شرکت پشتیبانی ۲۴ ساعته و موثر برای مشکلات احتمالی دارد؟
• آیا قابلیت جستجوی مطابل برای بازدیدکننده وجود دارد؟
• چه تضمینی برای امنیت مطالب شماو قابلت کنترل غیر متمرکز را دارد؟
• امکان تغییر واسط کاربری با طرح گرافیکی به راحتی وجود دارد؟
• آیا امکان ثبت سوابق وب سایتlogging وجود دارد؟
چرا شمایک CMS لازم دارید؟
اگر سایت شما هر چند وقت یکبار (مثلاً هز دو هفته) به روز میشود میتوانید به جای اینکه هر بار به یک شرکت طراحی وب مراجعه کنید، خودتان با نصب یکی از این برنامههای مدیریت محتوا، تغیراتتان را روی سایت اعمال کنید.
اگر شما سایت خود را اصلاً بروز نمیکنید، باید کم کم به فکر بیافتید، چون بینندههای شما وقتی هیمشه با یک صفحه همیشگی روبهرو شوند کم کم شما را فراموش میکنند، چون چیز جدیدی برای عرضه ندارید.
یک CMS چه امکاناتی دارد؟
طیف وسیعی از امکانات اکثراً CMS ها در ورژنهای مختلف و با قابلیتهای مختلف در بازار عرضه میشوند. البته قابلیت بروز کردن اطلاعات در همه مشترک است اما قابلیتهای ویژه دیگری دارند که با قیمتهای مختلف به شما پیشنهاد میدهند. از جمله:
۱۲- مدیریت اطلاعات فرستاده شده توسط کاربران و تایید اطلاعات
۱۳- چند زبانه بودن.
۱۴- ایجاد نقشه سایت داینامیک
۱۵- امکان ایجاد تجارت الکترونیک با فروشگاه مجازی
۱۶- ایجاد فرم برای دریافت اطلاعات کاربران
۱۷- بهینه سازی تصاویر آپولود شده
۱۸- ایجاد و بروز کردن متاتگ ها
۱۹- امکان جستجو در مطالب سایت.
۲۰- امنیت بیشتر
۲۱- گرایش آمار بازدید ازصفحات
۲۲- و …
CMSهای اطلاعاتی
این سیستمها معمولاً کار طراحی صفحات سایت است. امکاناتی که این سیستمها دارند تقریباً به شرح زیر است:
۶- امکان فرستادن اطلاعات به سایت توسط چند کاربر .
۷- آرشیوبندی اتوماتیک اطلاعات بر اساس تاریخ و موضوع
۸- ایجاد امکان جستجو در اطلاعات قبلی
۹- ایجاد لینک دائم برای هر مطلب و متا تگ برای آن
۱۰- و امکانات جانبی دیگر مثلاً ایجاد یک صفحه به عنوان لینکستان و …
فصل دوم:
Postnuke
بخش اول: کلیات postnuke
معرفی postnuke
Postnuke یک بسته نرم افزاری است که برای مدیریت محتوی، انجمن ها و همکاری بر روی سایت ایجاد شده است. این بسته به عنوان یک نرم افزار opensource به طور رایگان، تهیه شده است (تحت لیسانس عمومیGNU)
به عبارت دیگر postnuke انحصاری شده وقانون کپی رایت دارد اما در مقابل ما آزادی های بیشتری داریم.
ما در اینجا مجاز به کپی کردن، استفاده و تغییر post nuke هستیم البته در صورتیکه موافق نکات زیر باشیم.
-سرویس برنامه را به دیگران بدهیم
-مجوز اصلی و کپی رایت را حذف نکنیم و یا تغییر ندهیم و همین مجوز را برای هر کاری مشتق شده دیگر به کار ببریم.
مجوز را کاملا با تمام جزئیات مطالعه کنیم و اگر سوالی داشتیم مستقیما با مسئول کپی رایت تماس بگیریم.
Postnuke روی هر کامپیوتری که میتواند php را اجرا کند وانوع مختلفی از پایگاه داده مخصوصا mysql را پشتیبانی میکند، میتواند اجرا شود.
کلمه postnuke به خاطر این برای این نرم افزار انتخاب شده است که این پروژه یک انشعاب از php- nuke است از این رو نام آن nukenpost انتخاب شده است.
سابقه postnuke
Postnuke یک توسعه دهنده فعال و پر جنب و جوش جهانی و مبتنی بر کاربر دارد. توسعه آن توسط پنج عنصر بنیادی آغاز شده است.
بسیار سخت است که بگوییم این نرم افراز برای استفاده، آسان باشد در حقیقت این نرم افزار باید تا حد امکان حسی و مبتنی بر درک مستقیم باشد.
همزمان با رشد و گسترش postnuke و انجمن ها، ورودی های بیشتری از گستره متفاوتی از مردمیکه درموقعیت های واقعی متفاوت بودند، دریافت شده است. مثلا هم اکنون postnuke نه تنها روی سایت های کوچک سر گرمیاستفاده میشود، بلکه در تجارت های کوچک دبیرستانها و شرکت ها هم استفاده شده است.
تعداد روبه رشدی از مردم اطراف دنیا در حال همکاری کردن با postnuke به طرق مختلف هستند.
یک ویژگی مهم postnuke سایت آن است که یک نقطه مرکزی برای اطلاعات، بحث و همکاری بین کاربرانی که جز مدیران سیستم، طراحان وب، محققین و توسعه دهندگان هستند، فراهم میکند همانند postnuke، این سایت همیشه در حال رشد است تا متناسب با نیازهای انجمن باشد و مانند postnuke همیشه رایگان خواهد بود. به عبارت دیگر طراحی و توسعه postnuke و توسط یک فلسفه خاص از تقسیم کار و باز خورد به انجمن هدایت شده است.
مجوز postnuke
نام postnuke یک نام تجاری ثبت شده است و ما مجازیم که نام این نر افراز را برای هر فعالیتی که وابسته به این نرم افزار است، استفاده کنیم.
این برنامه، نرم افزار رایگان است و میتوانیم آن را دوباره توزیع کنیم ویا تحت شرایط مجوز عمومیکلی GNU چناکه توسط بنیاد نرم افزاری رایگان منتشر شده است. به عنوان نسخه شماره ۲ مجوز یا هر نسخه بعدی دیگر آن را اصلاح کنیم.
این برنامه با امید به اینکه مفید خواهد بود توزیع شده اما هیچ گارانتی حتی برای قابلیت بازرگانی یا تناسب داشتن برای هدف خاصی ندارد.
خصوصیات اصلی postnuke
Postnuke یک محصول فعال و در حال رشد است در زیر بعضی از خصوصیات وعملکردها و توابع درونی آن لیست شده است.
– واسط ساده کم حجم، موثر، سازگار و با تکنولوژی آسان مرورگر
– قابلیت نصب آسان روی غلب ایستگاههایی که php را پشتیبانی میکنند و تنها به یک پایگاه داده احتیاج دارد البته قابلیت اشتراک هم دارد.
– پشتبیانی مطلق پایگاه داده در بیشتر قسمتهای مهم پایگاه
– تاکید بر روی امنیت قوی به طور کل، تمام فرمها چک شده اند، داده ها معتبرند و …
– بیشتر نواحی ورود متن از منابع، اتاق گفتگو، ورودی ژورنال ها و …) میتواند با استفاده از یک ویرایشگر HTML داخلی wysiwyG ویرایش شوند.
– سایت توسط یک کاربر admin که در طول نصب تعریف میشود، مدیریت میشود.
– قابلیت های plug – in به کاربران یا مدیر اجازه میدهد که سایت خود را سفارشی کنند.
– ماژول های plug- in میتوانند به برنامه های نصب postnuke اضافه شوند.
– بسته های زبان plug- in اجازه میدهند که هر زبانی را به صورت کاملا محلی داشته باشیم. هم اکنون بیش از ۳۴ بسته زبان وجود دارند.
– کد برنامه php قابل فهم و روشن نوشته شده تحت یک مجوز GPL است، به راحیت قابل تغییر است تا متناسب با نیاز ما در آید.
– اهداف برنامه این است که درگیری مدیر را به حداقل مقدار کاهش دهد در حالیکه امنیت را در سطح بالا نگه میدارد.
– با پشتبیانی کردن از محدوده ای از مکانیزم های سندیت از طریق ماژول های تصدیق و سندیت plug- in اجازه بر قراری قانون جامعیت آسان، توسط سیستم های موجود را میدهد.
– روش LDAP: حساب های ورودی کاربران میتوانند از طریق یک سرور LDAP بررسی شوند. مدیر میتواند مشخص کند چه فیلد هایی استفاده شود.
– IMAP، POP3، NNTP: حساب های ورودی کاربران از طریق یک سرور پست الکترونیکی یا اخبار بررسی میشوند. SSL، گواهی نامه ها و TSL پشتیبانی میشوند.
– پایگاه داده خارجی: هر پایگاهی که حداقل شامل دو فیلد باشد میتواند به عنوان یک منبع سندیت خارجی استفاده شود.
– هر شخص تنها به یک حساب برای کل سرور احتیاج دارد. هر حسابی میتواند قابلیت های دسترسی متفاوتی داشته باشد.
– هر کاربر میتوانند محدوده زمانی خودش را تعریف کند و هر تاریخی در postnuke به آن محدوده زمانی ترجمه میشود.
– هر کاربر میتواند زبانی را که برای واسط postnuke استفاده میشود. (انگلیسی، فرانسوی، آلمانی، اسپانیایی، پرتقالی و ….) انتخاب کند.
– امکان جستجو در سایت
– API پیشرفته (واسط برنامه نویسی کاربردی)
– ترویج همکاری، ارتباط و انجمن ها در محدوده مفاد و مندرجات
– سیستم مجوزهای گروهی پیشرفته کاربر و همچنین لیست کوتاهی از ماژول های قابل دسترس به شرح زیر است.
– انتشار اخبار
– مدیریت محتوی
– منابع قابل استفاده RSS
– محل اخذ آراء
– ماژول های پرچم ها و علائم
– ماژول های توضحیات (اجازه میدهد ماژول های دیگر که شامل فایل های دانلودی لینک های وب، اخبار و نشریات میباشند، توضحیات خود را به محتویات ارسال شده بچسبانند.
– ماژول FAQ
– ماژول اتاق گفتگو
– ماژول لیست اعضا
– ماژول پیغام خصوصی
بخش دوم: نصب postnuke
این بخش چگونگی نصب postnuke را برای اولین بار نشان میدهد و به بعضی از جزئیات درباره برخی از مراحل آن میپردازد تا گوناگونی گسترده ای از تفاوت های کمیکه بین نصب وب سرورها است را پوشش دهد بنابراین این بخش از سند ممکن است طولانی و پیچیده به نظر برسد.
بخش های این سند شامل:
۱- نیازمندیها
۲- دانلود
۳- ساختار فایل
۴- ایجاد یک فهرست داده
۵- ایجاد یک پایگاه داده
۶- تنظیمات مجوز برای فایل config.php
۷- استفاده از سایت postnuke
Postnuke در ابتدا در لینکوس و با استفاده از mysql , Apache و php توسعه داده شده اما متناوبا توسط postgresql روی macos , windowsxp و سیستم عامل های ؟ ۶، آزمایش شد.
موارد مورد نیاز برای نصب postnuke به شرح زیر است:
۱- نرم افزار وب سرور، اغلب مردم از Apache استفاده میکنند اما postnuke باید روی هر وب سروری که از php پشتیبانی میکند مثل ISS روی سکوی windows ، به خوبی کار کند.
۲- زبان اسکریپتی php (نسخه ۴٫۱٫۰ به بعد) با تنظیمات زیر:
– کتابخانه GD فعال با قابلیت پشتیبانی برای فرمت های PNG , JPG
– کتابخانه zlib فعال اگر میخواهید از backup/ restore روی sindows استفاده کنید) sessions support فعال باشد.
– قابلیت file, uploading فعال
– باید safe mode غیر فعال باشد.
۳- یک سرور پایگاه داده در حال کار و فعال: mysql یا potgresql کاملا پشتیبانی میشوند و برای استفاده با postnuke پیشنهاد میشوند.
اگر میخواهید postnuke ر روی کامپیوتر شخصی خود اجرا کنید مراحل زیر را گام به گام اجرا کنید.
Apache (و یا IIS)، mysql و php را نصب کنید نصب این نرم افزار ها شامل مراحل گام به گامیروی اغلب سکوها است.
دقت کنید، ابتدا باید Apache (یا IIS) نصب شوند و سپس نرم افزار های دیگر روی آن نصب شوند/
بعد از دانلود کردن و باز کردن بسته های آرشیوی یا بررسی کردن فایل ها از طریق cvs، فهرست شاخه ای به نام postnuke برای ما باقی خواهد ماند که شامل تعدادی فایل و فولدر است.
ما میتوانیم کل فولدر را در فهرست مستندات وب سرورمان قرار دهیم که این حالت سایت در آدرس http:/ your web server. Com/ postunke قرار خواهد گرفت و یا اینکه تمام محتویات را مستقیما داخل فهرست مستندات وب سرور اصلی قرار دهیم که دراین حالت آدرس سایت به آسانی http:/ your web server. Com خواهد بود.
در اینجا خلاصه مختصری از محتویات فولدر postnuke را آورده ام تا برای جهت دهی شما را کمک کند.
ابتدا نیاز داریم یک پایگاه داده خالی (مثلا به نام postnuke) در داخل پایگاه داده سیستم خود همراه با یک کاربر مخصوصی (مثلا postnuke user) که فقط به این پایگاه دسترسی دارد ایجاد کنیم. اگر بخواهیم میتوانیم از کاربر root استفاده کنیم اما این کار برای یک سیستم تولیدی توصیه نمیشود چرا که اگر هکرهایی بخواهند که رمز را کشف کنند تمام سیستم پایگاه داده به جای فقط یک پایگاه داده در معرض خطر قرار میگیرد.
خطوط فرمان نمونه برای mysql:
# mysql – u root – p
>create Database Postnuke
> grant select, inset, update, delete, create, drop , indexy alter on postmuke.*to postnukeuser localhost indenfified by your password
> quit
Mysqladmin –p reload
خطوط فرمان نمونه برای posthtresql:
# su –post gres
>psql –c “create user postnukeuser createdb” , temp1
>psql –c “create database postnudei” – u postnukeuser temp1
>psql –c “alter user postnukeuser nocreatedb, temp1
االبته در مورد کار با my sql من پیشنهاد میکنم که از نرم افزار php my admiu برای مدیریت پایگاه داده ایجاد جداول خود استفاده کنید چرا که میتوانید تمام این کارها را از طریق یک واسط وب انجام دهید به صورت گرافیکی وخیلی آسان.
شکل۱
در مرحله بعدی، مطمئن شوید یک ب سرورتان طوری نصب شده که فایل index. php را علاوه بر default. htm.index. html و …. به عنوان صفحه پیش فرض استفاده میکند. فقط در Apache این کار را با استفاده از پارامتر Directorydex در فایل httpd. Conf انجام میشود.
مطمئن شوید که index. Php در لیست قرار دارد و برای کارایی بیشتر، ترجیحا در ابتدایی لیست باشد.
همچنین اگر در حال استفاده از Apache2 باشید باید متغیر Accept path Info که اجازه میدهد اسکریپت ها، آرگومانها را مانند http: // server/ file. Php/arg1/ arg2 ارسال کنند. فعال یا روشن کنید.
این کار برای مجوز دادن به لینک های وابسته بین منابع شما، ضروری است و همچنین برای کسانی که از وب سایت postnuke شما استفاده میکنند اجرا و کارایی بالایی را فراهم میکند.
شما میتوانید از طریق اضافه کردن این خطوط به فایل httpd. Conf خودتان این متغیر را فعال کنید:
Accept path In fo on
و بالاخره، postnukeبه تعدادی از تنظیمات php برای فعال کردن آن به منظور کار کردن احتیاج دارد.
باید اطمینان حاصل کنید که فایل های config تان مجوزهای صحیحی دارند. یعنی فایل های config- old. Php , cofig. Php شما باید world writable باشند و حتی باید pntemp و زیر شاخه هایش هم world wrtable باشند. world sritable یعنی که مجموعه مجوز ۷۷۷ و ۶۶۶ متناسب با سیستم شما اگر که بر پایه یونیکس است)
پروسه نصب کاملا گرافیکی است که مجموعه ساده ای از مراحل را برای بالا آمدن و اجرای سایت فراهم میکند. فقط کافی است که دستورات صفحه وب را دنبال کند تا نصب انجام شود، برنامه postnuke، پایگاه داده را نصب خواهد کرد و جداول سایت را هم برای ذخیره داده ایجاد خواهد کرد.
برای نصب سیستم postnuke فایل install. php را از مرورگر اجرا کنید تا فرآیند نصب شروع شود. URL دقیق آن به سایت ما بستگی دارد برای مثال اگر آدرس سایت www. Foo. Com باشد و postnuke در شاخه bor نصب شده باشد URL به شکل زیر خواهد شد.
http: // www foo. Com/ bar/ install. php
شکل۲
نکته ای که در اینجا لازم است به آن توجه شود این است که پوشه postnuke باید به حالت webshare در آید تا بتوان آن را به راحتی در نوار آدرس، آدرس دهی کرد در حالتی که از localhost استفاده میکنیم آدرس به شکل زیر تغییر میکند.
http:/ localhost/postnuk/ html/ install. php
چون پوشه postnuke به حالت webshare در آمده در هر درایوی که باشد آدرس بالا صحیح خواهد بود اما اگر web share نباشد برای اینکه postnuke در شاخه / inetpub/ www root نصب ویندوز، ریخته شود.
در صحفحه اول نصب همانطور که در شکل دیده شد زبان مورد نظر را انتخاب میکنید سپس در صبحه بعد مجوز GMU را به شما نشان میدهد.
شکل ۳
با رد شدن و تایید صفحه قبل، صفحه جدید میآید که مجوزهای فایل های مختلف از جمله config. Php و Gofig- old. Php را بررسی میکند یعنی chmodcheck را انجام میدهد.
در ادامه صفحه ای میآید که اطلاعات لازم برای ایجاد پایگاه داده و ارتباط با آن را از شما میپرسد تا شامل نام کاربر، کلمه عبور، …میباشد این اطلاعات در شکل زیر آورده است.
شکل ۴
بعد از تایپ و تنظیم این اطلاعات برنامه نصب صفحه جدیدی را نشان خواهد داد که همان اطلاعات وارد شده در صفحه قل توسط خود ما میباشد که اگر بخواهیم با دکمه edit میتوانیم آن ها را ویرایش کنیم. در غیر اینصورت دو انتخاب دارم: نصب جدید یا new install که برای وقتی است که نصب را برای اولین بار انجام میدهیم ودکمه upgrade که در ادامه بحث خواهد شد.
شکل ۵
در صفحه بعدی با زدن علامت در کنار create database و سپس دکمه start شروع به ایجاد پایگاه داده و جداول آن خواهد کرد.
شکل ۶
اگر مراحل قبلی به درستی طی شده باشد و اطلاعات وارد شده برای ایجاد پایگاه داده رمز عبور کاربری معتبر باشند در این مرحله صفحه ای را خواهید دید که با پیغام db has been created و نشان دادن اسامیتمامیجداول پایگاه، ایجاد صحیح و درست پایگاه را به ما نشان میدهد.
شکل ۷
در پایان از شما خواسته خواهد شد که یک کاربر مدیر (یا admin) برای دسترسی در آینده ایجاد کنید برای این کار باید جزئیات راهمراه با اسم کاربر و کلمه عبور پر کنید و (create) را کلیک کنید. از آنجایی که برای دسترسی به سایت در آینده، اسم کاربر و کلمه رمز لازم و ضروری است مطمئن شوید که این دو مورد انتخابی را به خاطر دارید.
شکل۸
بعد از دادن اطلاعات کاربر admin داده های لازم فرستاده خواهد شد و مراحل نصب با پیغام finish به پایان خواهد رسید.
شکل ۹
بعد از اتمام نصب صفحه بعدی به شما اسکرییپت های فعال در postnuke و افرادموثر در گرد آوری این نرم افزار را معرفی خواهد کرد postnuke credit را به شما نشان میدهد و در این صفحه لینگی برای ورود به سایت و صفحه آغاز آن را در اختیار شما قرار میدهد.
شکل ۱۰
شکل ۱۱
وقتی با موفقیت وارد سایت شدید توجه کنید به لینک های administration که در پایین سمت چپ صفحه ظاهر میشوند. (این آیتم ها همچنین در صفحه مدیریت جداگانه ای ظاهر میشوند) این آیتم ها فقط برای شما قابل مشاهده هستند چرا که شما به عنوان کاربر مدیر یا admin با همان اسم کاربر و رمز عبوری که خود در هنگام نصب تعریف کرده بودید، وارد شده اید.
البته ذکر این نکته لازم است که در دفعه اولی که لینک administration را در صفحه ابتدایی سایت کلیک میکنید، صفحه ای میآید که به شما میگوید برای ادامه کار ودیدن امکانات صفحه administer باید ابتدا فایل و فولدر install که در پوشه اصلی postnuke هست را حذف کنید و سپس با کلیک بر روی continue صفحه administration وارد خواهید شد و تمام امکانات در اخیتار شما قرار میگیرد.
شکل ۱۲
اکنون تمام کارهای بعدی مدیریت postnuke شما میتوانید از طریق این منوها انجام گیرد. به عنوان مثال ایجاد و حذف درس، ایجاد و ویرایش حساب کاربران، مدیریت حساب معلمان، تعویض تنظیمات سایت مانند قالب ها و …
شکل ۱۳
لازم است یاد داشته باشیم که در حالت نصب های جدید (new install) که پایگاه داده را هم ایجاد میکند کاربر mysql باید برای ایجاد پایگاه جدید اختیارات کامل داشته باشد اگر این طور نیست ابتدا پایگاه داده را ایجاد کنید و بعد به کاربر mysql خواسته شده، اختیارات کامل را بدهید، در نتیجه برای ماژول ها و برنامه نصب این امکان فراهم میشود که به طور آزادانه با پایگاه داده جدید فعل و انفعال داشته باشند و به درستی کار کنند هم اکنون postnuke، نسخه جدید php 4.2.x را به علاوه استاندارد امنیتی غیر قابل Apache 2.0.x , register- globals پشتیبانی میکند.
مراحلی که به همراه شکل ها آورده شد، مراحل نصب postnuke به صورت خود کار و گرافیکی بودند که توسط فایل install. php به صورت مرور گر وب انجام میشوند روش دیگری هم برای نصب وجود دارد و آن روش دستی است که در زیر اشاره مختصری به آن خواهم کرد.
بازدید