Mediawiki/Installing/Ubuntu

From r00tedvw.com wiki
Jump to: navigation, search

Installing | Multiple Instances | Ubuntu Installation | CentOS7 Installation

Contents

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 <[email protected]>"
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 <[email protected]>"

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 [email protected]
        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
Confluence
DevOps Tools
Ubuntu
Ubuntu 22
Mac OSX
Oracle Linux
AWS
Windows
OpenVPN
Grafana
InfluxDB2
TrueNas
OwnCloud
Pivotal
osTicket
OTRS
phpBB
WordPress
VmWare ESXI 5.1
Crypto currencies
HTML
CSS
Python
Java Script
PHP
Raspberry Pi
Canvas LMS
Kaltura Media Server
Plex Media Server
MetaSploit
Zoneminder
ShinobiCE
Photoshop CS2
Fortinet
Uploaded
Certifications
General Info
Games
Meal Plans
NC Statutes
2020 Election
Volkswagen
Covid
NCDMV
Toolbox