MediaWikiは、もともとWikipediaで使用するために開発された人気のウィキソフトウェアです。これは、PHPプログラミング言語で書かれた無料のオープンソースのウィキソフトウェアです。 2002年にMagnusManskeによって実現されたこのツールは、現在バージョン1.30になっています。 MediaWikiは、Nginx、Intel、Novellなどを含む多くの大企業で使用されています。
このチュートリアルでは、CentOS7にNginxWebサーバーを使用してMediaWikiを段階的にインストールする方法について説明します。また、MediaWikiインストール用のLEMPスタックをインストールおよび構成する方法についても説明します。これには、新しい無料のSSLLetsencryptの生成と構成も含まれます。 MediaWikiのセキュリティ。
- CentOS7にNginxをインストールする
- PHP-FPMのインストールと構成
- MariaDBデータベースのインストールと構成
- MediaWikiをダウンロードして設定する
- CentOS7で新しいSSLLetsencryptを生成する
- MediaWikiインストール用にNginx仮想ホストを構成する
- MediaWikiWebベースのインストール
- MediaWikiのデフォルトスキンを設定する
- CentOS7サーバー
- root権限
このチュートリアルでは、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
このチュートリアルでは、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ファイルを取得するようにしてください。
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インストール用の新しいデータベースとユーザーが作成されました。
このチュートリアルでは、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」ディレクトリにダウンロードされており、すべての依存関係がインストールされています。
セキュリティ上の理由から、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」ディレクトリに保存されました。
このステップでは、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をインストールする準備が整いました。
Webブラウザーを開き、MediaWikiのURLを入力します。
http://wiki.hakase-labs.co/
HTTPS接続にリダイレクトされます。 Webページで、[Wikiの設定]リンクをクリックします。
英語の「en」言語を選択し、「続行」をクリックします。
すべてのサーバー構成が環境チェックに合格していることを確認してください。
次に、[続行]をクリックします。
データベース名を「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がCentOS7サーバー上のNginxウェブサーバーとともにインストールされていることがわかります。
この段階で、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のインストールと構成が正常に完了しました。