OpenSUSE Leap 42: MediaWikiをインストールする

MediaWikiのインストール方法を記載します。

1 MediaWikiをインストールする

  • ファイアウォールの許可をhttpsからhttpに変えることでhttpでも接続できます。
  • MEDIAWIKI_PASSWDはmediawikiで使うadminユーザのパスワードです。
#!/bin/sh

[ -z "${MEDIAWIKI_PASSWD}" ] && \
  MEDIAWIKI_PASSWD=mediawiki

opensuse_install_mysql()
{
  sudo zypper -n in mariadb
  sudo systemctl enable mysql
  sudo systemctl start mysql
}

opensuse_install_mediawiki()
{
  # Install mediawiki from server:/php:/applications repository.
  O=http://download.opensuse.org
  A=${O}/repositories/server:/php:/applications/openSUSE_Leap_42.2/

  sudo zypper ar -f -n Applications ${A} Applications
  sudo zypper -n --gpg-auto-import-keys up
  sudo zypper -n in mediawiki

  # install.php will create DB table and LocalSettings.php.
  cd /usr/share/mediawiki
  sudo php maintenance/install.php mediawiki admin \
       --pass ${MEDIAWIKI_PASSWD} --dbname my_wiki --dbuser root
  sudo ln -s /usr/share/mediawiki/LocalSettings.php \
       /var/lib/mediawiki/webroot/LocalSettings.php
}

opensuse_firewall_open_service()
{
  for t in FW_CONFIGURATIONS_EXT FW_CONFIGURATIONS_DMZ FW_CONFIGURATIONS_INT; do
    sudo sed -e "s/^${t}=\"\(.*\)\"/${t}=\"\1 $1\"/g" \
         -i /etc/sysconfig/SuSEfirewall2
  done
  sudo systemctl restart SuSEfirewall2
}

opensuse_install_apache()
{
  # Generate crt and key file.
  sudo gensslcert

  # Convert 2.2 conf to 2.4 conf and add https support.
  sudo mv /etc/apache2/conf.d/mediawiki.conf \
       /etc/apache2/conf.d/mediawiki.conf.orig
  cat <<EOF | sudo tee /etc/apache2/conf.d/mediawiki.conf
<VirtualHost *:443>
  SSLEngine on
  SSLCertificateFile /etc/apache2/ssl.crt/server.crt
  SSLCertificateKeyFile /etc/apache2/ssl.key/server.key

  Alias /wiki /var/lib/mediawiki/webroot

$(sudo sed -e 's/Allow From All/Require all granted/g' \
           -e 's/Deny from all/Require all denied/g' \
           -e 's;^[^#]\(.*\)Alias;#\1Alias;g' \
           /etc/apache2/conf.d/mediawiki.conf.orig)
</VirtualHost>
EOF

  sudo a2enflag SSL
  sudo a2enmod ssl
  sudo a2enmod php5

  opensuse_firewall_open_service apache2-ssl
  sudo systemctl enable apache2
  sudo systemctl restart apache2
}

opensuse_main()
{
  opensuse_install_mysql
  opensuse_install_mediawiki
  opensuse_install_apache
}

opensuse_main

2 MediaWikiへアクセスする

以下のURLへアクセスします。

https://<server>/wiki

マシンの証明書を組み込んでいないので、Chromeの場合は以下の警告が出てアクセスできません。"ADVANCED"を表示させて"Proceed to <server> (unsafe)"をクリックすることで、このウェブサイトに例外的にアクセスするようにします。

Firefox等でも同様にこのウェブサイトを例外的にアクセスできるようにしてください。

0001_YourConnectionIsNotPrivate.png

MediaWikiの画面が表示されます。右上の"Log in"からユーザをadmin、パスワードをMEDIAWIKI_PASSWDで設定した値にしてログインしてください。

0002_MediaWiki.png