Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Configuring and running Ryzom Core Web Services on GNU/Linux

Table of Contents

Preparing Packages

For Debian/Ubuntu users you will need to install the following packages:

Panel

sudo apt-get install apache2 php5 php5-mysql php5-gd rrdtool screen

VHost

Create a public web directory and point a VHost to it.

Point a second VHost to the same directory with port 40916

Upload

Upload the following to your public web directory of your PHP host

...

Upload the following to a private directory accessible by your PHP host

/code/web/private_php

Setup

...

Run the following script and follow the instructions

...

This script will create a config.php under the public php directory, and set up the nel, nel_tool and ams databases.

 

 

 

What follows is the complicated outdated guide

Configuring Apache and web tools

  • Ubuntu user: Don't forget to install php5-mysql synaptic packet and to uncomment "extension=mysql.so" into "php.ini" file to allow mysql connection from php code.
  • Configure Apache with PHP. Make a VirtualHost (usually in /etc/apache2/httpd.conf) for the login scripts and admin app (replace DocumentRoot with your own path).
Note

For current Ubuntu versions you can just edit the file default in /etc/apache2/sites-available/ - substituting what is listed below for what is already there. It may be helpful to break this into multiple site configuration files but isn't necesasry.

Warning

Don't forget to change the paths used below to match where your source is checked out! They are highlighted in red.

Apache 2.4

Panel
titleMain Login Site
borderStyledashed

Listen 40916

<VirtualHost *:40916>

  <Directory "/home/username/ryzom/code/ryzom/tools/server/">

     Options -Indexes FollowSymLinks MultiViews

     IndexOptions FancyIndexing FoldersFirst NameWidth=*

     AllowOverride All

  </Directory>

  ServerAdmin admin@localhost

  DocumentRoot /home/username/ryzom/code/ryzom/tools/server/www

  ServerName localhost

</VirtualHost>

Panel
titleMain Web Site
borderStyledashed

<VirtualHost *:80>

  ServerName localhost

 

  DocumentRoot "/home/ryzom/ryzomcore/code/ryzom/tools/server/ryzom_ams/www/html/"

  <Directory /home/ryzom/ryzomcore/code/ryzom/tools/server/ryzom_ams/www/html/>

    Options -Indexes +FollowSymLinks +MultiViews

    AllowOverride All

    DirectoryIndex index.php

    AddType text/html .php .phps

    AddHandler application/x-httpd-php .php

    AddHandler application/x-httpd-php-source .phps

  </Directory>  

 

  Alias /admin/ /home/username/ryzom/code/ryzom/tools/server/admin/

  <Directory "/home/ryzom/ryzomcore/code/ryzom/tools/server/admin/">

    Options -Indexes +FollowSymLinks +MultiViews

    AllowOverride All

    DirectoryIndex index.php

    AddType text/html .php .phps

    AddHandler application/x-httpd-php .php

    AddHandler application/x-httpd-php-source .phps

  </Directory>

</VirtualHost>

Apache 2.2

Panel
titleMain Login Site
borderStyledashed

Listen 40916

<VirtualHost *:40916>

  <Directory "/home/username/ryzom/code/ryzom/tools/server/">

     Options -Indexes FollowSymLinks MultiViews

     IndexOptions FancyIndexing FoldersFirst NameWidth=*

     AllowOverride All

     Order allow,deny

     Allow from all

  </Directory>

  ServerAdmin admin@localhost

  DocumentRoot /home/username/ryzom/code/ryzom/tools/server/www

  ServerName localhost

</VirtualHost>

Panel
titleMain Web Site
borderStyledashed

<VirtualHost *:80>

  ServerName localhost

  DocumentRoot "/home/username/ryzom/code/ryzom/tools/server/ryzom_ams/www/html/"

  Alias /admin/ /home/username/ryzom/code/ryzom/tools/server/admin/

  <Directory "/home/username/ryzom/code/ryzom/tools/server/admin/">

    Options -Indexes FollowSymLinks MultiViews

    IndexOptions FancyIndexing FoldersFirst NameWidth=*

    AllowOverride All

    Order allow,deny

    Allow from all

    DirectoryIndex index.php

 

    AddType text/html .php .phps

    AddHandler application/x-httpd-php .php

    AddHandler application/x-httpd-php-source .phps

  </Directory>

</VirtualHost>

Additional Notes

Info
titleAdvanced Configuration Topics
Note

In order to execute system commands like restarting services you will need to be able to log in as root or execute the command using sudo, e.g.:

sudo /etc/init.d/apache2 restart
  • Restart Apache by typing the following.
/etc/init.d/apache2 restart

 

chmod a+w code/ryzom/tools/server/admin/graphs_output
chmod a+w code/ryzom/tools/server/admin/templates/default_c
chmod a+w code/ryzom/tools/server/www/login/logs
chmod a+w code/ryzom/tools/server/ryzom_ams/www/
chmod a+w code/ryzom/tools/server/ryzom_ams/www/html/cache
chmod a+w code/ryzom/tools/server/ryzom_ams/www/html/templates_c

 

Setting up MySQL

Note

The configuration files in

  • code/ryzom/server
  • code/ryzom/tools/server/ryzom_ams/www/config.default.php
  • code/ryzom/tools/server/admin/config.php
  • code/ryzom/tools/server/www/login/config.php

expect your user to be named 'shard' with NO PASSWORD. If you decide to use a different name for your MySQL user, or assign it a password, you will need to go through the files and change these values from 'shard' and "" wherever they appear. (they appear in several .cfg files)

Since this (and a password) can lead to unexpected errors (eg. error '4000') it is best to make sure everything works correctly with the defaults first.

Warning
titleParse Error

If you are getting strange errors some config files may have Windows editor "control-M" endline characters, which appears as a blue ^M in vim. You can remove it with this vi command, noting that ^M is typed by pressing Ctrl+V followed by Ctrl+M:

Code Block
languagebash
find /home/username/ryzom/code -name "*.cfg" -name "*.php" | xargs grep -l '^M'   # if there are none, Vim will gladly eat your shell if you xargs it vi <listed filename>   # Next issue this command to vi :%s/^M//g

 

 

Running MySQL Auto Install

Ryzom AMS now includes auto install scripts for the mysql database, all you have to do is load your DocumentRoot on port 80 that was setup above, for example http://127.0.0.1

...