OpenBSD 6.2にWordPressをインストールする
はじめにWordPressは、インターネット上の主要なコンテンツ管理システムです。ブログから動的コンテンツを備えた複雑なWebサイトまで、あらゆるものを強化します
Ghostはオープンソースのブログプラットフォームで、2013年のリリース以降、開発者や一般ユーザーの間で人気を博しています。コンテンツとブログに焦点を当てています。Ghostの最も魅力的な点は、シンプルでクリーン、そしてレスポンシブなデザインです。携帯電話からブログ投稿を書くことができます。Ghostのコンテンツは、Markdown言語を使用して記述されています。Ghostは、個人または小グループの作家に最適です。
このガイドでは、Let's Encrypt、Certbot、Node.js、NPM、NGINX、MySQLを使用して、Fedora 25 VPSに安全なGhost v0.11.x LTSブログをセットアップして展開します。
semanage port -a -t http_port_t -p tcp 2368
。Fedoraのバージョンを確認します。
cat /etc/fedora-release
# Fedora release 25 (Twenty Five)
新しい非rootユーザーを作成します。
useradd -c "John Doe" johndoe && passwd johndoe
wheel
グループに追加してスーパーユーザーにします。
usermod -aG wheel johndoe
新しいユーザーに切り替え:
su - johndoe
オペレーティングシステムのソフトウェアを更新します。
sudo dnf check-update || sudo dnf upgrade -y
タイムゾーンを設定します。
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
開発ツールをインストールします。
sudo dnf install @development-tools -y
VimテキストエディタとWgetをインストールします。
sudo dnf install -y vim wget
必要に応じてシステムを再起動します。
sudo shutdown -r now
注:この手順を開始する前に、ドメインにDNSレコードが設定されていることを確認してください。
私たちは、使用しようとしているレッツ・暗号化 CAとEFF取得するのCertbotクライアントをSSL / TLSの私たちのゴーストブログの証明書を。のすべてのインスタンスblog.domain.tld
を自分のドメイン名に置き換えることを忘れないでください。
Pythonで作成されたCertbot(以前のLet's Encryptクライアント)証明書管理ソフトウェアをインストールします。
sudo dnf install -y certbot
Certbotのバージョンを確認します。
certbot --version
# certbot 0.14.1
入手RSAのスタンドアロン認証方法(プラグイン)を使用して証明書を:
sudo certbot certonly --standalone --domains blog.domain.tld --rsa-key-size 2048 --must-staple --email [email protected] --no-eff-email --agree-tos
# IMPORTANT NOTES:
# - Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/blog.domain.tld/fullchain.pem.
# Your cert will expire on YYYY-MM-DD. . . .
# . . .
前の手順を完了すると、証明書と秘密鍵が/etc/letsencrypt/live/blog.domain.tld
ディレクトリに作成されます。
注:現在、GhostはNode.jsバージョン4.5以降と6.9以降のみをサポートしています。
GhostはNode.js上に構築されています。この記事の執筆時点でのGhost の推奨バージョンをインストールしv6 Boron LTS
ます。
Node.js v6 LTSをダウンロードしてインストールします。
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo dnf install -y nodejs
Node.jsとNPMのバージョンを確認します。
node -v && npm -v
# v6.11.2
# 3.10.10
デフォルトでは、GhostはSQLiteデータベースを使用するように構成されており、構成は必要ありません。
あるいは、データベース構成を変更することにより、MySQLデータベースでGhostを使用することもできます。最初にデータベースとユーザーを作成する必要があります。その後、既存のsqlite3構成を変更できます。
MySQLの最新バージョン(現在は5.7)を公式のMySQL Dnfリポジトリからダウンロードしてインストールします。
cd /tmp
# Adding the MySQL dnf Repository
wget https://dev.mysql.com/get/mysql57-community-release-fc25-10.noarch.rpm
sudo dnf install -y mysql57-community-release-fc25-10.noarch.rpm
# Installing MySQL
sudo dnf install -y mysql-community-server
MySQLのバージョンを確認します。
mysql --version
# mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
MySQLサーバーを起動し、そのステータスを確認します。
sudo systemctl start mysqld.service
sudo systemctl status mysqld.service
MySQLバージョン5.7 root
以降では、インストール後にMySQL ユーザーの一時的なランダムパスワードが生成され、パスワードはにあるMySQLエラーログファイルに保存されます/var/log/mysqld.log
。それを明らかにするには、次のコマンドを使用します。
sudo grep 'temporary password' /var/log/mysqld.log
mysql_secure_installation
スクリプトを実行して、データベースを少し保護します。
注:パスワード検証プラグインがインストールされて有効になっているため、ユーザーの新しいパスワードは
root
強力である必要があります(大文字1文字、小文字1文字、数字1文字、特殊文字1文字、およびパスワードの合計長は8文字以上))。それを緩和したり、プラグインを完全に無効にしたい場合(非推奨)、その方法については公式のMySQLドキュメントを参照してください。
sudo mysql_secure_installation
MySQLにrootユーザーとしてログインします。
mysql -u root -p
# Enter password:
新しいMySQLデータベースとユーザーを作成します。
create database dbname;
grant all on dbname.* to 'user' identified by 'password';
MySQLを終了します。
exit
NGINXをダウンロードしてインストールします。
sudo dnf install -y nginx
NGINXのバージョンをチェックして、インストールされていることを確認します。
sudo nginx -v
# nginx version: nginx/1.10.2
ステータスを確認し、NGINXサービス(デーモン)を有効にして開始します。
sudo systemctl status nginx.service # inactive (dead)
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
作成し/etc/nginx/ssl
たディレクトリをし、新しいDiffie-Hellmanの(生成DH)パラメータを:
sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
blog.domain.tld
仮想ホストのログディレクトリを作成します。
sudo mkdir -p /var/log/nginx/blog.domain.tld
NGINXをHTTP(S)リバースプロキシサーバーとして構成します。
sudo vim /etc/nginx/conf.d/ghost.conf
以下を貼り付けます/etc/nginx/conf.d/ghost.conf
:
# domain: blog.domain.tld
# public: /var/www/ghost
upstream ghost_app {
server 127.0.0.1:2368;
keepalive 32;
}
server {
listen [::]:80;
listen 80;
listen [::]:443 ssl http2;
listen 443 ssl http2;
server_name blog.domain.tld;
root /var/www/ghost;
error_log /var/log/nginx/blog.domain.tld/error.log;
access_log /var/log/nginx/blog.domain.tld/access.log;
client_max_body_size 100M;
ssl_certificate /etc/letsencrypt/live/blog.domain.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/blog.domain.tld/privkey.pem;
ssl_dhparam ssl/dhparams-2048.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
ssl_buffer_size 4K;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50M;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/blog.domain.tld/chain.pem;
resolver 8.8.8.8 8.8.4.4 valid=300s;
location / {
proxy_pass http://ghost_app;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_hide_header X-Powered-By;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}
NGINX構成を保存して、構文エラーをテストします。
sudo nginx -t
NGINX構成をリロードします。
sudo systemctl reload nginx.service
注:同じVPSで複数のGhostブログをホストする場合は、各Ghostインスタンスが個別のポートで実行されている必要があります。
ドキュメントルートディレクトリを作成します。
sudo mkdir -p /var/www/
新しいゴーストユーザーを作成します。
sudo useradd -c 'Ghost application' ghost
ゴーストをダウンロード:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.11/Ghost-0.11.11.zip -o ghost.zip
Ghostを/var/www/ghost
ディレクトリに解凍します(推奨されるインストール場所):
sudo unzip -uo ghost.zip -d /var/www/ghost
rm ghost.zip
新しいゴーストディレクトリに移動します。
cd /var/www/ghost
/var/www/ghost
ディレクトリの所有権を変更します。
sudo chown -R ghost:ghost .
新しいghost
ユーザーに切り替え:
sudo su - ghost
ドキュメントルートに移動します/var/www/ghost
。
cd /var/www/ghost
Ghostは本番依存関係のみでインストールしてください。これが完了すると、Ghostがインストールされます。
npm install --production
設定変更することにより、ゴーストurl
、mail
とdatabase
の生産物の内部のプロパティconfig.js
ファイル:
cp config.example.js config.js
vim /var/www/ghost/config.js
var path = require('path'),
config;
config = {
// ### Production
// When running Ghost in the wild, use the production environment.
// Configure your URL and mail settings here
production: {
url: 'https://blog.domain.tld',
mail: {
transport: 'SMTP',
options: {
service: 'Mailgun',
auth: {
user: '',
pass: ''
}
}
},
database: {
client: 'mysql',
connection: {
host: '127.0.0.1',
user: 'your_database_user',
password: 'your_database_password',
database: 'your_database_name',
charset: 'utf8'
},
debug: false
},
// . . .
// . . .
注:
本番環境でGhostを起動します。
npm start --production
ゴーストが実行されます。ブログのフロントエンドと管理インターフェースの両方がHTTPSで保護されており、HTTP / 2も機能しています。ブラウザを開いて、にアクセスしてくださいhttps://blog.domain.tld
。blog.domain.tld
ドメイン名に置き換えることを忘れないでください。
CTRL
+ C
を押してGhostプロセスをシャットダウンし、ゴーストユーザーを終了して、最初に作成した非rootユーザーに戻ります。
exit
VPSでターミナルセッションを閉じると、ブログもダウンします。それは良いことではありません。これを回避するために、systemdを使用します。それは私たちのブログを24時間365日維持します。
ghost.service
systemdユニットファイルを作成します。sudo sudo vim /etc/systemd/system/ghost.service
を実行し、以下のコンテンツをコピーして貼り付けます。
[Unit]
Description=Ghost - the professional publishing platform
Documentation=https://docs.ghost.org/v0.11.11/docs
After=network.target
[Service]
Type=simple
# Edit WorkingDirectory, User and Group as needed
WorkingDirectory=/var/www/ghost
User=ghost
Group=ghost
ExecStart=/usr/bin/npm start --production
ExecStop=/usr/bin/npm stop --production
Restart=always
SyslogIdentifier=Ghost
[Install]
WantedBy=multi-user.target
有効にして開始ghost.service
:
sudo systemctl enable ghost.service && sudo systemctl start ghost.service
ghost.service
ステータスを確認:
sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
https://blog.domain.tld/ghost/
Ghost管理ユーザーに移動して作成します。できるだけ早くこれを実行してください!
それでおしまい。これで、完全に機能するGhostブログができました。クライアントがサポートしている場合、サーバーはHTTP / 2経由でコンテンツを配信しています。Casperと呼ばれるデフォルトのGhostテーマをカスタムテーマに変更する場合は、テーマをダウンロードして/var/www/ghost/content/themes
フォルダーに解凍し、にあるGhost管理インターフェイスを介して選択することができますhttps://blog.domain.tld/ghost
。
はじめにWordPressは、インターネット上の主要なコンテンツ管理システムです。ブログから動的コンテンツを備えた複雑なWebサイトまで、あらゆるものを強化します
別のシステムを使用していますか?Forkは、PHPで記述されたオープンソースのCMSです。フォークのソースコードはGitHubでホストされています。このガイドでは、Fork CMのインストール方法を説明します
Vultr仮想サーバーの一般的な使用法は、Wordpress Webサイトをホストすることです。このガイドでは、仮想サーバーの構成を最初から自動化する方法を示します
VultrインスタンスはWordPressブログを実行するための優れた方法ですが、WordPressの注目すべき拡張機能はWooCommerceです。これは、
Ghostは、Ember.js管理クライアント、JSON API、およびHandlebars.jsを利用したテーマAPIを備えたNode.js上に構築された最新のオープンソースの公開プラットフォームです。ゴース
別のシステムを使用していますか?Ghostは、201年以降、開発者や一般ユーザーの間で人気を博しているオープンソースのブログプラットフォームです。
別のシステムを使用していますか?MODX Revolutionは、高速、柔軟、スケーラブル、無料、オープンソースのエンタープライズグレードのコンテンツ管理システム(CMS)であり、i
別のシステムを使用していますか?Forkは、PHPで記述されたオープンソースのCMSです。フォークのソースコードはGitHubでホストされています。このガイドでは、Fork CMのインストール方法を説明します
別のシステムを使用していますか?MODX Revolutionは、高速、柔軟、スケーラブル、無料、オープンソースのエンタープライズグレードのコンテンツ管理システム(CMS)であり、i
別のシステムを使用していますか?MODX Revolutionは、PHPで記述された、高速、柔軟、スケーラブル、オープンソースのエンタープライズグレードのコンテンツ管理システム(CMS)です。それは
別のシステムを使用していますか?Forkは、PHPで記述されたオープンソースのCMSです。フォークのソースコードはGitHubでホストされています。このガイドでは、Fork CMのインストール方法を説明します
別のシステムを使用していますか?Ghostはオープンソースのブログプラットフォームで、2013年のリリース以降、開発者や一般ユーザーの間で人気を博しています。私
別のシステムを使用していますか?Dotclearは非常にシンプルなブログエンジンです。オープンソースで使いやすいです。このチュートリアルでは、インストールを実行します
Ghostは、WordPressに匹敵する最新かつ最高の新興企業です。ゴースト開発者が両方を使用することを決定したため、テーマの開発はすばやく簡単に学ぶことができます
はじめにOpenBSDのインストールをデフォルトに近づけ、パッケージを追加しないほど、安全性が高まります。もっとコモながら
別のシステムを使用していますか?Ghostは、201年以降、開発者や一般ユーザーの間で人気を博しているオープンソースのブログプラットフォームです。
別のシステムを使用していますか?Ghostは、201年以降、開発者や一般ユーザーの間で人気を博しているオープンソースのブログプラットフォームです。
別のシステムを使用していますか?Dotclearは、PHPの上に構築された非常にシンプルなブログエンジンです。このチュートリアルでは、UbuntにDotclearをインストールします
Neosは革新的なオープンソースのコンテンツ管理システムであり、オンラインコンテンツの作成と編集に最適です。著者と編集者を念頭に置いて、Neo
ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。
最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください
原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。
これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。
私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true
ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。
LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー
NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します
別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています
HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、