GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7にNginxでMediaWikiをインストールする方法

MediaWikiは、もともとWikipediaで使用するために開発された人気のウィキソフトウェアです。これは、PHPプログラミング言語で書かれた無料のオープンソースのウィキソフトウェアです。 2002年にMagnusManskeによって実現されたこのツールは、現在バージョン1.30になっています。 MediaWikiは、Nginx、Intel、Novellなどを含む多くの大企業で使用されています。

このチュートリアルでは、CentOS7にNginxWebサーバーを使用してMediaWikiを段階的にインストールする方法について説明します。また、MediaWikiインストール用のLEMPスタックをインストールおよび構成する方法についても説明します。これには、新しい無料のSSLLetsencryptの生成と構成も含まれます。 MediaWikiのセキュリティ。

何をするか
  1. CentOS7にNginxをインストールする
  2. PHP-FPMのインストールと構成
  3. MariaDBデータベースのインストールと構成
  4. MediaWikiをダウンロードして設定する
  5. CentOS7で新しいSSLLetsencryptを生成する
  6. MediaWikiインストール用にNginx仮想ホストを構成する
  7. MediaWikiWebベースのインストール
  8. MediaWikiのデフォルトスキンを設定する
前提条件
  • CentOS7サーバー
  • root権限
ステップ1-CentOS7にNginxをインストールする

このチュートリアルでは、MediaWikiのインストールにNginxWebサーバーを使用します。 CentOS 7では、Nginxパッケージは存在しません。そのため、サードパーティのEPEL(Enterprise Linux用の追加パッケージ)リポジトリからインストールする必要があります。

以下のyumコマンドを使用して、すべてのパッケージを更新し、CentOS7システムにEPELリポジトリをインストールします。

yum -y update
yum -y install epel-release

次に、Nginxウェブサーバーをインストールします。

yum -y install nginx

Nginxのインストールが完了したら、サーバーを起動し、システムの起動時にサーバーが自動的に実行されるようにします。

systemctl start nginx
systemctl enable nginx

そのため、NginxWebサーバーがCentOS7サーバーにインストールされています。 netstatコマンドを使用してネットワーク統計を確認すると、Nginxサービスで使用されているHTTPポートを取得できるはずです。

netstat -plntu

ステップ2-PHP-FPMをインストールして構成します

このチュートリアルでは、PHP7.0を使用します。そして、ここでは、このステップで、PHP 7.0(拡張機能を含む)をインストールし、MediaWikiインストール用にPHP-FPMを構成します。

サードパーティのリポジトリ「webtatic」のPHP7.0パッケージを使用します。以下のコマンドを使用して、PHP7.0インストール用の新しい「webtatic」リポジトリを追加します。

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

これで、以下のyumコマンドを使用して、必要なすべての拡張機能を備えたPHP7.0をインストールできます。

yum -y install ImageMagick php70w-fpm php70w-intl php70w-xml php70w-curl php70w-gd php70w-mbstring php70w-mysql php70w-cli php70w-pear php70w-pecl-apcu

これで、CentOS7へのPHP7.0のインストールが完了しました。

次に、PHP-FPMサービスを構成します。 CGIパス情報を構成するためにphp.iniファイルを編集してから、「www.conf」構成を編集してPHP-FPMサービスを構成します。次に、sockファイルの下で(「nginx」ユーザーとグループを使用して)実行するようにPHP-FPMを構成します。

vimエディタを使用して「php.ini」ファイルを編集します。

vim /etc/php.ini

下の行のコメントを外し、値を0に変更します。

cgi.fix_pathinfo=0

変更を保存して、エディタを終了します。

次に、PHP-FPM構成ファイル「www.conf」を編集します。

vim /etc/php-fpm.d/www.conf

ユーザーとグループの行の値を「nginx」に変更します。

user = nginx
group = nginx

次に、以下に示すように、変数「listen」の値を「php-fpm.sock」ファイルに変更します。

listen = /run/php-fpm/php-fpm.sock

sockファイルの権限とsockファイルディレクトリの所有者を設定する必要があります。 listen.ownerとlisten.groupの行のコメントを解除し、対応する値を「nginx」に変更します。

listen.owner = nginx
listen.group =nginx
listen.mode = 0660

追加の構成については、以下の行のコメントを外してください。

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

それでおしまい。保存して終了します。

次に、sessions-path構成用の新しいディレクトリを作成します。

以下のコマンドを実行して、セッションディレクトリを作成します。

mkdir -p /var/lib/php/session/
chown -R nginx:nginx /var/lib/php/session/

それが完了したら、PHP-FPMサービスを開始し、システムの起動時に自動的に実行できるようにします。

systemctl start php-fpm
systemctl enable php-fpm

以下のnetstatコマンドを使用してPHP-FPMを確認してください。

netstat -pl | grep php

そして、結果としてphp-fpm.sockファイルを取得するようにしてください。

ステップ3-MariaDBデータベースをインストールして構成します

MediaWikiはMySQL/MariaDBおよびSQLiteデータベースをサポートしています。ただし、このチュートリアルでは、MariaDBデータベースを使用します。

まず、以下のyumコマンドを使用してMariaDBをインストールします。

yum -y install mariadb mariadb-server

インストールが完了したら、mariadbを起動し、システムの起動時に起動できるようにします。

systemctl start mariadb
systemctl enable mariadb

次に、MariaDBデータベースの「root」パスワードを構成する必要があります。次のコマンドを実行して、MariaDBの「root」パスワードを設定します。

mysql_secure_installation

「Y」と入力してEnterキーを押します。

Set root password? [Y/n] Y
TYPE ROOT PASSWORD HERE

Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

MariaDBがCentOS7システムにインストールされ、「root」ユーザーのパスワードが構成されています。

次に、MediaWiki用の新しいデータベースを作成します。具体的には、「 mediawikidb」という名前の新しいデータベースを作成します。 '、新しいユーザー/所有者と' mediawiki 'とパスワード'mypassword '。

mysqlコマンドを使用してmysqlシェルに接続します。

mysql -u root -p
TYPE YOUR ROOT PASSWORD

次に、MediaWikiの新しいデータベースを作成するために、次のmysqlクエリを実行します。

create database mediawikidb;
grant all privileges on mediawikidb.* to [email protected]'localhost' identified by 'mypassword';
flush privileges;
exit;

MediaWikiインストール用の新しいデータベースとユーザーが作成されました。

ステップ4-MediaWikiをダウンロードして設定する

このチュートリアルでは、MediaWikiの最新バージョン(1.30)を使用し、すべてのMediaWikiソースコードをリポジトリからダウンロードします。そのため、システムにgitといくつかのパッケージをインストールする必要があります。

以下のyumコマンドを使用してgitおよびその他のパッケージをインストールします。

yum -y install git zip unzip composer

インストールが完了したら、新しいディレクトリ「/ var / www / mediawiki」を作成し、mediawikiのソースコードをそのディレクトリに複製します。

mkdir -p /var/www/mediawiki
git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git /var/www/mediawiki

次に、「/ var / www / mediawiki」ディレクトリに移動し、以下に示すように、composerコマンドを使用してMediaWikiのインストールに必要ないくつかのPHP依存関係をインストールします。

cd /var/www/mediawiki
composer install --no-dev

次に、mediawikiディレクトリの所有権を「nginx」(ユーザーとグループの両方)に変更します。

chown -R nginx:nginx /var/www/mediawiki

MediaWikiソースは「/var/ www / mediawiki」ディレクトリにダウンロードされており、すべての依存関係がインストールされています。

ステップ5-CentOS7でSSLLetsencryptを生成する

セキュリティ上の理由から、MediaWikiはHTTPS接続でのみ実行されます。また、HTTPへのすべてのリクエストは、NginxWebサーバーによってHTTPSにリダイレクトされます。

HTTPSセキュア接続でMediaWikiを実行するには、SSL証明書が必要です。そのため、Letsencryptの無料のSSL証明書を使用します。

インストールすると、以下のyumコマンドを使用してコマンドラインツールを暗号化できます。

yum -y install letsencrypt

インストールが完了したら、systemctlコマンドを使用してNginxサービスを停止します。

systemctl stop nginx

次に、letsencryptコマンドを使用して新しいSSL証明書を生成します。ただし、その前に、HTTPおよびHTTPSサービスがFirewalldに追加されていることを確認してください。

新しいHTTPおよびHTTPSサービスをFirewalldに追加する方法は次のとおりです。

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

新しい無料のSSLを生成すると、以下のletsencryptコマンドを使用して証明書を暗号化できます。

letsencrypt certonly

このコマンドは、ACME認証について尋ねます。番号「1」を選択して、一時的なWebサーバーをスピンします。

次に、更新通知のメールアドレスを入力し、「A」と入力してLetsencrypt利用規約(TOS)に同意し、最後にWikiドメイン名を入力します。

それがすべて完了すると、以下に示すような結果が得られます。

Letsencryptからの新しいSSL証明書が生成され、「/ etc /letsencrypt/live」ディレクトリに保存されました。

ステップ6-MediaWiki用にNginx仮想ホストを構成する

このステップでは、MediaWiki用の新しいNginx仮想ホスト構成を作成します。

'/ etc / nginx'ディレクトリに移動し、vimエディターを使用して新しい構成ファイル'mediawiki.conf'を作成します。

cd /etc/nginx/
vim conf.d/mediawiki.conf

以下に構成を貼り付けます。

# HTTP Request will be Redirected to the HTTPS
server {
    listen 80;
    listen [::]:80;
    server_name wiki.hakase-labs.co;
    return 301 https://$host$request_uri;
}

# HTTPS Configuration
server {

    listen 443 ssl;
    listen [::]:443;
   
    server_name wiki.hakase-labs.co;
    root /var/www/mediawiki;

    index index.php;
    autoindex off;

    # SSL Certificate Configuration
    ssl_certificate /etc/letsencrypt/live/wiki.hakase-labs.co/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/wiki.hakase-labs.co/privkey.pem;

    client_max_body_size 5m;
    client_body_timeout 60;

    location / {
        try_files $uri $uri/ @rewrite;
    }

    location @rewrite {
        rewrite ^/(.*)$ /index.php?title=$1&$args;
    }

    location ^~ /maintenance/ {
        return 403;
    }

    # PHP-FPM Configuration Nginx
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

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

    location = /_.gif {
        expires max;
        empty_gif;
    }

    location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {
        deny all;
    }

    location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {
        internal;
    }

    # Security for 'image' directory
    location ~* ^/images/.*.(html|htm|shtml|php)$ {
        types { }
        default_type text/plain;
    }

    # Security for 'image' directory
    location ^~ /images/ {
        try_files $uri /index.php;
    }

}

それでおしまい。変更を保存して、エディターを終了します。

注:

  • ドメイン名を独自のドメインに変更します。
  • SSL証明書ファイルのパスを変更する

次に、Nginx構成をテストし、エラーがないことを確認してから、Nginxサービスを再起動します。

nginx -t
systemctl restart nginx

MediaWikiのNginx仮想ホスト構成が追加され、WebブラウザーからMediaWikiをインストールする準備が整いました。

ステップ7-MediaWikiWebベースのインストール

Webブラウザーを開き、MediaWikiのURLを入力します。

http://wiki.hakase-labs.co/

HTTPS接続にリダイレクトされます。 Webページで、[Wikiの設定]リンクをクリックします。

言語設定

英語の「en」言語を選択し、「続行」をクリックします。

環境チェック

すべてのサーバー構成が環境チェックに合格していることを確認してください。

次に、[続行]をクリックします。

データベース構成

データベース名を「mediawikidb」、ユーザー名「mediawiki」とパスワード「mypassword」を入力します。

次に、[続行]をクリックします。

データベース設定

デフォルトのままにして、[続行]をクリックします。

新しい管理者ユーザーを作成する

自分の管理者ユーザー、メールアドレス、パスワードを入力し、[続行]をクリックします。

MediaWiki追加構成

次に、以下に示すように、「MediaWiki追加構成」に関するページに移動します。

すべてのフィールドをデフォルト値のままにして、[続行]をクリックします。

MediaWikiのインストール

「続行」をクリックしてMediaWikiをインストールします。

そして、以下のページに移動します。

もう一度[続行]をクリックします。

そして、MediaWikiのインストールが完了しました。新しいファイル「LocalSettings.php」をダウンロードするように求められます-そのファイルをダウンロードしてください。

次に、新しくダウンロードした「LocalSetting.php」ファイルをサーバー上のMediaWikiディレクトリ「/ var / www/mediawiki」にアップロードする必要があります。また、ファイルの所有権を「www-data」(ユーザーとグループの両方)に変更することを忘れないでください。

scp LocalSettings.php [email protected]:/var/www/mediawiki/
chown -R www-data:www-data /var/www/mediawiki

WebブラウザのMediaWikiインストールページに戻り、「wikiを入力してください」というリンクをクリックします。 MediaWikiがCentOS7サーバー上のNginxウェブサーバーとともにインストールされていることがわかります。

ステップ8-MediaWikiのデフォルトスキンをダウンロードして設定します

この段階で、MediaWikiのインストールは完了しています。そして、このステップでは、MediaWikiサイトのデフォルトのスキン/テーマを構成します。

'/ var / www / mediawiki / skins'ディレクトリに移動し、'Vector'という名前のデフォルトスキンをそのディレクトリに複製します。

cd /var/www/mediawiki/skins/
sudo git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector

Vectorスキンディレクトリの所有者を「nginx」ユーザーとグループに変更します。

chown -R nginx:nginx /var/www/mediawiki/skins/

次に、vimエディターを使用して「LocalSettings.php」ファイルを編集します。

vim /var/www/mediawiki/LocalSettings.php

そして、次のPHPコードをファイルの最後に貼り付けます。

wfLoadSkin( 'Vector' );

それでおしまい。保存して終了します。

Webブラウザーに戻り、MediaWikiページを更新します。以下のように「ベクター」スキンを使用したMediaWikiが表示されることを確認してください。

CentOS7上のNginxWebサーバーでのMediaWikiのインストールと構成が正常に完了しました。


Cent OS
  1. CentOS7にngx_pagespeedを使用してNginxをインストールします

  2. CentOS 7 /RHEL7にNginxを使用してphpMyAdminをインストールする方法

  3. CentOS7にSitemagicCMSをインストールする方法–Nginxを使用

  1. CentOS7にNginxをインストールする方法

  2. CentOS7にNginxを使用してWordPressをインストールする方法

  3. CentOS7にNginxを使用してphpMyAdminをインストールする方法

  1. CentOS8にNginxをインストールする方法

  2. CentOS7にMagento2.1をインストールする方法

  3. CentOS7にNginxを使用してSuiteCRMをインストールする方法