من أكثر المشاكل شهرة في شيربوينت 2010 هي خدمة مزامنة الحسابات من خلال Profile Service حيث قد تبقى ضمن الحالة Starting لمدة طويل وتفشل بعدها. المقالة التالية هي أفضل مقالة قرأتها عن هذا الموضوع من قبل مهندس مختص في حل مشاكل العملاء
استمتع :)
أول موقع عربي للشيربوينت SharePoint - بالعربي نتقدم
GUID
|
Name
|
Description
|
89E0306D-453B-4ec5-8D68-
42067CDBF98E
|
Navigation
|
Installs custom actions and handlers for
Navigation
|
D3F51BE2-38A8-4e44-BA84-
940D35BE1566
|
Publishing Layouts
|
Installs master pages, page layouts, and styles
|
EAF6A128-0482-4F71-9A2FB1C650680E77
|
Search Server Web Parts
|
Installs search Web Parts
|
8B2C6BCB-C47F-4F17-8127-
F8EAE47A44DD
|
Search Templates and
Resources
|
Installs search templates and resources
|
A4C654E4-A8DA-4db3-897CA386048F7157
|
HTML Design
|
Enables HTML Design
|
4BCCCD62-DCAF-46dc-
A7D4-E38277EF33F4
|
Asset Library
|
Installs asset libraries
|
068BC832-4951-11DC-8314-
0800200C9A66
|
Enhanced Theming
|
Installs theming controls
|
A942A218-FA43-4d11-9D85-
C01E3E3A37CB
|
Enterprise Wiki Layouts
|
Installs content types, page layouts, and
handlers for wikis
|
57CC6207-AEBF-426E-9ECE-
45946EA82E4A
|
Mobile Publishing
|
Installs support for mobile browsing
|
915c240e-a6cc-49b8-8b2c-
0bff8b553ed3
|
Ratings
|
Installs rating controls
|
0C8A9A47-22A9-4798-82F1-
00E62A96006E
|
Document Routing Resources
|
Installs content types, fields, and handler for
document routing
|
5BCCB9A4-B903-4fd1-8620-
B795FA33C9BA
|
Record Resources
|
Installs policy fields and custom actions
|
5B79B49A-2DA6-4161-95BD-
7375C1995EF9
|
Media Web Parts
|
Installs media Web Parts
|
4E7276BC-E7AB-4951-9C4BA74D44205C32
|
Translation
|
Installs handlers for language translation
|
67AE7D04-6731-42dd-ABE1-
BA2A5EAA3B48
|
Search Taxonomy Refinement
Web Parts
|
Installs search refinement Web Parts, using
Taxonomy
|
8C34F59F-8DFB-4a39-9A08-
7497237E3DC4
|
Search Taxonomy Refinement
HTML Web Parts
|
Installs search refinement Web Parts, using
taxonomy for HTML content
|
94C94CA6-B32F-4da9-A9E3-
1F3D343D7ECB
|
Publishing Web
|
Main publishing feature for the web
scope—visible in the UI
|
F6924D36-2FA8-4f0b-B16D-
06B7250180FA
|
Publishing Site
|
Main publishing feature for the site
scope—visible in the UI
|
22A9EF51-737B-4ff2-9346-
694633FE4416
|
Publishing
|
Installs handlers and prerequisites for
Publishing
|
DFFAAE84-60EE-413A-9600-
1CF431CF0560
|
Rollup pages
|
Installs rollup capability
|
يمكن باستخدام الأداة Search Migration Tool نقل إعدادات البحث من Search Service Application ضمن بيئة عمل شيربوينت 2010 إلى Search Service Application أخرى ضمن نفس البيئة أو في بيئة عمل أخرىويمكن تحميل هذه الأداة من الرابط التالي:وقد تمت إضافة ميزة نقل الخصائص المدارة Managed Properties أيضاً من قبل أحد المحترفين على الرابط التالي:
بعد تثبيت التحديث August 2012 لشيربوينت 2010 قد تظهر إحدى الأخطاء التالية
SharePoint 2010 publishing site quick launch items randomly duplicating
An unexpected error occured while manipulating the navigational structure of this Web
والخطأين يؤديان إلى عدم فتح الموقع الذي يحتوي على المشكلة وقد يكون أي موقع من المواقع الفرعية أو حتى الموقع الرئيسي. حيث أن أهم أعراض هذه المشكلة هو بطء شديد في الموقع بدون معرفة السبب وحتى أنه لا يمكن فتح صفحات التطبيقات مثل إعدادات الموقع وذلك لأن شيربوينت يحاول تحميل عدد كبير جداً من عناصر التنقل التي تم إضافتها بطريقة غير مفهومة وعشوائية من قبل شيربوينت 2010.
لحل هذه المشكلة يوصى بتنفيذ ما يلي:
1 - تحميل آخر تحديث لشيربوينت 2010 علماً أن مايكروسوفت لم تعلن صراحة في التحديث December 2012 بأن المشكلة هذه قد تم حلها لذلك فإن تحميل هذا التحديث لن يحل المشكلة, ولكن يجب دائماً تحميل آخر تحديث لشيربوينت 2010.
2 - من أجل معرفة الموقع الذي تظهر فيه المشكلة هنا يجب أن نلجأ لمنفذ سطر الأوامر PowerShell حيث يمكن من خلاله الوصول إلى عناصر التنقل إلى أي موقع حتى في حال وجود المشكلة السابق. وللوصول إلى عناصر التنقل لأي موقع فرعي يجب تنفيذ الشيفرة التالية:
$web = Get-SPWeb http://SITE_URL/SUB_SITE_URL;
$publishingWeb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($web);
$webNavigation = $publishingWeb.Navigation.CurrentNavigationNodes;
حيث أن المتغير $webNavigation يحتوي على جميع عناصر التنقل للموقع, ولمعرفة العنصر المكرر نفذ الشيفرة التالية:
for($i = $webNavigation.Count - 1; $i -ge 0; $i--)
{
Write-Host $$webNavigation[$i].Title " " $$webNavigation[$i].Url;
}
حيث ستتم طباعة عنوان ورابط العنصر المكرر في عناصر التنقل, ولحل هذه المشكلة يجب حذف هذا العنصر من عناصر التنقل باستخدام الشيفرة التالية:
$repeatedNode = $webNavigation | where { $_.url -eq "RELATIVE_URL_PROBLEM" }
for($i = $repeatedNode.Count - 1; $i -ge 0; $i--)
{
$repeatedNode[$i].Delete();
}
$web.Dispose();
استمتع![]()
Error occurred in deployment step 'Recycle IIS Application Pool': The local SharePoint server is not available. Check that the server is running and connected to the SharePoint farm
يجب التأكد من أن المستخدم الذي يظهر له هذا الخطأ لديه الصلاحيات التالية:
db_owner على قاعدة بيانات الإعدادات الخاصة ببيئة عمل شيربوينت Config DB
db_owner على قاعدة البيانات التي يتم تثبيت التطبيق عليها
بعد الترقية من شيربوينت 2007 إلى شيربوينت 2010 يظهر خطأ له علاقة بصفحات النشر عند محاولة الدخول إلى صفحة "إعدادات الصفحة", يظهر خطأ يشير إلى أن مخطط الصفحة الحالي Page Layout غير موجود والسبب هو أن مسار ملف مخطط الصفحة Page Layout ما زال يشير إلى بيئة العمل القديمة. والحل لهذه المشكلة هي اتباع الخطوات التالية:
1. تحميل SharePoint 2010 Server Cmdlets (x86, x64) من الرابط التالي:
2. تثبيت Lapointe.SharePoint2010.Automation.wsp من خلال موقع الإدارة المركزي Central Administration Web Site.
3. تنفيذ الأمر التالي على سطر الأوامر PowerShell:
stsadm –o gl-fixpublishingpagespagelayouturl –url "http://YOUR_URL/" -scope webapplication -pagelayout "http://OLD_URL/_catalogs/masterpage/WelcomeLinks.aspx, /_catalogs/masterpage/WelcomeLinks.aspx"
4. طبعاً الأمر السابق يمكن استبدال webapplication بأحد الخيارات التالية:
- Site
- Web
- Page
طبعاً هذه المشكلة إحدى الثغرات عند الترقية من 2007 إلى 2010, وقد لا يحدث في بعض بيئات العمل.
بعد الترقية من شيربوينت 2007 إلى شيربوينت 2010 يظهر الخطأ التالي عند زيارة الصفحة "ذاكرة التخزين المؤقتة لإخراج مجموعة المواقع المشتركة" من صفحة إعدادات الموقع لمجموعة المواقع Site Collections
Event code: 3005
Event message: An unhandled exception has occurred.
Exception information:
Exception type: SPException
Exception message:
القائمة غير موجودة.
تحتوي الصفحة المحددة على قائمة غير موجودة. قد يكون تم حذفها من قِبَل مستخدم آخر.
Request path: /_Layouts/sitecachesettings.aspx
User host address: fe80::1882:1474:3f57:ffe9
القائمة غير موجودة.
تحتوي الصفحة المحددة على قائمة غير موجودة. قد يكون تم حذفها من قِبَل مستخدم آخر.
Is impersonating: False
Stack trace: at Microsoft.SharePoint.SPGlobal.HandleComException(C OMException comEx)
at Microsoft.SharePoint.Library.SPRequest.GetListsWit hCallback(String bstrUrl, Guid foreignWebId, String bstrListInternalName, Int32 dwBaseType, Int32 dwBaseTypeAlt, Int32 dwServerTemplate, UInt32 dwGetListFlags, UInt32 dwListFilterFlags, Boolean bPrefetchMetaData, Boolean bSecurityTrimmed, Boolean bGetSecurityData, Boolean bPrefetchRelatedFields, ISP2DSafeArrayWriter p2DWriter, Int32& plRecycleBinCount)
at Microsoft.SharePoint.SPListCollection.EnsureListsD ata(Guid webId, String strListName)
at Microsoft.SharePoint.SPListCollection.ItemByIntern alName(String strInternalName, Boolean bThrowException)
at Microsoft.SharePoint.SPListCollection.get_Item(Gui d uniqueID) at Microsoft.SharePoint.Publishing.CacheProfile.<>c__ DisplayClass4.<InternalGetCacheProfiles>b__0() at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass4 .<RunWithElevatedPrivileges>b__2() at Microsoft.SharePoint.Utilities.SecurityContext.Run AsProcess(CodeToRunElevated secureCode)
at Microsoft.SharePoint.SPSecurity.RunWithElevatedPri vileges(WaitCallback secureCode, Object param) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPri vileges(CodeToRunElevated secureCode)
at Microsoft.SharePoint.Publishing.CacheProfile.Inter nalGetCacheProfiles(SPSite site) at Microsoft.SharePoint.Publishing.Internal.CodeBehin d.SiteCacheSettingsPage.InitializeCacheProfileUI(I nt32 cacheProfileId, SPSite site, DropDownList profiles, Label desc, Boolean authenticated) at Microsoft.SharePoint.Publishing.Internal.CodeBehin d.SiteCacheSettingsPage.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Custom event details:
لحل هذه المشكلة يجب اتباع الخطوات التالية:
- أخذ نسخة احتياطية عن مجموعة المواقع التي سيتم التعديل عليها.
- إيقاف الميزة "نشر البنية الأساسية لـ SharePoint Server" أو Office Sharepoint Server Publishing Infrastructure من ميزات مجموعة الموقع.
- إعادة تشغيل الميزة "نشر البنية الأساسية لـ SharePoint Server" أو Office Sharepoint Server Publishing Infrastructure من ميزات مجموعة الموقع.
عند إنشاء تطبيق ويب Web Application جديد على شيربوينت 2010 ستلاحظ ظهور التحذير التالي في سجلات ويندوز
Object Cache: The super reader account utilized by the cache does not have sufficient permissions to SharePoint
databases.
To configure the account use the following command 'stsadm -o setproperty -propertyname portalsuperreaderaccount
-propertyvalue account -url webappurl'. It should be configured to be an account that has Read access to the
SharePoint databases.
Additional Data:
Current default super reader account: NT AUTHORITY\LOCAL SERVICE
لحل هذه المشكلة يجب اتباع الخطوات التالية:
1 - افتح موقع الإدارة المركزي Central Administration
2 - من المجموعة Application Management اختر Manage web applications
3 - حدد تطبيق الويب الذي يسبب المشكلة السابقة
4 - من أيقونة شريط الأدوات العلوي اختر User Policy
5 - اضغط على Add Users ومن ثم التالي Next
6 - أضف مستخدم مع الصلاحية تحكم كامل Full Control
7 - أضف مستخدماً آخر مع الصلاحية Full Read
8 - نفذ الأوامر التالي باستخدام سطر الأوامر PowerShell
في حال تريد إلغاء استخدام الإعدادات السابقة استخدم الأوامر التالية:كود:$wa = Get-SPWebApplication “http://WEB_APPLICATION_URL" $wa.Properties["portalsuperuseraccount"] = "اسم المستخدم كما يظهر في شاشة User Policy تماماً" $wa.Properties["portalsuperuseraccount"] = "اسم المستخدم كما يظهر في شاشة User Policy تماماً" $wa.Update()
كود:$wa = Get-SPWebApplication “http://WEB_APPLICATION_URL" $wa.Properties.Remove("portalsuperuseraccount") $wa.Properties.Remove("portalsuperreaderaccount") $wa.Update()
بعد تنفيذ عملية الترقية من شيربوينت 2007 إلى شيربوينت 2010 قد يظهر الخطأ التالي:
Field type is not installed properly. Go to the list settings page to delete this field
وهذا الخطأ يعني أن هناك مشكلة في أحد الحقول سواء ضمن أحد أنواع المحتويات Content Types أو إحدى القوائم تحتوي على حقل لم يتم تثبيته بشكل صحيح أثناء عملية الترقية, طبعاً الخطأ عام جداً ولا يشير إلى القائمة التي يحدث فيها الخطأ أو الموقع, ولكن أحد أسباب هذا الخطأ بعد الترقية من شيربوينت 2007 إلى شيربوينت 2010 هي حقل اسمه GroupID في قائمة اسمها قائمة العلاقات Relationships List, حيث أن هذا الحقل نوعه سطر نص مفرد في 2007 وعند تنفيذ عملية الترقية يصبح اسمه GroupGuid من النوع Guid كما هو واضح في الشكل التالي:
ولسبب ما عند تنفيذ عملية الترقية من 2007 إلى 2010 فإن هذا الحقل لا تتم عملية ترقيته بالشكل الصحيح فيبقى اسمه GroupID من النوع سطر نص مفرد. لذلك عند فتح صفحة "إدارة المحتوى والبينة" من قائمة إجراءات الموقع أو عند تحرير وحفظ أي صفحة فإن الخطأ السابق يظهر.
كيف يتم حل المشكلة؟
حل هذه المشكلة يكمن في تغيير اسم الحقل GroupID إلى GroupGuid ونوعه من سطر نص مفرد إلى Guid, لكن تنفيذ هذه العملية بشكل يدوي تقريباً غير ممكنة إضافة إلى أن النوع Guid غير متوفر عند إنشاء عمود لإضافته إلى قائمة أو نوع محتوى. لذلك يجب اتباع الخطوات التالية لحل المشكلة:
1. يجب الحصول على نسخة احتياطية عن الموقع الذي تعمل عليه بحيث يمكن استرجاعه بشكل صحيح في حال أن الخطوات التالية لم تعمل بشكل صحيح.
2. القائمة Relationships List هي قائمة مخفية لا تظهر إلا باستخدام SharePoint Designer 2010, حيث يتم إنشاؤها في الموقع الرئيسي لمجموعة المواقع:
3. يجب حذف هذه القائمة بالضغط على زر Delete وحتى لو ظهرت رسالة خطأ فلا بأس, اضغط على اسم القائمة واحذف كل محتوياتها.
4. ثبت البرنامج http://spdeploymentwizard.codeplex.com المجاني على نفس الخادم الذي يحتوي على بيئة عمل شيربوينت 2010. وهذا البرنامج يعمل مع شيربوينت 2007 وشيربوينت 2010 لذلك ستجد نسخة تدعم منصة العمل 32Bit والتي تخص شيربوينت 2007. ويجب تثبيت النسخة COB.SharePoint.Utilities.DeploymentWizard.Installe r_x64.msi على خادم شيربوينت 2010 الذي يحتوي على المشكلة.
5. بعد تثبيت البرنامج السابق، يجب فتحه من المسار التالي:
C:\Program Files\Chris O'Brien\SharePoint Content Deployment Wizard
6. قبل فتح الملف SPContentDeploymentWizard.exe يجب نسخ الشيفرة التالية إلى الملف SPContentDeploymentWizard.exe.config:
كود HTML:<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.diagnostics> <switches> <add name="COB.SharePoint.Utilities.ContentDeploymentWizard" value="0"/> </switches> <trace autoflush="true" indentsize="2"> <listeners> <add name="WizardListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\Wizard.log"> </add> </listeners> </trace> </system.diagnostics> <!-- Uncomment this section to use the Wizard with SharePoint 2010 - this will ensure the SharePoint 2010 assemblies are used.--> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyIdentity name="Microsoft.SharePoint" publicKeyToken="71e9bce111e9429c" culture="neutral" /> <bindingRedirect oldVersion="11.0.0.0" newVersion="14.0.0.0" /> </dependentAssembly> <dependentAssembly xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyIdentity name="Microsoft.SharePoint.Publishing" publicKeyToken="71e9bce111e9429c" culture="neutral" /> <bindingRedirect oldVersion="11.0.0.0" newVersion="14.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
7. ما الهدف من هذا البرنامج؟ الهدف هو نسخ القائمة Relationships List من مجموعة مواقع Site Collections تم إنشاؤها مباشرة تحت بيئة شيربوينت 2010 مباشرة بدون ترقية بحيث تحتوي على الحقل GroupGuid, والخطوات التالية هي لأخذ نسخة عن هذه القائمة من موقع يعمل بشكل صحيح:
8. بعد تنفيذ الخطوات السابقة نكون قد نفذنا عملية تصدير للقائمة Relationships List بشكل كامل.
9. في هذه الخطوات سيتم استيراد نسخة القائمة التي حصلنا عليها في الخطوات السابقة إلى مجموعة المواقع التي تحتوي على المشكلة:
بعدها اضغط Finish لإتمام العملية.
بعد تنفيذ العملية السابقة يجب أن تكون مشكلة العمود GroupID قد تم حلها بشكل نهائي.
بعد تنفيذ عملية الترقية من شيربوينت 2007 إلى 2010, أكثر شيء يجب أن تقلق بشأنه هو التصميم حيث أن الانتقال إلى طريقة عرض وستايلات وتصاميم 2010 قد يكلف الكثير من العمل! لكن ماذا لو أن العميل يريد أن تبقى واجهات وطريقة
- عرض الصفحات وإجراءات الموقع وكيفية إضافة أجزاء الويب على حالها بعد الترقية أي بنفس الشكل, لتنفيذ ذلك اتبع الخطوات التالية:
- 1 - لا تنفذ الترقية الظاهرية من صفحة إعدادات الموقع
- 2 - عند إنشاء موقع جديد تحت بيئة عمل شيربوينت 2010 الجديدة عندها سيتم استخدام الإصدار 4 لشكل الموقع الجديد حتى لو لم يتم تنفيذ الترقية الظاهرية Visual Upgrade, ولحل هذه النقطة التي قد تكون مشكلة لأنك ستضطر عندها لترقية الصفحة الرئيسية Master Page للموقع من 2007 إلى 2010 أو إنشاء صفحة رئيسية Master Page إصدار 2010 خاصة بالمواقع الجديدة. لكن يوجد حل بسيط وهو بإعادة تهيئة إصدار الموقع الجديد إلى 2007 بتنفيذ الأمر التالي على سطر الأوامر PowerShell:
$web = Get-SPWeb http://WEB_SITE_URL $web.UIVersion = 3 $web.UIVersionConfigurationEnabled = $true $web.Update()ويجب الانتباه إلى أن الأمر السابق يتم تنفيذه على مستوى الموقع SPWeb وليس على مستوى مجموعة المواقع Site Collection
بعد تنفيذ عملية الترقية من شيربوينت 2007 إلى شيربوينت 2010 تظهر مشكلة بعد الترقية الظاهرية Visual Upgrade من إعدادات الموقع, تظهر مشكلة عند محاولة تحرير أي صفحة ضمن مكتبة الصفحات Pages للصفحات القديمة, وعند البحث في ملفات تعقب أخطاء شيربوينت تظهر الرسالة التالية:MetadataNavigationContext Page_InitComplete: No XsltListViewWebPart was found on this pageلحل هذه المشكلة يجب تعديل قيمة العمود tp_WebPartTypeId إلى القيمة 874F5460-71F9-FECC-E894-E7E858D9713E في الجدول AllWebParts في قاعدة بيانات المحتوى Content Database الخاصة بمجوعة المواقع Site Collection كما يلي:UPDATE AllWebPartsSET tp_WebPartTypeId = '874F5460-71F9-FECC-E894-E7E858D9713E'WHERE tp_WebPartTypeId IN('BAF5274E-A800-8DC3-96D0-0003D9405663','2242CCE6-491A-657A-C8EE-B10A2A993EDA') AND(tp_DisplayName <> 'كافة المستندات' OR tp_DisplayName <> 'All Documents')استمتع بترقية مريحة :)
مقدمة
مع إصدار مايكروسوفت لإصدار جديد من نظام التشغيل ويندوز المخصص للخوادم Servers, توجب علينا محاولة تثبيت شيربوينت 2010 على هذا الإصدار الجديد وهو Windows Server 8. وقد تبين أثناء عملية التثبيت وجود عدة مشاكل تواجه عملية التثبيت, وفي هذه المقالة سنبين كيفية تجاوز هذه المشاكل وتثبيت شيربوينت 2010 على Windows Server 8 بشكل ناجح.
متطلبات تثبيت شيربوينت 2010
كما نعلم بأنه قبل تثبيت شيربوينت 2010 على أي إصدار من إصدارات نظام التشغيل ويندوز يجب أولاً تثبيت المتطلبات المسبقة لشيربوينت 2010 SharePoint Server 2010 Prerequisites, ولكن بسبب بيئة عمل Windows Server 8 الجديدة فإن هذه العملية تفشل, لذلك سيتم استخدام ملف PowerShell اسمه Configure-WinSvr8BetaForSP2010.ps1 ويمكن تحميله من الرابط التالي:
http://gallery.technet.microsoft.com...0-and-dee17600
وقبل تنفيذ الملف السابق يجب التأكد من أن PowerShell يعمل بشكل صحيح على النظام, إضافة إلى أنه يجب تنفيذ الأمر التالي قبل تنفيذ الملف السابق:
Set-ExecutionPolicy RemoteSigned
بعد ذلك يجب تنفيذ الملف السابق الذي ينفذ الخطوات التالية:
- تثبيت كل الـ Roles/Features اللازمة لعمل شيربوينت 2010.
- تثبيت Windows Identity Framework.
- تثبيت .NET Framework 3.5 و .NET Framework 3.5 SP1.
- تغيير منصة العمل الافتراضية لـ Default App Pool من 4.0 إلى 2.0.
- تحميل ملفات المتطلبات المسبقة من الإنترنت.
- تثبيت ملفات المتطلبات المسبقة على بيئة العمل.
ملاحظة: تنفيذ الملف السابق يتطلب وجود إنترنت على الخادم لتحميل ملفات المتطلبات المسبقة من الإنترنت.
محاكاة الملف ServerManagerCMD.exe
قبل أن يبدأ ملف تثبيت شيربوينت 2010 بالعمل يبحث عن الملف ServerManagerCMD.exe ضمن المسار التالي:
c:\windows\system32
وينتظر أن يعيد إليه القيمة 1003كنتيجة لتنفيذه بحيث يتأكد ملف تثبيت شيربوينت 2010 من أن بيئة العمل جاهزة لتثبيت شيربوينت 2010, وبما أن هذا الملف غير موجود مع Windows Server 8 النسخة التجريبية, لذلك يجب إنشاء هذا الملف ونسخه تحت المسار المطلوب. ولتوفير هذا الملف يجب إنشاء Console Application وكتابة الكود التالي:
static void Main(string[] args)
{
System.Environment.ExitCode = 1003;
}
تثبيت شيربوينت 2010
بعد تنفيذ الخطوات السابقة بالإمكان الآن تثبيت شيربوينت 2010 بنفس الخطوات المعتادة على أنظمة التشغيل السابقة.
عند محاولة تحميل ملف اكسل 2010 يحمل الامتداد xlsx ضمن شيربوينت 2010, يُطلب من المستخدم تسجيل الدخول للحصول لتحميل الملف, طبعاً الملف متاح للتحميل من قبل المستخدمين الغير مسجلين أي متاح لجميع زوار الموقع.
كيف يتم حل المشكلة
افتح الملف serverfilesExcelServer.xml من المسار التالي على جميع خوادم بيئة عمل شيربوينت 2010:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML
احذف السطر التالي أو ضعه ضمن إشارة تعليق comment:
<Mapping FileExtension="xlsx" RedirectUrlTemplate="/_layouts/xlviewer.aspx?id=|0" NoGetRedirect="TRUE" CreateRedirectUrlTemplate="/_layouts/xlviewer.aspx?new=1"/>
تأكد من تنفيذ iisreset على جميع الخوادم.
مقدمة
إن استخدام خادم شيربوينت 2010 في بناء البوابات الإلكترونية غالباً ما يتزامن مع وجود مجموعة من الخوادم الأخرى, مثل خادم المجلد النشط Active Directory وخادم قواعد البيانات SQL Server إضافة إلى وجود خوادم مساعدة أخرى. لكن في بعض الأحيان قد نضطر لبناء البوابات الإلكترونية باستخدام خادم شيربوينت 2010 لكن بدون استخدام خادم المجلد النشط, وإنما الاعتماد فقط على خادم واحد هو في نفس الوقت خادم شيربوينت 2010 وخادم قواعد البيانات, وفي هذه المقالة سنتعرف إلى كيفية تثبيت شيربوينت 2010 على خادم واحد فقط يحتوي شيربوينت 2010 وقواعد البيانات.
تثبيت شيربوينت 2010
إن تثبيت الملفات الثنائية Binaries لخادم شيربوينت 2010 على خادم بدون استخدام المجلد النشط لا يختلف في حال استخدام المجلد النشط وخطوات تثبيت خادم شيربوينت 2010 هي ذاتها كما يلي:
ومن ثم يتم تثبيت الملفات الثنائية للغة العربية 2. SharePoint Server 2010 Arabic Language Pack حيث يمكن الحصول عليه من الرابط التالي:
وإلى تاريخ كتابة هذه المقالة فإن حزمة آخر تعديلات متوفرة لخادم شيربوينت 2010 هي SharePoint Server 2010 cumulative update package (SharePoint server-package): March 7, 2012 ويمكن الحصول عليها من الرابط التالي:
بعد تثبيت جميع البرمجيات المطلوبة لخادم شيربوينت 2010, يجب التأكد من تثبيت خادم قواعد البيانات وذلك للبدء بتنفيذ عملية ضبط إعدادات خادم شيربوينت 2010.
ضبط إعدادات خادم شيربوينت 2010
عادة يتم تشغيل الأداة Configures SharePoint Products and Technologies. لضبط إعدادات خادم شيربوينت 2010 وذلك في حال وجود خادم للمجلد النشط Active Directory, لكن بما أنه في حالتنا هذا الخادم غير متوفر فيجب استخدام سطر الأوامر Power Shell لضبط إعدادات خادم الشيربوينت, وسنبدأ بعملية إنشاء قاعدة بيانات إعدادات بيئة عمل شيربوينت 2010 كما يلي:
يجب تنفيذ الأمر السابق باستخدام الأداة SharePoint 2010 Management Shell, حيث يجب الانتباه إلى القيم التالية:كود PHP:
New-SPConfigurationDatabase -DatabaseName "CONFIG_DB_NAME" -DatabaseServer "DB_SERVER" -Passphrase (ConvertTo-SecureString "PASS_PHRASE" -AsPlainText -force) -FarmCredentials (Get-Credential)
- CONFIG_DB_NAME: هو اسم قاعدة البيانات التي ستحتوي على إعدادات بيئة عمل شيربوينت 2010.
- DB_SERVER: اسم خادم قواعد البيانات مثل MachineName\sql2008.
- PASS_PHRASE: كلمة السر التي يجب إدخالها في كل مرة يتم فيها ضم خادم جديد إلى بيئة عمل شيربوينت 2010.
عند تنفيذ الأمر السابق ستظهر شاشة مشابهة للشكل التالي:
حيث يجب إدخال اسم المستخدم الذي تم إنشاؤه على الجهاز المحلي وكلمة المرور الخاصة به, حيث سيتم استخدامه للاتصال بقواعد البيانات, لذلك يجب التأكد من أن هذا المستخدم لديه الصلاحية المناسبة للاتصال بخادم قواعد البيانات وإنشاء قاعدة بيانات جديدة. بعد إدخال بيانات المستخدم اللازمة, سيتم إنشاء قاعدة إعدادات بيئة عمل شيربوينت 2010 مع إنشاء قاعدة البيانات الخاصة بموقع الإدارة المركزي Central Administration. بعد الانتهاء من تنفيذ الأمر السابق بنجاح يجب الآن الانتقال إلى الخطوة التالية وهي تشغيل الأداة Configures SharePoint Products and Technologies.
تشغيل الأداة Configures SharePoint Products and Technologies
بعد الانتهاء من تنفيذ الخطوة السابقة بنجاح يجب تشغيل الأداة Configures SharePoint Products and Technologies وذلك لإنهاء عملية ضبط إعدادات خادم شيربوينت 2010. وبعد تشغيل الأداة يجب تحديد رقم المنفذ Port الذي سيعمل عليه موقع الإدارة المركزي:
بعد تنفيذ الخطوة الأخيرة سيتم ضبط إعدادات بيئة عمل شيربوينت 2010 بشكل كامل, وسيكون شيربوينت 2010 جاهز للاستخدام.
إضافة حساب مدار Managed Account
لاعتبارات لها علاقة بالأمان وتطبيق الممارسات الأفضل في بيئة عمل شيربوينت 2010, يُنصح باستخدام حسابات مستخدمين مختلفة لتشغيل الخدمات المختلفة في شيربوينت 2010, وقد وفرت بيئة عمل شيربوينت 2010 إمكانية إضافة ما يُسمى حساباً مداراً Managed Account وذلك من خلال اتباع الخطوات التالية:
- افتح موقع الإدارة المركزي Central Administration.
- من القائمة اليسرى اختر Security.
- من المجموعة General Security اختر Configure managed accounts.
- اضغط على الرابط Register Managed Account .
- أدخل المعلومات المطلوبة في الشاشة التالية:
بعد إدخال المعلومات المطلوبة اضغط OK عندها سيظهر الخطأ التالي:
The specified user USER_NAME is a local account. Local accounts should only be used in standalone mode.
والسبب هو أنك يمكن إضافة حساباً مداراً من خلال هذه الشاشة فقط في حالة وجود خادم للمجلد النشط أو تم تثبيت الشيربوينت من خلال النمط Standalone, ولحل هذه المشكلة يمكن تنفيذ الأمر التالي في الأداة SharePoint 2010 Management Shell:
عندها ستظهر الشاشة التالية حيث يجب إدخال كلمة المرور الخاصة بالمستخدم:كود PHP:
$ma = Get-Credential MachineName\UserName
ومن ثم نفذ الأمر التالي مباشرة:
بعدها سيتم تسجيل المستخدم الجديد على أنه حساب مدار Managed Account ويمكن استخدامه لتشغيل خدمات شيربوينت 2010.كود PHP:
New-SPManagedAccount -Credential $ma
تحدثنا في موضوع سابق على تغيير قيمة العنصر machinekey بشكل تلقائي مما يؤدي إلى مشاكل في إعدادات مصادقة النماذج, وقد قلنا بأن الطريقة التي اتبعناها هي برأينا ليست الأفضل, ومن خلال البحث بشكل أكبر وجدنا بأن القيمة الأصلية للعنصر machinekey في الملف web.config الموجود في المسار التالي:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\SecurityToken
تخزن في قاعدة بيانات إعدادات بيئة عمل شيربوينت 2010 في الجدول Objects, ومن خلال تنفيذ الاستعلام التالي ستجد القيمة الأصلية للعنصر machinekey:
طبعاً يجب استبدال القيمة YOUR_KEY بالقيمة المخزنة في الملف web.config ضمن العنصر machinekey.كود HTML:SELECT Id, ClassId, ParentId, Name, Status, Version, Properties FROM Objects WHERE (Properties LIKE '%YOUR_KEY%')
ما سبق يزيل غموض من أين يتم إعادة تعيين القيمة الأصلية لأنها أصلاً مخزنة في قواعد بيانات شيربوينت 2010, لكن السؤال الذي يجب أن نجيب عليه الآن هو كيف يمكننا تغيير هذه القيمة بطريقة صحيحة بدون الحاجة إلى تغييرها مباشرة مضن قواعد البيانات, لأن مايكروسوفت توصي بعدم التعديل على قواعد البيانات مباشرة.
لعل الموضوع القادم يكون عن كيفية تغيير هذه القيمة بالشكل الصحيح وعدم تطبيق الحل الذي قدمناه في الموضوع السابق.
إحدى خطوات تفعيل نماذج المصادقة Forms Based Authentication على شيربوينت 2010 هي تحديد قيمة العنصر machinekey في الملف web.config للتطبيق الخاص بك, وتغيير أو إضافة قيم العنصر machinekey في الملف web.config للخدمة Security Token Service تحت المسار التالي:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\SecurityToken
بعد عمل كل شيء بشكل صحيح, تكتشف في اليوم التالي وعند محاولة الدخول بأي مستخدم جديد, بأن عملية الدخول لا تنجح, ولا يظهر أي خطأ فقط قد يظهر الخطأ التالي في سجلات ويندوز:
An exception occurred when trying to issue security token: The security token username and password could not be validated.
طبعاً هذا الخطأ يوضح بأن معلومات الدخول مثل اسم المستخدم أو كلمة المرور خطأ أو الاثنين هما خطأ, لكن غالباً نكون متأكدين من معلومات الدخول, إذا ما السبب؟
بعد بحث طويل تبين بأن قيمة العنصر machinekey للخدمة Security Token Service تحت المسار التالي:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices\SecurityToken
أعد القيمة المتغيرة إلى القيمة القديمة التي تم تعيينها في بداية ضبط إعدادات نماذج المصادقة, عندها سيعود كل شيء للعمل بشكل صحيح, ويمكنك الآن تسجيل دخول على الموقع بشكل ناجح مرة أخرى, لكن تبين أن عملية دخول تعود لتفشل مرة أخرى في اليوم التالي! بسبب تغير قيمة العنصر machinekey في الملف web.config السابق!, إذا ما لذي يغير هذه القيمة.
تبين بعد بعض تنفيذ عمليات البحث بأن هناك مهمة يتم تنفيذها كل يوم ضمن مهام شيربوينت 2010 المجدولة تغير هذه القيمة, ولإيقاف عملية تغيير هذه القيمة يجب اتباع الخطوات التالية:
1. افتح موقع الإدارة المركزية Central Administration.
2. اضغط على الرابط Monitoring في القائمة اليسرى.
3. من المجموعة Health Analyzer اختر الرابط Review rule definitions.
4. تحت التصنيف Configuration ابحث عن القاعدة التالية:
Web.config files are not identical on all machines in the farm.5. اضغط على Edit Item وألغي تحديد الخيار Repair Automatically واضغط حفظ.
الحل المقترح برأيي ليس هو الحل الأفضل لأن مايكروسوفت توصي بعدم إيقاف أو تغيير أي من قواعد العمل المعرفة كما فعلنا سابقاً, لذلك سنفرد مقالة أخرى لطرح الحل الأفضل فيما يخص هذه المشكلة.
استمتع :)