Mediawiki/Installing/Ubuntu

From r00tedvw.com wiki
Jump to: navigation, search

Installing | Multiple Instances | Ubuntu Installation | CentOS7 Installation

Contents

 [hide

Installation Overview

All of the instructions below were done on Ubuntu 14.04 LTS

Install required packages

Below is a list of all the packages required by Mediawiki for installation on Ubuntu.

~$ sudo apt-get update && sudo apt-get install -y apache2 mysql-server php5 php5-mysql libapache2-mod-php5 ImageMagick php5-intl

Alternatively, if you think you have already installed some of the packages, you can quickly check

~$ dpkg -s [package name] | grep Status
ie. ~$ dpkg -s imagemagick | grep Status
     Status: install ok installed

setup mysql

make sure mysql is started

~$ sudo service mysql status
or
~$ sudo service mysql start

setup the basics

~$ sudo mysql_secure_installation
Set root password? [Y/n] y
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

login to db

~$ mysql -u root -p

Create mysql wiki user

~$ mysql> CREATE USER 'wiki'@'localhost' IDENTIFIED BY 'THISpasswordSHOULDbeCHANGED';
~$ mysql> exit

login as new user to verify account works

~$ mysql -u wiki -p
~$ mysql> exit

create DB

~$ mysql -u root -p
~$ mysql> CREATE DATABASE sewikidatabase;

verify DB creation

~$ mysql> SHOW DATABASES;

assign rights to wiki user for new database created

~$ mysql> GRANT ALL PRIVILEGES ON sewikidatabase.* TO 'wiki'@'localhost' IDENTIFIED BY 'wikiuserpassword' WITH GRANT OPTION;
~$ mysql> exit

verify permissions have been granted

~$ mysql -u wiki -p
~$ mysql> SHOW GRANTS;
+---------------------------------------------------------------------------------------------------------------+
| Grants for wiki@localhost                                                                                   |
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'wiki'@'localhost' IDENTIFIED BY PASSWORD '*2K21458K438UYE85A38B9Y7Y78DAEBF4T8689YK4' |
| GRANT ALL PRIVILEGES ON `sewikidatabase`.* TO 'wiki'@'localhost' WITH GRANT OPTION                          |
+---------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

download mediawiki and verify

http://www.mediawiki.org/wiki/Download
http://da44en.wordpress.com/2004/08/16/practical-gnupg/
download mediawiki

~$ wget http://releases.wikimedia.org/mediawiki/1.22/mediawiki-1.22.6.tar.gz

gpg signature

~$ wget http://releases.wikimedia.org/mediawiki/1.22/mediawiki-1.22.6.tar.gz.sig

gpg keys

~$ wget https://www.mediawiki.org/keys/keys.txt

import keys

~$ gpg --import keys.txt

verify file with detached sig

~$ gpg --verify mediawiki-1.22.6.tar.gz.sig mediawiki-1.22.6.tar.gz
gpg: Signature made Thu 24 Apr 2014 07:42:22 PM EDT using RSA key ID 7F901A30
gpg: Good signature from "Mark A. Hershberger <mah@everybody.org>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 3CEF 8262 806D 3F0B 6BA1  DBDD 7956 EE47 7F90 1A30

This means the file was verified successfully

gpg: Good signature from "Mark A. Hershberger <mah@everybody.org>"

create dir/export tar contents

unpack mediawiki in a temp directory

~$ sudo pwd
/home/user/downloads/
~$ sudo mkdir /var/www/html/sitename.com
~$ sudo mkdir /var/www/html/sitename.com/wiki
~$ tar xvzf ./mediawiki-1.22.6.tar.gz
~$ sudo cp -avr ./mediawiki-1.22.6/. /var/www/html/sitename.com/wiki/

Configure Apache2

Since we're going with a subsite configuration, the virutalhost file is going to be simple and only point to the site's root directory

~$ sudo vi /etc/apache2/sites-available/yoursite.com.conf
add:
<VirtualHost *:80>
        ServerName yoursite.com
        ServerAdmin admin@yoursite.com
        DocumentRoot /var/www/yoursite.com
        TransferLog /var/log/apache2/yoursite.com-access_log
        ErrorLog /var/log/apache2/yoursite.com-error_log
</VirtualHost>

While you're configuring apache, let's harden security a little bit to prevent malicious upload attacks.

~$ sudo vi /etc/apache2/sites-available/yoursite.com.conf
add to the bottom of your Virtual site config, before you close it:
<Directory /var/www/yoursite.com/wiki/images/>
               # Ignore .htaccess files
               AllowOverride None
               # Serve HTML as plaintext, don't execute SHTML
               AddType text/plain .html .htm .shtml .php
               # Don't run arbitrary PHP code.
               php_admin_flag engine off
                # If you've other scripting languages, disable them too.
</Directory>

Restart Apache2 and make sure you dont get any errors

~$ sudo service apache2 restart
* Restarting web server apache2
  ...done.

restart apache and finalize install

~$ sudo a2enmod yoursite.com.conf
~$ sudo service apache2 restart

Browse to your site's URL
it will let you know no LocalSettings.php file was found and give you a link to begin installation. This install script asks you a bunch of questions and will generate the LocalSettings.php based on your responses.
Save the LocalSettings.php file and copy to your site's directory, which in this case was:

~$ /var/www/html/servername/mediawiki-1.22.6/

If you opted for Image Uploads, it would have asked for which directory deleted files will go in, by default it is /var/www/html/servername/mediawiki-1.22.6/images/deleted/, so do the following:

~$ sudo mkdir /var/www/html/servername/mediawiki-1.22.6/images/deleted/
~$ sudo chown www-data:www-data /var/www/html/servername/mediawiki-1.22.6/images/deleted/

Restart Apache

~$ sudo service apache2 restart

Reload the page and your wiki should be operational or at least ready for further configuration.

Personal tools
Namespaces

Variants
Actions
Navigation
Mediawiki