Uniform:Server-5.x

Aus Fortinet Wiki
Zur Navigation springen Zur Suche springen


Vorwort

Das Ziel dieser Installations-Anleitung ist unter Windows XP auf einen USB Stick einen Uniform Server 5.x voellig unabhaengig zu installieren sowie MediaWiki und Plug-In's fuer Uniform Server. Die hier gezeigte Installation auf USB kann nachtraeglich auf jedem x-beliebigen Windows XP System wieder ueber den USB Stick ausgefuehrt werden und benuetzt werden. Jedoch ist diese Anweisung ausschliesslich fuer Uniform Server 5.x und nicht 4.x da in der Version 5.x grundlegende Veraenderungen durchgefuehrt wurden. Wenn ein Uniform Server 4.x benutzt werden soll benutze die Installations Anweisung Uniform:Server-4.x .


Test- und Installationsmaschinen waren:

Windows XP SP3, Priotec USB Stick 1 GB

Datenschutz

        *********************************************************************
        *                                                                   *
        *  THIS FILE MAY CONTAIN CONFIDENTIAL, PRIVILEGED OR OTHER LEGALLY  *
        *      PROTECTED INFORMATION. YOU ARE PROHIBITED FROM COPYING,      *
        *    DISTRIBUTING OR OTHERWISE USING IT WITHOUT PERMISSION FROM     *
        *                  ALSO SCHWEIZ AG SWITZERLAND.                     *
        *                                                                   *
        *********************************************************************

"Die in diesen Artikeln enthaltenen Informationen sind vertraulich und dürfen ohne
schriftliche Zustimmung von der ALSO Schweiz AG gegenüber Dritt-Unternehmen nicht 
                         bekannt gemacht werden"

Installation/Konfiguration von Uniform Server auf USB Stick

Es kann ganz nuetzlich sein zB. ein MediaWiki auf USB Stick bei sich zu haben. Um dies ohne grossen Aufwand zu bewerkstelligen so dass der USB Stick resp. wie gesagt ein MediaWiki auf jedem Unabhaengigen Windows System laeuft kann ein Uniform Server auf dem USB Stick aufgesetzt werden. Dieser beinhaltet alle Wichtigen Komponenten wie Apache, MySQL, PHP etc.

       http://wiki.uniformserver.com/index.php/5.3-Nano:_Introduction
       Download         Uniform Server v5.3                http://downloads.sourceforge.net/miniserver/

Um die Installation auszufuehren sind folgende Vorrausetzungen zu erfuellen:

       - Windows 32 und 64 bit
       - USB Stick mit mind. 100 MB (Grundinstallation)
       - HTTP TCP port 80 muss frei sein sowie TCP port 3306. Dies kann kontrolliert werden unter DOS Kommando:
       
         netstat.exe -p TCP -n -a| FIND "ABHÖREN" | FIND ":80 "
       

Nun fuehren wir die Uniform Server Installation aus: Doppelklicke auf die Datei UniServer5_3.exe. Die Datei enthaelt den Apache sowie den MySQL Server. Nach dem Doppelklick auf die Datei muss die Destination angegeben werden. Gebe den USB Stick an. Nun wird ein Folder erstellt mit dem namen "UniServer".

NOTE
Das entpacken der Datei kann durchaus einige Zeit in Anspruch nehmen. Der Extract Status zeigt waehrend dessen immer ca. 21% an. Es sieht im ersten Moment so aus als ob das "UniServer5_3.exe" nicht mehr reagiert dem ist jedoch nicht so.

Nun die Source ist entpackt und nun muss der Apache Server konfiguriert werden: Kontrolliere ob unter dem Verzeichnis "UniServer" ein Verzeichnis existiert mit dem Namen "tmp" (sollte der Fall sein). Ist dies nicht der Fall erstelle dieses Verzeichnis "tmp".

       Oeffne danach das folgende File mit dem WordPad:
       
       \UniServer\usr\local\Apache2\conf\httpd.conf
       
       - Suche nach der Position "ThreadsPerChild" und wechsle diese von "250" auf "16"
       - Suche nach der Position "Listen 80" und wechsle diese auf "Listen 127.0.0.1:80"
       
       ------------------  httpd.conf ------------------ 
       
       <IfModule mpm_winnt.c>
       ThreadsPerChild 250
       #ThreadsPerChild 16
       MaxRequestsPerChild  0
       </IfModule>
       
       
       #Listen 80
       Listen 127.0.0.1:80
       
       ------------------  httpd.conf ------------------  

Eine tiefere Anzahl "ThreadsPerChild" ist fuer das Testing zu Bevorzugen. Der Eintrag "127.0.0.1:80" schraenkt den Zugriff auf den Uniform Server auf "localhost" ein dh. nur von diesem Computer indem der USB Stick aktiv ist kann lokal auf das MediaWiki zugegriffen werden. Aus diesem Grund werden nachfolgend einige konfig Positionen auf "localhost" gesetzt um diesem Umstand rechnung zu tragen. Nun konfigurieren wir den MySQL Server.

       Oeffne das folgende File mit dem WordPad:
       
       \UniServer\usr\local\mysql\my
       
       - Suche nach der Position "[mysqld]" und unter dieser Position fuege eine neue Zeile ein
         mit dem Eintrag "bind-address=127.0.0.1".
       
       ------------------ my ------------------ 
       
       # The MySQL server
       [mysqld]
       bind-address=127.0.0.1
       
       ------------------ my ------------------ 

Das File "my" ist kein eigentliches File sondern ein "shurtcut" Namens "SpeedDial". Aus diesem Grund kann es zu Problemen kommen wenn man das File mit dem "WordPad" oeffnen will. Wenn dies nicht durchgefuehrt werden kann im herkoemmlichen Sinne oeffne das "my" File indem du es per Drag&Drop in das "WordPad" Programm legst (C:\Programme\Windows NT\Zubehör\wordpad.exe).

Nun starte den Uniform Server mit den noetigen Instanzen: Doppelklicke im Verzeichnis "UniServer" auf "Start.exe"

Der Uniform Server 5.x unterscheidet sich grundlegend von der Version 4.x dh. durch den Start des Uniform Server mit "Start.exe" werden keine Services gestartet sondern nur der sogenannte "UniTray". Wenn "UniTray" gestartet ist so steht im "Windows Tray" ein neus Icon zur Verfügung. Wenn man auf diesem Icon mit der "rechten Maustaste" einen Klick ausführt stehen einem alle Optionen von "UniTray" zur Verfügung wie zB "Install and Run all Services". Mit dieser Position werden somit alle Services gestartet. Wenn zuerst überprüft werden soll ob die Ports die benötigt werden wie zB für Apache (Port 80) zur Verfügung stehen, kann bevor man die Services startet mit der Position im "UniTray" "Server Status" diese Ueberprüfung durchgeführt werden.

Sobald die Services gestartet wurden unter "UniTray" mit "Install and Run all Services" wird automatisch der Browser gestartet und eine HTML Seite erscheint unter dem Link:

       http://localhost/index.php

Sobald die Seite erscheint kann man den Punkt "Server Administration " anwählen um auf die Server Administrations Seite zu gelangen. Diese "Server Administrations" Seite wird auch "apanel" genannt.

Installation/Konfiguration von MediaWiki auf USB Stick

Nun installiere wir MediaWiki:

       Download         MediaWiki currently 1.15.1        ttp://www.mediawiki.org/wiki/Download
       
       - Entpacke die Source vom MediaWiki "mediawiki-1.15.1.tar.gz"
       - Nachdem entpacken haben wir einen neuen Ordner Namens "mediawiki-1.15.1"
       - Unter diesem neuen Ordner befindet sich die vers. Ordner von MediaWiki wie bin, config, doc usw.
       - Aendere den Namen des Ordners von "mediawiki-1.15.1" nach "wiki"
       - Kopier nun den Ordner "wiki" komplett nach:
       
         \UniServer\www\

NOTE
Wenn "WinZip" benutzt wird um die Source von MediaWiki zu entpacken muss die Option "TAR file smart CR/LF conversion" ausgeschaltet sein (Options|Configuration|Miscellaneous) um korrupten konfig Files vorzubeugen. Ebenso vergewissere dich das die Option "Use Folder Names" aktiv ist. Achte darauf egal welches Programm benutzt wird um die Source von MediWiki zu entpacken das diese "komplett und vollstaendig" entpackt ist. Einige Entpacker entpacken zuer das *.tar.gz File und danach muss in einem zweiten Schritt das *.tar entpackt werden.

Konfigurieren der MediaWiki Variablen. Oeffne eine Verbindung anhand des Browsers auf folgenden Link:

       http://localhost/wiki/config/index.php

NOTE
Achte darauf das fuer Root Password "root" angegeben wird ansonsten wird die Installation nicht funktionieren. Nachtraeglich kann das Passwort geaendert werden ueber "http://localhost/apanel" dh. ueber den Admin Pannel vom Uniform Server (MySQL Server Configuration). Nachtraeglich muss das neue Passwort in "\UniServer\www\wiki\AdminSettings.php" ebenfalls abgeaendert werden. Gebe folgende Angaben an:

       ------------------ output ------------------
       
       Wiki name:                        MYDOMAIN Wiki
       
       Contact e-mail:                   webmaster@mydomain.ch
       
       Language:                         de - Deutsch
       
       Copyright/license:                No license metadata        
       
       
       Admin username:                   WikiSysop
       Password:                
       Password:
       
       
       Object caching:                   X No caching
       Object caching:                     Memcached
       
       Memcached servers:                eAccelerator
       
       E-Mail features (global)          Disabled
       
       User-to-user e-mail               Disabled
       
       E-mail notification about         Disabled
       changes:
       
       E-mail address authentication:    Disabled
       
       
       
       Database type:                    MySQL
       Database host:                    localhost
       
       Database name:                    wikidb
       DB username:                      root
       DB password:                      root
       DB passsword confirm:             root
       
       Superuser account:                X Use superuser account
       Superuser name:                   root
       Superuser password:               root
       
       
       Database table prefix:            (leave blank) 
       
       Storage Engine                    MyISAM
       
       Database character set            MySQL 4.1/5.0 binary
       
       ------------------ output ------------------

NOTE
Es kann einige Zeit dauern bis die Status Seite oder Result Seite erscheint da im Hintergrund die MySQL DB von MediaWiki angelegt werden muss.

       ------------------ output ------------------
       
       Please include all of the lines below when reporting installation problems.
       
       PHP 5.3.0 installed 
       Found database drivers for: MySQL 
       PHP server API is apache2handler; ok, using pretty URLs (index.php/Page_Title) 
       Have XML / Latin1-UTF-8 conversion support. 
       Session save path (E:/UniServer-5.30/tmp) appears to be valid.
       PHP's memory_limit is 32M. 
       Couldn't find Turck MMCache, eAccelerator, APC or XCache; cannot use these for object caching.
       GNU diff3 not found.
       Found GD graphics library built-in, image thumbnailing will be enabled if you enable uploads. 
       Installation directory: E:\UniServer-5.30\www\wiki 
       Script URI path: /wiki 
       Installing MediaWiki with php file extensions 
       Environment checked. You can install MediaWiki. 
       Warning: $wgSecretKey key is insecure, generated with mt_rand(). Consider changing it manually. 
       Generating configuration file...
       
       Database type: MySQL 
       Loading class: DatabaseMysql 
       PHP is linked with old MySQL client libraries. If you are using a MySQL 4.1 server and have         problems connecting to the database, see http://dev.mysql.com/doc/mysql/en/old-client.html for help. 
       Attempting to connect to database server as root...success. 
       Connected to mysql 5.1.39-community; You are using MySQL 4.1 server, but PHP is linked to old         client libraries; if you have trouble with authentication, see         http://dev.mysql.com/doc/mysql/en/old-client.html for help.; enabling MySQL 4.1/5.0 charset mode 
       Attempting to create database...
       Created database wikidb 
       Creating tables... done. 
       Initializing statistics... 
       User root exists. Skipping grants. 
       Created sysop account WikiSysop. 
       Creating LocalSettings.php...
               
       --------------------------------------------------------------------------------
       
       Installation successful! Move the config/LocalSettings.php file to the parent directory,
       then follow this link to your wiki.
       
       You should change file permissions for LocalSettings.php as required to prevent other
       users on the server reading passwords and altering configuration data.
       
       ------------------ output ------------------

Es wurde durch den Vorgang ein neues File geschrieben:

       \UniServer\www\wiki\config\LocalSettings.php

Dieses muss verschoben werden nach:

       \UniServer\www\wiki\LocalSettings.php

Das Verzeichnis "\UniServer\www\wiki\config" kann danach geloescht werden. Bennen folgendes File um:

     von:
     \UniServer\www\wiki\AdminSettings.sample
     
     nach:      
     \UniServer\www\wiki\AdminSettings.php

Nun aender folgende Positionen ab:

       ------------------ AdminSettings.php ------------------
       
       $wgDBadminuser      = 'root';
       $wgDBadminpassword  = 'root';
       
       ------------------ AdminSettings.php ------------------

Auf dieses File greift MediaWiki zurueck um Datenbank Maitenance/Funktionen durchzufuehren. Nun oeffne das File \UniServer\www\wiki\LocalSettings.php und aendere folgende Positionen ab:

       ------------------ LocalSettings.php ------------------
       
       <?php
       
       # This file was automatically generated by the MediaWiki installer.
       # If you make manual changes, please keep track in case you need to
       # recreate them later.
       #
       # See includes/DefaultSettings.php 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:
       # http://www.mediawiki.org/wiki/Manual:Configuration_settings
       
       # If you customize your file layout, set $IP to the directory that contains
       # the other MediaWiki files. It will be used as a base to locate files.
       if( defined( 'MW_INSTALL_PATH' ) ) {
               $IP = MW_INSTALL_PATH;
       } else {
               $IP = dirname( __FILE__ );
       }
       
       $path = array( $IP, "$IP/includes", "$IP/languages" );
       set_include_path( implode( PATH_SEPARATOR, $path ) . PATH_SEPARATOR . get_include_path() );
       
       require_once( "$IP/includes/DefaultSettings.php" );
       
       # If PHP's memory limit is very low, some operations may fail.
       # ini_set( 'memory_limit', '20M' );
       
       if ( $wgCommandLineMode ) {
               if ( isset( $_SERVER ) && array_key_exists( 'REQUEST_METHOD', $_SERVER ) ) {
                       die( "This script must be run from the command line\n" );
               }
       }
       ## Uncomment this to disable output compression
       # $wgDisableOutputCompression = true;
       
       $wgSitename         = "MYDOMAIN Wiki";
       
       ## 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 please see:
       ## http://www.mediawiki.org/wiki/Manual:Short_URL
       $wgScriptPath       = "/wiki";
       $wgScript           = "$wgScriptPath/index.php";
       $wgRedirectScript   = "$wgScriptPath/redirect.php";
       $wgScriptExtension  = ".php";
       
       ## For more information on customizing the URLs please see:
       ## http://meta.wikimedia.org/wiki/Eliminating_index.php_from_the_url
       ## If using PHP as a CGI module, the ?title= style usually must be used.
       $wgArticlePath      = "$wgScript/$1";
       # $wgArticlePath      = "$wgScript?title=$1";
       
       $wgStylePath        = "$wgScriptPath/skins";
       $wgStyleDirectory   = "$IP/skins";
       #$wgLogo             = "$wgStylePath/common/images/logo.jpg";
       
       $wgUploadPath       = "$wgScriptPath/images";
       $wgUploadDirectory  = "$IP/images";
       
       ## UPO means: this is also a user preference option
       
       $wgEnableEmail      = false;
       $wgEnableUserEmail  = false; # UPO
       
       $wgEmergencyContact = "webmaster@mydomain.ch";
       $wgPasswordSender = "webmaster@mydomain.ch";
       
       $wgEnotifUserTalk = false; # UPO
       $wgEnotifWatchlist = false; # UPO
       $wgEmailAuthentication = false;
       
       ## Database settings
       $wgDBtype           = "mysql";
       $wgDBserver         = "localhost";
       $wgDBname           = "wikidb";
       $wgDBuser           = "root";
       $wgDBpassword       = "YOURPASSWORD";
       
       # MySQL specific settings
       $wgDBprefix         = "";
       
       # MySQL table options to use during installation or update
       $wgDBTableOptions   = "ENGINE=MyISAM, DEFAULT CHARSET=binary";
       
       # Experimental charset support for MySQL 4.1/5.0.
       $wgDBmysql5 = true;
       
       ## Shared memory settings
       $wgMainCacheType = CACHE_NONE;
       $wgMemCachedServers = array();
       
       ## To enable image uploads, make sure the 'images' directory
       ## is writable, then set this to true:
       $wgEnableUploads       = true;
       # $wgUseImageMagick = true;
       # $wgImageMagickConvertCommand = "/usr/bin/convert";
       
       ## If you use ImageMagick (or any other shell command) on a
       ## Linux server, this will need to be set to the name of an
       ## available UTF-8 locale
       # $wgShellLocale = "en_US.UTF-8";
       
       ## If you want to use image uploads under safe mode,
       ## create the directories images/archive, images/thumb and
       ## images/temp, and make them all writable. Then uncomment
       ## this, if it's not already uncommented:
       # $wgHashedUploadDirectory = false;
       
       ## If you have the appropriate support software installed
       ## you can enable inline LaTeX equations:
       $wgUseTeX           = false;
       $wgMathPath         = "{$wgUploadPath}/math";
       $wgMathDirectory    = "{$wgUploadDirectory}/math";
       $wgTmpDirectory     = "{$wgUploadDirectory}/tmp";
       
       $wgLocalInterwiki   = strtolower( $wgSitename );
       
       $wgLanguageCode = "de";
       
       $wgSecretKey = "cf6e9a13f98da77129e2a2461e65f02b016756420b7a49136ec1e3413e63d3";
       
       ## Default skin: you can change the default skin. Use the internal symbolic
       ## names, ie 'standard', 'nostalgia', 'cologneblue', 'monobook':
       $wgDefaultSkin = 'monobook';
       
       ## 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.
       # $wgEnableCreativeCommonsRdf = true;
       $wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
       $wgRightsUrl = "";
       $wgRightsText = "";
       $wgRightsIcon = "";
       # $wgRightsCode = ""; # Not yet used
       
       $wgDiff3 = "";
       
       # When you make changes to this configuration file, this will make
       # sure that cached pages are cleared.
       $wgCacheEpoch = max( $wgCacheEpoch, gmdate( 'YmdHis', @filemtime( __FILE__ ) ) );
       
       #########################
       ##### Customization ##### 
       #########################
       
       # For using a direct (authenticated) SMTP server connection, you need to
       # fill an array. Set to false (the default value) to use the built-in PHP 
       # mail() function.
       
       # Warning: This setting requires PEAR's Mail package to be installed
       # (run "pear install MAIL" and "pear install Net_SMTP").
       
       #$wgSMTP = array(
       # 'host'     => "helios.mydomain.ch", //could also be an IP address
       # 'IDHost'   => "mydomain.ch",
       # 'port'     => 25,
       # 'auth'     => false,
       # 'username' => "my_user_name",
       # 'password' => "my_password"
       #);
       
       
       ## Enables AJAX support. Required by some extensions and optional features.
       $wgScriptExtension = ".php5";
       $wgEnableMWSuggest = true;
       $wgUseAjax = true;
       $wgAjaxSearch = true;
       
       ## Defines the protocols which are supported and translated to clickable links
       ## by the mediawiki parser. External links added to the wiki which do not begin
       ## with one of these protocols are not allowed (they are simply rendered as text
       ## and do not become links, even if enclosed in square brackets).
       $wgUrlProtocols = array(
               'http://',
               'https://',
               'ftp://',
               'file://',
               'irc://',
               'gopher://',
               'telnet://', // Well if we're going to support the above.. -ævar
               'nntp://', // @bug 3808 RFC 1738
               'worldwind://',
               'mailto:',
               'news:'
        );
       
       ## The CategoryTree extension provides a dynamic view of the wiki's category
       ## structure as a tree. It uses AJAX to load parts of the tree on demand.
       ## CategoryTree was originally written by Daniel Kinzler as an external tool
       ## (see meta:User:Duesentrieb/CategoryTree). It was later integrated into the
       ## MediaWiki software with the help of Tim Starling.
       require_once( "{$IP}/extensions/CategoryTree/CategoryTree.php" );
       
       ## The InputBox extension is a MediaWiki extension that adds already created
       ## HTML forms to wiki pages. Users can "complete" a form (entering text,
       ## selecting menu items, etc.) by entering text into the box.
       ## 
       ## http://www.mediawiki.org/wiki/Extension:InputBox
       ## 
       require_once($IP.'/extensions/InputBox/InputBox.php');
       
       ## The highlight syntax extension is a really simple way for you to add syntax
       ## highlighting to your wiki posts with support with several languages. The
       ## extension requires the Beautifier Syntax Highlighting Engine . What the
       ## extension does is pass the tag inputs and/or arguments to the Beautifier
       ## Highlighting engine and returns the HTML output.
       ## 
       ## http://www.mediawiki.org/wiki/Extension:Syntax_Highlighting
       ## 
       require_once("extensions/syntaxHighlightExtension.php");
       
       ## This is the list of preferred extensions for uploading files. 
       ## Uploading files with extensions not in this list will trigger a warning.
       $wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'pdf', 'sql' );
       
       ## $wgGroupPermissions is a two-dimensional array indexed by user group and
       ## available permissions; for example:
       ##
       ##       "$wgGroupPermissions['user']['edit'] = true;" 
       ##
       ## allows registered users to edit. These groups can be assigned to users through
       ## the wiki Special:Userrights interface.
       ##
       ## More information http://www.mediawiki.org/wiki/Manual:$wgGroupPermissions
       ##
       
       ## Implicit group for all visitors
       ##
       #       // Only SysOp (Admin) can create accounts -
       #       $wgGroupPermissions['*'    ]['createaccount']   = false;        // 1.5.0
       
       #       // No anonyous read allowed -
       #       $wgGroupPermissions['*'    ]['read']            = false;        // 1.5.0
       
       #       // No anonymous editing allowed -
       #       $wgGroupPermissions['*'    ]['edit']            = false;        // 1.5.0
       
       #       $wgGroupPermissions['*'    ]['createpage']      = true;         // 1.6.0
       #       $wgGroupPermissions['*'    ]['createtalk']      = true;         // 1.6.0
        
       ## Implicit group for all logged-in accounts
       ##
       #       $wgGroupPermissions['user' ]['move']            = true;         // 1.5.0
       #       $wgGroupPermissions['user' ]['read']            = true;         // 1.5.0
       #       $wgGroupPermissions['user' ]['edit']            = true;         // 1.5.0
       #       $wgGroupPermissions['user' ]['createpage']      = true;         // 1.6.0
       #       $wgGroupPermissions['user' ]['createtalk']      = true;         // 1.6.0
       #       $wgGroupPermissions['user' ]['upload']          = true;         // 1.5.0
       #       $wgGroupPermissions['user' ]['reupload']        = true;         // 1.6.0
       #       $wgGroupPermissions['user' ]['reupload-shared'] = true;         // 1.6.0
       #       $wgGroupPermissions['user' ]['minoredit']       = true;         // 1.6.0
       #       $wgGroupPermissions['user' ]['purge']           = true;         // 1.10.0
        
       ## Implicit group for accounts that pass $wgAutoConfirmAge
       ##
       #       $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true;   // 1.6.0
        
       ## Implicit group for accounts with confirmed email addresses This has little use 
       ## when email address confirmation is off. This group has been removed by default 
       ## in 1.13.0
       ##
       #       $wgGroupPermissions['emailconfirmed']['emailconfirmed'] = true; // 1.7.0
        
       ## Users with bot privilege can have their edits hidden
       ## from various log pages by default
       ##
       #       $wgGroupPermissions['bot'  ]['bot']             = true;         // 1.5.0
       #       $wgGroupPermissions['bot'  ]['autoconfirmed']   = true;         // 1.6.0
       #       $wgGroupPermissions['bot'  ]['nominornewtalk']  = true;         // 1.9.0
       #       $wgGroupPermissions['bot'  ]['autopatrol']      = true;         // 1.10.0
       #       $wgGroupPermissions['bot'  ]['suppressredirect'] = true;        // 1.12.0
       #       $wgGroupPermissions['bot'  ]['apihighlimits']   = true;         // 1.12.0
       
       ## Can edit all protected pages without cascade protection enabled Added in 1.13.0, 
       ## but commented out in source
       ##
       #       $wgGroupPermissions['bot'  ]['editprotected']   = true;         // 1.13.0
        
       ## Most extra permission abilities go to this group
       ##
       #       $wgGroupPermissions['sysop']['block']           = true;         // 1.5.0
       #       $wgGroupPermissions['sysop']['createaccount']   = true;         // 1.5.0
       #       $wgGroupPermissions['sysop']['delete']          = true;         // 1.5.0
       #       $wgGroupPermissions['sysop']['bigdelete']       = true;         // 1.12.0
       #       $wgGroupPermissions['sysop']['deletedhistory']  = true;         // 1.6.0
       #       $wgGroupPermissions['sysop']['undelete']        = true;         // 1.12.0
       #       $wgGroupPermissions['sysop']['editinterface']   = true;         // 1.5.0
       #       $wgGroupPermissions['sysop']['editusercssjs']   = true;         // 1.12.0
       #       $wgGroupPermissions['sysop']['import']          = true;         // 1.5.0
       #       $wgGroupPermissions['sysop']['importupload']    = true;         // 1.5.0
       #       $wgGroupPermissions['sysop']['move']            = true;         // 1.5.0
       #       $wgGroupPermissions['sysop']['patrol']          = true;         // 1.5.0
       #       $wgGroupPermissions['sysop']['autopatrol']      = true;         // 1.9.0
       #       $wgGroupPermissions['sysop']['protect']         = true;         // 1.5.0
       #       $wgGroupPermissions['sysop']['proxyunbannable'] = true;         // 1.7.0
       #       $wgGroupPermissions['sysop']['rollback']        = true;         // 1.5.0
       #       $wgGroupPermissions['sysop']['trackback']       = true;         // 1.7.0
       #       $wgGroupPermissions['sysop']['upload']          = true;         // 1.5.0
       #       $wgGroupPermissions['sysop']['reupload']        = true;         // 1.6.0
       #       $wgGroupPermissions['sysop']['reupload-shared'] = true;         // 1.6.0
       #       $wgGroupPermissions['sysop']['unwatchedpages']  = true;         // 1.6.0
       #       $wgGroupPermissions['sysop']['autoconfirmed']   = true;         // 1.6.0
       #       $wgGroupPermissions['sysop']['upload_by_url']   = true;         // 1.8.0
       #       $wgGroupPermissions['sysop']['ipblock-exempt']  = true;         // 1.9.0
       #       $wgGroupPermissions['sysop']['blockemail']      = true;         // 1.11.0
       #       $wgGroupPermissions['sysop']['markbotedits']    = true;         // 1.12.0
       #       $wgGroupPermissions['sysop']['suppressredirects'] = true;       // 1.12.0
       #       $wgGroupPermissions['sysop']['apihighlimits']   = true;         // 1.12.0
       #       $wgGroupPermissions['sysop']['browsearchive']   = true;         // 1.13.0
       #       $wgGroupPermissions['sysop']['noratelimit']     = true;         // 1.13.0
       
       ## Access to Special:MergeHistory. This was added in 1.12, but remains commented out 
       ## in the source
       ##
       #       $wgGroupPermissions['sysop']['mergehistory']    = true;         // 1.12.0
        
       ## Permission to change users' group assignments
       ##
       #       $wgGroupPermissions['bureaucrat']['userrights']  = true;        // 1.5.0
       #       $wgGroupPermissions['bureaucrat']['noratelimit'] = true;        // 1.13.0
       
       ## Permission to change users' groups assignments across wikis Added in 1.12.0, 
       ## but remain commented out in the source
       ##
       #       $wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true; // 1.12.0
       
       ------------------ LocalSettings.php ------------------

Installiere nun die Extensions die wir in LocalSettings.php angegeben haben: Um die Funktion CategoryTree zu installieren gehe folgendermassen vor:

       Download        http://www.mediawiki.org/wiki/Extension:CategoryTree

Entpacke das File CategoryTree-MW1.14-r45462.tar.gz Dessen Inhalt kopiere in ein neues Verzeichnis unter den "extensions" verzeichnis:

       \UniServer\www\wiki\extensions\CategoryTree

Folgender Eintrag im File "LocalSettings.php" ist zustaendig, dass die Extension geladen wird:

       ------------------ LocalSettings.php ------------------
       
       #########################
       ##### Customization ##### 
       #########################
       
       
       ## The CategoryTree extension provides a dynamic view of the wiki's category
       ## structure as a tree. It uses AJAX to load parts of the tree on demand.
       ## CategoryTree was originally written by Daniel Kinzler as an external tool
       ## (see meta:User:Duesentrieb/CategoryTree). It was later integrated into the
       ## MediaWiki software with the help of Tim Starling.
       ##
       ## http://www.mediawiki.org/wiki/Special:ExtensionDistributor/CategoryTree
       ##
       require_once( "{$IP}/extensions/CategoryTree/CategoryTree.php" );
       
       ------------------ LocalSettings.php ------------------

Um die Funktion InputBox zu installieren gehe folgendermassen vor:

       Download        http://www.mediawiki.org/wiki/Extension:InputBox

Entpacke die Datei InputBox.zip. Dessen Inhalt kopiere in ein neues Verzeichnis unter den "extensions" verzeichnis:

       \UniServer\www\wiki\extensions\InputBox

Folgender Eintrag im File "LocalSettings.php" ist zustaendig, dass die Extension geladen wird:

       ------------------ LocalSettings.php ------------------
       
       #########################
       ##### Customization ##### 
       #########################
       
       
       ## The InputBox extension is a MediaWiki extension that adds already created
       ## HTML forms to wiki pages. Users can "complete" a form (entering text,
       ## selecting menu items, etc.) by entering text into the box.
       ## 
       ## http://www.mediawiki.org/wiki/Extension:InputBox
       ## 
       require_once($IP.'/extensions/InputBox/InputBox.php');
       
       ------------------ LocalSettings.php ------------------

Um die Funktion Syntax Highlighting zu installieren gehe folgendermassen vor:

       Download http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/b/be/beautifier/

Entpacke die Datei beautifier-php-full-current.tar.gz Darin befindet sich ein Verzeichnis Names "php". Benenne dieses um nach "beautifierpackage" Verschiebe nun das Verzeichnis "beautifierpackage" nach:

       \UniServer\www\wiki\beautifierpackage

Folgender Eintrag im File "LocalSettings.php" ist zustaendig, dass die Extension geladen wird:

       ------------------ LocalSettings.php ------------------
       
       #########################
       ##### Customization ##### 
       #########################
       
       
       ## The highlight syntax extension is a really simple way for you to add syntax
       ## highlighting to your wiki posts with support with several languages. The
       ## extension requires the Beautifier Syntax Highlighting Engine . What the
       ## extension does is pass the tag inputs and/or arguments to the Beautifier
       ## Highlighting engine and returns the HTML output.
       ## 
       ## http://www.mediawiki.org/wiki/Extension:Syntax_Highlighting
       ## 
       require_once("extensions/syntaxHighlightExtension.php");
       
       ------------------ LocalSettings.php ------------------

Fuer Highlight Extension muessen noch einige Anpassungen durchgefuehrt werden dh. folgendes File muss neu anhand WordPad erstellt werden:

       \UniServer\www\wiki\extensions\syntaxHighlightExtension.php

ACTHUNG WICHTIGER HINWEIS
Damit das Script hier abgebildet werden konnte musst das Script manipuliert werden dh. HighlightExtension arbeitet genau mit diesen Anweisungen fuer "output" im PHP Script selber. Aus diesem Grund wurden alle Positionen im Script abgeaendert und zwar von [pre nach "pre"]und [/pre nach "/pre"]. Fuer das einwandfreie funktionieren des Scriptes muessen diese Positionen wieder in den Orginalzustand versetzt werden dh. ["pre" nach pre] sowie ["/pre" nach /pre].

Das File weist folgenden Inhalt auf:

    ------------------ syntaxHighlightExtension.php ------------------
        
        <?php
        /**
         * MediaWiki Extension for Code Syntax Highlighting with the [ http://www.beautifier.org | Beautifier Syntax Highlighting Engine].
         *
         * Parses any content defined within the <highlightSyntax></highlightSyntax> tag
         * with the [ http://www.beautifier.org | Beautifier Syntax Highlighting Engine] and 
         * returns the HTML output.
         * @author Lucas Hrabovsky <lucas@amie.st>
         * @copyright © 2006 Amie Inc.
         * @package MediaWiki
         * @subpackage Extensions
         * @filesource
         */
        /**
         * ----------------------------------------
         * Configuration Vars.
         * ----------------------------------------
         * @string BEAUT_PATH The root path to your Beatuifier installation.
         * @string LOCAL_SERVER_ROOT The root path to use when opening files on the local server for highlighting.
         * @string OUTPUT_HIGHLIGHT_AS Whether to output the HTML as CSS friendly or not.  enum('CSS','HTML')
         */
        $BEAUT_PATH = "/export/webdir/lucutus.mydomain.ch/www/beautifierpackage/";
        $LOCAL_SERVER_ROOT = "/pathtoyour/public_html/or/www/directory/";
        $OUTPUT_HIGHLIGHT_AS = "HTML";
        /**
         * Add the syntax highlighting extension to the wgExtensionFunctions array.
         */
        $wgExtensionFunctions[] = "syntaxHighlightingExtension";
        /**
         * Register the syntaxHighlightingExtension with the Wiki Parser and associate 
         * the highlightSyntax tag with the syntaxHighlightingRenderHtml function.
         */
        function syntaxHighlightingExtension(){
                global $wgParser;
                $wgParser->setHook("HIGHLIGHTSYNTAX","syntaxHighlightingRenderHtml");
        }
        /**
         * The callback function for converting the input text to HTML output.
         */
        function syntaxHighlightingRenderHtml($input, $argv){
                /**
                 * Pass in the globals defined above for use in the function.
                 */
                global $BEAUT_PATH, $LOCAL_SERVER_ROOT, $OUTPUT_HIGHLIGHT_AS;
                /**
                 * Require the two main files for the beautifier.
                 */
                require_once ($BEAUT_PATH."Beautifier/Core.php");
         
                /**
                 * If a specific language is requested load the relevant file and create the highlighter
                 */
                $myhfile = null;
                if($argv["language"] && file_exists($BEAUT_PATH."HFile/HFile_".$argv["language"].".php") ){
                        require_once ($BEAUT_PATH."HFile/HFile_".$argv["language"].".php");
         
                        if (FALSE === eval("\$myhfile = new HFile_".$argv["language"]."();") ) {
                                $output .= "Error:1 Could not instantiate HFile_".$argv["language"]."()<br />";
                        }
         
                }
         
                /**
                 * Otherwise use php as a default
                 */
                else
                {
                        require_once ($BEAUT_PATH."HFile/HFile_php3.php");
                        $myhfile = new HFile_php3();
                }
         
                /**
                 * Set up the highlight object based on whether
                 * you want the output as CSS freindly or straight HTML.
                 */
                if($OUTPUT_HIGHLIGHT_AS=="CSS"){
                        require_once ($BEAUT_PATH."Output/Output_css.php");
                        $outputter = new Output_css();
                }
                else {
                        require_once ($BEAUT_PATH."Output/Output_HTML.php");
                        $outputter = new Output_Html($myhfile);
                }
         
                $highlighter = new Core($myhfile, $outputter);
         
                /**
                 * The meat and potatoes...
                 */
         
                /**
                 * If the serverFile argument is passed in the tag, load the local file into the highlighter parser.
                 */ 
                if($argv["serverFile"]){
                        $output .= "<div style=\"font-weight: bold;\"><"pre">\n";
                        $output .= $highlighter->highlight_text($highlighter->load_file($serverRoot.$argv["serverFile"]));
                        $output .= "<"/pre"></div>";
                        return $output;
                /**
                 * If its a remote file, open it up and parse the returned contents.
                 */
                } else if($argv["remoteFile"]){
                        $openFileName = $argv["remoteFile"];
                        $fp = fopen($openFileName, "r");
                        if(!$fp){
                                $output = "Error: Syntax Highlighter could not open the file ".$openFileName."<br />";
                        } else {
                                $fileContents = fread($fp, 8096);
                                fclose($fp);
                                $output .= "<div style=\"font-weight: bold;\"><h1>Code from <a href=\"".$argv["remoteFile"]."\">".$argv["remoteFile"]."</a></h1><"pre">\n";
                                $output .= $highlighter->highlight_text($fileContents);
                                $output .= "<"/pre"></div>";
                        }
                        return $output;
                /**
                 * Else we just want to highlight the code within the syntaxHighlight tags.
                 */
                } else {
                        $output .= "<div style=\"font-weight: bold;\"><"pre">\n";
                        $output .= $highlighter->highlight_text($input);
                        $output .= "<"/pre"></div>";
                        return $output;
                }
        }
        
        ------------------ syntaxHighlightExtension.php ------------------ 

Nun muss noch folgendes bestehendes File angepasst werden:

       \UniServer\www\wiki\beautifierpackage\Output\Output_HTML.php
       
   ------------------ Output_HTML.php ------------------
        
        <?php
        /*
        
        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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        
        */
        
                class Output_HTML
                {
                        function Output_HTML($file=undef)
                        {
                                if (!isset($file)) $file = new HFile();
         
                                $this->code                = '_WORD_';
                                $this->linecomment         = '<font color="'. $file->linecommentcolour .'" style="font-style=italic;">_WORD_</font>';
                                $this->blockcomment         = '<font color="'. $file->blockcommentcolour .'" style="font-style=italic;">_WORD_</font>';
                                $this->prepro                 = '<font color="purple">_WORD_</font>';
                                $this->select                 = '<font color="red"><b>_WORD_</b></font>';
                                $this->quote                 = '<font color="'. $file->quotecolour .'">_WORD_</font>';
         
                                for($i=0; $i<sizeof($file->colours); $i++)
                                {
                                   $varname = "category_".($i+1);
                                   $this->{$varname} = '<font color="'. $file->colours[$i] .'">_WORD_</font>';
                                }
                        }
                }
        
        ?>
                
        ------------------ Output_HTML.php ------------------ 

Wenn das MediaWiki auf dem USB Stick ein zusaetzliches Performance Tuning braucht fuege in LocalSettings.php folgende Positionen hinzu:

       \UniServer\www\wiki\LocalSettings.php
       
       ------------------ LocalSettings.php ------------------
       
       #########################
       ##### Customization ##### 
       #########################
       
       ## Performance tuning for MediaWiki on USB Stick
       ##
       $wgDisableCounters = true;     # prevents page statistics being stored and displayed 
       $wgDisableTextSearch = true;   # prevents text search 
       $wgDisableSearchUpdate = true; # prevents search tables being updated, requiring them to be rebuilt if you ever re-enable text search 
       $wgEnableParserCache = true;   # uses php zlib 
       
       ------------------ LocalSettings.php ------------------

Nun kann der UniServer mit MediaWiki das Erstemal gestartet werden dh. führe im UniServer Verzeichnis die Datei "Start.exe" aus. Danach erscheint das Tray in der Taskleiste und über einen rechtsklick mit der Maus wähle "Install and Run all Services". Wenn die Services gestartet wurden teste den Zugriff auf MediaWik mit folgenden Link:

      http://localhost/wiki

Wenn ein Import durchgeführt werden soll von einem bestehenden MediaWiki auf das MediaWiki auf dem USB Stick so muss folgendes berüchsichtigt werden: Vor dem Import müssen im AdminPannel (PHP Configuration) oder direkt im php.ini (\UniServer\usr\local\php\php.ini) nachfolgende Werte angepasst werden und zwar so das der Wert höher ist als die Gesamte Import Grösse des Datenbank Imports:

       Für php.ini:
       
       ;memory_limit = 32M
       memory_limit = 50M
       
       ;post_max_size = 10M
       post_max_size = 50M
       
       ;upload_max_filesize = 10M
       upload_max_filesize = 50M
       Für AdminPannel:
       
       Maximum Memory Amount (MB):   50M      (Standard Wert 32M)
       Maximum Post Size:            50M      (Standard Wert 10M)
       Maximum Upload Size:          50M      (Standard Wert 10M)

Sobald der Server für die oben erwähnte Werte neu gestartet wurde wähle im "AdminPannel" die folgende Menü Position:

       phpMyAdmin

Sobald "phpMyAdmin" erscheint wähle links die Datenbank "wikdb" und sobald die neue Seite mit den Tables der "wikidb" angezeigt wird wähle ganz rechts den Tab "Drop". Sobald dieser Tab angwählt wird erscheint eine Meldung über eine Bestätigung. Bestätige diese Meldung. Danach werden alle Tables betreffend "wikidb" gelöscht. Dieser Vorgang kann durchaus 30 - 40 Minuten in Anspruch nehmen.

ACHTUNG
Durch diesen Vorgang wird das gesamte MediaWiki und seine Informationen gelöscht.

Sobald die Tables der "wikidb" gelöscht sind (Drop Tables). Wählen wir unter dem Schriftzug links das Icon "Home". Wir sind nun auf der Ausgangsseite. Dort wählen wir den "Import" Tab der ganz rechts erscheint. Nun erscheint eine neue Seite um den Import durchzuführen wähle folgendes:

       File to import
       Location of the text file  [ Gebe das File an welches importiert werden soll   ]        (Max: 10 MiB) 
                                  [ und achte darauf das dieses zu importierende File ]
                                  [ bereits entpackt wurde sowie achte auf die Grösse ]
                                         
       Character set of the file: utf-8
       
       Imported file compression will be automatically detected from: None, gzip, zip
       
       Partial import
       [activated] Allow the interruption of an import in case the script detects it is close to the PHP timeout limit. 
       This might be good way to import large files, however it can break transactions.
       
       Number of records (queries) to skip from start:     0
       
       Format of imported file
       
        SQL 
       
               Options
               SQL compatibility                          NONE
        
               [activated] Do not use AUTO_INCREMENT for zero values

Sobald alle Optionen angegeben wurden kann der import Vorgang durch den "GO" Button unten rechts initiert werden. Der import Vorgang kann durchaus 1 - 1 1/2 Stunden daueren je nachdem wie gross das MediaWiki ist.

Installation/Konfiguration von Zent Optimizer Pug-In

Der Zend Optimizer ist eine Erweiterung die gebraucht wird wenn "Encode PHP scripts von Zend Guard" benutzt werden. Per Standard kommt der Uniform Server nicht mit dem Zend Optimizer sondern mit "eAccelerator". Dieser ist schneller und per Standard aktiviert. Solange der Load klein ist auf dem Server ist der "eAccelerator" der Schnellere Beschleuniger . Steigt der Load sollte der Zend Optimizer aktiviert werden:

       http://wiki.uniformserver.com/index.php/UniServer_Zend_Optimizer
       
       Download         http://sourceforge.net/project/showfiles.php?group_id=53691&package_id=49448

Kopiere das File "UniServer_Zend_Optimizer_1.0.exe" nach:

       \UniServer\

Nun Doppelklicke das File "UniServer_Zend_Optimizer_1.0.exe" und installiere dieses dh. das File wird entpackt und a sich das File im \UniServer\ Ordner befindet werden alle Files korrekt an den richtigen Ort entpackt (nicht den Pfad veraendern). Nach dem erfolgreichen entpacken kann "UniServer_Zend_Optimizer_1.0.exe" geloescht werden. Folgendes wird dem Uniform Server hinzugefuegt:

       \UniServer\usr\local\php\zendOptimizer 
       \UniServer\usr\local\php\zendOptimizer\docs 
       \UniServer\usr\local\php\zendOptimizer\lib 
       \UniServer\usr\local\php\zendOptimizer\lib\Optimizer\php-5.2.x

Wenn gewuenscht kann das Readme von "UniServer_Zend_Optimizer_1.0.exe" geloescht werden:

       \UniServer\Read_me.txt

Der Zend Optimizer muss aktiviert werden. Um dies zu bewerkstelligen fuehre folgendes durch. Oeffne das File "php.ini" und fuege folgendes am Ende des Files hinzu:

       \UniServer\usr\local\php\php.ini 
       
       ------------------ php.ini ------------------
       
       [Zend] 
       zend_extension_ts = /usr/local/php/zendOptimizer/lib/ZendExtensionManager.dll 
       zend_extension_manager.optimizer_ts = /usr/local/php/zendOptimizer/lib/Optimizer 
       zend_optimizer.enable_loader = 1 
       zend_optimizer.optimization_level=15 
       
       
       ; Local Variables:
       ; tab-width: 4
       ; End:
       
       ------------------ php.ini ------------------

Fuehre einen Neustart von Uniform Servers aus. Um die Installation sowie die Aktivierung zu testen gehe zum Admin Panel des Uniform Servers und fuehre den Menuepunkt "phpinfo()" aus. Nun muss unter "phpinfo()" folgendes erscheinen:

       ------------------ output ------------------
       
        This program makes use of the Zend Scripting Language Engine:
        Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
           with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
           with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies
           with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
       
       ------------------ output ------------------

Installation/Konfiguration einer zusaetzlichen lokalen IP auf Apache2

In unserem Beispiel hier ist der Uniform Server so konfiguriert das nur Localhost Zugriff hat (127.0.0.1) sowie alle Services nur auf "localhost" (127.0.0.1) hören. Dies bedeutet, dass "alle" Services von Aussen nicht zugaenglich sind. Wird dies jedoch dennoch benoetigt zB fuer den WebServer kann folgendes durchgefuehrt werden:

HINWEIS
In diesem Beispiel wird angenommen das die Lokale Maschinen die IP 192.168.101.34 hat und somit fuer die Services benutzt werden soll.

Oeffne folgendes File Lokal auf dem OS und erstelle einen Host Eintrag:

       c:\WINDOWS\system32\drivers\etc\hosts
       
       --------------- \UniServer\www\.htaccess --------------- 
       
       # Copyright (c) 1993-1999 Microsoft Corp.
       #
       # Dies ist eine HOSTS-Beispieldatei, die von Microsoft TCP/IP
       # für Windows 2000 verwendet wird.
       #
       # Diese Datei enthält die Zuordnungen der IP-Adressen zu Hostnamen.
       # Jeder Eintrag muss in einer eigenen Zeile stehen. Die IP-
       # Adresse sollte in der ersten Spalte gefolgt vom zugehörigen
       # Hostnamen stehen.
       # Die IP-Adresse und der Hostname müssen durch mindestens ein
       # Leerzeichen getrennt sein.
       #
       # Zusätzliche Kommentare (so wie in dieser Datei) können in
       # einzelnen Zeilen oder hinter dem Computernamen eingefügt werden,
       # aber müssen mit dem Zeichen '#' eingegeben werden.
       #
       # Zum Beispiel:
       #
       #      102.54.94.97     rhino.acme.com          # Quellserver
       #       38.25.63.10     x.acme.com              # x-Clienthost
       
       127.0.0.1             localhost
       127.0.0.1             localhost:80
       192.168.101.34        192.168.101.34:80
       
       --------------- \UniServer\www\.htaccess ---------------

Nun oeffne auf dem Uniform Server folgendes File und erweitere die entsprechende Position:

       \UniServer\www\.htaccess
       
       --------------- \UniServer\www\.htaccess --------------- 
       
       # This file provides security to the server limiting access to the localhost only. 
       # Comment to deactivate.
       
       Order Deny,Allow
       Deny from all
       Allow from 127.0.0.1 192.168.101.34
       
       # To allow execution of cgi scripts in this directory uncomment next two lines.
       
       AddHandler cgi-script .pl .cgi
       Options +ExecCGI +FollowSymLinks
       
       #--
       # Activate this to use the Private Server Feature!
       #--
       # To lock server, uncomment the next 4 lines.
       # Defaults: Username - root; Password - root
       
       #AuthName "Uniform Server - Server Access"
       #AuthType Basic
       #AuthUserFile /htpasswd/www/.htpasswd
       #Require valid-user
       
       --------------- \UniServer\www\.htaccess ---------------

Erstelle im folgenden Verzeichnis ein Verzeichnis mit dem Namen "download". In diesem Verzeichnis koennen nachtraeglich die Files etc. platziert werden die man runterladen moechte:

       \UniServer\www\

Nun muss das "httpd.conf" File von Apache2 manipuliert werden. Dies bedeutet wir geben dem Apache2 die Informaiton das er nicht nur auf "localhost" hören soll sondern ebenfalls auf die gewünschte IP sowie weisen wir der gewünschten IP einen Virtuellen Host hinzu:

       \UniServer\usr\local\apache2\conf\httpd.conf
       
       --------------- \UniServer\usr\local\apache2\conf\httpd.conf ---------------
            
       #Listen 80
       Listen 127.0.0.1:80
       Listen 192.168.101.34:80
       --------------- \UniServer\usr\local\apache2\conf\httpd.conf ---------------

Am ende des Files "httpd.conf" fuege folgendes hinzu:

       \UniServer\usr\local\apache2\conf\httpd.conf
       
       --------------- \UniServer\usr\local\apache2\conf\httpd.conf ---------------
        
       ##########VIRTUAL HOST SETUP##########
       #<VirtualHost *>
       #ServerName 192.168.101.34:80
       #DocumentRoot E:/UniServer-5.30/www/download
       #</VirtualHost>
       
       --------------- \UniServer\usr\local\apache2\conf\httpd.conf ---------------

Nun muss der Uniform Server gestoppt sowie neu gestartet werden. Danach kann in einer DOS Box mit netstat ueberprueft werden ob der Apache auf der IP mit dem entsprechenden Port läuft (Port 80):

       netstat.exe -p TCP -n -a| FIND "ABHÖREN" | FIND ":80 "
       
       oder
       
       netstat.exe -p TCP -n -a| FIND "ABHÖREN"

Wenn dem so ist kann nun ein Test-File in das neu erstellte "download" Verzeichnis erstellt werden und dieses ueber einen Browser runtergeladen/angezeigt werden:

       \UniServer\www\download\test.txt
       
       http://192.168.101.34/text.txt

HINWEIS
Falls der Download/Anzeige ueber den Browser nicht funktioniert jedoch der Server auf der entsprechenden IP/Port hört kontrolliere ob allenfalls lokale Firewalls/VPN Clients den Zugriff verweigern. Einen guten Hinweis liefert das Log von Apache im Admin Pannel oder im folgenden Verzeichnis:

       \UniServer\usr\local\apache2\logs
       
       oder
       
       http://localhost/apanel

Aktivierung der Sicherheitsfeatures von Uniform Server

Der Uniform Server ist betreffend Konfig per Default zugaenglich ohne Usernamen und Passwort. Wenn man diese Konfig Seiten wie Admin Pannel schuetzen will so kann dies per Aktivierung in den entsprechenden Files erreicht werden. Aktiere im folgenden File folgende Positionen:


       Aktivierung von Username und Passwort fuer "Admin Panel": 
       *********************************************************
       
       \UniServer\home\admin\www\.htaccess
       
       ------------------ .htaccess ------------------
       
       #--
       # Activate this to use the Admin Panel Feature!
       #--
       # To lock Admin Panel, uncomment the next 4 lines.
       # Defaults: Username - root; Password - root
       
       AuthName "Uniform Server - Admin Panel 2.0"
       AuthType Basic
       AuthUserFile /htpasswd/home/admin/www/.htpasswd
       Require valid-user
       
       ------------------ .htaccess ------------------

Aender Username und Passwort nach der Aktivierung der Positionen ueber:

       http://localhost/apanel/        MenuePosition        "Admin Panel Configuration"

Der neue Username und Passwort wird unverschluesselt abgespeichert in:

       \UniServer\htpasswd\home\admin\www\.htpasswd
       Aktivierung von Username und Passwort fuer "Private Server":
       ************************************************************
       
       \UniServer\www\.htaccess
       
       ------------------ .htaccess ------------------
       
       # This file provides security to the server limiting access to the localhost only. 
       # Comment to deactivate.
       
       Order Deny,Allow
       Deny from all
       Allow from 127.0.0.1
       
       #--
       # Activate this to use the Private Server Feature!
       #--
       # To lock server, uncomment the next 4 lines.
       # Defaults: Username - root; Password - root
       
       AuthName "Uniform Server - Server Access"
       AuthType Basic
       AuthUserFile /htpasswd/www/.htpasswd
       Require valid-user
       
       ------------------ .htaccess ------------------

Aender Username und Passwort nach der Aktivierung der Positionen ueber:

       http://localhost/apanel/        MenuePosition        "Private Server Configuration"

Der neue Username und Passwort wird unverschluesselt abgespeichert in:

       \UniServer\htpasswd\www\.htpasswd
       Aktivierung von Username und Passwort fuer "Private Server":
       ************************************************************
       
       \UniServer\ssl\.htaccess
       
       ------------------ .htaccess ------------------
       
       # This file provides security to the server limiting access to the localhost only. 
       # Comment to deactivate.
       
       Order Deny,Allow
       Deny from all
       Allow from 127.0.0.1
       
       #--
       # Activate this to use the Private Server Feature!
       #--
       # To lock server, uncomment the next 4 lines.
       # Defaults: Username - root; Password - root
       
       AuthName "Uniform Server - Server Access"
       AuthType Basic
       AuthUserFile /htpasswd/www/.htpasswd
       Require valid-user
       
       ------------------ .htaccess ------------------

Aender Username und Passwort nach der Aktivierung der Positionen ueber:

       http://localhost/apanel/        MenuePosition        "Private Secure Server Config"

Der neue Username und Passwort wird unverschluesselt abgespeichert in:

       \UniServer\htpasswd\ssl\.htpasswd

PHP laueft per Default nicht im "Safe Mode". Sofern nicht Gebraucht sollte dies aktiviert werden. Aendere dies ueber:

       http://localhost/apanel/        MenuePosition        "PHP Configuration"
       
       Safe Mode:        On

Der Uniform Server muss neu gestartet werden damit die Konfig aktiviert wird. Fuer den Uniform Server kann ein Zertifikat fuer https und andere Dienste generiert werden Um dies auszufuehren gehe folgendermassen vor:

       http://localhost/apanel/        MenuePosition        "Server Certificate and Key Gen"

Klicke auf Generate:

       ------------------ output from Dos Box ------------------
       
        ##############################################################################
        #                                                                            #
        # Uniform Server: Certificate and Key generator                              #
        #                                                                            #
        #----------------------------------------------------------------------------#
        # This script creates and installs a new self-signed certificate and key.    #
        #                                                                            #
        # 1) CN Common Name. Change this to your full domain name e.g. www.fred.com  #
        #    If you do not have a domain name use the default by pressing eneter.    #
        #                                                                            #
        # 2) To change any of the three defaults edit file:                          #
        #    uniform_server/udrive/plugins/key_cert_gen/ssl_gen.pl                   #
        #    search for the edit section and replace accordingly.                    #
        #                                                                            #
        #----------------------------------------------------------------------------#
       
         CN Common Name. Your full domain name [localhost] :
         OU Organization Unit (eg, section)  [Secure demo] : Mydomain Net Localhost
         O  Organization Name (eg, company)    [UniServer] : Mydomain Net
       
        Loading 'screen' into random state - done
       Generating a 1024 bit RSA private key
       ....................++++++
       ..............++++++
       writing new private key to 'server.key'
       -----
       Loading 'screen' into random state - done
       Signature ok
       subject=/O=Mydomain Net/OU=Mydomain Net Localhost/CN=localhost
       Getting Private key
       
        #----------------------------------------------------------------------------#
        # Copying new certificate and key to Server                                  #
        # Location:                                                                  #
        #           Certificate:  usr/local/apache2/conf/ssl.crt/server.crt          #
        #           Key:          usr/local/apache2/conf/ssl.key/server.key          #
        #                                                                            #
        # Certificate Signing Request                                                #
        # Location:                                                                  #
        #           Certificate:  plugins/key_cert_gen/server.csr                    #
        #----------------------------------------------------------------------------#
        #                                                                            #
        # You must now restart the servers to enable the new configuration.          #
        #                                                                            #
        ##############################################################################
       
       Drücken Sie eine beliebige Taste . . .
       
       ------------------ output from Dos Box ------------------

Die Zertifikate werden erstellt und folgendermassen abgelegt:

       Zertifikat:
       ***********
       
       \usr\local\apache2\conf\ssl.crt\server.crt
       Key:
       ****
       
       \usr\local\apache2\conf\ssl.key\server.key

Der Uniform Server muss neu gestartet werden damit die Konfig aktiviert wird. Danach kann der SSL Server getestet werden:

       https://localhost/apanel/