OpenBSD 6.5de OpenBSD HTTPD ile WordPress Çalıştırma

Giriş

OpenBSD yüklemenizi varsayılana ne kadar yakın tutarsanız ve çok fazla ek paket olmadan da o kadar güvenli olur. WordPress için daha yaygın kurulum Apache ve PHP kullanmak olsa da, OpenBSD'nin yerleşik httpd'sini kullanmak kesinlikle (ve tercih edilir). Bu eğitici, bir Let's Encrypt sertifikası, bir web sunucusu ve WordPress kurulumu ile başlamanıza yardımcı olacaktır. Bunu yapabilmek için root erişimine ihtiyacınız olacak.

Başlangıç ​​konfigürasyonu

Henüz yapmadıysanız, bir /etc/doas.confdosya oluşturmanız gerekir . doasKomut için OpenBSD kolay yerine geçer sudo.

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

OpenBSD'ye paketlerin nerede olduğunu söylemeliyiz. Bu /etc/installurldosyada olur .

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

Şimdi PHP ve resim ve şifreleme gibi şeyleri işlemek için WordPress'in ihtiyaç duyacağı bazı ekstra modüller eklememiz gerekiyor. İstendiğinde, en yeni PHP paketini yüklemeyi seçin. Yapmanız gereken bir şey, modül inidosyalarını örnek dizinden ana dizine kopyalamaktır . Ek PHP modüllerini etkinleştirmek için bunun yapılması gerekir.

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

Sertifikaları Şifreleyelim

OpenBSD acme-client adlı harika bir uygulamaya sahiptir. Bu küçük yenilik, hesap anahtarınızı, özel anahtarınızı oluşturacak ve sizin için bir sertifika alacaktır. Acme-client, bir web sunucusunun yerinde olmasına bağlı olduğundan, hızlı bir varsayılan sunucu tanımı tanımlarız.

En sevdiğiniz editör ile oluşturun /etc/httpd.conf. Diğer sunucu tanımlarını daha sonra dosyaya ekleyeceğiz. Şimdi yapmamız gereken ücretsiz, geçerli bir SSL sertifikası almak için meydan okuma yanıtını gerçekleştirmek üzere httpd hazırlamaktır.

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

Ayrıca favori düzenleyicinizi kullanarak oluşturun /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'yi etkinleştirin ve başlatın, ardından bir sertifika alın. Bir sertifika verildiğini göreceksiniz.

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

Sunucu Tanımlarını Ekleme

Aşağıdaki yapılandırma satırlarını /etc/httpd.conf, Let's Encrypt tanımlarından hemen sonra ekleyin . Ücretsiz bir SSL sertifikanız olduğu ve güvenli olmayan bir bağlantı üzerinden giriş ve şifre gönderme riskini almak istemediğiniz için httpd'yi http'den https'ye yönlendirme yapacak şekilde ayarlayın. Satırı not edin, location "/posts/*"Bu, WordPress kalıcı bağlantılarını güzel gösteren parça. Ayrıca, bu yapılandırma, WordPress yönetici sitesine giriş yapmak için kaba kuvvet girişimlerini önlemeye yardımcı olacak bir yol içerir.

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 yönetici sitesine ek güvenlik düzeyi için kullanıcı adı ve parola dosyası oluşturun. İyi bir şifre seçin. Bu, komut wp-login.phpdosyasını çalıştırmak için sizden bir kullanıcı adı ve parola isteyecektir .

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

MariaDB'yi Hazırlama ve Yapılandırma

MariaDB, MySQL'in yerini alan bir yedek çataldır. WordPress için bazı başlangıç ​​yapılandırma ve veritabanı hazırlama işleri yapmamız gerekiyor.

MariaDB'yi etkili bir şekilde kullanabilmemiz için, mysql arka plan programının varsayılandan daha fazla kaynak kullanmasına izin vermeliyiz. Bunu yapmak için, /etc/login.confbu girdiyi altına ekleyerek aşağıdaki değişiklikleri yapın .

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

MariaDB'yi etkinleştirin ve başlatın. Bu prosedür bir kök parola belirler ve isteğe bağlı olarak test veritabanını bırakır. Güvenli kurulum aşamasında önerileri takip etmek iyi bir fikirdir.

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

WordPress veritabanı ve veritabanı kullanıcısını oluşturun.

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

WordPress'i Yükleme ve Yapılandırma

WordPress'in bir süredir resmi bir OpenBSD bağlantı noktası yoktu, çünkü kutudan çıktığı gibi çalışıyor. WordPress kurulum klasörünü indirin, ayıklayın ve taşıyın.

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

Biz kopyalamak zorunda /etc/resolve.confve /etc/hostsiçin /var/www/etc. Bu, WordPress'in pazara başarıyla ulaşabilmesi içindir. Eklentileri ve temaları WordPress yönetici sitesi üzerinden indirmek için buna ihtiyacınız olacak.

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

Httpd ve php73_fpm.

doas rcctl start httpd php73_fpm

Sunucu tanımınızda kullandığınız url'ye göz atın. WordPress kurulum sihirbazını göreceksiniz. Veritabanı sunucusu seçeneği için localhost yerine 127.0.0.1.

WordPress kurulduktan sonra, daha fazla SEO dostu görünmeleri için kalıcı bağlantıları kurmanın zamanı geldi. WordPress yönetici ekranından adresine gidin Settings -> Permalinks. Tıklayın Custom Structureve yazın /posts/%postname%. Bu değişikliği yaptıktan sonra Save Changesdüğmesine tıklayın. Artık çok daha hoş görünümlü bağlantılara sahipsiniz. Örneğin, bir kalıcı bağlantı şöyle görünecektir:https://example.com/posts/example-blog-post



26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun