Difference between revisions of "OS4X Core installation"

From OS4X
Jump to navigation Jump to search
Line 22: Line 22:
 
== Filesystem directories ==
 
== Filesystem directories ==
 
The created directory structure under "<code>/opt</code>" shows a suggestion for a standard installation. All directories will get defined via web interface, so keep in mind that the names can change. An explanation for each directory is as follows:  
 
The created directory structure under "<code>/opt</code>" shows a suggestion for a standard installation. All directories will get defined via web interface, so keep in mind that the names can change. An explanation for each directory is as follows:  
 
  
 
=== backup ===
 
=== backup ===
Line 55: Line 54:
 
== Notes about upgrades ==
 
== Notes about upgrades ==
 
If you upgrade from an older OS4X version, you will see that the names of the binaries have changed. Some new binaries are new, others (like „os4xeq“) have a new name („os4xeq2“). A symbolic link is created to support the complete web interface for the older and the newer OS4X version. The web interface calls all binaries without the appendix „2“, so without the links (i.e. „os4xeq“ -> „os4xeq2“, „os4xsqd“ -> „os4xsqd2“ and so on), the web interface will display errors.
 
If you upgrade from an older OS4X version, you will see that the names of the binaries have changed. Some new binaries are new, others (like „os4xeq“) have a new name („os4xeq2“). A symbolic link is created to support the complete web interface for the older and the newer OS4X version. The web interface calls all binaries without the appendix „2“, so without the links (i.e. „os4xeq“ -> „os4xeq2“, „os4xsqd“ -> „os4xsqd2“ and so on), the web interface will display errors.
 +
 +
== MySQL ==
 +
Either you use a graphical interface for managing the database settings (i.e. phpMyAdmin or MySQLCC), or you can use the commandline tools provided by your local MySQL installation.
 +
 +
The MySQL command line client should be called by a user who has administrative rights on the MySQL database (mostly "<code>root</code>"), otherwise use the command line parameters "<code>-u</code>" and "<code>-p</code>" to provide a valid MySQL user (with password, if needed) which has the administrative permissions.
 +
 +
=== Create MySQL database ===
 +
Choose a name for your database where OS4X stores its information. In this installation example, we use the name "<code>os4x</code>" as the database name.
 +
 +
Commandline call:
 +
mysqladmin [-uroot] [-p] create os4x
 +
 +
=== Create MySQL user ===
 +
Now, create a MySQL user who gets full permissions on this database. We use "os4x" for simplicity.
 +
Commandline call:
 +
echo "GRANT ALL ON os4x.* TO os4x@localhost IDENTIFIED BY 'os4x';" | mysql [-uroot] [-p]
 +
echo "FLUSH PRIVILEGES;" | mysql [-uroot] [-p]
 +
 +
''(Color explanation: green → database name; blue → username; red → password) ''
 +
 +
The user must get all available MySQL permission in this database, because internal upgrade mechanism (as described in the "Advanced administration documentation") will try to extend or modify the database schema! OS4X supports MySQL databases from version 3.23 up to the latest MySQL version (which is 5.0 and 5.1beta when creating this document). Since MySQL version 4.x, the password hashing algorithm in the database server has changed. Because OS4X supports also older MySQL server versions, it uses an older client protocol than your MySQL server provides. In order to use your prefered MySQL server version anyway, you can modify the created MySQL user. If you experience any problems when starting OS4X processes and Syslog contains the message „Client does not support authentication protocol requested by server; consider upgrading MySQL client“, you have two options:
 +
*start your MySQL daemon with the option "<code>--old-passwords</code>" (as documented on the MySQL website http://dev.mysql.com/doc/refman/5.0/en/old-client.html)
 +
*refresh your OS4X user in the database with an old-hashing algorithm password by doing this:
 +
echo "SET PASSWORD FOR 'os4x'@'localhost'= OLD_PASSWORD('os4x');" | mysql [-uroot] [-p]
 +
(if the above user information and password were used)
 +
echo "FLUSH PRIVILEGES;" | mysql [-uroot] [-p]

Revision as of 14:22, 9 April 2007

TAR Package

Unpack the provided tar archive file for your platform. You get the following directory structure:

dist 
|-- apache 
|   `-- images 
|   `-- sounds 
|-- etc 
|-- opt 
|   `-- os4x 
|       |-- backup 
|       |-- bin 
|       |-- cert 
|       |-- incoming 
|       |-- outgoing 
|       |-- rrd 
|       |-- scripts 
|       `-- tmp 
`-- sql 

Filesystem directories

The created directory structure under "/opt" shows a suggestion for a standard installation. All directories will get defined via web interface, so keep in mind that the names can change. An explanation for each directory is as follows:

backup

In this directory, backup files of the MySQL database can be stored. The scripts os4xbackup and os4xrestore use this directory.

bin

The binaries of the installation are stored here. The directory must at least contain the following binaries:

  • os4xeq2 – program to enqueue files into the send queue
  • os4xped2 – program to edit partner entries in the database
  • os4xrd2 – the receiving daemon
  • os4xsqd2 – the send queue daemon

cert

Global certificates, needed for resolving certificate chain resolution, are stored in this directory.

incoming

Incoming files which get successfully transfered by os4xrd get placed here. This should be an own filesystem. It must also be on the same filesystem as the directory „tmp“ (see below). The user running the OS4X processes must have read, write and execute permissions on that directory. For easy administration, set permissions to 777 (a+rwx).

outgoing

For availability reasons, we suggest to use an own filesystem for outgoing files. The send queue daemon can send every file available on the system.

rrd

Statistical files (like RRDtool database files) are stored in this directory. Per partner about 320kB of data is needed.

scripts

Event scripts are stored in this directory by default. These scripts are called whenever a session is started or ended, files start to transfer or the end of transfer is reached.

tmp

Temporary files like files during the receiving process are stored in this directory. After successful transfer they are moved into the incoming directory. Keep in mind to set the size to the maximum file size you can receive because these files will be temporarily stored into this directory. This directory must be on the same filesystem as incoming, otherwise the moving process cannot be done. The user running the OS4X processes must have read, write and execute permissions on that directory. For easy administration, set permissions to 777 (a+rwx).

Notes about upgrades

If you upgrade from an older OS4X version, you will see that the names of the binaries have changed. Some new binaries are new, others (like „os4xeq“) have a new name („os4xeq2“). A symbolic link is created to support the complete web interface for the older and the newer OS4X version. The web interface calls all binaries without the appendix „2“, so without the links (i.e. „os4xeq“ -> „os4xeq2“, „os4xsqd“ -> „os4xsqd2“ and so on), the web interface will display errors.

MySQL

Either you use a graphical interface for managing the database settings (i.e. phpMyAdmin or MySQLCC), or you can use the commandline tools provided by your local MySQL installation.

The MySQL command line client should be called by a user who has administrative rights on the MySQL database (mostly "root"), otherwise use the command line parameters "-u" and "-p" to provide a valid MySQL user (with password, if needed) which has the administrative permissions.

Create MySQL database

Choose a name for your database where OS4X stores its information. In this installation example, we use the name "os4x" as the database name.

Commandline call:

mysqladmin [-uroot] [-p] create os4x 

Create MySQL user

Now, create a MySQL user who gets full permissions on this database. We use "os4x" for simplicity. Commandline call:

echo "GRANT ALL ON os4x.* TO os4x@localhost IDENTIFIED BY 'os4x';" | mysql [-uroot] [-p] 
echo "FLUSH PRIVILEGES;" | mysql [-uroot] [-p] 

(Color explanation: green → database name; blue → username; red → password)

The user must get all available MySQL permission in this database, because internal upgrade mechanism (as described in the "Advanced administration documentation") will try to extend or modify the database schema! OS4X supports MySQL databases from version 3.23 up to the latest MySQL version (which is 5.0 and 5.1beta when creating this document). Since MySQL version 4.x, the password hashing algorithm in the database server has changed. Because OS4X supports also older MySQL server versions, it uses an older client protocol than your MySQL server provides. In order to use your prefered MySQL server version anyway, you can modify the created MySQL user. If you experience any problems when starting OS4X processes and Syslog contains the message „Client does not support authentication protocol requested by server; consider upgrading MySQL client“, you have two options:

echo "SET PASSWORD FOR 'os4x'@'localhost'= OLD_PASSWORD('os4x');" | mysql [-uroot] [-p] 

(if the above user information and password were used)

echo "FLUSH PRIVILEGES;" | mysql [-uroot] [-p]