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

Apache/Nginxを使用してUbuntu20.04にMediaWikiをインストールする方法

このチュートリアルでは、Ubuntu20.04にMediaWikiをインストールする方法を紹介します。 。 MediaWikiは、ウィキペディアを強化するバックエンドソフトウェアです。これは無料のオープンソースであり、今日最も広く使用されているウィキソフトウェアです。 MediaWikiの有名なユーザーには、Wikipedia.orgとwikia.comが含まれます。

MediaWikiを使用して、独自のプライベートまたはパブリックWikiサイトを作成できます。 MediaWikiには、ウィキペディアと他のウィキサイトの両方のために作成された多くの便利な拡張機能があります。

前提条件

MediaWikiはPHPで書かれたプログラムです。このチュートリアルに従うには、まず、Ubuntu20.04サーバーにLAMPまたはLEMPスタックをインストールする必要があります。

Apacheをご希望の場合 Webサーバー、次にLAMPスタックを設定します。

  • Ubuntu20.04サーバー/デスクトップにLAMPスタックをインストールする方法

Nginxをご希望の場合 Webサーバー、次にLEMPスタックを設定します。

  • Ubuntu 20.04 LTSにLEMPスタック(Nginx、MariaDB、PHP7.4)をインストールする方法

ドメイン名も必要です。 NameCheapからドメイン名を登録したのは、価格が安く、whoisのプライバシー保護が一生無料になるからです。

LAMPまたはLEMPスタックをインストールした後、次の手順を読んでMediaWikiをインストールしてください。

ステップ1:MediaWikiをダウンロードする

MediaWikiの最新の安定バージョンをダウンロードします:

wget https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.1.tar.gz

アーカイブを/var/www/に抽出します 。

sudo mkdir -p /var/www/

sudo tar xvf mediawiki-1.35.1.tar.gz -C /var/www/

ディレクトリの名前を変更します。

sudo mv /var/www/mediawiki-1.35.1 /var/www/mediawiki

次に、MediaWikiに必要ないくつかのPHP拡張機能をインストールする必要があります。

sudo apt install php7.4-mbstring php7.4-xml php7.4-fpm php7.4-json php7.4-mysql php7.4-curl php7.4-intl php7.4-gd php7.4-mbstring texlive imagemagick

Apache Webサーバーを使用している場合は、Apacheを再起動する必要があります。

sudo systemctl restart apache2

次に、Composer(PHP依存関係マネージャー)を介して外部依存関係をインストールする必要があります。

sudo apt install composer

cd /var/www/mediawiki/

sudo composer install --no-dev

MediaWikiは現在PHP8.0をサポートしていないことに注意してください。 UbuntuサーバーにPHP8.0をインストールしている場合は、sudo update-alternatives --config phpを実行する必要があります。 PHP7.4をデフォルトバージョンとして設定するコマンド。

すべての依存関係がインストールされたら、次のコマンドを実行してWebサーバーユーザーを設定します(www-data )このディレクトリの所有者として。

sudo chown www-data:www-data /var/www/mediawiki/ -R

ステップ2:データベースの作成

以下のコマンドを使用してMariaDBサーバーにログインします。

sudo mysql -u root

MediaWikiのデータベースを作成します。このチュートリアルでは、データベースにmediawikiという名前を付けます 、ただし、好きな名前を使用できます。

CREATE DATABASE mediawiki;

次に、MariaDBプロンプトで次のコマンドを実行して、データベースユーザーを作成し、このユーザーに特権を付与します。 mediawikiを置き換えます 、wikiuser およびpassword 希望するデータベース名、データベースユーザー名、ユーザーパスワードをそれぞれ使用します。

GRANT ALL PRIVILEGES ON mediawiki.* TO 'wikiuser'@'localhost' IDENTIFIED BY 'password';

次に、MariaDB特権をフラッシュして終了します。

flush privileges;

exit;

ステップ3:MediaWiki用のApache仮想ホストまたはNginx構成ファイルを作成する

Apache

Apache Webサーバーを使用する場合は、MediaWikiの仮想ホストを作成します。

sudo nano /etc/apache2/sites-available/mediawiki.conf

次のテキストをコピーしてファイルに貼り付けます。 wiki.your-domain.comを置き換えます 実際のドメイン名で。このドメイン名のDNSAレコードを作成することを忘れないでください。

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www//mediawiki/
    ServerName wiki.your-domain.com

    <Directory /var/www/html/mediawiki/>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog /var/log/apache2/mediawiki_error
    CustomLog /var/log/apache2/mediawiki_access common
</VirtualHost>
からの許可を拒否します

ファイルを保存して閉じます。次に、この仮想ホストを有効にします。

sudo a2ensite mediawiki.conf

上記の変更を有効にするには、Apacheをリロードします。

sudo systemctl reload apache2

Nginx

Nginx Webサーバーを使用する場合は、MediaWikiのサーバーブロックファイルを/etc/nginx/conf.d/の下に作成します。 ディレクトリ。

sudo nano /etc/nginx/conf.d/mediawiki.conf

次のテキストをコピーしてファイルに貼り付けます。 wiki.your-domain.comを置き換えます 実際のドメイン名で。このドメイン名のDNSAレコードを作成することを忘れないでください。

server {
        listen 80;
        listen [::]:80;
        server_name wiki.your-domain.com;

        root /var/www/mediawiki;
        index index.php;
   
        error_log /var/log/nginx/mediawiki.error;
        access_log /var/log/nginx/mediawiki.access;

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

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.ht {
          deny all;
         }

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

ファイルを保存して閉じます。次に、Nginx構成をテストします。

sudo nginx -t

テストが成功した場合は、NginxWebサーバーをリロードします。

sudo systemctl reload nginx

ステップ4:HTTPSを有効にする

HTTPトラフィックを暗号化するには、Let’sEncryptから発行された無料のTLS証明書をインストールしてHTTPSを有効にします。次のコマンドを実行して、Let’s Encryptクライアント(certbot)をUbuntu20.04サーバーにインストールします。

sudo apt install certbot

Apacheを使用する場合 、CertbotApacheプラグインをインストールします。

sudo apt install python3-certbot-apache

そして、このコマンドを実行してTLS証明書を取得してインストールします。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.your-domain.com

Nginxを使用する場合 、次に、CertbotNginxプラグインもインストールする必要があります。

sudo apt install python3-certbot-nginx

次に、次のコマンドを実行してTLS証明書を取得してインストールします。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.your-domain.com

どこ

  • --nginx :nginxプラグインを使用してください。
  • --apache :Apacheプラグインを使用してください。
  • --agree-tos :利用規約に同意します。
  • --redirect :301リダイレクトでHTTPSを強制します。
  • --hsts :すべてのHTTP応答にStrict-Transport-Securityヘッダーを追加します。ドメインに常にTLSを使用するようにブラウザを強制します。 SSL/TLSストリッピングから防御します。
  • --staple-ocsp :OCSPステープリングを有効にします。有効なOCSP応答は、TLS中にサーバーが提供する証明書にホチキス止めされます。

これで、証明書が取得され、自動的にインストールされます。

ステップ5:Webベースのインストールスクリプトの実行

https://wiki.you-domain.comにアクセスします WebブラウザでWebベースのインストールスクリプトを開始します。 インストールの完了をクリックします リンクをクリックして、セットアップウィザードを開始します。

次に、MediaWikiのインストールとWiki自体に使用する言語を選択します。

セットアップウィザードは、PHP拡張機能などのサーバーの環境をチェックします。

次のステップに進みます。データベース設定を構成する必要があります。 MariaDB, MySQL, or compatibleを選択します Database typeの場合 。 localhostと入力します データベースホストの場合は、データベースの名前を入力しますmediawiki 手順2で作成したデータベースのユーザー名とパスワードも同様です。

次のステップでは、Webアクセスに同じデータベースアカウントを使用することを選択できます。

次に、Wikiの名前を入力し、管理者アカウントを作成します。

Options ページでは、ウィキをウィキを開くとして設定するオプションがあります 、アカウントの作成が必要、許可された編集者のみ、プライベートウィキ。次に、ライセンスを選択できます。

Continueをクリックします Mediawikiのインストールを開始します。

LocalSettings.php ファイルはインストールプロセスで生成されます。このファイルをダウンロードして、/var/www/mediawiki/に配置する必要があります Ubuntu20.04サーバーのディレクトリ。それが完了すると、http://wiki.your-domain.comで新しくインストールしたMediaWikiにアクセスできるようになります。 。

用語のページを作成するには、

に移動します。
wiki.your-domain.com/index.php/your-term

または

wiki.your-domain.com/index.php?title=your-term

メールを送信するようにSMTPを設定する方法

MediaWikiインスタンスが複数の人によって使用される場合は、MediaWikiサーバーがパスワードリセットメールや通知メールなどのトランザクションメールを送信できることが重要です。

LocalSettings.phpを編集します ファイル。

sudo nano /var/www/mediawiki/LocalSettings.php

このファイルの最後に次の行を追加します。

$wgSMTP = [
    'host'     => 'tls://mail.your-domain.com', // could also be an IP address. Where the SMTP server is located. If using SSL or TLS, add the prefix "ssl://" or "tls://".
    'port'     =>  587,                         // Port to use when connecting to the SMTP server
    'auth'     =>  true,                        // Should we use SMTP authentication (true or false)
    'username' =>  '[email protected]',      // Username to use for SMTP authentication (if being used)
    'password' =>  'user_password'              // Password to use for SMTP authentication (if being used)
];

ファイルを保存して閉じます。

メールサーバーの設定方法については、次のチュートリアルをご覧ください。 新しいクリーンなOSでiRedMailメールサーバーを実行することを強くお勧めします。他のWebアプリケーションがあるOSにiRedMailをインストールすると、失敗し、既存のアプリケーションが破損する可能性があります。

  • iRedMailを使用してUbuntu20.04でフル機能のメールサーバーを簡単にセットアップする方法

Ubuntu
  1. Ubuntu18.04にApacheをインストールする方法

  2. Ubuntu20.04にApacheをインストールする方法

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

  1. Ubuntu18.04にApacheを使用してJoomlaをインストールする方法

  2. Ubuntu16.04にNginxでMediaWikiをインストールする方法

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

  1. Ubuntu 18.04 /Ubuntu16.04にNginxを使用してWordPress5.xをインストールする方法

  2. Apacheを使用してUbuntu20.04にNextCloudをインストールする方法

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