اجرای WordPress در OpenBSD 6.5 با OpenBSDs HTTPD

معرفی

هرچه نصب OpenBSD را به حالت پیش فرض نزدیکتر نگه دارید و بدون تعداد بسته های اضافی ، امنیت بیشتری داشته باشید. در حالی که رایج ترین وردپرس استفاده از Apache و PHP است ، قطعاً استفاده از httpB داخلی OpenBSD از httpd استفاده می شود. این آموزش شما را با راه اندازی کامل گواهی نامه Let Encrypt ، سرور وب و وردپرس آغاز می کند. برای اینکه بتوانید این کار را انجام دهید ، به دسترسی ریشه نیاز خواهید داشت.

پیکربندی اولیه

اگر قبلاً این کار را نکرده اید ، باید یک /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 Encrypt خطوط پیکربندی زیر را اضافه کنید . برای انجام تغییر مسیر از http به https را تنظیم کنید زیرا مجوز SSL رایگان دارید و هرگز نمی خواهید برای ورود به سیستم و گذرواژه از طریق پیوند ناامن ریسک کنید. به خط توجه داشته باشید ، location "/posts/*"این قطعه ای است که باعث می شود مجوزهای وردپرس زیبا به نظر برسند. همچنین ، این پیکربندی شامل راهی برای کمک به جلوگیری از تلاش های بی رحمانه برای ورود به سایت مدیر وردپرس است.

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"
    }
}

نام کاربری و پرونده رمز عبور را برای سطح امنیتی بیشتر در سایت مدیر وردپرس ایجاد کنید. رمزعبور خوبی را انتخاب کنید. این کار برای اجرای wp-login.phpاسکریپت شما را به سمت نام کاربری و رمزعبور سوق می دهد.

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

MariaDB را تهیه و پیکربندی کنید

MariaDB یک چنگال جایگزین MySQL است. ما باید پیکربندی اولیه و کارهای آماده سازی پایگاه داده را برای وردپرس انجام دهیم.

قبل از اینکه بتوانیم از MariaDB به طور مؤثر استفاده کنیم ، باید به Daemon mysql اجازه دهیم تا از منابع بیشتری نسبت به پیش فرض استفاده کند. به منظور انجام این کار ، /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

کاربر پایگاه داده وردپرس و کاربر پایگاه داده را ایجاد کنید.

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

WordPress را نصب و پیکربندی کنید

وردپرس مدتی است که پورت رسمی OpenBSD را در اختیار ندارد ، زیرا تقریباً خارج از جعبه کار می کند. پوشه نصب وردپرس را بارگیری ، استخراج و انتقال دهید.

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. این امر به گونه ای است که وردپرس می تواند با موفقیت به بازار برسد. برای بارگیری افزونه ها و مضامین از طریق سایت مدیر وردپرس به این امر نیاز خواهید داشت.

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

به آدرس اینترنتی مورد استفاده در تعریف سرور خود بروید. جادوگر نصب وردپرس را مشاهده خواهید کرد. برای گزینه سرور Database ، localhost را جایگزین کنید 127.0.0.1.

پس از نصب وردپرس ، زمان آن رسیده که پیوندهای ثابت را تنظیم کنید تا آنها دوستانه تر به نظر برسند. از صفحه مدیریت وردپرس به بروید Settings -> Permalinks. کلیک کنید Custom Structureو تایپ کنید /posts/%postname%. پس از ایجاد این تغییر ، روی Save Changesدکمه کلیک کنید. شما اکنون پیوندهای بسیار زیبایی دارید. به عنوان مثال ، یک لینک ثابت به صورت زیر خواهد بود:https://example.com/posts/example-blog-post



نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد