initial commit of file from CVS for smeserver-mediawiki on Sat Sep 7 20:40:03 AEST 2024
This commit is contained in:
parent
6206aa2519
commit
259c480052
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
*.rpm
|
||||
*.log
|
||||
*spec-20*
|
||||
*.tar.gz
|
21
Makefile
Normal file
21
Makefile
Normal file
@ -0,0 +1,21 @@
|
||||
# Makefile for source rpm: smeserver-mediawiki
|
||||
# $Id: Makefile,v 1.1 2022/05/31 02:55:03 jpp Exp $
|
||||
NAME := smeserver-mediawiki
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attept a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
20
README.md
20
README.md
@ -1,3 +1,19 @@
|
||||
# smeserver-mediawiki
|
||||
# <img src="https://www.koozali.org/images/koozali/Logo/Png/Koozali_logo_2016.png" width="25%" vertical="auto" style="vertical-align:bottom"> smeserver-mediawiki
|
||||
|
||||
SMEServer Koozali developed git repo for smeserver-mediawiki smecontribs
|
||||
SMEServer Koozali developed git repo for smeserver-mediawiki smecontribs
|
||||
|
||||
## Wiki
|
||||
<br />https://wiki.koozali.org/MediaWiki
|
||||
<br />https://wiki.koozali.org/Mediawiki
|
||||
<br />https://wiki.koozali.org/Mediawiki/de
|
||||
<br />https://wiki.koozali.org/Mediawiki/fr
|
||||
<br />https://wiki.koozali.org/SME-201.02_MediaWiki-1.31.1
|
||||
|
||||
## Bugzilla
|
||||
Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=smeserver-mediawiki&product=SME%20Contribs&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED)
|
||||
|
||||
## Description
|
||||
|
||||
<br />*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.*
|
||||
*Once it has been checked, then this comment will be deleted*
|
||||
<br />
|
||||
|
1
contriborbase
Normal file
1
contriborbase
Normal file
@ -0,0 +1 @@
|
||||
contribs10
|
22
createlinks
Normal file
22
createlinks
Normal file
@ -0,0 +1,22 @@
|
||||
#! /usr/bin/perl -w
|
||||
|
||||
use esmith::Build::CreateLinks qw(:all);
|
||||
# our event specific for updating with yum without reboot
|
||||
$event = "smeserver-mediawiki-update";
|
||||
foreach my $file (qw(
|
||||
/etc/systemd/system-preset/49-koozali.preset
|
||||
/etc/httpd/conf/httpd.conf
|
||||
))
|
||||
{
|
||||
templates2events( $file, $event );
|
||||
}
|
||||
#action needed in case we have a systemd unit
|
||||
event_link('systemd-default', $event, '10');
|
||||
event_link('systemd-reload', $event, '50');
|
||||
#services we need to restart
|
||||
safe_symlink('restart',"root/etc/e-smith/events/$event/services2adjust/httpd-e-smith");
|
||||
|
||||
use esmith::Build::Backup qw(:all);
|
||||
backup_includes("smeserver-mediawiki", qw(
|
||||
/opt/mediawiki
|
||||
));
|
1
root/etc/e-smith/db/accounts/defaults/mediawiki/type
Normal file
1
root/etc/e-smith/db/accounts/defaults/mediawiki/type
Normal file
@ -0,0 +1 @@
|
||||
reserved
|
@ -0,0 +1 @@
|
||||
mediawiki
|
@ -0,0 +1 @@
|
||||
mediawikiuser
|
@ -0,0 +1 @@
|
||||
off
|
@ -0,0 +1 @@
|
||||
MediaWiki
|
@ -0,0 +1 @@
|
||||
global
|
@ -0,0 +1 @@
|
||||
service
|
37
root/etc/e-smith/db/configuration/migrate/98groupoffice
Normal file
37
root/etc/e-smith/db/configuration/migrate/98groupoffice
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
my $rec = $DB->get('mediawiki')
|
||||
|| $DB->new_record('mediawiki', {type => 'service'});
|
||||
|
||||
my $pw = $rec->prop('DbPassword');
|
||||
|
||||
return "" if $pw;
|
||||
if (not $pw or length($pw) < 57)
|
||||
{
|
||||
use MIME::Base64 qw(encode_base64);
|
||||
|
||||
$pw = "not set due to error";
|
||||
|
||||
if ( open( RANDOM, "/dev/urandom" ) )
|
||||
{
|
||||
my $buf;
|
||||
# 57 bytes is a full line of Base64 coding, and contains
|
||||
# 456 bits of randomness - given a perfectly random /dev/random
|
||||
if ( read( RANDOM, $buf, 57 ) != 57 )
|
||||
{
|
||||
warn("Short read from /dev/random: $!");
|
||||
}
|
||||
else
|
||||
{
|
||||
$pw = encode_base64($buf);
|
||||
chomp $pw;
|
||||
}
|
||||
close RANDOM;
|
||||
}
|
||||
else
|
||||
{
|
||||
warn "Could not open /dev/urandom: $!";
|
||||
}
|
||||
|
||||
$rec->set_prop('DbPassword', $pw);
|
||||
}
|
||||
}
|
124
root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/95mediawiki
Normal file
124
root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/95mediawiki
Normal file
@ -0,0 +1,124 @@
|
||||
|
||||
#------------------------------------------------------------
|
||||
# Mediawiki
|
||||
#------------------------------------------------------------
|
||||
Alias /mediawiki /opt/mediawiki
|
||||
Alias /wiki /opt/mediawiki/index.php
|
||||
|
||||
|
||||
<Directory /opt/mediawiki>
|
||||
{
|
||||
my $mwsec = $mediawiki{'HTTPS'} || "off";
|
||||
if ($mwsec eq "off")
|
||||
{
|
||||
$OUT .= " # SSLRequireSSL on";
|
||||
} else {
|
||||
$OUT .= " SSLRequireSSL on";
|
||||
}
|
||||
}
|
||||
{
|
||||
|
||||
my $version = '74';
|
||||
$OUT .= qq(
|
||||
AddType application/x-httpd-php .php
|
||||
|
||||
<FilesMatch .php\$\>
|
||||
SetHandler "proxy:unix:/var/run/php-fpm/php$version.sock|fcgi://localhost"
|
||||
</FilesMatch>
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
Options FollowSymLinks
|
||||
order deny,allow
|
||||
{
|
||||
my $mwiki = $mediawiki{'PublicAccess'} || "local";
|
||||
if ($mwiki eq "local")
|
||||
{
|
||||
$OUT .= " Require ip $localAccess";
|
||||
} else {
|
||||
$OUT .= " Require all granted";
|
||||
}
|
||||
}
|
||||
</Directory>
|
||||
|
||||
<Directory /opt/mediawiki/includes>
|
||||
order deny,allow
|
||||
{
|
||||
my $mwiki = $mediawiki{'PublicAccess'} || "local";
|
||||
if ($mwiki eq "local")
|
||||
{
|
||||
$OUT .= " Require ip $localAccess";
|
||||
} else {
|
||||
$OUT .= " Require all granted";
|
||||
}
|
||||
}
|
||||
</Directory>
|
||||
|
||||
<Directory /opt/mediawiki/languages>
|
||||
order deny,allow
|
||||
{
|
||||
my $mwiki = $mediawiki{'PublicAccess'} || "local";
|
||||
if ($mwiki eq "local")
|
||||
{
|
||||
$OUT .= " Require ip $localAccess";
|
||||
} else {
|
||||
$OUT .= " Require all granted";
|
||||
}
|
||||
}
|
||||
</Directory>
|
||||
|
||||
<Directory /opt/mediawiki/maintenance>
|
||||
order deny,allow
|
||||
{
|
||||
my $mwiki = $mediawiki{'PublicAccess'} || "local";
|
||||
if ($mwiki eq "local")
|
||||
{
|
||||
$OUT .= " Require ip $localAccess";
|
||||
} else {
|
||||
$OUT .= " Require all granted";
|
||||
}
|
||||
}
|
||||
</Directory>
|
||||
|
||||
<Directory /opt/mediawiki/math>
|
||||
order deny,allow
|
||||
{
|
||||
my $mwiki = $mediawiki{'PublicAccess'} || "local";
|
||||
if ($mwiki eq "local")
|
||||
{
|
||||
$OUT .= " Require ip $localAccess";
|
||||
} else {
|
||||
$OUT .= " Require all granted";
|
||||
}
|
||||
}
|
||||
</Directory>
|
||||
|
||||
<Directory /opt/mediawiki/tests>
|
||||
order deny,allow
|
||||
{
|
||||
my $mwiki = $mediawiki{'PublicAccess'} || "local";
|
||||
if ($mwiki eq "local")
|
||||
{
|
||||
$OUT .= " Require ip $localAccess";
|
||||
} else {
|
||||
$OUT .= " Require all granted";
|
||||
}
|
||||
}
|
||||
</Directory>
|
||||
|
||||
<Directory /opt/mediawiki/maintenance/archives>
|
||||
order deny,allow
|
||||
{
|
||||
my $mwiki = $mediawiki{'PublicAccess'} || "local";
|
||||
if ($mwiki eq "local")
|
||||
{
|
||||
$OUT .= " Require ip $localAccess";
|
||||
} else {
|
||||
$OUT .= " Require all granted";
|
||||
}
|
||||
}
|
||||
</Directory>
|
||||
|
||||
#------------------------------------------------------------
|
||||
|
@ -0,0 +1,19 @@
|
||||
{
|
||||
|
||||
if ($port eq "80")
|
||||
{
|
||||
my $mwsec = $mediawiki{'HTTPS'} || "off";
|
||||
if ($mwsec eq "off")
|
||||
{
|
||||
$OUT = ' #';
|
||||
}
|
||||
else
|
||||
{
|
||||
$OUT = ' RewriteRule ^/wiki(/.*|$) https://%{HTTP_HOST}/wiki$1 [L,R]';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$OUT = ' #';
|
||||
}
|
||||
}
|
340
root/usr/share/doc/mediawiki-1.39.4/COPYING
Executable file
340
root/usr/share/doc/mediawiki-1.39.4/COPYING
Executable file
@ -0,0 +1,340 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
@ -0,0 +1,35 @@
|
||||
#!/bin/sh
|
||||
# Use this file to finish MediaWiki removal ONLY if you don't want to keep it on your system.
|
||||
|
||||
clear
|
||||
echo "WARNING!!!"
|
||||
echo "This script will delete:"
|
||||
echo " - MediaWiki MySQL database"
|
||||
echo " - MediaWiki MySQL User"
|
||||
echo " - MediaWiki DB entries..."
|
||||
echo " - MediaWiki SME groups..."
|
||||
echo " - All Install files"
|
||||
echo -n "ARE YOU SURE YOU WANT TO DELETE PERMANENTLY MEDIAWIKI? (y/n) [n] "
|
||||
read del
|
||||
if [ "$del" = "y" -o "$del" = "Y" ]; then
|
||||
echo "Deleting MySQL database..."
|
||||
mysql -u root -e "DROP DATABASE mediawiki"
|
||||
echo "Deleting MySQL User..."
|
||||
mysql -u root -e "REVOKE ALL PRIVILEGES ON mediawiki.* FROM 'mediawikiuser'@'localhost';"
|
||||
mysql -u root -e "DROP USER mediawikiuser@localhost;"
|
||||
echo "Removing SME DB entries..."
|
||||
/sbin/e-smith/config delete mediawiki
|
||||
echo "Removing SME group entries..."
|
||||
# /sbin/e-smith/db accounts set mw_read deleted
|
||||
# /sbin/e-smith/db accounts set mw_edit deleted
|
||||
# /sbin/e-smith/db accounts set mw_createpage deleted
|
||||
# /sbin/e-smith/db accounts set mw_createtalk deleted
|
||||
# /sbin/e-smith/signal-event group-delete mw_read
|
||||
# /sbin/e-smith/signal-event group-delete mw_edit
|
||||
# /sbin/e-smith/signal-event group-delete mw_createpage
|
||||
# /sbin/e-smith/signal-event group-delete mw_createtalk
|
||||
echo "Removing Install files..."
|
||||
rm -rf /opt/mediawiki
|
||||
echo "Done!"
|
||||
rm -f /root/MW-Full-Uninstall.sh
|
||||
fi
|
140
root/usr/share/doc/mediawiki-1.39.4/Sources/LocalSettings.php
Normal file
140
root/usr/share/doc/mediawiki-1.39.4/Sources/LocalSettings.php
Normal file
@ -0,0 +1,140 @@
|
||||
<?php
|
||||
# This file was automatically generated by the MediaWiki 1.38.1
|
||||
# installer. If you make manual changes, please keep track in case you
|
||||
# need to recreate them later.
|
||||
#
|
||||
# See docs/Configuration.md for all configurable settings
|
||||
# and their default values, but don't forget to make changes in _this_
|
||||
# file, not there.
|
||||
#
|
||||
# Further documentation for configuration settings may be found at:
|
||||
# https://www.mediawiki.org/wiki/Manual:Configuration_settings
|
||||
|
||||
# Protect against web entry
|
||||
if ( !defined( 'MEDIAWIKI' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
## Uncomment this to disable output compression
|
||||
# $wgDisableOutputCompression = true;
|
||||
|
||||
$wgSitename = "SMEmediawiki";
|
||||
|
||||
## The URL base path to the directory containing the wiki;
|
||||
## defaults for all runtime URL paths are based off of this.
|
||||
## For more information on customizing the URLs
|
||||
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
|
||||
## https://www.mediawiki.org/wiki/Manual:Short_URL
|
||||
$wgScriptPath = "/mediawiki";
|
||||
|
||||
## The protocol and server name to use in fully-qualified URLs
|
||||
$wgServer = "https://myhost.mydomain";
|
||||
|
||||
## The URL path to static resources (images, scripts, etc.)
|
||||
$wgResourceBasePath = $wgScriptPath;
|
||||
|
||||
## The URL paths to the logo. Make sure you change this from the default,
|
||||
## or else you'll overwrite your logo when you upgrade!
|
||||
$wgLogos = [
|
||||
'1x' => "$wgResourceBasePath/resources/assets/change-your-logo.svg",
|
||||
|
||||
|
||||
'icon' => "$wgResourceBasePath/resources/assets/change-your-logo-icon.svg",
|
||||
];
|
||||
|
||||
## UPO means: this is also a user preference option
|
||||
|
||||
$wgEnableEmail = true;
|
||||
$wgEnableUserEmail = true; # UPO
|
||||
|
||||
$wgEmergencyContact = "admin@mydomain";
|
||||
$wgPasswordSender = "admin@mydomain";
|
||||
|
||||
$wgEnotifUserTalk = false; # UPO
|
||||
$wgEnotifWatchlist = false; # UPO
|
||||
$wgEmailAuthentication = true;
|
||||
|
||||
## Database settings
|
||||
$wgDBtype = "mysql";
|
||||
$wgDBserver = "localhost";
|
||||
$wgDBname = "mediawiki";
|
||||
$wgDBuser = "mediawikiuser";
|
||||
$wgDBpassword = "mediawikipassword";
|
||||
|
||||
# MySQL specific settings
|
||||
$wgDBprefix = "";
|
||||
|
||||
# MySQL table options to use during installation or update
|
||||
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";
|
||||
|
||||
# Shared database table
|
||||
# This has no effect unless $wgSharedDB is also set.
|
||||
$wgSharedTables[] = "actor";
|
||||
|
||||
## Shared memory settings
|
||||
$wgMainCacheType = CACHE_NONE;
|
||||
$wgMemCachedServers = [];
|
||||
|
||||
## To enable image uploads, make sure the 'images' directory
|
||||
## is writable, then set this to true:
|
||||
$wgEnableUploads = false;
|
||||
$wgUseImageMagick = true;
|
||||
$wgImageMagickConvertCommand = "/usr/bin/convert";
|
||||
|
||||
# InstantCommons allows wiki to use images from https://commons.wikimedia.org
|
||||
$wgUseInstantCommons = false;
|
||||
|
||||
# Periodically send a pingback to https://www.mediawiki.org/ with basic data
|
||||
# about this MediaWiki instance. The Wikimedia Foundation shares this data
|
||||
# with MediaWiki developers to help guide future development efforts.
|
||||
$wgPingback = true;
|
||||
|
||||
# Site language code, should be one of the list in ./languages/data/Names.php
|
||||
$wgLanguageCode = "en-gb";
|
||||
|
||||
# Time zone
|
||||
$wgLocaltimezone = "Europe/London";
|
||||
|
||||
## Set $wgCacheDirectory to a writable directory on the web server
|
||||
## to make your wiki go slightly faster. The directory should not
|
||||
## be publicly accessible from the web.
|
||||
#$wgCacheDirectory = "$IP/cache";
|
||||
|
||||
$wgSecretKey = "99d03bd9d6070e2d2ba6f96443e5b0c65de1cebc75b6b059287a864285799397";
|
||||
|
||||
# Changing this will log out all existing sessions.
|
||||
$wgAuthenticationTokenVersion = "1";
|
||||
|
||||
# Site upgrade key. Must be set to a string (default provided) to turn on the
|
||||
# web installer while LocalSettings.php is in place
|
||||
$wgUpgradeKey = "f00fc216bf2414ef";
|
||||
|
||||
## For attaching licensing metadata to pages, and displaying an
|
||||
## appropriate copyright notice / icon. GNU Free Documentation
|
||||
## License and Creative Commons licenses are supported so far.
|
||||
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
|
||||
$wgRightsUrl = "";
|
||||
$wgRightsText = "";
|
||||
$wgRightsIcon = "";
|
||||
|
||||
# Path to the GNU diff3 utility. Used for conflict resolution.
|
||||
$wgDiff3 = "/usr/bin/diff3";
|
||||
|
||||
## Default skin: you can change the default skin. Use the internal symbolic
|
||||
## names, e.g. 'vector' or 'monobook':
|
||||
$wgDefaultSkin = "vector";
|
||||
|
||||
# Enabled skins.
|
||||
# The following skins were automatically enabled:
|
||||
wfLoadSkin( 'MinervaNeue' );
|
||||
wfLoadSkin( 'MonoBook' );
|
||||
wfLoadSkin( 'Timeless' );
|
||||
wfLoadSkin( 'Vector' );
|
||||
|
||||
|
||||
# End of automatically generated settings.
|
||||
# Add more configuration options below.
|
||||
|
||||
# Uncomment to get full error messages on failures.
|
||||
#$wgShowExceptionDetails = true;
|
309
root/usr/share/doc/mediawiki-1.39.4/Sources/PwAuthPlugin.php
Normal file
309
root/usr/share/doc/mediawiki-1.39.4/Sources/PwAuthPlugin.php
Normal file
@ -0,0 +1,309 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Version 1.0
|
||||
*
|
||||
* Authentication Plugin for pwauth
|
||||
* Derived from AuthPlugin.php
|
||||
*
|
||||
* Much of the commenting comes straight from AuthPlugin.php
|
||||
*
|
||||
* Copyright 2006 Nicholas J. Humfrey
|
||||
* Released under the GNU General Public License
|
||||
*
|
||||
* pwauth is available from http://www.unixpapa.com/pwauth/
|
||||
*
|
||||
* LocalSettings configuration:
|
||||
* require_once("./extensions/PwAuthPlugin.php");
|
||||
* $wgAuth = new PwAuthPlugin();
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
require_once('AuthPlugin.php');
|
||||
|
||||
|
||||
$pwauth_email_domain = "";
|
||||
$pwauth_bin_path = "/usr/lib/httpd/modules/pwauth";
|
||||
|
||||
|
||||
error_reporting(E_ALL); // Debug
|
||||
|
||||
|
||||
// First check if class has already been defined.
|
||||
if (!class_exists('AuthPlugin')) {
|
||||
|
||||
/**
|
||||
* Auth Plugin
|
||||
*
|
||||
*/
|
||||
require_once './includes/AuthPlugin.php';
|
||||
|
||||
} // End: if (!class_exists('AuthPlugin')) {
|
||||
|
||||
|
||||
|
||||
|
||||
class PwAuthPlugin extends AuthPlugin {
|
||||
|
||||
/**
|
||||
* Check whether there exists a user account with the given name.
|
||||
* The name will be normalized to MediaWiki's requirements, so
|
||||
* you might need to munge it (for instance, for lowercase initial
|
||||
* letters).
|
||||
*
|
||||
* @param string $username
|
||||
* @return bool
|
||||
* @access public
|
||||
*/
|
||||
function userExists( $username ) {
|
||||
$user = posix_getpwnam( strtolower($username) );
|
||||
return is_array($user);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a username+password pair is a valid login.
|
||||
* The name will be normalized to MediaWiki's requirements, so
|
||||
* you might need to munge it (for instance, for lowercase initial
|
||||
* letters).
|
||||
*
|
||||
* @param string $username
|
||||
* @param string $password
|
||||
* @return bool
|
||||
* @access public
|
||||
*/
|
||||
function authenticate( $username, $password ) {
|
||||
global $pwauth_bin_path;
|
||||
|
||||
$username = strtolower( $username );
|
||||
|
||||
$handle = popen($pwauth_bin_path, 'w');
|
||||
if ($handle === FALSE) {
|
||||
error_log("Error opening pipe to pwauth");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (fwrite($handle, "$username\n$password\n") === FALSE) {
|
||||
error_log("Error writing to pwauth pipe");
|
||||
return false;
|
||||
}
|
||||
|
||||
# Is the password valid?
|
||||
$result = pclose( $handle );
|
||||
if ($result==0) return TRUE;
|
||||
|
||||
#0 - Login OK.
|
||||
#1 - Nonexistant login or (for some configurations) incorrect password.
|
||||
#2 - Incorrect password (for some configurations).
|
||||
#3 - Uid number is below MIN_UNIX_UID value configured in config.h.
|
||||
#4 - Login ID has expired.
|
||||
#5 - Login's password has expired.
|
||||
#6 - Logins to system have been turned off (usually by /etc/nologin file).
|
||||
#7 - Limit on number of bad logins exceeded.
|
||||
#50 - pwauth was not run with real uid SERVER_UID. If you get this
|
||||
# this error code, you probably have SERVER_UID set incorrectly
|
||||
# in pwauth's config.h file.
|
||||
#51 - pwauth was not given a login & password to check. The means
|
||||
# the passing of data from mod_auth_external to pwauth is messed
|
||||
# up. Most likely one is trying to pass data via environment
|
||||
# variables, while the other is trying to pass data via a pipe.
|
||||
#52 - one of several possible internal errors occured.
|
||||
error_log("pwauth returned $result for username $username");
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Modify options in the login template.
|
||||
*
|
||||
* @param UserLoginTemplate $template
|
||||
* @access public
|
||||
*/
|
||||
function modifyUITemplate( &$template ) {
|
||||
$template->set('usedomain', false );
|
||||
$template->set('useemail', false); // Disable the mail new password box.
|
||||
$template->set('create', false); // Remove option to create new accounts from the wiki.
|
||||
}
|
||||
|
||||
/**
|
||||
* Check to see if the specific domain is a valid domain.
|
||||
*
|
||||
* @param string $domain
|
||||
* @return bool
|
||||
* @access public
|
||||
*/
|
||||
function validDomain( $domain ) {
|
||||
# We ignore domains, so erm, yes?
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* When a user logs in, optionally fill in preferences and such.
|
||||
* For instance, you might pull the email address or real name from the
|
||||
* external user database.
|
||||
*
|
||||
* The User object is passed by reference so it can be modified; don't
|
||||
* forget the & on your function declaration.
|
||||
*
|
||||
* @param User $user
|
||||
* @access public
|
||||
*/
|
||||
function updateUser( &$user ) {
|
||||
global $pwauth_email_domain;
|
||||
|
||||
// Lookup information about user
|
||||
$username = strtolower( $user->getName() );
|
||||
$account = posix_getpwnam( $username );
|
||||
$gecos = split( ',', $account['gecos'] );
|
||||
|
||||
// Set users real name
|
||||
$user->setRealName( $gecos[0] );
|
||||
|
||||
// Set email if domain is configured
|
||||
if (!empty( $pwauth_email_domain ) ) {
|
||||
// Set the email address
|
||||
$user->setEmail( $username.'@'.$pwauth_email_domain );
|
||||
|
||||
// We set the email address, therefore it is valid
|
||||
$user->confirmEmail();
|
||||
}
|
||||
|
||||
// For security, scramble the password to ensure the user can
|
||||
// only login using system password.
|
||||
// This set the password to a 15 byte random string.
|
||||
$pass = '';
|
||||
for($i=0; $i<15;++$i) $pass .= chr(mt_rand(0,255));
|
||||
$user->setPassword($pass);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return true if the wiki should create a new local account automatically
|
||||
* when asked to login a user who doesn't exist locally but does in the
|
||||
* external auth database.
|
||||
*
|
||||
* If you don't automatically create accounts, you must still create
|
||||
* accounts in some way. It's not possible to authenticate without
|
||||
* a local account.
|
||||
*
|
||||
* This is just a question, and shouldn't perform any actions.
|
||||
*
|
||||
* @return bool
|
||||
* @access public
|
||||
*/
|
||||
function autoCreate() {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Can users change their passwords?
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function allowPasswordChange() {
|
||||
# We can't change users system passwords
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the given password in the authentication database.
|
||||
* Return true if successful.
|
||||
*
|
||||
* @param string $password
|
||||
* @return bool
|
||||
* @access public
|
||||
*/
|
||||
function setPassword( $password ) {
|
||||
# We can't change users system passwords
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update user information in the external authentication database.
|
||||
* Return true if successful.
|
||||
*
|
||||
* @param User $user
|
||||
* @return bool
|
||||
* @access public
|
||||
*/
|
||||
function updateExternalDB( $user ) {
|
||||
# We can't change users details
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check to see if external accounts can be created.
|
||||
* Return true if external accounts can be created.
|
||||
* @return bool
|
||||
* @access public
|
||||
*/
|
||||
function canCreateAccounts() {
|
||||
# We can't create accounts
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a user to the external authentication database.
|
||||
* Return true if successful.
|
||||
*
|
||||
* @param User $user
|
||||
* @param string $password
|
||||
* @return bool
|
||||
* @access public
|
||||
*/
|
||||
function addUser( $user, $password ) {
|
||||
# We can't create accounts
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return true to prevent logins that don't authenticate here from being
|
||||
* checked against the local database's password fields.
|
||||
*
|
||||
* This is just a question, and shouldn't perform any actions.
|
||||
*
|
||||
* @return bool
|
||||
* @access public
|
||||
*/
|
||||
function strict() {
|
||||
# Only allow authentication from system database
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* When creating a user account, optionally fill in preferences and such.
|
||||
* For instance, you might pull the email address or real name from the
|
||||
* external user database.
|
||||
*
|
||||
* The User object is passed by reference so it can be modified; don't
|
||||
* forget the & on your function declaration.
|
||||
*
|
||||
* @param User $user
|
||||
* @access public
|
||||
*/
|
||||
function initUser(&$user) {
|
||||
# We do everything in updateUser
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Some extension information init
|
||||
*/
|
||||
$wgExtensionCredits['other'][] = array(
|
||||
'name' => 'PWAuthPlugin',
|
||||
'version' => '1.0',
|
||||
'author' => 'Nicholas Humfrey',
|
||||
'description' => 'Automagic login with system accounts, using pwauth',
|
||||
'url' => 'http://www.mediawiki.org/wiki/Extension:PwAuthPlugin'
|
||||
);
|
||||
|
||||
|
||||
|
||||
?>
|
15457
root/usr/share/doc/mediawiki-1.39.4/Sources/mediawiki.sql
Normal file
15457
root/usr/share/doc/mediawiki-1.39.4/Sources/mediawiki.sql
Normal file
File diff suppressed because one or more lines are too long
BIN
root/usr/share/doc/mediawiki-1.39.4/Sources/sme.ico
Executable file
BIN
root/usr/share/doc/mediawiki-1.39.4/Sources/sme.ico
Executable file
Binary file not shown.
After Width: | Height: | Size: 894 B |
BIN
root/usr/share/doc/mediawiki-1.39.4/Sources/sme.png
Executable file
BIN
root/usr/share/doc/mediawiki-1.39.4/Sources/sme.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 8.9 KiB |
310
smeserver-mediawiki.spec
Executable file
310
smeserver-mediawiki.spec
Executable file
@ -0,0 +1,310 @@
|
||||
# $Id: smeserver-mediawiki.spec,v 1.21 2023/07/24 15:04:26 brianr Exp $
|
||||
# Authority: ber_die
|
||||
# Name: Dietmar Berteld
|
||||
|
||||
%define name smeserver-mediawiki
|
||||
%define version 1.39.4
|
||||
%define release 2
|
||||
|
||||
Summary: Mediawiki Web Application for SME Server 10.x based on Mediawiki 1.39.0
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{release}%{?dist}
|
||||
License: GPL
|
||||
Group: /Web/Applications
|
||||
Source: %{name}-%{version}.tar.xz
|
||||
|
||||
#Patch0: smeserver-mediawiki-1.38.2-bz12133-httpd24.patch
|
||||
#Patch1: smeserver-mediawiki-1.38.2-bz12134-backup.patch
|
||||
|
||||
URL: http://mediawiki.org/
|
||||
BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
|
||||
BuildArch: noarch
|
||||
Requires: e-smith-base, e-smith-release >= 10
|
||||
Requires: e-smith-apache >= 2.6.0-19
|
||||
Requires: smeserver-php >= 3.0.0-43
|
||||
BuildRequires: e-smith-devtools
|
||||
|
||||
%description
|
||||
This RPM is an addon for the SME Server v10
|
||||
The target audience is the Linux/E-smith administrator
|
||||
who wants to add Wikipedia-SW.
|
||||
Mediawiki is a very popular Wiki and is used by the wikipedia-project.
|
||||
After installation open your webbrowser your local site
|
||||
http://your_e-smith-server_adress/wiki
|
||||
|
||||
%changelog
|
||||
* Sat Sep 07 2024 cvs2git.sh aka Brian Read <brianr@koozali.org> 1.39.4-2.sme
|
||||
- Roll up patches and move to git repo [SME: 12338]
|
||||
|
||||
* Sat Sep 07 2024 BogusDateBot
|
||||
- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
|
||||
by assuming the date is correct and changing the weekday.
|
||||
|
||||
|
||||
* Sat Jul 22 2023 Brian Read <brianr@koozali.org> 1.39.4-1.sme
|
||||
- Update to LTS version 1.39.4 (Supported until dec 2025)[SME: 12385]
|
||||
|
||||
* Thu Dec 01 2022 Brian Read <brianr@bjsystems.co.uk> 1.39.0-1.sme
|
||||
- Update to LTS version 1.39.0 (Supported until dec 2025)[SME: 12250]
|
||||
|
||||
* Tue Aug 02 2022 Jean-Philippe Pialasse <tests@pialasse.com> 1.38.2-2.sme
|
||||
- update to httpd 2.4 access syntax [SME: 12133]
|
||||
- add to core backup [SME: 12134]
|
||||
|
||||
* Tue Jul 12 2022 Brian Read <brianr@bjsystems.co.uk> 1.38.2-1.sme
|
||||
- Update version to Mediawiki-1.38.2 [sme: 11987]
|
||||
- Fix initial admin user password
|
||||
|
||||
* Thu Jun 09 2022 Brian Read <brianr@bjsystems.co.uk> 1.38.1-2.sme
|
||||
- fix sql user create [SME: 11987]
|
||||
|
||||
* Wed Jun 08 2022 Brian Read <brianr@bjsystems.co.uk> 1.38.0-2.sme
|
||||
- Update version to Mediawiki-1.38.1 [sme: 11987]
|
||||
|
||||
* Fri Jun 03 2022 Brian Read <brianr@bjsystems.co.uk> 1.38.0-2.sme
|
||||
- update sql create [SME: 11987]
|
||||
|
||||
* Fri Jun 03 2022 Brian Read <brianr@bjsystems.co.uk> 1.38.0-1.sme
|
||||
- Rollup tar file to include mediawiki 1.38.0 [SME: 11987]
|
||||
|
||||
* Wed Jun 01 2022 Brian Read <brianr@bjsystems.co.uk> 1.37.2-3.sme
|
||||
- Fix-up-password-generation-and-localsettings [SME: 11987]
|
||||
|
||||
* Wed Jun 01 2022 BogusDateBot
|
||||
- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
|
||||
by assuming the date is correct and changing the weekday.
|
||||
Thu Oct 23 2007 --> Thu Oct 18 2007 or Tue Oct 23 2007 or Thu Oct 25 2007 or ....
|
||||
Thu Feb 26 2008 --> Thu Feb 21 2008 or Tue Feb 26 2008 or Thu Feb 28 2008 or ....
|
||||
|
||||
* Tue May 31 2022 Brian Read <brianr@bjsystems.co.uk> 1.6.10-10 sme
|
||||
- Update to SME10 [SME:11987]
|
||||
- Add php-fpm stuff to httpd.conf
|
||||
- Update to mw 1.37.2
|
||||
|
||||
* Mon May 12 2008 Dietmar Berteld> 1.6.10-9
|
||||
- Disabing automatic creation of SME groups. No idea to synchronise them to mediawiki groups.
|
||||
|
||||
* Mon May 12 2008 Dietmar Berteld> 1.6.10-8
|
||||
- Adding PwAuth-function, SME users can login with their SME passwords
|
||||
Automatic creation of a few default mw_groups and list them in the
|
||||
configuration file as well so admins only need to add users to the proper
|
||||
groups in the server-manager
|
||||
|
||||
* Tue Feb 26 2008 Dietmar Berteld>
|
||||
Thu Feb 26 2008 --> Thu Feb 21 2008 or Tue Feb 26 2008 or Thu Feb 28 2008 or ....
|
||||
- [1.6.10-7] Fixed httpd-settings for local access only
|
||||
|
||||
* Tue Oct 23 2007 Dietmar Berteld>
|
||||
Thu Oct 23 2007 --> Thu Oct 18 2007 or Tue Oct 23 2007 or Thu Oct 25 2007 or ....
|
||||
- [1.6.10-6] Fixed automated uninstall issue for MySQL-DB and MySQL-user
|
||||
|
||||
* Fri Oct 19 2007 Dietmar Berteld>
|
||||
- [1.6.10-5] Fixed short URL's
|
||||
- Improved Apache template for better security
|
||||
- Improved integration in SME (PublicAccess local/global - global)
|
||||
|
||||
* Wed Oct 10 2007 Sylvain Gomez <sylvaingomez@free.fr>
|
||||
- [1.6.10-4] Fixed short URL's
|
||||
Fixed Apache restarting at the wrong time while uninstalling
|
||||
Added missing MySQL User
|
||||
Added automatic lang detection at install stage
|
||||
Changed sme.png logo
|
||||
|
||||
* Wed Sep 05 2007 Dietmar Berteld <dietmar@berteld.com>
|
||||
- [1.6.10-3] Simpler method to create MySQL-Datebase
|
||||
Using short URL's
|
||||
|
||||
* Wed Apr 25 2007 Dietmar Berteld <dietmar@berteld.com>
|
||||
- [1.6.10-2] Security Improvements (template, MySQL, directory-rights)
|
||||
Thanks for the help to Sylvain Gomez <sylvain.gomez@free.fr>
|
||||
|
||||
* Thu Apr 12 2007 Dietmar Berteld <dietmar@berteld.com>
|
||||
- [1.6.10-1] Initial version
|
||||
|
||||
%prep
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%setup
|
||||
|
||||
#%patch0 -p1
|
||||
#%patch1 -p1
|
||||
|
||||
%build
|
||||
perl createlinks
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
|
||||
rm -f %{name}-%{version}-filelist
|
||||
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT > %{name}-%{version}-filelist
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%pre
|
||||
|
||||
UPDATE=$(ls /opt | grep -c mediawiki)
|
||||
case $UPDATE in
|
||||
0)
|
||||
echo "Installing MediaWiki... Please wait!"
|
||||
;;
|
||||
*)
|
||||
echo "Updating MediaWiki... Please wait!"
|
||||
mkdir -p /opt/MW_RPM_BACKUP
|
||||
cd /opt
|
||||
echo "Backing up installation files..."
|
||||
tar -czf /opt/MW_RPM_BACKUP/mediawiki.tar.gz mediawiki
|
||||
echo "Backing up MySQL database..."
|
||||
mysqldump mediawiki > /opt/MW_RPM_BACKUP/mediawiki.sql
|
||||
/sbin/e-smith/db configuration show mediawiki > /opt/MW_RPM_BACKUP/config.txt
|
||||
;;
|
||||
esac
|
||||
|
||||
%post
|
||||
|
||||
# General Information
|
||||
/etc/e-smith/events/actions/initialize-default-databases
|
||||
# General Information
|
||||
APP=MediaWiki
|
||||
URL=wiki
|
||||
WORKDIR=/root
|
||||
MEDIAWIKIVERSION='1.39.4'
|
||||
INSTALLDIR=/usr/share/doc/mediawiki-$MEDIAWIKIVERSION/Sources
|
||||
HTMLDIR=/opt/mediawiki
|
||||
MYSQLDB=mediawiki
|
||||
MYSQLUSER=mediawikiuser
|
||||
MYSQLPASS=$(/sbin/e-smith/db configuration getprop mediawiki DbPassword)
|
||||
DOMAIN=$(/sbin/e-smith/db configuration get DomainName)
|
||||
SRVNAME=$(/sbin/e-smith/db configuration get SystemName)
|
||||
UPDATE=$(ls /opt | grep -c mediawiki)
|
||||
grep "LANG=" /etc/sysconfig/i18n > lang1
|
||||
sed -e 's/LANG="//g' lang1 > lang2
|
||||
sed -e 's/"//g' lang2 > lang
|
||||
LANG=$(cat lang)
|
||||
rm -rf lang*
|
||||
#Untar application
|
||||
echo "Decompressing files..."
|
||||
mkdir -p $HTMLDIR
|
||||
tar xzf $INSTALLDIR/mediawiki-$MEDIAWIKIVERSION.tar.gz -C /opt
|
||||
case $UPDATE in
|
||||
0) mv -f /opt/mediawiki-$MEDIAWIKIVERSION/* $HTMLDIR ;;
|
||||
*) cp -ufR /opt/mediawiki-$MEDIAWIKIVERSION/* $HTMLDIR ;;
|
||||
esac
|
||||
rm -rf /opt/mediawiki-$MEDIAWIKIVERSION
|
||||
cp $INSTALLDIR/sme.* $HTMLDIR/skins/common/images
|
||||
#Prepare config settings
|
||||
sed 's.mediawikipassword.'$MYSQLPASS'.g' $INSTALLDIR/LocalSettings.php > $HTMLDIR/LocalSettings.php
|
||||
sed "s/mydomain/$DOMAIN/g" $HTMLDIR/LocalSettings.php > $HTMLDIR/LocalSettings1.php
|
||||
sed "s/myhost/$SRVNAME/g" $HTMLDIR/LocalSettings1.php > $HTMLDIR/LocalSettings2.php
|
||||
case "$LANG" in
|
||||
de_DE) sed 's.$wgLanguageCode = "en";.$wgLanguageCode = "de";.g' $HTMLDIR/LocalSettings2.php > $HTMLDIR/LocalSettings.php ;;
|
||||
es_ES) sed 's.$wgLanguageCode = "en";.$wgLanguageCode = "es";.g' $HTMLDIR/LocalSettings2.php > $HTMLDIR/LocalSettings.php ;;
|
||||
fr_FR) sed 's.$wgLanguageCode = "en";.$wgLanguageCode = "fr";.g' $HTMLDIR/LocalSettings2.php > $HTMLDIR/LocalSettings.php ;;
|
||||
it_IT) sed 's.$wgLanguageCode = "en";.$wgLanguageCode = "it";.g' $HTMLDIR/LocalSettings2.php > $HTMLDIR/LocalSettings.php ;;
|
||||
*) sed 's.$wgLanguageCode = "en";.$wgLanguageCode = "en";.g' $HTMLDIR/LocalSettings2.php > $HTMLDIR/LocalSettings.php ;;
|
||||
esac
|
||||
rm $HTMLDIR/LocalSettings1.php
|
||||
rm $HTMLDIR/LocalSettings2.php
|
||||
#cp $INSTALLDIR/PwAuthPlugin.php $HTMLDIR/extensions/PwAuthPlugin.php
|
||||
#Creating SME-Groups for MediaWiki (disabled)
|
||||
#/sbin/e-smith/db accounts set mw_read group
|
||||
#/sbin/e-smith/db accounts setprop mw_read Description "MediaWiki Read"
|
||||
#/sbin/e-smith/db accounts set mw_edit group
|
||||
#/sbin/e-smith/db accounts setprop mw_edit Description "MediaWiki Edit"
|
||||
#/sbin/e-smith/db accounts set mw_createpage group
|
||||
#/sbin/e-smith/db accounts setprop mw_createpage Description "MediaWiki Create Page"
|
||||
#/sbin/e-smith/db accounts set mw_createtalk group
|
||||
#/sbin/e-smith/db accounts setprop mw_createtalk Description "MediaWiki Create Talk"
|
||||
#/sbin/e-smith/signal-event group-create
|
||||
#Changing some rights
|
||||
chmod 644 $HTMLDIR/extensions/PwAuthPlugin.php
|
||||
chown -R root:root $HTMLDIR
|
||||
chown root:www $HTMLDIR/images
|
||||
chown root:www $HTMLDIR/LocalSettings.php
|
||||
chmod 775 $HTMLDIR/images
|
||||
chmod 440 $HTMLDIR/LocalSettings.php
|
||||
#Creating DataBase
|
||||
echo "MySQL installation:"
|
||||
case $UPDATE in
|
||||
0)
|
||||
echo "Creating MySQL User and DataBase..."
|
||||
mysqladmin -u root create $MYSQLDB
|
||||
mysql $MYSQLDB < $INSTALLDIR/$MYSQLDB.sql
|
||||
mysql $MYSQLDB -e "UPDATE user SET user_password = MD5( CONCAT( user_id, '-', MD5( 'mediawikiadmin' ) ) ) WHERE user_id =1 "
|
||||
mysql -u root -e "SET PASSWORD FOR $MYSQLUSER@localhost = PASSWORD( '$MYSQLPASS' ) "
|
||||
mysqladmin flush-privileges
|
||||
;;
|
||||
*)
|
||||
echo "Fixing MySQL rights..."
|
||||
mysql -u root -e "SET PASSWORD FOR $MYSQLUSER@localhost = PASSWORD( '$MYSQLPASS' ) "
|
||||
mysqladmin flush-privileges
|
||||
;;
|
||||
esac
|
||||
# Rebuilding Wiki language menus
|
||||
#php $HTMLDIR/maintenance/rebuildMessages.php --rebuild
|
||||
#echo "Applying modifications to services..."
|
||||
# Uncomment the PwAuth-function
|
||||
sed 's.#!..g' $HTMLDIR/LocalSettings.php > $HTMLDIR/LocalSettings2.php
|
||||
mv $HTMLDIR/LocalSettings2.php $HTMLDIR/LocalSettings.php
|
||||
#Handled in the -update event
|
||||
#/sbin/e-smith/expand-template /etc/httpd/conf/httpd.conf
|
||||
#systemctl restart httpd-e-smith.service
|
||||
echo "-------------------------------------------------------------------------------"
|
||||
case $UPDATE in
|
||||
0)
|
||||
echo "$APP Installation completed."
|
||||
echo "Reminder:"
|
||||
echo "- Website open globally"
|
||||
echo "- go to http://$DOMAIN/$URL"
|
||||
#echo "- Usernames are identical with SME users"
|
||||
#echo "- Passwords are identical with SME passwords"
|
||||
echo "- MediaWiki admin = SME admin"
|
||||
;;
|
||||
*)
|
||||
echo "$APP update completed."
|
||||
echo "Reminder:"
|
||||
echo "- The old install was backed up and can be found in /opt/MW_RPM_BACKUP"
|
||||
echo " PLEASE MOVE THIS DIRECTORY TO A SAFE PLACE!!!"
|
||||
echo "- Website open globally"
|
||||
echo "- go to http://$DOMAIN/$URL"
|
||||
#echo "- Usernames are identical with SME users"
|
||||
#echo "- Passwords are identical with SME passwords"
|
||||
echo "- MediaWiki admin = SME admin"
|
||||
;;
|
||||
esac
|
||||
echo "-------------------------------------------------------------------------------"
|
||||
echo "Following DB parameters are allowed:"
|
||||
echo " # config setprop $MYSQLDB HTTPS on/off"
|
||||
echo " # config setprop $MYSQLDB PublicAccess local/global"
|
||||
echo " "
|
||||
echo "Don't forget to apply modifications with following commands:"
|
||||
echo " # expand-template /etc/httpd/conf/httpd.conf"
|
||||
echo " # systemctl restart httpd-e-smith.service"
|
||||
echo " "
|
||||
echo "For more details, see http://wiki.contribs.org/Mediawiki"
|
||||
echo "-------------------------------------------------------------------------------"
|
||||
|
||||
%preun
|
||||
MEDIAWIKIVERSION='1.39.4'
|
||||
INSTALLDIR=/usr/share/doc/mediawiki-$MEDIAWIKIVERSION/Sources
|
||||
if [ $1 = 0 ] ; then
|
||||
mv $INSTALLDIR/DO_NOT_USE_OR_DELETE/MW-Full-Uninstall.sh /root/
|
||||
fi
|
||||
|
||||
%postun
|
||||
if [ $1 = 0 ] ; then
|
||||
echo "Restarting services..."
|
||||
/sbin/e-smith/expand-template /etc/httpd/conf/httpd.conf
|
||||
#/usr/local/bin/svc -h /service/httpd-e-smith
|
||||
systemctl restart httpd-e-smith.service
|
||||
echo " "
|
||||
echo "Uninstallation finished!"
|
||||
echo "If you want to completly remove it (installation files and MySQL user+database)"
|
||||
echo "please issue the following command at the prompt:"
|
||||
echo "# sh /root/MW-Full-Uninstall.sh"
|
||||
fi
|
||||
|
||||
%files -f %{name}-%{version}-filelist
|
||||
|
||||
%defattr(-,root,root)
|
Loading…
Reference in New Issue
Block a user