Web component of the Mana server
Switch branches/tags
Nothing to show
Pull request Compare This branch is even with mana:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


The Mana Server - Account Manager

1.  Installation Instructions and requirements
2.  Configuration notes
3.  Troubleshooting
4.  Translations
5.  Maintenance
6.  Contact and support



You will need a web server running PHP 5.1 or later, with pdo_sqlite. 
On FreeBSD you will need to install ports databases/php5-pdo_sqlite and 
security/pecl-hash along with lang/php5. 



There are several config files that have to be prepared for your specific
environment. You can find all config files under ./system/application/config

Manweb comes with a default configuration file called "config.default.php" You
should use this file as template to set up your individual configuration. Make 
a copy of this file and name rename it to "config.php". In general you have to
modify the following settings:

    * set the "base_url" to the url of your installation.
    * define the desired "log_threshold" to your needs

Do the same with the file "database.default.php" and "email.default.php". 
Rename them to "database.php" and "email.php" configure the options inside
for your needs.
The following configuration files are shipped with defaults that may or may not
be suitable for you. 

    * menu.php
    * mana_config.php
Instead of modifying the files directly you should make a copy of them and 
rename them to <prefix>.user.php, so "menu.php" gets "menu.user.php".
Manweb first loads menu.php, afterwards menu.user.php (if it exists) and
overrides the default values with your custom settings. The advantage of this
method is, that upgrading manaweb won't break your configuration.

All other files in the config directory shouldn`t get touched by you!

After proper configuration of all files you have to ensure that the webserver 
has write access to the ./system/logs, the ./images/items and ./data directory. 

    chmod 777 ./system/logs
    chmod 777 ./data
    chmod 777 ./images/items
Manaweb tries to store cached data read from other modules like manaserv in the
data directory for faster access. Therefore you should allow the webserver to 
create files there. The logs directory is used for logging as you can think.

To verify your installation and configuration steps, navigate to the setup.php
file in your browser. It will show you what is still missing or if everything
is fine.


After uploading and configuring manaweb it might happen that every site you
call is only white and blank. Lets set loglevel in config.php to 4 and after
refreshing your site in the browser have a look at the logfiles under
If there is no file except index.html please recheck your directory 
permissions. Again, the webserver needs write permissions to ./system/logs
If you cannot find a file that is named "config.php", please go back to chapter
2 and read it more carefully!



Manaweb has simple multilanguage support integrated. During login into your
account you can choose one of the currently translated languages. If your 
native language is not available yet, feel free to support the dev team and 
translate manaweb.
To start with a new language there are two simple steps to do:
   a.) copy the directoy ./system/application/language/english as it is the 
       shipped language with manaweb and should contain all necessary strings.
       Also you have to copy ./system/language/english to your new language.
       This directory contains string comming from CodeIgniter, the used 
       php framework. 
       Ensure not to copy the hidden directory .svn if you checked
       out from subversion. Each php file ending with *_lang.php needs to be
       $lang['character'] = '<put your translation here>';
       Ensure to double quote '' inside of your strings if necessary.
   b.) At least you have to add your new language to the config file
       Just add your language to the array $_mana_languages like shown below.
       The parameter 'dir' has to be the name of your added directory, maybe
       'german'. 'name' is the displayed string during login. This should be
       the native name of the language, like 'deutsch'.
       Don't forget a comma to separate language arrays.
       $_mana_languages = array( 
          array('dir'=>'english', 'name'=>'english'),
          array('dir'=>'german', 'name'=>'deutsch')



The intention of manaweb is to be a slim, administrative frontend for manaserv.
Therfore it is natural to use as much as data, information and configuration we
can get from manaserv. Because manaserv makes extensive use of xml configuration
files, which would be too expensive to parse on every page request, manaweb uses
different methods to cache those informations for faster access.

From time to time, if the data in manaserv was modified, a admin user has to
refresh the caches of manaweb. Therefor you can find a menuoption "maintance"
when logged in with an administrative account. This page shows you all caches
and allows you to refresh them with a single click.

Refreshing the items database is a bit special, thats why it is mentioned here
To show the inventory of a character, the images of those items have to be
available for a webbrowser. Therfore they have to reside somewhere
under the DOCUMENT_ROOT of your webserver. To keep all things together, we 
decided to store them under ./images/items. When refreshing the items database,
manaweb looks in that directory and compares the images located there to all
items in the database. If a image is missing, manaweb tries to copy this image
from your manadata path, you can configure in mana_config.php (see chapter 2).
To copy those images, the webserver needs write permission to the images/items
directory. If manaweb can't find the image in the manadata directory is is not
allowed to write to the ./images/items directory, the refresh procedure will 
show you a list with all missing images. Then you will have to copy those 
images yourself.



For support please refer to the well know places like 
Documentation:  http://doc.manasource.org
Bugs:  http://bugs.manasource.org
IRC:   irc.freenode.net  #mana