このチュートリアルでは、Ubuntu16.04にNginxWebサーバーを使用してMediaWikiをインストールする方法を段階的に説明します。 MediaWikiセキュリティ用の新しい無料SSLLetsencryptの生成と構成を含む、MediaWikiインストール用のLEMPスタックのインストールと構成方法について説明します。
MediaWikiは、もともとWikipediaで使用するために開発された最も人気のあるウィキソフトウェアの1つです。これは、PHPプログラミング言語で記述された無料のオープンソースソフトウェアであり、wikiカテゴリで最も支配的なソフトウェアになっています。もともとは2002年にMagnusManskeによって開発されましたが、現在はバージョン1.30になっています。 MediaWikiは、Nginx、Intel、Novell、NASAなどの多くの大企業/組織で使用されています。
私たちが行うこと:
- Ubuntu16.04にNginxをインストールする
- PHP-FPMのインストールと構成
- MySQLデータベースのインストールと構成
- MediaWikiをダウンロードして設定する
- Ubuntu16.04で新しいSSLLetsencryptを生成する
- MediaWikiインストール用にNginx仮想ホストを構成する
- MediaWikiWebベースのインストール
- デフォルトのスキンMediaWikiを設定する
前提条件
- Ubuntu16.04サーバー
- root権限
MediaWikiをインストールするために最初に行う必要があるのは、Webサーバーをインストールすることです。したがって、このセクションでは、Nginx Webサーバーをインストールし、Nginxサービスを開始してから、システムの起動時に自動的に起動できるようにします。
Webサーバーをインストールする前に、サーバーに接続し、すべてのリポジトリを更新してから、アップグレードしてください。
sudo apt update
sudo apt upgrade -y
次に、次のaptコマンドを使用してNginxをインストールします。
sudo apt install nginx -y
その後、nginxを起動し、システムの起動時に起動できるようにします。
systemctl start nginx
systemctl enable nginx
次に、netstatを使用してHTTPポートをチェックし、ポート80がNginxによって使用されていることを確認します。
netstat -plntu
NginxWebサーバーがUbuntu16.04にインストールされました。
次に、Ubuntu16.04にPHP-FPMをインストールします。そして、MediaWikiのインストールにはPHP7.0を使用します。
以下のaptコマンドを使用して、PHPとPHP-FPMを(必要なすべての拡張機能とともに)インストールします。
sudo apt install imagemagick php7.0-fpm php7.0-intl php7.0-xml php7.0-curl php7.0-gd php7.0-mbstring php7.0-mysql php-apcu
また、インストールが完了したら、PHP-FPMのデフォルト構成を変更する必要があります。アップロードの最大ファイルサイズとメモリ制限の構成を増やす必要があります。
PHP構成ディレクトリに移動し、vimを使用してphp-fpm'php.ini'ファイルを編集します。
cd /etc/php/7.0
vim fpm/php.ini
'upload_max_filesize'構成を'20M'に増やし、'memory_limit'を'128M'に増やします。
upload_max_filesize = 20M
memory_limit = 128M
保存して終了します。
次に、PHP-FPMサービスを再起動し、次のsystemctlコマンドを使用して起動時に自動的に起動できるようにします。
systemctl restart php7.0-fpm
systemctl enable php7.0-fpm
PHP-FPMはUbuntu16.04で実行されており、sockファイルで実行されています。以下のnetstatコマンドを使用して確認してください。
netstat -pl | grep php
そして、以下に示すようにPHP-FPMソックスファイルを取得します。
MediaWikiはすべてのデータとコンテンツをデータベースに保存し、さまざまなデータベースサーバーと互換性があります。このガイドでは、MediaWikiのインストールにMySQLデータベースを使用します。
このステップでは、MySQLデータベースサーバーをインストールしてから、MediaWiki用の新しいデータベースとユーザーを作成します。
次のaptコマンドを使用して、MySQLデータベースをUbuntu16.04にインストールします。
sudo apt install mysql-server mysql-client -y
MySQLの「root」パスワードの入力を求められます。独自のパスワードを入力して「Enter」を押してください。
MySQLの「root」パスワードを繰り返します。
MySQLのインストールが完了しました。次に、MySQLを起動し、以下のsystemctlコマンドを使用して起動時に起動できるようにします。
systemctl start mysql
systemctl enable mysql
次に、MediaWiki用の新しいデータベースとユーザーを作成します。 ' mediawikidbという名前の新しいデータベースを作成します 'ユーザーと'mediawiki 'とパスワード'mypassword '。
以下のmysqlコマンドを使用してmysqlサーバーに接続します。
mysql -u root -p
次に、次のMySQLクエリを使用してデータベースとユーザーを作成します。
create database mediawikidb;
grant all privileges on mediawikidb.* to [email protected]'localhost' identified by 'mypassword';
flush privileges;
exit;
MySQLサーバーがUbuntu16.04にインストールされ、MediaWikiインストール用のデータベースが作成されました。
このガイドでは、最新のMediaWikiバージョン1.30を使用します。そして、MediaWikiをダウンロードする前に、サーバーにいくつかのパッケージをインストールする必要があります。
以下のaptコマンドを実行して、新しいパッケージをインストールします。
sudo apt install composer git zip unzip -y
次に、新しい「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
すべてのPHP依存関係のインストールが完了したら、mediawikiディレクトリの所有者を「www-data」ユーザーとグループに変更します。
chown -R www-data:www-data /var/www/mediawiki
MediaWiki1.30の最新バージョンは「/var/ www/mediawiki」ディレクトリにダウンロードされます。
セキュリティ上の理由から、HTTPS接続でMediaWikiを実行します。すべてのHTTP接続は自動的にHTTPSにリダイレクトされます。この目的のために、SSL証明書が必要です。 Letsencryptの無料SSLを使用します。
Letsencryptから新しいSSL証明書を生成するには、サーバーにletsencryptコマンドラインをインストールする必要があります。これを行うには、次のコマンドを使用します。
sudo apt install letsencrypt -y
インストールが完了したら、NginxWebサーバーを停止します。
systemctl stop nginx
次に、以下のletsencryptコマンドを使用して新しいSSL証明書を生成します。
letsencrypt certonly
メールアドレスの入力を求められます。これは、証明書の更新通知に使用されます。
そのため、メールアドレスを入力して[OK]を選択します。
Letsencrypt TOS(利用規約)の場合は、[同意する]を選択してEnterキーを押します。
次に、wikiドメイン名を入力します。私の名前は「wiki.hakase-labs.co」です。
そして、それがすべて完了すると、以下に示すような結果が得られます。
MediaWikiインストール用のSSL証明書は、「/ etc /letsencrypt/live」ディレクトリに生成されています。
MediaWikiインストール用のLEMPスタック(Linux、Nginx、MySQL、およびPHP-FPM)がセットアップされ、MediaWikiソースコードが「/ var / www/mediawiki」ディレクトリにダウンロードされました。
このステップでは、新しいNginx仮想ホストファイル「mediawiki」を作成してから、仮想ホストをアクティブ化します。
Nginx構成ディレクトリに移動し、vimを使用して新しい仮想ホストファイル「mediawiki」を作成します。
cd /etc/nginx/
vim sites-available/mediawiki
MediaWiki構成用の次のNginx仮想ホストをそこに貼り付けます。
# 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 Configuration
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
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;
}
}
要件/ケースに応じて変更し、保存して終了します。
次に、次のコマンドを使用して新しいmediawiki仮想ホストをアクティブ化します。
ln -s /etc/nginx/sites-available/mediawiki /etc/nginx/sites-enabled/
nginx構成をテストし、エラーがないことを確認します。次に、サービスを再起動します。
nginx -t
systemctl restart nginx
サーバーで新しいHTTPSポート443が開かれます。次の方法でnetstatコマンドを使用して確認してください。
netstat -plntu
結果を以下に示します。
次に、Webブラウザを開き、ドメイン名をアドレスバーに入力します。
http://wiki.hakase-labs.co
そして、HTTPS接続にリダイレクトされます。
MediaWikiを設定するには、ページの[wikiの設定]リンクをクリックします。
-言語設定
自分の言語を選択してください。「英語」を選択し、「続行」をクリックします。
-環境チェック
そして今、MediaWikiは環境チェックを実行します。以下に示す結果が得られることを確認してください。
[続行]をクリックしてインストールします。
-データベース構成
次に、データベース構成について説明します。 「データベース名」フィールドに、プレフィックス「wiki_」を付けて「mediawikidb」と入力します。次に、データベースユーザー「mediawiki」とパスワード「mypassword」を入力します。
そして、[続行]をクリックします。
-データベース設定
データベース設定については、デフォルトのままにして、[続行]をクリックします。
-管理者ユーザーを作成する
次に、管理者アカウントを作成する必要があります。以下に示すように、自分のユーザー、パスワード、および電子メールを入力します。
そして、[続行]をクリックします。
-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がUbuntu16.04サーバー上のNginxWebサーバーとともにインストールされたことが通知されます。
この段階で、mediawikiのインストールは完了しています。このステップでは、デフォルトのスキン/テーマを構成します。
'/ var / www / mediawiki / skins'ディレクトリに移動し、デフォルトのスキン'Vector'のクローンを作成します。
cd /var/www/mediawiki/skins/
sudo git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector
次に、vimエディターを使用して「LocalSettings.php」ファイルを編集します。
vim /var/www/mediawiki/LocalSettings.php
そして、次のphpコードをファイルの終わりに貼り付けます。
wfLoadSkin( 'Vector' );
それでおしまい。保存して終了します。
Webブラウザーに戻り、MediaWikiページを更新します。以下に示すように、「Vector」スキンを使用してMediaWikiを取得してください。
Ubuntu16.04上のNginxWebサーバーでのMediaWikiのインストールと構成が正常に完了しました。