ذكري المظهر

كيفية تثبيت شبح على أوبونتو 18.04

Ubuntu server. Va no ip

Ubuntu server. Va no ip

جدول المحتويات:

Anonim

Ghost عبارة عن نظام أساسي للنشر المصدر حديث مبني على أعلى منصة Node.js. إنه قابل للتخصيص بالكامل وسهل الاستخدام ، مما يتيح لك نشر المحتوى الخاص بك مع منحنى التعلم ما يقرب من الصفر.

سنشرح لك في هذا البرنامج التعليمي كيفية نشر مدونة Ghost آمنة على خادم Ubuntu 18.04 باستخدام Nginx كخادم وكيل ، وشهادة Let's Encrypt SSL المجانية ، وأحدث إصدار LTS من Node.js ، و MySQL / MariaDB كواجهة خلفية لقاعدة البيانات.

المتطلبات الأساسية

كشروط مسبقة لمتابعة هذا البرنامج التعليمي ، سوف تحتاج إلى:

  • وفقًا لمتطلبات نظام Ghost الرسمية ، فأنت تحتاج إلى 1G على الأقل من ذاكرة الوصول العشوائي. إذا كان لديك خادم به أقل من 1 جيجابايت من ذاكرة الوصول العشوائي ، فيمكنك إنشاء ملف مبادلة. اسم مجال يشير إلى عنوان IP الخاص بالخادم العام. في هذا البرنامج التعليمي ، سنستخدم example.com .Nginx الذي تم تثبيته باتباع كيفية تثبيت Nginx على Ubuntu 18.04.Firewall الذي تم تكوينه باتباع كيفية إعداد جدار حماية باستخدام UFW على Ubuntu 18.04. تأكد من فتح المنافذ 80 و 443 .

قبل المتابعة مع هذا البرنامج التعليمي ، تأكد من تسجيل الدخول كمستخدم لديه امتيازات sudo.

تثبيت Node.js والغزل

في وقت كتابة هذا المقال ، كان الإصدار Node.js الموصى به لـ Ghost هو v8 carbon LTS. سنقوم بتثبيت Node.js من مستودع NodeSource.

تمكين مستودع NodeSource لـ Node.js v8 باستخدام الأمر curl التالي:

curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -

قم بتثبيت Node.js بكتابة:

sudo apt install nodejs للتعرف على طرق التثبيت الأخرى ، تحقق من كيفية تثبيت Node.js على دليل Ubuntu 18.04.

لتثبيت الغزل ، قم أولاً بتمكين مستودع الغزل على نظامك باستخدام الأوامر التالية:

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

بمجرد تمكين المستودع ، قم بتثبيت الغزل باستخدام:

sudo apt update sudo apt-get -o Dpkg::Options::="--force-overwrite" install yarn

تثبيت الخلية

يدعم Ghost قواعد بيانات MySQL و MariaDB و SQLite. في هذا البرنامج التعليمي ، سنستخدم MySQL وهي قاعدة البيانات الموصى بها عند تشغيل Ghost في وضع الإنتاج.

قم بتثبيت حزمة MySQL باستخدام الأمر التالي:

sudo apt install mysql-server

قم بتشغيل الأمر mysql_secure_installation لتحسين أمان تثبيت MySQL:

sudo mysql_secure_installation

سيُطلب منك تكوين VALIDATE PASSWORD PLUGIN والذي يُستخدم لاختبار قوة كلمات مرور مستخدمي MySQL. هناك ثلاثة مستويات لسياسة التحقق من كلمة المرور ، منخفضة ومتوسطة وقوية. اضغط ENTER إذا كنت لا تريد إعداد المكون الإضافي للتحقق من صحة كلمة المرور.

في المطالبة التالية ، سيُطلب منك تعيين كلمة مرور للمستخدم الجذر MySQL.

بمجرد تعيين كلمة مرور الجذر ، سيطلب منك البرنامج النصي أيضًا إزالة المستخدم المجهول ، وتقييد وصول مستخدم الجذر إلى الجهاز المحلي وإزالة قاعدة بيانات الاختبار. يجب أن تجيب على Y (نعم) على جميع الأسئلة.

بعد ذلك ، نحتاج إلى تغيير طريقة المصادقة من auth_socket إلى mysql_native_password ، حتى يتمكن مثبت Ghost من الوصول إلى خادم MySQL الخاص بنا. للقيام بذلك ، قم بتسجيل الدخول إلى خادم MySQL كمستخدم الجذر:

sudo mysql

وقم بتشغيل الاستعلام التالي الذي سيؤدي إلى تعيين كلمة مرور للمستخدم الجذر MySQL عند استخدام طريقة mysql_native_password :

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_pasword'; FLUSH PRIVILEGES;

تأكد من تغيير very_strong_pasword بكلمة مرور قوية.

تثبيت Ghost-CLI

سنقوم بتثبيت Ghost باستخدام الأداة المساعدة Ghost CLI الرسمية. تتيح لك هذه الأداة المساعدة تثبيت Ghost أو تحديثه في أمر واحد.

Ghost CLI متاح كحزمة npm. سيقوم الأمر التالي بتثبيت Ghost CLI على نظام Ubuntu الخاص بك على مستوى العالم:

sudo yarn global add ghost-cli

إنشاء موقع تثبيت Ghost

سنقوم بتنزيل Ghost وتثبيته في دليل /var/www/ghost ، وهو موقع التثبيت الموصى به.

لإنشاء نوع الدليل:

sudo mkdir -p /var/www/ghost

تغيير ملكية الدليل إلى المستخدم الخاص بك:

sudo chown $USER:$USER /var/www/ghost

$USER هو متغير بيئة يحتفظ باسم المستخدم الخاص بك.

تعيين أذونات الدليل الصحيح:

sudo chmod 775 /var/www/ghost

تثبيت الشبح

الآن وبعد تثبيت Ghost CLI وإتمام جميع المتطلبات المسبقة ، يمكننا البدء في التثبيت.

التغيير إلى الدليل /var/www/ghost .

cd /var/www/ghost

لبدء التثبيت ، ghost install بتشغيل ghost install ، والتي ستقوم بتثبيت Ghost وتكوينه ، وتكوين Nginx كبروكسي عكسي ، وتأمين الموقع مع السماح مجانًا بتشفير شهادة SSL.

ghost install

✔ Checking system Node.js version ✔ Checking logged in user ✔ Checking current folder permissions System checks failed with message: 'Linux version is not Ubuntu 16' Some features of Ghost-CLI may not work without additional configuration. For local installs we recommend using `ghost install local` instead. ? Continue anyway? (y/N) y

سيقوم المثبت بفحص النظام الخاص بك وطباعة بعض التحذيرات كما هو موضح أعلاه. اكتب y للمتابعة وسوف يقوم المثبت بعد ذلك بتنزيل Ghost وتثبيته:

ℹ Checking operating system compatibility ✔ Checking for a MySQL installation ✔ Checking memory availability ✔ Checking for latest Ghost version ✔ Setting up install directory ✔ Downloading and installing Ghost v1.24.9 ✔ Finishing install process

بعد ذلك ، سيُطلب منك تعيين عنوان URL لمدونتك ومعلومات MySQL الخاصة بك. أدخل اسم مستخدم الجذر وكلمة المرور اللذين قمنا ghost_prod في قسم Installing MySQL واستخدم اسم قاعدة البيانات الافتراضي ghost_prod .

? Enter your blog URL: https://example.com ? Enter your MySQL hostname: localhost ? Enter your MySQL username: root ? Enter your MySQL password: ? Enter your Ghost database name: ghost_prod

سيقوم المثبِّت بإنشاء مستخدم نظام باسم ghost وسيسألك عما إذا كنت ترغب في إنشاء مستخدم MySQL خفي ، اكتب " Yes .

✔ Configuring Ghost ✔ Setting up instance Running sudo command: chown -R ghost:ghost /var/www/ghost/content ✔ Setting up "ghost" system user ? Do you wish to set up "ghost" mysql user? Yes ✔ Setting up "ghost" mysql user

بعد ذلك ، سيسألك برنامج التثبيت عما إذا كنت ترغب في إعداد Nginx. تأكيد عن طريق الكتابة Yes .

? Do you wish to set up Nginx? Yes ✔ Creating nginx config file at /var/www/ghost/system/files/example.com.conf Running sudo command: ln -sf /var/www/ghost/system/files/example.com.conf /etc/nginx/sites-available/example.com.conf Running sudo command: ln -sf /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf Running sudo command: nginx -s reload ✔ Setting up Nginx

بمجرد إعداد Nginx ، سيسألك المثبت عما إذا كنت تريد إعداد SSL. قم بتأكيد ذلك بكتابة " Yes " وسيطلب منك معالج التكوين إدخال عنوان البريد الإلكتروني الخاص بك ، ثم يقوم بإنشاء شهادة Let's Encrypt SSL مجانية لنطاقك وتكوين Nginx.

? Do you wish to set up SSL? Yes ? Enter your email (used for Let's Encrypt notifications) [email protected] Running sudo command: mkdir -p /etc/letsencrypt Running sudo command:./acme.sh --install --home /etc/letsencrypt Running sudo command: /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt --domain example.com --webroot /var/www/ghost/system/nginx-root --reloadcmd "nginx -s reload" --accountemail [email protected] Running sudo command: openssl dhparam -out /etc/nginx/snippets/dhparam.pem 2048 Running sudo command: mv /tmp/ssl-params.conf /etc/nginx/snippets/ssl-params.conf ✔ Creating ssl config file at /var/www/ghost/system/files/example.com-ssl.conf Running sudo command: ln -sf /var/www/ghost/system/files/example.com-ssl.conf /etc/nginx/sites-available/example.com-ssl.conf Running sudo command: ln -sf /etc/nginx/sites-available/example.com-ssl.conf /etc/nginx/sites-enabled/example.com-ssl.conf Running sudo command: nginx -s reload ✔ Setting up SSL

بعد ذلك ، سيسألك برنامج التثبيت عما إذا كنت تريد إعداد خدمة systemd. اكتب Y لقبول وسيعمل المثبت على إنشاء خدمة systemd جديدة تسمى ghost_example-com وتمكينها من بدء التشغيل:

? Do you wish to set up Systemd? Yes ✔ Creating systemd service file at /var/www/ghost/system/files/ghost_example-com.service Running sudo command: ln -sf /var/www/ghost/system/files/ghost_example-com.service /lib/systemd/system/ghost_example-com.service Running sudo command: systemctl daemon-reload ✔ Setting up Systemd

أخيرًا ، سيقوم المثبت بإعداد قاعدة البيانات ويسأل عما إذا كنت تريد بدء Ghost ، اكتب " Yes .

Running sudo command: /var/www/ghost/current/node_modules/.bin/knex-migrator-migrate --init --mgpath /var/www/ghost/current ✔ Running database migrations ? Do you want to start Ghost? Yes Running sudo command: systemctl is-active ghost_example-com ✔ Ensuring user is not logged in as ghost user ✔ Checking if logged in user is directory owner ✔ Checking current folder permissions Running sudo command: systemctl is-active ghost_example-com ✔ Validating config ✔ Checking folder permissions ✔ Checking file permissions ✔ Checking content folder ownership ✔ Checking memory availability Running sudo command: systemctl start ghost_example-com ✔ Starting Ghost Running sudo command: systemctl is-enabled ghost_example-com Running sudo command: systemctl enable ghost_example-com --quiet ✔ Starting Ghost You can access your publication at https://example.com Next, go to your admin interface at https://example.com/ghost/ to complete the setup of your publication Ghost uses direct mail by default To set up an alternative email method read our docs at

أكمل إعداد Ghost

افتح المستعرض الخاص بك ، انتقل إلى واجهة مسؤول Ghost على https://example.com/ghost/ وستظهر لك الشاشة التالية:

من هنا يمكنك إنشاء منشورات جديدة وإضافة مستخدمين وتغيير تكوين Ghosts.

استنتاج

في هذا البرنامج التعليمي ، تعلمت كيفية تثبيت مثيل Ghost جاهز للإنتاج.

يجب عليك الآن زيارة صفحة تعليمات Ghost ومعرفة المزيد حول كيفية إدارة تثبيت Ghost لك. يمكنك أيضًا زيارة Ghost Marketplace واكتشاف سمات Ghost.

شبح nodejs npm أوبونتو بلوق