このチュートリアルでは、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でフル機能のメールサーバーを簡単にセットアップする方法