Introduction
RCS's One-Click MediaWiki application is a free and open-source wiki engine, initially developed for use on Wikipedia. Select a location, choose your instance size, and click Deploy Now. Your wiki will be ready to configure in about a minute. One-Click MediaWiki runs on Ubuntu Server.
Substitute the server's domain name or IP address anywhere oneclick.example.com appears in this installation guide.
1. Install SSL Certificate
This step is optional, but recommended. Most MediaWiki administrators will use a domain name and valid SSL certificate for their site. If you plan to use a commercial SSL certificate, see the Commercial SSL section.
If you skip this step:
Substitute the server IP address for oneclick.example.com.
You will encounter a certificate security warning.
Proceed past the warning to complete setup. See our instructions to bypass the HTTPS warning for self-signed SSL/TLS certificates.
To install a free Let's Encrypt SSL certificate:
Register the name and create a DNS record for the server's IP address. Consult your DNS provider for instructions, or see our guide if using RCS's DNS.
Verify the DNS has finished propagation, and the name is visible throughout the internet before proceeding. Propagation usually happens quickly, but could take up to 48 hours in some cases.
Connect to your server, with the root login from the Server Information screen.
Install the certificate with certbot. Replace the domain name and email with your values.
# certbot --nginx --redirect --agree-tos --no-eff-email -d oneclick.example.com -m admin@example.com
Certbot should report success when finished.
2. Run Installation Assistant
Navigate to
https://oneclick.example.com/mw-config/
to begin the MediaWiki installation.Enter the Login user credentials in the security pop-up. You'll find those credentials in the server information section of the customer portal, where you deployed the server.
Select your language and click Continue.
Enter the Upgrade key and click Continue.
Click Continue on the "Welcome to MediaWiki" screen.
Make sure "Use the same account as for installation" is checked. Click Continue.
Enter the configuration information:
Name of wiki
Project namespace
Username & password
Email address
Select "I'm bored already, just install the wiki." Click Continue.
Click Continue on the next two screens. When prompted, save LocalSettings.php in a safe location. (This step is optional.)
Open a terminal session on the server with the root login credentials.
Edit LocalSettings.php
# nano /var/www/html/LocalSettings.php
Edit the $wgServer variable. Change the ip address to the domain name. This statement is around line 30.
$wgServer = "https://oneclick.example.com";
Save and exit the file.
Navigate to the homepage at
https://oneclick.example.com
More Information
File uploads
File uploads are disabled by default. To enable them:
Connect to the server via ssh as root.
Edit LocalSettings.php
# nano /var/www/html/LocalSettings.php
Change the $wgEnableUploads variable to true. This statement is around line 75.
$wgEnableUploads = true;
Save and exit the file.
MySQL
A MySQL database is running on your VPS for MediaWiki. If you need to access the database directly:
Connect to the server via ssh as root.
Log into MySQL.
# mysql -u root
The MySQL root password is saved in
/root/.my.cnf
.
XHProf Performance Analysis
Access your XHProf installation at https://oneclick.example.com/xhprof/xhprof_html/
.
You'll find the username and password on your Server Information page.
PHPMyAdmin Database Manager
Access your PHPMyAdmin installation at https://oneclick.example.com/mysqladmin/
.
You'll find the username and password on your Server Information page.
Cockpit Control Panel
Access your Cockpit a control panel at https://oneclick.example.com:9080
.
You'll find the username and password on your Server Information page.
Cockpit Let's Encrypt SSL certificate
It's possible to configure Cockpit to use the same SSL certificate as MediaWiki with these steps. This step is optional.
Edit /etc/nginx/conf.d/cockpit.conf
# nano /etc/nginx/conf.d/cockpit.conf
Look for this line.
server_name _;
Replace the underscore with your server's domain name. The top of the file should now look like this.
server { listen 9080 ssl; server_name oneclick.example.com;
Save and exit the file.
Edit /etc/cockpit/cockpit.conf
# nano /etc/cockpit/cockpit.conf
Replace both instances of the server's IP address with the server's domain name.
[WebService] Origins = https://oneclick.example.com:9080 wss://oneclick.example.com:9080 ProtocolHeader = X-Forwarded-Proto
Save and exit the file.
Run certbot. For example:
# certbot --nginx --redirect --agree-tos --no-eff-email -d oneclick.example.com -m admin@example.com
Certbot detects the files you updated and automatically installs the certificate for Cockpit.
Disable Cockpit
If you need to disable Cockpit, SSH to the server as root and run the following command:
# systemctl disable --now cockpit.socket
RCS Helper Scripts
RCS provides helper scripts for common issues. SSH to the server as root to run these scripts.
Reset Nginx
If Nginx fails to load, you may have a typo or corruption in your configuration files. The fix-vhost.sh script will reset the Nginx configuration to default.
# /opt/RCS/fix-vhost.sh
All vhosts have been restored to their default state!
Check Software Versions
For debugging purposes, our support team may ask for your MediaWiki and Ubuntu versions. Run the version.sh
script.
# /opt/RCS/version.sh
OS: '18.04.4 LTS (Bionic Beaver)'
MediaWiki: '1.34.1'
Commercial SSL
You can use a Commercial SSL Certificate instead of the free Let's Encrypt certificate.
How to install a commercial SSL certificate
Obtain a certificate from a certificate authority for your domain.
Replace the server.crt and server.key files in /etc/nginx/ssl/ with the commercial certificate. Refer to your certificate vendor's documentation for details.
Reboot the server.
# reboot
Certbot considerations
Certbot makes changes to the Nginx configuration. If you used certbot to obtain a Let's Encrypt certificate, return the Nginx configuration files to default before installing the commercial certificate.
Back up your existing Nginx configuration files
# cp -r /etc/nginx/ /root/nginx
Revoke your certbot certificate.
# certbot delete
Restore the default Nginx configuration.
# /opt/RCS/fix-vhost.sh
How to Disable HTTPS
Disabling HTTPS security is possible, but not recommended.
SSH to the server as root.
Move mediawiki_https.conf out of the Nginx configuration folder and reboot the server.
# mv /etc/nginx/conf.d/mediawiki_https.conf /root/ # reboot
About One-Click Apps
One-Click apps are updated regularly without notice. When launching a One-Click app, you'll receive our latest version. We do not update deployed instances, and you are responsible for keeping the instance up-to-date. If you design an infrastructure based on One-Click apps and need to ensure the same app version in the future, take a snapshot of the initial deployment and create new instances from the snapshot.