GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu 20.04、Mysql 8、Ubuntu 20.04、NginxでWordPressをホストする

WordPressは、PHPで記述され、MySQLまたはMariaDBデータベースとペアになっている無料のオープンソースコンテンツ管理システムです。 WordPressは、今日利用できる最も人気のあるCMSの1つです。

WordPress.comは、WordPressビルディングブロックを使用してWebサイトを構築できる、ホスト型のサービスとしてのソフトウェア(SaaS)プラットフォームです。 WordPressサイトでウェブサイトをホストするには費用がかかります。

WordPressソフトウェアは無料でオープンソースですが、それを起動して実行するには、ホスティングを設定する必要があります。このガイドでは、このオプションを使用して、Ubuntu20.04でWordPressを設定します。

前提条件

このガイドに従うには、次のものが必要です。

  • インターネットに接続された最新のUbuntu20.04サーバー
  • サーバーまたはsudoアクセス権を持つユーザーのrootアクセス
  • Linux端末の使用に関する知識

WordPressをUbuntu20.04で動作させるために必要な手順

  1. システムが最新であることを確認してください
  2. mysql8データベースサーバーのインストールとWordPressユーザーの作成
  3. NginxWebサーバーをインストールします
  4. 依存関係のあるPHPをインストールする
  5. PHPおよびPHPFPM設定を構成する
  6. WordPressのダウンロードと設定
  7. ワードプレスのコンテンツを提供するようにNginxを設定する
  8. WordPressのインストールをテストする

1。システムが最新であることを確認します

先に進む前に、サーバーが更新されていることを確認しましょう。次のコマンドを使用して、1。サーバーリポジトリを更新します。2。サーバーパッケージを最新リリースにアップグレードします。

# Update repos
sudo apt update

# Upgrade packages
sudo apt -y upgrade

2。 mysql8データベースサーバーのインストールとWordPressユーザーの作成

必要なmysql-serverパッケージは、デフォルトのUbuntuリポジトリに存在しません。したがって、設定する必要があります。

mysqlチームは、ダウンロード可能な.debを提供します mysqlサーバー8をインストールするためのリポジトリを構成するファイル。次のコマンドでダウンロードします:

curl -LO https://dev.mysql.com/get/mysql-apt-config_0.8.19-1_all.deb

ダウンロードが完了したら、ダウンロードしたdebファイルをインストールする必要があります。次のコマンドを使用してインストールします:

sudo dpkg -i ./mysql-apt-config_0.8.19-1_all.deb

これにより、mysqlサーバーのバージョンと、クラスター、共有クライアントライブラリ、MySQLワークベンチなどの他のコンポーネントを選択するように求める構成ウィンドウが開きます

今のところ、Mysqlサーバーのインストールにのみ関心があるので、デフォルト設定のままにして、 OKをクリックします。 続行します。

mysqlサーバーのインストール

mysqlサーバーを含むようにリポジトリが追加されたので、インストールできます。次のコマンドを使用して、リポジトリを更新し、追加されたリポジトリから最新のものを取得しましょう。

$ sudo apt update

次に、次のコマンドを使用してMysql8サーバーをインストールします。

sudo apt install -y mysql-server

管理者の資格情報を入力すると、システムはMySQLサーバーパッケージ、クライアントパッケージ、およびデータベース共通ファイルをインストールします。

インストールにより、MySQLデータベースのrootユーザーとパスワードを入力して確認するように求められます。

その後、認証プラグインを選択するように求められます。強力なパスワードを使用することをお勧めします:

その後、新しいパスワードが設定され、サービスが再ロードされます。

次のコマンドを使用して、mysqlサーバーが稼働していることを確認します。

$ sudo systemctl status mysql
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-09-28 13:08:22 UTC; 2min 23s ago
       Docs: man:mysqld(8)
             http://dev.mysql.com/doc/refman/en/using-systemd.html
    Process: 45123 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 45173 (mysqld)
     Status: "Server is operational"
      Tasks: 37 (limit: 4710)
     Memory: 353.0M
     CGroup: /system.slice/mysql.service
             └─45173 /usr/sbin/mysqld

Sep 28 13:08:21 ip-172-26-11-229 systemd[1]: Starting MySQL Community Server...
Sep 28 13:08:22 ip-172-26-11-229 systemd[1]: Started MySQL Community Server.

Active: active (running) since ... 上記の部分は、アプリが稼働中であることを示しています。

サーバーに接続してユーザーを作成します

mysql-serverのインストールが成功したら、サーバーに接続してWordPressユーザーを作成しましょう。

以前に提供したパスワードを提供するmysqlサーバーに接続します:

$ mysql -h 127.0.0.1 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.26 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

次に、データベース、ユーザー、およびパスワードを作成します。

mysql> create database wordpress_db;
Query OK, 1 row affected (0.01 sec)

mysql> create user 'wordpress_user'@'%' identified by 'S0mStrongPa$$word';
Query OK, 0 rows affected (0.01 sec)

mysql> grant all privileges on wordpress_db.* to 'wordpress_user'@'%';
Query OK, 0 rows affected (0.00 sec)

3。 NginxWebサーバーをインストールします

Apacheがインストールされて実行されている場合、Nginxは機能しません。 Nginxを使用するので、システムにインストールされている場合は、次のコマンドを使用してapacheを削除しましょう。

$ sudo apt remove apache2 -y

Nginxをインストールするには:

sudo dnf -y install nginx

インストールが完了したら、Nginxを起動し、再起動後に自動的に起動できるようにします

systemctl start nginx
systemctl enable nginx

Nginxのステータスを確認します:

$ sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-09-28 16:28:30 UTC; 1min 2s ago
       Docs: man:nginx(8)
   Main PID: 56990 (nginx)
      Tasks: 3 (limit: 4710)
     Memory: 3.7M
     CGroup: /system.slice/nginx.service
             ├─56990 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ├─56991 nginx: worker process
             └─56992 nginx: worker process

Sep 28 16:28:30 ip-172-26-11-229 systemd[1]: Starting A high performance web server and a reverse pr>
Sep 28 16:28:30 ip-172-26-11-229 systemd[1]: Started A high performance web server and a reverse pro>

Nginxが実際に実行されて到達可能であることを確認するには、次のコマンドを使用します:

curl http://server_ip/

server_ipの場所 サーバーのIPです。何らかの理由でサーバーのパブリックIPがわからない場合は、これを使用して確認してください

curl -4 icanhazip.com

Nginxのデフォルトページが表示されます。

4。依存関係のあるPHPをインストールする

デフォルトのリポジトリにはphpバージョン7.4が含まれているため、次のコマンドでインストールしてみましょう。

sudo apt install php -y

コマンドphp -vを使用して、インストールされているバージョンを確認します :

~$ php -v
PHP 7.4.3 (cli) (built: Aug 13 2021 05:39:12) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

次に、phpの依存関係をインストールします。 phpの依存関係は、接頭辞php-が付いたOSレベルのパッケージとして利用できます。 。次のコマンドを使用して、WordPressに必要な依存関係をインストールしましょう:

sudo apt install -y \
    php-common \
    php-mbstring \
    php-gd \
    php-intl \
    php-xml \
    php-json \
    php-mysqlnd \
    php-fpm

5。 PHPおよびPHPFPM設定を構成する

インストールされているバージョンのphpのグローバルphp設定は、/etc/php/7.4/cli/php.iniに保存されています。 ファイル。これらの設定を更新しましょう。
php.iniを開きます お気に入りのテキストエディタで、vimを使用します

sudo vim /etc/php/7.4/cli/php.ini

次に、次の変数を検索し、以下に示すように値を更新します。

post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 32M
date.timezone = Africa/Nairobi

6。 WordPressのダウンロードと設定

サーバーのセットアップが完了したので、WordPressをダウンロードしてサーバーにインストールしましょう。 WordPressの最新リリースは、公式Webサイトからダウンロードできます。
WordPressコンテンツがこのパスで提供されるディレクトリを作成しましょう/var/www/example.citizix.com

sudo mkdir /var/www/example.citizix.com

Webユーザーがコンテンツを所有していることを確認します:

sudo chown -R www-data.www-data /var/www/example.citizix.com

最新のWordPressコンテンツをダウンロードする:

cd /tmp
curl -LO https://wordpress.org/latest.zip

サンプル出力:

$ curl -LO https://wordpress.org/latest.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 15.7M  100 15.7M    0     0  6650k      0  0:00:02  0:00:02 --:--:-- 6647k
$ ls
latest.zip

コンテンツを抽出してサーバーディレクトリに移動します。 unzipがあることを確認してください コマンドを実行するか、sudo apt install unzipを使用してインストールします 。

unzip latest.zip
sudo mv wordpress/* /var/www/example.citizix.com

# Confirm content with
ls /var/www/example.citizix.com

WordPressの設定

WordPressのコンテンツがサイトディレクトリにコピーされたので、提供されたサンプルファイルを使用してdb構成を更新しましょう。
サイトディレクトリに切り替えます:

cd /var/www/example.citizix.com/

wp-config-sampleをコピーします wp-config.phpへのファイル 。

cp wp-config-sample.php wp-config.php

テキストエディタで設定ファイルを開きます:

vim wp-config.php

これらの変数を更新します:DB_NAMEDB_USERDB_PASSWORDDB_HOST

<?php
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'xxx' );
/** MySQL database username */
define( 'DB_USER', 'xxx' );
/** MySQL database password */
define( 'DB_PASSWORD', 'xxx' );
/** MySQL hostname */
define( 'DB_HOST', 'xxx' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

完了したら、テキストファイルを保存します。

WebユーザーをWordPressディレクトリの所有者にして、ファイルにアクセスして提供できるようにします。

sudo chown -R www-data:www-data /var/www/example.citizix.com

7。ワードプレスのコンテンツを提供するようにNginxを設定する

構成が整ったので、/var/www/example.citizix.comに追加したコンテンツを提供するようにNginx仮想ホストを構成しましょう。
Nginxがコンテンツを提供するディレクトリに仮想サイトを作成しましょう/etc/nginx/conf.d

sudo vim /etc/nginx/conf.d/example.citizix.com.conf

次のコンテンツを追加します:

server {
    listen 80;

    server_name example.citizix.com;
    root /var/www/example.citizix.com;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        expires max;
        log_not_found off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

次のコマンドを使用してテストし、追加された構成が適切であることを確認します。

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

すべてが正常であることを確認したら、変更を有効にするためにNginxを再起動します。

sudo systemctl restart nginx

8。最後に、WordPressのインストールをテストします

上記のすべての手順が完了すると、コマンドラインからのインストールが完了します。お気に入りのWebブラウザーを開いて、http://example.citizix.com/にポイントすることができます。 WordPressのインストールのセットアップを開始するように求める次の画面が表示されます。

[ここの画面]

プロンプトに従ってWordPressを初めてセットアップするのは簡単なはずです。


Ubuntu
  1. Ubuntu18.04でNginxを使用してWordPressをインストールする方法

  2. NginxUbuntuにWordPressをインストールする

  3. Ubuntu16.04にMySQLサーバーをインストールする方法

  1. Ubuntu 20.04:NginxがインストールされたWordPress

  2. Ubuntu17.04にMySQLサーバーをインストールする方法

  3. Ubuntu18.04にOpenLiteSpeedでWordPressをインストールする方法

  1. Ubuntu20.04WordPressとApacheのインストール

  2. Ubuntu18.04にMySQLをインストールする方法

  3. Ubuntu18.04にNginxでWordPressをインストールする方法