Running WordPress pada OpenBSD 6.5 dengan OpenBSDs HTTPD

Pengenalan

Semakin dekat anda menyimpan pemasangan OpenBSD anda ke lalai dan tanpa pakej tambahan, semakin selamatnya. Walaupun persediaan yang lebih biasa untuk WordPress adalah menggunakan Apache dan PHP, sangat mungkin (dan lebih disukai) untuk menggunakan httpd terbina dalam OpenBSD. Tutorial ini akan memulakan anda dengan persediaan lengkap sijil Let's Encrypt, pelayan web, dan WordPress. Anda memerlukan akses root supaya dapat melakukan ini.

Konfigurasi Awal

Sekiranya anda belum melakukannya, anda perlu membuat /etc/doas.conffail. The doasarahan adalah penggantian mudah OpenBSD untuk sudo.

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

Kita harus memberitahu OpenBSD di mana pakejnya berada. Ini berlaku dalam /etc/installurlfail.

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

Sekarang kita harus menambahkan PHP dan beberapa modul tambahan yang diperlukan oleh WordPress untuk menangani perkara seperti gambar dan penyulitan. Apabila digesa, pilih untuk memasang paket terbaru PHP. Satu perkara yang perlu anda lakukan ialah menyalin inifail modul dari direktori sampel kepada yang utama. Ini mesti dilakukan untuk membolehkan modul PHP tambahan.

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/.

Dapatkan Letakkan Sijil Sijil

OpenBSD mempunyai aplikasi yang hebat yang disebut acme-client. Inovasi kecil ini adalah apa yang akan menghasilkan kunci akaun anda, kunci peribadi, dan mendapatkan sijil untuk anda. Pelanggan acme bergantung kepada pelayan web di tempat, jadi kami menentukan definisi pelayan lalai cepat.

Dengan editor kegemaran anda, buat /etc/httpd.conf. Kami akan menambahkan definisi pelayan lain ke fail kemudian. Apa yang perlu kita lakukan sekarang ialah menyediakan httpd untuk melaksanakan cabaran-tindak balas untuk mendapatkan sijil SSL yang sah.

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

Juga menggunakan editor kegemaran anda, buat /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
}

Membolehkan dan mula httpd, kemudian dapatkan sijil yang dikeluarkan. Anda akan melihat bahawa sijil telah dikeluarkan.

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

Menambah Definisi Pelayan

Tambahkan baris konfigurasi berikut /etc/httpd.conf, hanya selepas Let's Encrypt definitions. Persiapkan httpd untuk melakukan pengalihan semula dari http ke https kerana anda mempunyai sijil SSL percuma dan anda tidak akan ingin menghantar risiko masuk dan kata laluan melalui pautan yang tidak selamat. Perhatikan garis, location "/posts/*"Ini adalah bahagian yang menjadikan permalink WordPress kelihatan cantik. Selain itu, konfigurasi ini mengandungi cara untuk membantu mencegah percubaan kuasa brute untuk log masuk ke laman admin 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"
    }
}

Buat fail nama pengguna dan kata laluan untuk tahap keselamatan tambahan ke laman admin WordPress. Pilih kata laluan yang baik. Ini akan meminta anda untuk nama pengguna dan kata laluan untuk menjalankan wp-login.phpskrip.

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

Sediakan dan Konfigurasikan MariaDB

MariaDB adalah pengganti fork MySQL. Kita perlu melakukan konfigurasi awal dan kerja penyediaan pangkalan data untuk WordPress.

Sebelum kita dapat menggunakan MariaDB dengan berkesan, kita perlu membenarkan daemon mysql menggunakan lebih banyak sumber berbanding default. Untuk melakukan ini, buat perubahan berikut /etc/login.confdengan menambah entri ini di bahagian bawah.

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

Aktifkan dan mulakan MariaDB. Prosedur ini akan menetapkan kata laluan root dan secara pilihan drop database pengujian. Sebaiknya ikuti cadangan di peringkat pemasangan selamat.

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

Buat pangkalan data WordPress dan pengguna pangkalan data.

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

Pasang dan Konfigurasikan WordPress

WordPress tidak mempunyai pelabuhan OpenBSD rasmi untuk beberapa waktu kerana ia cukup berfungsi keluar dari kotak. Muat turun, ekstrak, dan pindahkan folder pemasangan 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

Kita perlu menyalin /etc/resolve.confdan /etc/hostske /var/www/etc. Ini adalah supaya WordPress berjaya mencapai pasaran. Anda memerlukan ini untuk memuat turun plugin dan tema melalui laman admin WordPress.

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

Mulakan httpd dan php73_fpm.

doas rcctl start httpd php73_fpm

Semak imbas url yang anda gunakan dalam definisi pelayan anda. Anda akan melihat wizard pemasangan WordPress. Untuk pilihan pelayan Pangkalan Data, gantikan localhost dengan 127.0.0.1.

Setelah WordPress dipasang, sudah tiba masanya untuk menyediakan permalink agar mereka kelihatan lebih mesra SEO. Dari skrin admin WordPress, pergi ke Settings -> Permalinks. Klik Custom Structuredan taipkan /posts/%postname%. Setelah membuat perubahan ini, klik Save Changesbutang. Anda kini mempunyai pautan mencari yang lebih bagus. Sebagai contoh, permalink akan kelihatan seperti ini:https://example.com/posts/example-blog-post



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut