تشغيل WordPress على OpenBSD 6.5 مع OpenBSDs HTTPD

المقدمة

كلما اقتربت من تثبيت OpenBSD بشكل افتراضي وبدون العديد من الحزم المضافة ، كلما كان أكثر أمانًا. في حين أن الإعداد الأكثر شيوعًا لـ WordPress هو استخدام Apache و PHP ، فمن الممكن بالتأكيد (والمفضل) استخدام httpd المدمج لـ OpenBSD. سيساعدك هذا البرنامج التعليمي على البدء في إعداد كامل لشهادة Let's Encrypt وخادم الويب و WordPress. ستحتاج إلى الوصول إلى الجذر حتى تتمكن من القيام بذلك.

الترتيب الأولي

إذا لم تكن قد قمت بذلك بالفعل ، فستحتاج إلى إنشاء /etc/doas.confملف. و doasالأمر استبدال اكبر برهان من السهل على sudo.

su -
echo "permit nopass keepenv :wheel" > /etc/doas.conf

يجب أن نخبر OpenBSD بمكان وجود الحزم. يحدث هذا في /etc/installurlالملف.

doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit

الآن علينا إضافة PHP وبعض الوحدات الإضافية التي سيحتاجها WordPress من أجل التعامل مع أشياء مثل الصور والتشفير. عند المطالبة ، اختر تثبيت أحدث حزمة PHP. شيء واحد عليك القيام به هو نسخ iniملفات الوحدة النمطية من دليل العينة إلى الرئيسي. يجب القيام بذلك من أجل تمكين وحدات PHP الإضافية.

doas pkg_add -r mariadb-client mariadb-server php php-curl php-mysqli pecl73-mcrypt pecl73-imagick 
doas su -
cp /etc/php-7.3.sample/* /etc/php-7.3/.

الحصول على دعونا تشفير الشهادات

يحتوي OpenBSD على تطبيق رائع يسمى acme-client. هذا الابتكار الصغير هو ما سيولد مفتاح حسابك ومفتاحك الخاص ويحصل على شهادة لك. يعتمد عميل acme على وجود خادم ويب في مكانه ، لذلك نحدد تعريف خادم افتراضي سريع.

مع محرر المفضلة لديك ، إنشاء /etc/httpd.conf. سنضيف تعريفات الخادم الأخرى إلى الملف لاحقًا. ما علينا القيام به الآن هو إعداد httpd لأداء الاستجابة للتحدي للحصول على شهادة SSL مجانية صالحة.

prefork 5
types { include "/usr/share/misc/mime.types" }

server "default" {
    listen on egress port 80
    root "/htdocs"
    directory index "index.html"

    location "/.well-known/acme-challenge/*" {
        request strip 2
        root "/acme"
    }
}

أيضا باستخدام محرر المفضلة لديك ، إنشاء /etc/acme-client.conf.

authority letsencrypt {
    api url "https://acme-v01.api.letsencrypt.org/directory"
    account key "/etc/acme/letsencrypt-privkey.pem"
}

authority letsencrypt-staging {
    api url "https://acme-staging.api.letsencrypt.org/directory"
    account key "/etc/acme/letsencrypt-staging-privkey.pem"
}

domain example.com {
    alternative names { www.example.com }
    domain key "/etc/ssl/private/example.com.key"
    domain full chain certificate "/etc/ssl/example.com.fullchain.pem"
    sign with letsencrypt
}

قم بتمكين وبدء httpd ، ثم الحصول على شهادة صادرة. سترى أنه تم إصدار شهادة.

doas rcctl enable httpd php73_fpm
doas rcctl start httpd
doas acme-client -ADFv example.com
doas rcctl stop httpd

إضافة تعريفات الخادم

أضف خطوط التكوين التالية إلى /etc/httpd.conf، بعد تعريفات Let's Encrypt مباشرةً. قم بإعداد httpd لإجراء إعادة توجيه من http إلى https لأن لديك شهادة SSL مجانية ولا تريد أبدًا المخاطرة بإرسال تسجيل دخول وكلمة مرور عبر رابط غير آمن. انتبه إلى الخط ، location "/posts/*"هذه هي القطعة التي تجعل روابط WordPress الثابتة تبدو جميلة. أيضًا ، يحتوي هذا التكوين على طريقة للمساعدة في منع محاولات القوة الغاشمة لتسجيل الدخول إلى موقع مسؤول WordPress.

server "example.com" {
    listen on egress port 80
    alias "www.example.com"
    block return 302 "https://$SERVER_NAME$REQUEST_URI"
}

server "example.com" {
    listen on egress tls port 443
    alias "www.example.com"
    root "/htdocs/example.com
    directory index "index.php"

     location "/posts/*" {
        fastcgi {
             param SCRIPT_FILENAME "/htdocs/example.com/index.php"
             socket "/run/php-fpm.sock"
        }
     }

     location "/wp-json/*" {
        fastcgi {
           param SCRIPT_FILENAME "/htdocs/example.com/index.php"
            socket "/run/php-fpm.sock"
        }
     }

    location "/wp-login.php*" {
        authenticate "WordPress" with "/htdocs/htpasswd"
        fastcgi socket "/run/php-fpm.sock"
     }

    #Uncomment the following lines to disable xmlrpc. You increase security 
    #at the expense of being able to use to use 
    #the Android and iPhone WordPress App.
    #location "xmlrpc.php*" {
    #    block return 404
    #}        

    location "*.php*" {
        fastcgi socket "/run/php-fpm.sock"
     }

    tls {
        certificate "/etc/ssl/example.com.fullchain.pem"
        key "/etc/ssl/private/example.com.key"
    }
}

قم بإنشاء ملف اسم المستخدم وكلمة المرور لمستوى إضافي من الأمان لموقع مسؤول WordPress. اختر كلمة مرور جيدة. سيطلب منك هذا اسم مستخدم وكلمة مرور لتشغيل wp-login.phpالبرنامج النصي.

doas su
cd /var/www/htdocs
htpasswd htpasswd wp_user
chown www:www htpasswd
chmod 0640 htpasswd

إعداد وتكوين MariaDB

MariaDB هي شوكة بديلة لـ MySQL. نحتاج إلى القيام ببعض أعمال التهيئة الأولية وإعداد قاعدة البيانات لـ WordPress.

قبل أن نتمكن من استخدام MariaDB بشكل فعال ، نحتاج إلى السماح لبرنامج mysql daemon باستخدام موارد أكثر من الموارد الافتراضية. للقيام بذلك ، قم بإجراء التغييرات التالية /etc/login.confعن طريق إضافة هذا الإدخال في الأسفل.

mysqld:\
    :openfiles-cur=1024:\
    :openfiles-max=2048:\
    :tc=daemon:

تمكين وبدء MariaDB. سيؤدي هذا الإجراء إلى تعيين كلمة مرور جذرية وإسقاط قاعدة بيانات الاختبار بشكل اختياري. من الجيد اتباع الاقتراحات في مرحلة التثبيت الآمن.

 doas mysql_install_db
 doas rcctl enable mysqld
 doas rcctl start mysqld
 doas mysql_secure_installation

إنشاء قاعدة بيانات WordPress ومستخدم قاعدة البيانات.

mysql -u root -p 
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
EXIT

تثبيت وتكوين وورد

لم يكن لدى WordPress منفذ OpenBSD رسمي لبعض الوقت لأنه يعمل إلى حد كبير خارج الصندوق. قم بتنزيل مجلد تثبيت WordPress واستخراجه ونقله.

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar xvfz latest.tar.gz
doas mv wordpress /var/www/htdocs/example.com
chown -R www:www /var/www/htdocs/example.com

لدينا لنسخ /etc/resolve.confو /etc/hostsل /var/www/etc. هذا حتى يتمكن WordPress من الوصول إلى السوق بنجاح. ستحتاج إلى هذا لتنزيل الإضافات والمظاهر عبر موقع مسؤول WordPress.

doas mkdir /var/www/etc
doas cp /etc/hosts /var/www/etc/.
doas cp /etc/resolv.conf /var/www/etc/.

ابدأ httpd و php73_fpm.

doas rcctl start httpd php73_fpm

استعرض للوصول إلى عنوان url الذي استخدمته في تعريف الخادم الخاص بك. سترى معالج تثبيت WordPress. بالنسبة لخيار خادم قاعدة البيانات ، استبدل localhost بـ 127.0.0.1.

بمجرد تثبيت WordPress ، حان الوقت لإعداد الروابط الثابتة بحيث تبدو أكثر ملاءمة لكبار المسئولين الاقتصاديين. من شاشة مدير WordPress ، انتقل إلى Settings -> Permalinks. انقر فوق Custom Structureواكتب /posts/%postname%. بعد إجراء هذا التغيير ، انقر فوق Save Changesالزر. لديك الآن روابط تبحث أجمل بكثير. على سبيل المثال ، سيبدو الرابط الثابت كما يلي:https://example.com/posts/example-blog-post



Leave a Comment

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد