تم تأسيس NextCloud على يد فرانك كارليتشيك، المؤسس المشارك لشركة original ownCloud، وهي ترث التكنولوجيا الأساسية لـ ownCloud الأصلية ولديها العديد من الابتكارات. من حيث الوظائف، فإن NextCloud مشابه لـ ownCloud، بل وأكثر ثراءً من حيث تجربة المستخدم، ومن السهل جدًا تثبيت NextCloud والشيء الأكثر أهمية هو أن NextCloud مفتوح المصدر تمامًا ومجاني.
NextCloud ليس مجرد نظام أساسي لأقراص الشبكة السحابية الخاصة، ولكنه يدعم أيضًا الاستخدام المتزامن والتعاوني من قبل العديد من المستخدمين. يدعم NextCloud تسجيل الحساب ويمكنه تمكين التحقق بخطوتين للحساب لضمان أمان الحساب. وفي الوقت نفسه، يمكن لـ NextCloud تعيين فترات صلاحية للملفات المشتركة بشكل عام، ويدعم بشكل مباشر المعاينة عبر الإنترنت وتشغيل مقاطع الفيديو والموسيقى ومستندات Office التي تم تحميلها وما إلى ذلك.
يوفر NextCloud أيضًا المئات من التطبيقات والمكونات الإضافية المجانية، والتي يمكنها تحويل NextCloud إلى منصة لمشاركة المستندات وتحريرها عبر الإنترنت، ومنصة للترفيه عن الموسيقى والفيديو، ومنصة لتخزين الملفات وتنزيلها. بالطبع، إذا قمت بتثبيت NextCloud يدويًا، فيجب عليك تكوين البيئة لهذه المكونات الإضافية بنفسك.
ستشارك هذه المقالة برنامجًا تعليميًا حول كيفية تثبيت NextCloud يدويًا. لمزيد من الخدمات والأنظمة الأساسية التي أنشأها مشرفو المواقع، يمكنك أيضًا تجربة:
- تقوم Lsyncd بإنشاء Lsyncd الذي يستخدم مرآة المزامنة لتحقيق المزامنة في الوقت الفعلي بين الخوادم المحلية والبعيدة
- البرنامج التعليمي لتكامل VestaCP وWHMCS - تحقيق تفعيل الخدمة الذاتية للمضيف الظاهري ومبيعات منتجات الفضاء المضيف
- طريقة تكامل ISPConfig وWHMCS - تقوم تلقائيًا بتنشيط المضيف الظاهري ومستخدمي مساحة الإدارة
ملاحظة: تم التحديث في 20 سبتمبر 2017، يمكن للأصدقاء الذين يجدون صعوبة في التثبيت اليدوي استخدام طريقة التثبيت بنقرة واحدة. المرجع: يعد التخزين السحابي الشخصي Nextcloud خيارًا ممتازًا: طريقة التثبيت التلقائي والقرص السحابي بنقرة واحدة تجربة الاستخدام.
1. تثبيت LAMP NextCloud
الموقع الرسمي لـ NextCloud:
- HTTPS://next cloud.com/
قم بتحضير بيئة LAMP. يشير LAMP إلى بيئات Apache، وMysqL، وMariadb، وPHP. ويوصي NextCloud رسميًا باستخدام Apache لتشغيل NextCloud، ويأتي مزودًا بقواعد .htaccess. بالنسبة إلى Nginx، لا تزال بحاجة إلى كتابة قواعد إعادة كتابة عنوان URL الخاص بـ NextCloud يدويًا. يوصى بالطرق التالية لتثبيت LAMP بنقرة واحدة:
- أداة إنشاء موقع Linux VPS، تثبيت LNMP 1.4 واستخدامه، تجديد التكوين التلقائي لـ SSL ودعم PHP متعدد الإصدارات
- برنامج التثبيت OneinStack بنقرة واحدة - يمكنك بسهولة نشر شهادة Let's Encrypt وتكوين موقع HTTPS
يمكن لكل من LNMP 1.4 وOneinStack تثبيت بيئة LAMP بنقرة واحدة. وهنا أستخدم OneinStack كعرض توضيحي للعملية قاعدة البيانات. يمكن أيضًا تثبيت مكونات التخزين المؤقت الأخرى.
اربط اسم المجال وأضف شهادة SSL. يمكن لـ OneinStack إضافة شهادة SSL مباشرة عند إضافة موقع ويب، وفي الوقت نفسه، يلزم تحليل اسم المجال المرتبط إلى عنوان IP الخاص بالخادم مسبقًا، حتى يتمكن من إنشاء شهادة Lets free بنقرة واحدة. .
قم بتنزيل حزمة مستوى NextCloud وتثبيتها. انتقل إلى الموقع الرسمي: https://nextcloud.com/install/#instructions-server، وقم بتنزيل أحدث حزمة، وفك ضغطها، ثم قم بتحميلها إلى الدليل الجذر للموقع.
قم بإنشاء قاعدة بيانات جديدة لـ NextCloud.
ملاحظة: تم التحديث في 1 سبتمبر 2018. شكرًا لـ baoang على التذكير، عند تثبيت NC، يمكنك استخدام حساب الجذر مباشرةً في قاعدة البيانات. لأن NC لن يستخدم هذا الحساب، ولكنه يستخدم هذا الحساب فقط للتثبيت. بعد اكتمال التثبيت، سيقوم بإنشاء حساب قاعدة البيانات الخاص به بتنسيق معرف nc_administrator، مثل nc_qi.
سيقودك الوصول إلى اسم المجال تلقائيًا إلى صفحة تثبيت NextCloud. قم بملء حساب المسؤول وكلمة المرور، ثم قم بتعيين مسار تخزين الملف أدناه. ومن الأفضل ألا تكون في نفس الدليل مثل البرنامج. وفي الوقت نفسه، قم بملء معلومات قاعدة بيانات SQL لإكمال التثبيت. (اضغط للتكبير)
بمجرد الانتهاء، يمكنك تسجيل الدخول إلى الواجهة الخلفية لـ NextCloud، وهي واجهة إدارة مستخدم NextCloud. (اضغط للتكبير)
2. تثبيت LNMP NextCloud
إعداد بيئة LNMP هو نفسه كما هو مذكور أعلاه، باستثناء أنه يمكنك تحديد بيئة Nginx عند تثبيت LNMP 1.4 وOneinStack، ويمكن تثبيت المكونات الأخرى بشكل انتقائي. إذا تم تثبيت Zend OPcache، فقد يظهر خطأ أثناء التثبيت: "تم تعيين PHP لإزالة الكتل المضمنة، مما سيؤدي إلى عدم قدرة العديد من التطبيقات الأساسية على الوصول إلى
.
الحل: تعديل معلمات Opcache في php.ini إذا كان Oneinstack، فستحتاج إلى تعديله في /usr/local/php/etc/php.d/ext-opcache.ini. ابحث عن هذا الكود وقم بتغييره إلى: opcache.save_comments=1، لأن الافتراضي هو 0، فقط أعد تشغيل php-fpm بعد تغييره.
اكتب قواعد إعادة كتابة عنوان URL. حدث خطأ: لم يتم تحديد ملف إدخال، وذلك لأن Nginx لا يزال بحاجة إلى كتابة قواعد إعادة الكتابة الخاصة به. يمكنك نسخ القواعد التالية ولصقها في /usr/local/nginx/conf/vhost/your website.conf وفقًا للقواعد، إذا كان هناك عدد كبير جدًا، فيمكنك أيضًا إنشاء ملف منفصل ثم الرجوع إليه في website.conf الخاص بك. القواعد المحددة هي كما يلي:
#(可选)添加如下header主要为了安全
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
#(可选)为了支持user_webfinger app
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
#日历和联系人,建议加上
location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}
#设置上传文件的最大大小
client_max_body_size 512M;
fastcgi_buffers 64 4K;
#将所有请求转发到index.php上
location / {
rewrite ^ /index.php$uri;
}
#安全设置,禁止访问部分敏感内容
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
deny all;
}
location ~ ^/(?:.|autotest|occ|issue|indie|db_|console) {
deny all;
}
#默认有,替换原来的就行
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+).php(?:$|/) {
fastcgi_split_path_info ^(.+.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param modHeadersAvailable true;
fastcgi_param front_controller_active true;
fastcgi_pass unix:/dev/shm/php-cgi.sock; #这边我改过,参照原来的
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
include fastcgi.conf;
}
#安全设置,禁止访问部分敏感内容
location ~ ^/(?:updater|ocs-provider)(?:$|/) {
try_files $uri/ =404;
index index.php;
}
location ~ .(?:css|js|woff|svg|gif)$ {
try_files $uri /index.php$uri$is_args$args;
add_header Cache-Control "public, max-age=15778463";
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
access_log off;
}
location ~ .(?:png|html|ttf|ico|jpg|jpeg)$ {
try_files $uri /index.php$uri$is_args$args;
access_log off;
}
يمكن تثبيت fileinfoMemcachedRedis وما إلى ذلك بنقرة واحدة من خلال OneinStack.
تحسين أداء وأمان NextCloud: عادةً ما يمكن رؤية هذا النوع من المطالبات في إدارة خادم NextCloud، ومن المستحسن تثبيت فئة ذاكرة تخزين مؤقت واحدة فقط بشكل مباشر.
للحصول على أمان الخدمة وأدائها، يرجى تكوين جميع الإعدادات بشكل صحيح، وسنقوم بإجراء بعض الفحوصات الآلية لمساعدتك في القيام بذلك، يرجى مراجعة قسم "النصائح" والوثائق ذات الصلة للحصول على التفاصيل.
وحدة PHP "fileinfo" مفقودة، ونحن نوصي بشدة بتمكين هذه الوحدة للحصول على النتائج الأكثر دقة عند اكتشاف نوع MIME.
لم يتم تكوين رأس طلب HTTP "Strict-Transport-Security" لمدة "15552000" ثانية على الأقل لتعزيز الأمان، نوصي بتمكين HSTS كما هو موضح في تلميحات الأمان.
لم يتم تكوين Memcache. إذا كان ذلك متاحًا، يرجى تكوين memcache لتحسين الأداء. يرجى مراجعة وثائقنا لمزيد من المعلومات.
لم يتم تكوين OPcache الخاص بمكونات PHP بشكل صحيح لتوفير أداء أفضل، نوصي باستخدام ملف php.ini الإعدادات التالية:opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache. revalidate_freq=1
يضيف NextCloud ذاكرة التخزين المؤقت Memcached. قم بتعديل ملف config.php في دليل التكوين ضمن دليل البرنامج وأضف ما يلي إلى ملف التكوين. هذه مثيلات Memcached متعددة يمكنك تعديل كل واحدة منها بنفسك:
'memcache.local' => 'OCMemcacheAPCu',
'memcache.distributed' => 'OCMemcacheMemcached',
'memcached_servers' => array(
array('localhost', 11211),
array('server1.example.com', 11211),
array('server2.example.com', 11211),
),
يضيف NextCloud ذاكرة التخزين المؤقت لـ Redis. أضف ما يلي في ملف التكوين، وهو متصل عبر TCP
'memcache.local' => 'OCMemcacheRedis',
'redis' => array(
'host' => 'localhost',
'port' => 6379,
),
هناك أيضًا اتصالات UNIX ذات أداء أفضل
'memcache.local' => 'OCMemcacheRedis',
'redis' => array(
'host' => '/var/run/redis/redis.sock',
'port' => 0,
'dbindex' => 0,
'password' => 'secret',
'timeout' => 1.5,
),
وفي الوقت نفسه، يوصي المسؤول أيضًا بإضافة ما يلي لتخزين أقفال الملفات
'memcache.locking' => 'OCMemcacheRedis',
كل شيء يعمل بشكل جيد عندما يقوم Nginx بتشغيل NextCloud.
3. أضف التطبيقات إلى NextCloud
يوفر NextCloud مجموعة غنية من التطبيقات المضمنة، ويمكن تنزيل هذه التطبيقات وتثبيتها مباشرة في خلفية NextCloud، تمامًا مثل مكون WordPress الإضافي. يقدم هذا بعض المكونات الإضافية المفيدة لـ NextCloud، وأعتقد أنك ستستخدمها بالتأكيد.
إرسال SMTP وتحديد الحد الأقصى لتحميل الملف. يمكن ضبط هذا الخيار مباشرة في إعدادات الخلفية لـ NextCloud. يتيح لنا SMTP الاتصال بخدمة إرسال تابعة لجهة خارجية لإرسال رسائل البريد الإلكتروني الخاصة بـ NextCloud. يمكن أيضًا لـ PHP المدمج إرسال رسائل البريد الإلكتروني، ولكن سيتم الحكم عليها بشكل أساسي حسب التخصص صناديق البريد للبريد العشوائي.
تشفير تخزين البيانات وتخزين المكونات الإضافية. قم أولاً بتنشيط المكونين الإضافيين، وحدة التشفير الافتراضية ودعم التخزين الخارجي، في تطبيق NextCloud.
يتطلب تمكين تشفير البيانات الحذر: لأنه بمجرد تمكين تشفير البيانات، سيتم تشفير جميع الملفات التي تم تحميلها إلى الخادم على الخادم فقط إذا كانت وحدة التشفير الممكّنة تدعم فك التشفير وتم استيفاء جميع المتطلبات الأساسية (على سبيل المثال: قم بتعيين مفتاح الاسترداد) لفك التشفير. يرجى ملاحظة أن التشفير يزيد من حجم الملف وأن التشفير وحده لا يمكنه ضمان أمان النظام، وسوف تحتاج إلى تعيين مفتاح استرداد في نفس الوقت.
يسمح تخزين المكونات الإضافية بشكل أساسي لـ NextCloud بتسجيل الدخول إلى OC من خلال SMB/CIFS لتثبيت تطبيقات تخزين الطرف الثالث، وقد يكون تمكين هذا المكون الإضافي أمرًا مزعجًا بعض الشيء، وقد يطالبك بما يلي: لم يتم تثبيت أوامر التثبيت "smbclient". apt-get install smbclient و apt-get install php-smbclient.
4. ملخص
أما بالنسبة لاختيار Apache أو Nginx لتشغيل NextCloud، فهذا يعتمد بشكل أساسي على معرفتك بـ Nginx أو Apache. لقد قام LNMP 1.4 وOneinStack بعمل جيد في تحسين Nginx، ويمكن استخدام شهادات SSL ومكونات التخزين المؤقت ووظائف PHP نقرة واحدة. التثبيت والتكوين يوفر الكثير من المتاعب.
لا توجد مشكلة في وظائف NextCloud الأساسية، مثل معاينة الصور وتشغيل مقاطع الفيديو الموسيقية عبر الإنترنت، ومع ذلك، فقد واجهت الكثير من المشكلات عند استخدام تطبيق NextCloud. المشكلة الأولى هي أن تكوين تطبيق NextCloud صعب، مثل المكونات الإضافية لمستندات Office، والمكونات الإضافية لقارئ RSS عبر الإنترنت، وما إلى ذلك، وكلها تتطلب تكوينًا يدويًا لبيئة الخادم.