Commit maintenance/dev/ a set of bash scripts that can quickly download php 5.4, install it in an isolated area, install a quick development copy of MediaWiki, and then start up a local webserver.

This commit is contained in:
Daniel Friesen 2011-11-06 22:50:32 +00:00
parent 43b769fe35
commit 9e25a8e32e
5 changed files with 84 additions and 0 deletions

7
maintenance/dev/README Normal file
View file

@ -0,0 +1,7 @@
maintenance/dev/ scripts can help quickly setup a local MediaWiki for development purposes.
Wikis setup in this way are NOT meant to be publicly available. They use a development database not acceptible for use in production and place a sqlite database in an unsafe location a real wiki should never place it in.
Running maintenance/dev/install.sh will download and install a local copy of php 5.4, install a sqlite powered instance of MW for development, and then start up a local webserver to view the wiki.
After installation you can bring the webserver back up at any time you want with maintenance/dev/start.sh

8
maintenance/dev/install.sh Executable file
View file

@ -0,0 +1,8 @@
#!/bin/bash
if [[ "x$BASH_SOURCE" == "x" ]]; then echo '$BASH_SOURCE not set'; exit 1; fi
DEV=$(cd -P "$(dirname "${BASH_SOURCE[0]}" )" && pwd)
$DEV/installphp.sh
$DEV/installmw.sh
$DEV/start.sh

16
maintenance/dev/installmw.sh Executable file
View file

@ -0,0 +1,16 @@
#!/bin/bash
if [[ "x$BASH_SOURCE" == "x" ]]; then echo '$BASH_SOURCE not set'; exit 1; fi
DEV=$(cd -P "$(dirname "${BASH_SOURCE[0]}" )" && pwd)
set -e
PORT=4881
cd $DEV/../../; # $IP
mkdir $DEV/data
$DEV/php/bin/php maintenance/install.php --server="http://localhost:$PORT" --scriptpath="" --dbtype=sqlite --dbpath=$DEV/data --pass=admin "Trunk Test" $USER
echo ""
echo "Development wiki created with admin user $USER and password 'admin'."
echo ""

41
maintenance/dev/installphp.sh Executable file
View file

@ -0,0 +1,41 @@
#!/bin/bash
if [[ "x$BASH_SOURCE" == "x" ]]; then echo '$BASH_SOURCE not set'; exit 1; fi
DEV=$(cd -P "$(dirname "${BASH_SOURCE[0]}" )" && pwd)
set -e # DO NOT USE PIPES unless this is rewritten
if [ -d $DEV/php ]; then
echo "PHP is already installed"
exit 1
fi
TAR=php5.4-latest.tar.gz
PHPURL=http://snaps.php.net/$TAR
cd $DEV
# Some debain-like systems bundle wget but not curl, some other systems
# like os x bundle curl but not wget... use whatever is available
echo -n "Downloading PHP 5.4"
if command -v wget &>/dev/null; then
echo "- using wget"
wget $PHPURL
elif command -v curl &>/dev/null; then
echo "- using curl"
curl -O $PHPURL
else
echo "- aborting"
echo "Could not find curl or wget." >&2;
exit 1;
fi
echo "Extracting php 5.4"
tar -xzf $TAR
cd php5.4-*/
echo "Configuring and installing php 5.4 in $IP/maintenance/dev/php/"
./configure --prefix=$DEV/php/
make
make install

12
maintenance/dev/start.sh Executable file
View file

@ -0,0 +1,12 @@
#!/bin/bash
if [[ "x$BASH_SOURCE" == "x" ]]; then echo '$BASH_SOURCE not set'; exit 1; fi
DEV=$(cd -P "$(dirname "${BASH_SOURCE[0]}" )" && pwd)
PORT=4881
echo "Starting up MediaWiki at http://localhost:$PORT/"
echo ""
cd $DEV/../../; # $IP
$DEV/php/bin/php -S localhost:$PORT