687
edits
Changes
→Enable mobile support
[[Category:OpenBSD]]
== Introduction ==
We'll install a mediawiki that uses sqlite.
== Prerequisites ==
Make sure you have a server, a domain (we'll use <code>w2.mgk.ro</code>). Make sure you have followed the [[OpenBSD Post Install Steps]].
== Install PHP ==
pkg_add -r php%7.3 php-gd%7.3 php-intl%7.3 php-pdo_sqlite%7.3 pecl73-imagick
Enable required PHP extensions by:
ln -sf /etc/php-7.3.sample/imagick.ini /etc/php-7.3/
ln -sf /etc/php-7.3.sample/gd.ini /etc/php-7.3/
ln -sf /etc/php-7.3.sample/intl.ini /etc/php-7.3/
ln -sf /etc/php-7.3.sample/opcache.ini /etc/php-7.3/
ln -sf /etc/php-7.3.sample/pdo_sqlite.ini /etc/php-7.3/
== Configure files ==
Create site directories:
domain="w2.mgk.ro"
mkdir -p -m 775 /var/www/src /var/www/sites /var/www/sites/${domain} /var/www/sites/${domain}/{data,images}
mkdir /var/www/htdocs/${domain}
chown :staff /var/www/src /var/www/sites /var/www/sites/${domain}
chown :wheel /var/www/htdocs/${domain}
chown :www /var/www/sites/${domain}/{data,images}
chmod +t /var/www/sites/${domain}/images
chmod 775 /var/www/sites/w2.mgk.ro/mediawiki*
Download mediawiki, with extensions and skins:
cd /var/www/src
ftp https://releases.wikimedia.org/mediawiki/1.31/mediawiki-1.31.3.tar.gz
ftp https://extdist.wmflabs.org/dist/extensions/MobileFrontend-REL1_31-289f540.tar.gz
ftp https://extdist.wmflabs.org/dist/skins/MinervaNeue-REL1_31-2e70e79.tar.gz
Extract mediawiki, extensions and skins:
tar -xzf mediawiki-1.31.3.tar.gz -C /var/www/sites/${domain}
tar -xzf MobileFrontend-REL1_31-289f540.tar.gz -C /var/www/sites/${domain}/mediawiki-1.31.3/extensions
tar -xzf MinervaNeue-REL1_31-2e70e79.tar.gz -C /var/www/sites/${domain}/mediawiki-1.31.3/skins
Create site links in htdocs:
ln -sf ../../sites/${domain}/mediawiki-1.31.3 /var/www/htdocs/${domain}/w
== Enable services ==
rcctl enable php73_fpm
rcctl start php73_fpm
rcctl enable httpd
rcctl start httpd
== Configure web server ==
Add aram to the www group:
usermod -G www aram
Create empty httpd.conf file and configure permissions:
touch /etc/httpd.conf
chown root:staff /etc/httpd.conf
chmod 664 /etc/httpd.conf
=== Run the MediaWiki installer ===
Use this initial config:
server "w2.mgk.ro" {
listen on * port 80
root "/htdocs/w2.mgk.ro"
directory no index
location "/w/*.php" {
fastcgi socket "/run/php-fpm.sock"
}
'''location "/w/mw-config/*.php" {'''
'''fastcgi socket "/run/php-fpm.sock"'''
'''}'''
location "/w/" { directory index index.php }
'''location "/w/mw-config/*" { directory index index.php }'''
'''location "/w/mw-config/images/*" { pass }'''
location "/w/resources/assets/*" { pass }
location "/w/resources/lib/*" { pass }
location "/w/resources/src/*" { pass }
location "/w/skins/*" { pass }
location "/w/extensions/*" { pass }
location "/images/deleted/*" { block }
location "/images/*" { pass }
location "/" {
'''block return 301 "http://$SERVER_NAME/w/mw-config"'''
}
location "/*" { block }
}
Enable and start PHP and httpd:
rcctl enable php73_fpm
rcctl start php73_fpm
rcctl enable httpd
rcctl start httpd
Visit http://w2.mgk.ro/ and run the installer. Use <code>/sites/w2.mgk.ro/data</code> for the SQLite data directory. Download <code>LocalSettings.php</code> and upload it to <code>/var/www/htdocs/${domain}/w</code>
scp LocalSettings.php w2.mgk.ro:/var/www/htdocs/w2.mgk.ro/w
The wiki should now work with traditional (long) URLs.
=== Enable short URLs ===
Use this httpd.conf to enable short URLs and disable access to the installer.
server "w2.mgk.ro" {
listen on * port 80
root "/htdocs/w2.mgk.ro"
directory no index
location "/w/*.php" {
fastcgi socket "/run/php-fpm.sock"
}
'''location "/wiki/*" {'''
'''fastcgi param SCRIPT_FILENAME "/htdocs/w2.mgk.ro/w/index.php"'''
'''fastcgi socket "/run/php-fpm.sock"'''
'''}'''
location "/w/" { directory index index.php }
location "/w/resources/assets/*" { pass }
location "/w/resources/lib/*" { pass }
location "/w/resources/src/*" { pass }
location "/w/skins/*" { pass }
location "/w/extensions/*" { pass }
location "/images/deleted/*" { block }
location "/images/*" { pass }
location "/" {
'''block return 301 "http://$SERVER_NAME/wiki/Main_Page"'''
}
location "/*" { block }
}
Then edit <code>LocalSettings.php</code> to enable short URLs:
$wgScriptPath = "/w";
$wgScriptExtension = ".php";
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;
Restart httpd:
doas rcctl restart httpd
You are now done.
== Enable mobile support ==
Edit <code>LocalSettings.php</code> to enable it (append it at the bottom):
wfLoadSkin( 'MinervaNeue' );
wfLoadExtension( 'MobileFrontend' );
$wgMFAutodetectMobileView = true;